0.4.1:
- Converted to CMake which replaces Visual Studio project files and GNU makefiles
- Fix issues with SSL causing excessive CPU usage.
- Fix TLS/SSL handshake detection issues
- Fixed crash in mod_chat_only.
- Implemented red-black tree for better performance for certain lookups.
- Better network statistics using the !stats command.
- Improved protocol parsing, especially escape handling.
- Fix cbuffer initialization.
- Install plugins in /usr/lib/uhub, not /var/lib/uhub.
- Improved init scripts and added a upstart script.
- Work-around client security bugs by disallowing UCMD messages from being relayed.
- Added asynchronous DNS resolver.


0.4.0:
- Cleaned up code generator for config file parsing.
- Merge pull request #5 from yorhel/master
- Print error message in case of shutting down due to errors loading plugins.
- Fix Windows file read discrepancy.
- convert_to_sqlite.pl: Update to the latest SQL schema + be more Perlish
- Fix VS2010 project file - missing .c file.
- Merge https://github.com/Tilka/uhub
- use "I64u" instead of PRIu64 on Windows
- remove obsolete settings in uhub.conf
- fix uhub_itoa() and uhub_ulltoa()
- marked plugin callbacks that are not called yet
- add on_change_nick() to struct plugin_funcs
- minimal changes
- Updated init script in debian package.
- Updated list of man pages in debian package.
- Added man page for uhub-passwd.
- Merge branch 'master' of https://github.com/Tilka/uhub
- Fix issue with QUI messages being allowed through the hub
- don't show error on SIGTERM in select() backend
- fix dependency of 'install' target
- changed all calls to assert() to uhub_assert()
- Don't strip the U4/U6 port numbers if updated after login.
- Fix compile issue with double typedefs.
- Remove list assertion when removing element that is not in the list. Breaks autotest.
- Cleaned up command handling code, by splitting into multiple files.
- Fix bug #183 - Added proper OpenSSL license exception for the GPL.
- OMG OPTIMIZED
- use dh_prep instead of dh_clean -k
- fix double free
- use "0" instead of "false"
- fix use of uninitialized struct ip_range
- fix random crashes upon !reload
- fix command syntax
- use arg parser in !broadcast
- Fixed tiny memory leak on reload/shutdown.
- Merge https://github.com/Tilka/uhub
- fix multiple optional arguments
- small cleanup
- also clean uhub-passwd
- ignore files generated by dpkg-buildpackage
- automatically clean up plugin commands
- minimal documentation fixes
- update client software link
- update compile howto link
- fix debian changelog
- Fix bug #158 - Added plugin for setting topic (hub description).
- Command arguments handling + cleanups


0.3.2:
- Fixed bugs in the kqueue network backend (OSX/BSD)
- Rewrote the configuration backend code.
- Added support for escaping characters in the configuration files.
- Updated the !broadcast command to send private messages instead of main chat messages.
- Adding support for redirecting clients to other hubs when they fail to log in.
- Fix some out of memory related crashes.
- Fixed minor memory leaks.


0.3.1:
- Fixed bug where !getip did not work.
- Added flood control configuration options.
- Added configuration options to disallow old/obsolete ADC clients.
- Fixed crash bugs, an freezes.
- SSL/TLS fix for tls_require configuration option.
- Fixed disconnect messages, so that clients can interpret them.
- Fixed bugs where share limits could be circumvented.
- Added support for listening to multiple ports.
- kqueue backend for Mac OS X, and BSD systems.


0.3.0:
- More user commands: ban, broadcast, mute, rules, history, myip, whoip, log
- Experimental SSL support
- Large rewrite of the network stack in order to support SSL.
- Added rule file for defining hub rules.
- Many crash fixes and other important bug fixes.
- Optimizations: O(1) timeout scheduler
- New sid allocation code.
- Added configurable server_listen_backlog (default 50).
- Added init.d scripts for RedHat/CentOS


0.2.8:
- Fix bug #13: getsockname() failure, use sockaddr from accept() instead.
- Fix bug #10: Improve logging, ensure logs are machine readable.
- Fix bug #12: asserts in adc_msg_parse -> enabled strict utf8 parsing.


0.2.7:
- Fixed a nasty crash (bug #11), Thanks Toast for finding it.
- Fix bug #9 - net_get_peer_address() failure on CentOS/Xen configurations.
- Write a log message if an operator reloads the config file.
- Don't print OK or ERROR when using '-s' or '-S' show the configuration.
- Cleanup credential string handling
- Made sure "!help" only display accessible commands.
- Cleanup in-hub command parsing
- Fix a possible crash if multiple INF messages are sent during login.
- Rewrote the mainloop to not use a timer.


0.2.6:
- Better "!uptime" command formatting.
- Better "!stats"; can display peak and current bandwidth usage.
- Added "+myip" command.
- Ensure super users and hub owners also have the operator flag set.
- Bug #1: Disconnecting users due to excessive "send queue".
- Bug #5: Always provide IP-address for all users, not just for active clients.
- Better send queue priorities.
- Dump configuration does not quote integer and boolean settings.
- Sources hosted by GitHub.com, and bug tracker on bugs.extatic.org
- Minor optimizations.


0.2.5-3487:
- Fixed out of memory situations, used when uhub operates on a limited heap.
- Code cleanups, reduced heap memory footprint.
- Fixed bug throwing users out due to exessive send queue when logging into a large hub.
- Added some simple hub commands (!stats, !uptime, !version, !help, etc).


0.2.4-3470:
- Added option chat_is_privileged, which makes chat for privileged users only.
- Started working on hub commands.
- Fixed a double free() related crash / abort.
- Fixed several send() -> EPIPE related crashes.


0.2.3-3429:
- Fixed one crash bug (jump to NULL).
- Fixed IPv6 dual stack issues on Winsock, but needs Vista or later to compile.
- Disable IPv6 if dual stack is not supported (WinXP with IPv6).
- Fixed bind issue for IPv4 addresses.
- Made sure no chat message could have PM context flag, unless set by the hub.
- Ignore empty INF update messages.


0.2.2-3393:
- Fixed a crash related to hub login.
- Added some fixes for older versions of libevent
- Added option to log messages through syslog.
- Added low bandwidth mode for really big hubs.
- Started writing a benchmark tool for the hub.
- Fix bug: reload configuration reset uptime.
- Experimental support for NetBSD 3.1.


0.2.1-3321:
- Added more robust configuration file parsing.
- Use defaults if config file is not found, unless a file is specified.
- Added user class super user (above operator, below admin).
- Added NAT override for clients behind the same NAT as the hub.
- Fixed a bug summarizing shared size and files for the PING extension.
- Fixed bugs related to hub limits.


0.2.0-3293:
- Fixed multiple crash bugs.
- Fully compatible with ADC/1.0.
- Protocol extensions: 'TIGR' and 'PING'
- Added support for configuring min/max share size, slots, concurrent hubs, not very well tested.
- Made all status message strings configurable.
- Various BSD issues fixed. Should perform equally well as Linux.
- Allow ignored configuration options (used when deprecating configuration options).
- Added command line options for checking configuration.
- A windows port is more or less done (MinGW)
- Lots of new auto tests added.


0.1.6-2608:
- Changes required for the ADC/0.14 specification.
- Stability fixes.
- Win32 fixes, it compiles and runs, but not quite ported yet.
- Added CMAKE files, which can be used instead of GNU make.
- Made sure all messages are terminated when created.
- Use length of messages, instead of strlen() to determine them.
- Added more asserts for messages. Spotted a few errors as a result of that.
- Added support for more sophisticated memory allocation debugging.


0.1.5-2462
- Fixed double free (crash).
- Fixed password challenge/response coding error (crash).
- Changes required for the new ADC/0.13 specification.
- Fixed IPv6 netmask matching (banning)
- Added UDP server, needed for auto-configure extension (AUT0)
- Send 'ping' messages periodically if nothing heard from clients.
- Print IP when client disconnects.
- Lots of automatic testcases added, fix many bugs in the process.
- GCC 2.95 compile fixes.


0.1.4-2301:
- uHub now requires and utilizes libevent. This allows for greater code
portability, and less code complexity.
- Various FreeBSD/OpenBSD/NetBSD fixes have been applied.
- Can now log files other than stderr.
- Added several automatic testcases.
- The application should now be much more stable, and never consume much CPU.
- Fixed several small annoying bugs.


0.1.3-2147:
- Changed license to GPL3
- Fixed several crashes
- Major code cleanups
- Refactored event handling
- Log file format change (minor)
- Automatic regression testing of code base (via exotic).
- Memory handling debug infrastructure.


0.1.2-2020:
- Fix infinite loops
- Don't log users leaving unless they are logged in.
- Fix private messages in chat only hubs.
- Operators/admins override chat only hub settings.
- Fix client/server protocol support negotiation handling
- IP banning should now work (IPv6 is not tested yet).


0.1.1-1956:
- Fixed memory leaks in ACL handling
- Prevent unneeded malloc's in command handling when buffers are big enough.
- Code cleanups and more doxygen style comments added.
- Fixed crashes and infinite loops
- FreeBSD compile fixes
- Timestamp log messages.
- Log network/bandwidth statistics


0.1.0-1840:
- First public release

