UnrealIRCd 4.0.0-rc1 released

News about the UnrealIRCd project, including release announcements
Post Reply
Syzop
UnrealIRCd head coder
Posts: 2112
Joined: Sat Mar 06, 2004 8:57 pm
Location: .nl
Contact:

UnrealIRCd 4.0.0-rc1 released

Post by Syzop »

The first release candidate for UnrealIRCd 4 is available for download. The development version was previously called 3.4.x but has been renamed to indicate the many changes in the codebase and to end-users. We're still aiming for an UnrealIRCd 4.0.0 stable release by the end of 2015.

This -rc1 release fixes a number of crash and linking issues.

What's new in UnrealIRCd 4
  • You decide what to load. We have moved as much functionality as possible to 150+ individually loadable modules (commands, user modes, channel modes, extbans, snomasks, ..). You decide which features your UnrealIRCd should have.
  • Fine-grained IRCOp privileges. The way IRCOp privileges are granted has been redone entirely. This allows you to configure oper privileges on a very detailed level. You don't want OperOverride? You don't want opers to see secret channels? Or you want an oper with a very minimal set of privileges? This is all possible.
  • Wiki. Documentation has been moved to a wiki. It's even better than before and more accessible to people who are new to IRCd's. The wiki also allows easy translation by community members.
  • New directory structure. On *NIX the IRCd is now always installed to a different directory than where you compile from (~/unrealircd by default). No more mess. On both *NIX and Windows configuration files go in conf/, modules go in modules/, etc.. Configuration files can be identical on Windows and *NIX. This new directory structure also allows more easy packaging.
  • New I/O system using kqueue & epoll. The IRCd can now handle thousands of users more easily.
  • Improved SSL/TLS support. SSL has always been a major feature in UnrealIRCd but has been enhanced. SSL client certificate fingerprints are visible in /WHOIS, a certfp extban (~S:certificatefingerprint) has been added, better defaults, etc.
  • DNS Blacklist support (DNSBL/RBL). Great for combating drones and other abusers.
  • Better and more helpful error messages. Especially regarding the configuration file.
  • More modern server-to-server protocol. Such as using UID/SID's. Resulting in less desynch. issues.
  • Lowering the bar for Spamfilter. You can now choose between 'regex' and 'simple' matching. Simple matching allows using the usual '?' and '*' wildcards that everyone knows about. The regex engine has been moved from TRE to PCRE (=about twice as fast).
  • Configuration is more logical. Around 30% of the configuration blocks have been restructured. Don't worry, we include an UnrealIRCd 3.2.x to 3.4.x configuration file converter.
  • Easier 3rd party module management. On *NIX you now just put your 3rd party modules in src/modules/third and then each time you run 'make' they will be compiled if needed.
  • Easier upgrading. On *NIX, when upgrading to a new version, ./Config will ask you to import settings from a previous installation, remembering your installation directory and other settings. It will also copy the 3rd party modules from the old to the new installation and re-compile them.
  • More secure. Even better secure defaults, more warnings about insecure behavior, ..
For developers
  • Easier source navigation. Because we moved almost everything to modules, it's now much easier to see all the code of one particular feature.
  • Cleaner code. There have been a lot of source code cleanups. Code has been restructured or rewritten. Old irrelevant code has been deleted.
  • Development documentation can be found on the wiki. We explain how to write a module in C and list all the details on the various Module API's such as how to write commands, channel modes, plug-in by using Hooks, etc...
As always, UnrealIRCd can be downloaded from https://www.unrealircd.org/
Post Reply