diff --git a/doc/RELEASE-NOTES b/doc/RELEASE-NOTES index 3e66427c1..03039323e 100644 --- a/doc/RELEASE-NOTES +++ b/doc/RELEASE-NOTES @@ -1,8 +1,8 @@ -Unreal3.4-alpha3 Release Notes +Unreal3.4-alpha4 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. +This is the fourth 'alpha' version of UnrealIRCd 3.4. We plan to move to +'beta' stage in a month to 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. @@ -12,46 +12,54 @@ IMPORTANT REMARKS as long as UnrealIRCd 3.4.x is in alpha stage: 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 +* You should never run 3.4-alpha4 as a production server +* You should not link 3.4-alpha4 with a production 3.2.x network Please do: -* Install 3.4-alpha3 to play around, show to your friends, have fun with +* Install 3.4-alpha4 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. +* If you are moving from 3.2.x then be sure to read 'CONFIGURATION CHANGES' + which explains the new directory structure and how to make UnrealIRCd + convert your existing 3.2.x configuration file to the 3.4.x format. -==[ 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 +==[ DOCUMENTATION ]== +UnrealIRCd 3.4.x documentation is now located in a wiki online at: +* https://www.unrealircd.org/docs/ +The old unreal32docs.*html files have been removed. ==[ 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. +Starting with 3.4-alpha4 we use a new directory structure. -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. +*NIX: If you are not on Windows then this means you must now choose a + target directory to install UnrealIRCd to. ./Config will ask this + and it's ~/unrealircd by default (eg: /home/nerd/unrealircd). + You also need to run 'make install' after 'make' now. + After compiling, you should leave your Unreal3.4-alphaX directory + and change to ~/unrealircd as everything takes place there. + For example to start UnrealIRCd you run './unrealircd start' + (again, from the /home/xxxx/unrealircd directory). -UnrealIRCd will go through your unrealircd.conf and any other files that -are included from there and upgrade the files one by one. +The new directory structure is as follows (both on Windows and *NIX): +conf/ contains all configuration files +logs/ for log files +modules/ all modules (.so files on *NIX, .dll files on Windows) +tmp/ temporary files +data/ persistent data such as ircd.tune +cache/ cached remote includes -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). +It is possible to use your existing 3.2.x configuration file, but it needs +to be 'upgraded' to the new 3.4.x syntax. UnrealIRCd can do this for you. +Simply place your unrealircd.conf (and any other .conf's you use) in the +conf/ directory and then: +* On *NIX run './unrealircd upgrade-conf' (from /home/xxxx/unrealircd) +* 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. +On either OS, after running the step from above, simply start UnrealIRCd +again and it should boot up fine with your 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 @@ -60,14 +68,32 @@ 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 +==[ GENERAL INFORMATION ]== +* 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 (600+) use 'git log' or have a look at + https://github.com/unrealircd/unrealircd/commits/unreal34 + ==[ 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. +* We moved a lot of functionality, including most channel modes, user + modes and all extended bans into 145 separate modules. + This makes it... + A) possible to fully customize what exact functionality you want to load. + You could even strip down UnrealIRCd to get something close to the + basic RFC1459 features from the 1990s. (No idea why you would want + that, but it's possible) + B) easier for coders to see all source code related to a specific feature + C) possible to fix bugs and just reload rather than restart the IRCd. + + Have a look at modules.full.conf which contains the "default" set of + modules that you can load if you just want to load all functionality. + If you want to customize the list of modules to load then simply make + a copy of that file, give it a different name, and include that one + instead. Since the file is fully documented, you can just comment out + or delete the loadmodule lines of things you don't want to load. +* Oper permissions............ (A4) + ................................................ + ....................................................... * 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. @@ -135,6 +161,28 @@ listed on: https://www.unrealircd.org/docs/Upgrading_from_3.2.x * 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) +* cgiirc block is renamed to webirc and the syntax has changed (A4) +* set::pingpong-warning is removed, warning always off now (A4) +* More helpful configuration file parse error messages (A4) +* You can use '/OPER username' without password if you use SSL + certificate (fingerprint) authentication. The same is true for + '/VHOST username'. (A4) +* You must now always use 'make install' on *NIX (A4) +* Changed (default) directory structure entirely, see the section + titled 'CONFIGURATION CHANGES' about 100 lines up. (A4) +* badword quit { } is removed, we use badword channel for it. (A4) +* badwords.*.conf is now just one badwords.conf +* To load the default modules you can now include modules.full.conf. + This file was called modules.conf in earlier alpha's. (A4) +* Snomask +s is now (always) IRCOp-only. (A4) +* There's now actually an idea behind HalfOp permissions. The idea + is that halfops should be able to help out in case of a flood but + not be able to +* Previously there was little logic behind what modes halfops could + set. Now the idea is as follows: halfops should be able to help out + in case of a flood but not be able to change any 'policy decission + modes' such as +G, +S, +c, +s. Due to this change halfops can now + set modes +beiklmntIMKNCR (was: +beikmntI). ==[ MODULE CODERS / DEVELOPERS ]== * A lot of technical documentation for module coders has been added @@ -149,18 +197,27 @@ listed on: https://www.unrealircd.org/docs/Upgrading_from_3.2.x ==[ MAJOR BUGS FIXED ]== * Crash bug on-boot in alpha1 (A2) * IRCOp commands such as /GLINE were not always working (A2) +* link::outgoing::options::autoconnect did not work (A4) * This is still an alpha release, so likely contains major issues +* If the IRCd could not bind to any ports it started anyway (A4) +* alpha3 did not compile on x86 (32 bit) systems (A4) ==[ 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) +* Detect "IRCd not running" situations better (A4) +* './unrealircd restart' will now always try to start UnrealIRCd, + so also if it wasn't running previously. (A4) ==[ 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) +* User mode +h (helpop). This user mode only added a line in /WHOIS + saying the user "is available for help". You can use a vhost block + with a vhost::swhois as a replacement. Or oper::swhois. (A4) ==[ KNOWN ISSUES ]== * Documentation has NOT been updated to reflect 3.4.x features!!!