mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-29 08:36:37 +02:00
170 lines
8.6 KiB
Plaintext
170 lines
8.6 KiB
Plaintext
Unreal3.4-alpha3 Release Notes
|
|
===============================
|
|
|
|
This is the third 'alpha' version of UnrealIRCd 3.4. We plan to move to
|
|
'beta' stage in 1-2 months and have a stable 3.4.x release later in 2015.
|
|
|
|
IMPORTANT REMARKS as long as UnrealIRCd 3.4.x is in alpha stage:
|
|
* Because this is an alpha version it is far more likely to crash or hang.
|
|
* Security issues are handled as regular issues (no security advisories!)
|
|
* Linking with 3.2.x servers is supported but highly untested.
|
|
* Things are likely to change between alpha versions. Including but not
|
|
limited to: configuration, command syntax, location of files, etc.
|
|
|
|
Therefore:
|
|
* You should never run 3.4-alpha3 as a production server
|
|
* You should not link 3.4-alpha3 with a production 3.2.x network
|
|
|
|
Please do:
|
|
* Install 3.4-alpha3 to play around, show to your friends, have fun with
|
|
the latest features and improvements, test things.
|
|
* Report any problems, bugs, issues and other feedback on
|
|
https://bugs.unrealircd.org/ so we can improve 3.4.x!
|
|
During alpha stage we are still very flexible so feedback is really helpful.
|
|
|
|
Finally:
|
|
* If you are moving from 3.2.x then be sure to read 'CONFIGURATION CHANGES'!
|
|
* The documentation has not been updated to reflect the changes in 3.4.x.
|
|
|
|
==[ GENERAL INFORMATION ]==
|
|
* Documentation is still in doc\unreal32docs.html but - as said - is not
|
|
up to date for 3.4.x. FAQ is on: http://www.unrealircd.com/faq
|
|
* Please report bugs at http://bugs.unrealircd.org/
|
|
* Below you will see a summary of all changes. Changes may be tagged when
|
|
a change was made in a specific version, e.g. "(A3)" means 3.4-alpha3.
|
|
For a complete list of changes (500+) use 'git log' or have a look at
|
|
https://github.com/unrealircd/unrealircd/commits/unreal34
|
|
|
|
==[ CONFIGURATION CHANGES ]==
|
|
UnrealIRCd 3.4.x comes with an easy to use tool to upgrade your configuration
|
|
file from the 3.2.x syntax to 3.4.x. If you already have a good working
|
|
3.2.x configuration file then this should make it very easy to move to 3.4.x.
|
|
|
|
After UnrealIRCd is compiled/installed you copy your unrealircd.conf over
|
|
from 3.2.x (along with any other custom .conf's).
|
|
Then, on *NIX run './unreal upgrade-conf'.
|
|
On Windows simply try to boot and watch all the errors, click OK and
|
|
you will be asked if UnrealIRCd should upgrade your configuration file.
|
|
|
|
UnrealIRCd will go through your unrealircd.conf and any other files that
|
|
are included from there and upgrade the files one by one.
|
|
|
|
For both *NIX and Windows, after running the step from above, simply
|
|
start UnrealIRCd (again) and it should boot up fine with your freshly
|
|
converted configuration file(s).
|
|
|
|
Note: UnrealIRCd can only convert *working* 3.2.x configuration files!
|
|
If your 3.2.x configuration contains mistakes or errors then the upgrade
|
|
process will likely fail or the resulting config file will fail to load.
|
|
|
|
You may still be interested in the configuration changes, they are
|
|
listed on: https://www.unrealircd.org/docs/Upgrading_from_3.2.x
|
|
|
|
==[ NEW ]==
|
|
* We moved a lot of channel and user modes to modules. These are all
|
|
loaded by modules.conf, but if you don't want to load a certain module
|
|
you can now simply comment them out or remove that line.
|
|
Since a lot of code has been moved from the core to these modules it
|
|
makes it A) easier for coders to see all source code related to a
|
|
specific feature, and B) makes it possible to fix something and reload
|
|
the module rather than restart the IRCd.
|
|
* Entirely rewritten I/O and event loop. This allows the IRCd to scale
|
|
more easily to tens of thousands of clients by using kernel-evented I/O
|
|
mechanisms such as epoll and kqueue.
|
|
* Memory pooling has been added to improve memory allocation efficiency
|
|
and performance.
|
|
* The local nickname length can be modified without recompiling the IRCd
|
|
* Channel Mode +d: This will hide joins/parts for users who don't say
|
|
anything in a channel. Whenever a user speaks for the first time they
|
|
will appear to join. Chanops will still see everyone joining normally
|
|
as if there was no +d set.
|
|
* If you connect with SSL/TLS then your SSL Fingerprint (SHA256 hash) can
|
|
be seen by yourself and others through /WHOIS. The fingerprint is also
|
|
shared (broadcasted) with all servers on the network. In alpha3 we
|
|
will add more features that will use SSL fingerprints. (A2)
|
|
* bcrypt has been added as a password hashing algorithm and is now the
|
|
preferred algorithm (A3)
|
|
* './unreal mkpasswd' will now prompt you for the password to hash (A3)
|
|
* Protection against SSL renegotiation attacks (A3)
|
|
* When you link two servers the current timestamp is exchanged. If the
|
|
time differs more than 60 seconds then servers won't link and it will
|
|
show a message that you should fix your clock(s). This requires
|
|
version 3.4-alpha3 (or later) on both ends of the link (A3)
|
|
* Configuration file converter that will upgrade your 3.2.x conf to 3.4.x.
|
|
On *NIX run './unreal upgrade-conf'. On Windows simply try to boot and
|
|
after the config errors screen UnrealIRCd offers the conversion. (A3)
|
|
|
|
==[ CHANGED ]==
|
|
* Numerics have been removed. Instead we now use SIDs (Server ID's) and
|
|
UIDs (User ID's). SIDs work very similar to server numerics and UIDs
|
|
help us to fix a number of lag-related race conditions / bugs.
|
|
* The module commands.so / commands.dll has been removed. All commands
|
|
(those that are modular) are now in their own module.
|
|
* Self-signed certificates are now generated using 4096 bits, a SHA256
|
|
hash and validity of 10 years. (A2)
|
|
* Building with SSL (OpenSSL) is now mandatory (A2)
|
|
* The link { } block has been restructured, see
|
|
https://www.unrealircd.org/docs/Upgrading_from_3.2.x#Link_block (A3)
|
|
* Better yet, check out our secure server linking tutorial:
|
|
https://www.unrealircd.org/docs/Tutorial:_Linking_servers
|
|
* If you have no set::throttle block you now get a default of 3:60 (A3)
|
|
* password entries in the conf no longer require specifying an auth-type
|
|
like password "..." { md5; };. UnrealIRCd will now auto-detect. (A3)
|
|
* You will now see a warning when you link to a non-SSL server. (A3)
|
|
* Previously we used POSIX Regular expressions in spamfilters and at
|
|
some other places. We have now moved to PCRE Regular expressions.
|
|
They look very similar, but PCRE is a lot faster.
|
|
For backwards-compatibility we still compile with both regex engines. (A3)
|
|
* Spamfilter command syntax has been changed, it now has an extra option
|
|
to indicate the matching method:
|
|
/SPAMFILTER [add|del|remove|+|-] [method] [type] ....
|
|
Where 'method' can be one of:
|
|
* -regex: this is the new fast PCRE2 regex engine
|
|
* -simple: supports just strings and ? and * wildcards (super fast)
|
|
* -posix: the old regex engine for compatibility with 3.2.x. (A3)
|
|
* If you have both 3.2.x and 3.4.x servers on your network then the
|
|
3.4.x server will only send spamfilters of type 'posix' to the 3.2.x
|
|
servers because 3.2.x servers don't support the other two types.
|
|
So in a mixed network you probably want to keep using 'posix' for
|
|
a while until all your UnrealIRCd servers are on 3.4.x. (A3)
|
|
* set::oper-only-stats now defaults to "*"
|
|
* oper::from::userhost and vhost::from::userhost are now called
|
|
oper::mask and vhost::mask. The usermask@ part is now optional and
|
|
it supports two syntaxes. For one entry you can use: mask 1.2.3.*;
|
|
For multiple entries the syntax is: mask { 192.168.*; 10.*; };
|
|
* Because having both allow::ip and allow::hostname in the same allow
|
|
block was highly confusing (it was an OR-match) you must now choose
|
|
between either allow::ip OR allow::hostname. (A3)
|
|
|
|
==[ MODULE CODERS / DEVELOPERS ]==
|
|
* A lot of technical documentation for module coders has been added
|
|
at https://www.unrealircd.org/docs/ describing things like how to
|
|
write a module from scratch, the User & Channel Mode System, Commands,
|
|
Command Overrides, Hooks, attaching custom-data to users/channels,
|
|
and more. (A2+)
|
|
* Added MOD_OPT_PERM_RELOADABLE which permits reloading (eg: upgrades)
|
|
but disallows unloading of a module (A3)
|
|
* There have been *a lot* of source code cleanups (ALL)
|
|
|
|
==[ MAJOR BUGS FIXED ]==
|
|
* Crash bug on-boot in alpha1 (A2)
|
|
* IRCOp commands such as /GLINE were not always working (A2)
|
|
* This is still an alpha release, so likely contains major issues
|
|
|
|
==[ MINOR BUGS FIXED ]==
|
|
* Errors in example configuration files (A2)
|
|
* Some fixes in delayjoin (Channel mode +d) (A2)
|
|
* Deal with services who allow you to log in by account name (A3)
|
|
|
|
==[ REMOVED / DROPPED ]==
|
|
* Numeric server IDs, see above. (A1)
|
|
* PROTOCTL TOKEN and SJB64 are no longer implemented. (A1)
|
|
* Ziplinks have been removed. (A1)
|
|
* WebTV support. (A3)
|
|
|
|
==[ KNOWN ISSUES ]==
|
|
* Documentation has NOT been updated to reflect 3.4.x features!!!
|
|
|
|
==[ ADDITIONAL INFO ]==
|
|
* See Changelog for more details
|