To create new wiki account, please join us on #znc at freenode and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Difference between revisions of "ChangeLog/1.6.0"

From ZNC
Jump to: navigation, search
(Only editors of this page really need to know to what commit it was updated)
(Write this page)
Line 3: Line 3:
 
-->
 
-->
  
<!-- Last update at 071801a65d0818af165bcd4f98989411e4020fb4 -->
+
<!-- Last update at c48729fe8bf642d1b20ce6316ae1bf01cff83382 -->
  
 
See https://github.com/znc/znc/compare/znc-{{ZNC-Version}}...master for a list of changes since {{ZNC-Version}} stable.
 
See https://github.com/znc/znc/compare/znc-{{ZNC-Version}}...master for a list of changes since {{ZNC-Version}} stable.
 +
 +
== New ==
 +
* Switch versioning scheme to <major>.<minor>.<patch>.
 +
* Add settings for which SSL/TLS protocols to use (SSLProtocols), which ciphers to enable (SSLCiphers). By default TLSv1+ are enabled, SSLv2/3 are disabled.
 +
* Validate SSL certificates.
 +
* Allow clients to specify an ID as part of username (user[@identifier][/network]). Currently not used, but modules can use it.
 +
* Add [[alias]] module for ZNC-side command interception and processing.
 +
* Support character encodings with separate settings for networks, and for clients. It replaces older [[charset]] module, which didn't work well with [[webadmin]].
 +
* Support X-Forwarded-For HTTP header, to be used with new TrustedProxy setting.
 +
* Add URIPrefix option for HTTP listeners, to be used with reverse proxy.
 +
* Store query buffers per query the same way it's done for channels, add new option AutoClearQueryBuffer.
 +
* Add DisableChan command to *status, it was available only in [[webadmin]] before.
 +
* Allow wildcards in arguments of Help commands of *status and various modules.
 +
* Support IRCv3.2 batches, used for buffer playbacks.
 +
* Support IRCv3.2 self-message.
 +
* Remove [[awaynick]] module. It's considered harmful.
 +
* Add JoinDelay setting, which allows a delay between connection to server, and joining first channel. By default it joins immediately after connect.
 +
* Make Detach, EnableChan and DisableChan commands of *status to accept multiple channels.
 +
* znc-buildmod: Build output to the current working directory.
 +
* Wrap long lines in tables (e.g. in Help or ListAvailMods commands).
 +
* Bump compiler requirements to support C++11. This means GCC 4.7+, Clang .... (TODO), SWIG 3.0.0+.
 +
 +
== Fixes ==
 +
* Disable TLS compression.
 +
* Disallow setting ConnectDelay to zero, don't hammer server with our failed connects.
 +
* Simplify --makeconf.
 +
* Fix logic to find an available nick when connecting to server.
 +
* Fix handling of CTCP flood.
 +
* Allow network specific quit messages.
 +
* Make various text labels gender-neutral.
 +
* Fix finding SWIG 3 on FreeBSD.
 +
* Handle multi-receiver NOTICE and PRIVMSG.
 +
* Make channels follow user-level settings when appropriate.
 +
* Write disabled status to config for disabled channels.
 +
* Fix double output in messages from modules.
 +
* Fix memory leak in gzip compression in HTTP server.
 +
* Use random DNS result instead of choosing the same one every time.
 +
 +
== Modules ==
 +
* [[autoattach]]: Make it also a network module.
 +
* [[autoreply]]: Use NOTICE instead of PRIVMSG.
 +
* [[autoop]]: Add support for multiple hostmasks per user.
 +
* [[buffextras]]: Make it also a network module.
 +
* [[listsockets]]: Show traffic stats.
 +
* [[modperl]]: Fix some int_t types.
 +
* [[route_replies]]: Handle numerics 307 and 379 in /whois reply. Handle IRCv3.2 METADATA numerics.
 +
* [[sasl]]: Disable DH-BLOWFISH & AES by default.
 +
* [[simple_away]]: Apply auto-away on load if no user is connected.
 +
* [[stickychan]]: Don't join channels when not connected.
 +
* [[watch]]: Add support for detached-only clients, and detached-only channels.
 +
 +
=== [[awaystore]] ===
 +
* Store CTCP ACTIONs too.
 +
* Reset timer and return from away when a client does a CTCP ACTION.
 +
* Allows use of strftime formatting in away messages.
 +
 +
=== [[bouncedcc]] ===
 +
* Fix quotes in file names.
 +
* Fix check for "Connected" state.
 +
 +
=== [[chansaver]] ===
 +
* Fix saving channel keys.
 +
* Add support for loading as a global module.
 +
 +
=== [[controlpanel]] ===
 +
* Add AddChan, DelChan commands, useful for admins to edit other users' channels, was available only in [[webadmin]] before.
 +
* Check if adding a new channel succeeded.
 +
* Revise Help output.
 +
* Allow wildcards for GetChan and SetChan.
 +
 +
=== [[flooddetach]] ===
 +
* Show current value in Lines and Secs commands.
 +
* Add Silent [yes|no] command, similar to [[route_replies]].
 +
 +
=== [[log]] ===
 +
* Use only lower case characters in log filenames.
 +
* Use directories and YYYY-MM-DD filename by default.
 +
* Add support for logging rules. E.g. <code>/msg *log setrules #znc !#*</code>
 +
 +
=== [[modpython]] ===
 +
* Fix calling overloaded methods with parameter CString&.
 +
* Support CZNC::GetUserMap().
 +
* Set has_args and args_help_text from module.
 +
* Release python/swig ownership when adding object created in python to ZNC container.
 +
* Fix some int_t types.
 +
 +
=== [[nickserv]] ===
 +
* Support tddirc.net.
 +
* Remove commands Ghost, Recover, Release, Group. The same functionality is available via new [[alias]] module.
 +
 +
=== [[savebuff]] ===
 +
* Do not skip channels with AutoClearChanBuffer=true.
 +
* Handle empty password in SetPass the same way as during startup.
 +
 +
=== [[q]] ===
 +
* Add JoinOnInvite, JoinAfterCloaked options.
 +
* Don't cloak host on first module load if already connected to IRC.
 +
* Add web configuration.
 +
* Use HMAC-SHA-256 instead of HMAC-MD5.
 +
 +
=== [[webadmin]] ===
 +
* Combine "List Users" and "Add User".
 +
* Module argument autocomplete="off", for [[nickserv]] module, which contains password in argument before first save.
 +
* For every module show in which other levels that module is loaded (global/user/network).
 +
* Open links to wiki pages about modules in separate window/tab.
 +
* Support renaming a network.
 +
* Add missing page title on Traffic page.
 +
* Improve navigation: "Save and continue".
 +
 +
== Internal ==
 +
* Unit tests, via GTest.
 +
* Allow lambdas for module command callbacks.
 +
* New modules hooks: OnSendToClient, OnSendToIRC, OnJoining, OnMode2, OnChanBufferPlayLine2, OnPrivBufferPlayLine2.
 +
* Add methods to CString: StartsWith, EndsWith, Join, Find, Contains, and Convert.
 +
* Add limited support for using threads in modules: CModuleJob class.
 +
* Add CZNC::CreateInstance to make porting ZNC to MSVC a bit easier.
 +
* Add CUtils::Get/SetMessageTags().
 +
* Add CIRCNetwork::FindChans().
 +
* Add CChan::SendBuffer(client, buffer) overload.
 +
* Add CIRCNetwork::LoadModule() helper.
 +
* Add CClient::IsPlaybackActive().
 +
* Web: Discard sessions in LRU order.
 +
* Introduce CaseSensitivity enum class.
 +
* Fix CNick::Parse().
 +
* Remove redundant CWebSocket::GetModule().
 +
* Switch from CSmartPtr to std::shared_ptr.
 +
* Fix GetClients() const correctness.
 +
* Make self-signed cert with SHA-256 in --makepem.
 +
* Use override keyword.
 +
* Show username of every http request in -D output.
 +
* Split CUserTimer into CIRCNetworkPingTimer and CIRCNetworkJoinTimer.
 +
* Give a reason for disabled features during ./configure, where it makes sense.
 +
* Use make-tarball.sh for nightlies too.
 +
* Revise CChan::JoinUser() & AttachUser().
 +
* Modules: use public API.
 +
* Modules: use AddCommand().
 +
* Add ChangeLog.txt.
  
 
[[Category:ChangeLog]]
 
[[Category:ChangeLog]]

Revision as of 19:41, 23 December 2014


See https://github.com/znc/znc/compare/znc-1.6.5...master for a list of changes since 1.6.5 stable.

New

  • Switch versioning scheme to <major>.<minor>.<patch>.
  • Add settings for which SSL/TLS protocols to use (SSLProtocols), which ciphers to enable (SSLCiphers). By default TLSv1+ are enabled, SSLv2/3 are disabled.
  • Validate SSL certificates.
  • Allow clients to specify an ID as part of username (user[@identifier][/network]). Currently not used, but modules can use it.
  • Add alias module for ZNC-side command interception and processing.
  • Support character encodings with separate settings for networks, and for clients. It replaces older charset module, which didn't work well with webadmin.
  • Support X-Forwarded-For HTTP header, to be used with new TrustedProxy setting.
  • Add URIPrefix option for HTTP listeners, to be used with reverse proxy.
  • Store query buffers per query the same way it's done for channels, add new option AutoClearQueryBuffer.
  • Add DisableChan command to *status, it was available only in webadmin before.
  • Allow wildcards in arguments of Help commands of *status and various modules.
  • Support IRCv3.2 batches, used for buffer playbacks.
  • Support IRCv3.2 self-message.
  • Remove awaynick module. It's considered harmful.
  • Add JoinDelay setting, which allows a delay between connection to server, and joining first channel. By default it joins immediately after connect.
  • Make Detach, EnableChan and DisableChan commands of *status to accept multiple channels.
  • znc-buildmod: Build output to the current working directory.
  • Wrap long lines in tables (e.g. in Help or ListAvailMods commands).
  • Bump compiler requirements to support C++11. This means GCC 4.7+, Clang .... (TODO), SWIG 3.0.0+.

Fixes

  • Disable TLS compression.
  • Disallow setting ConnectDelay to zero, don't hammer server with our failed connects.
  • Simplify --makeconf.
  • Fix logic to find an available nick when connecting to server.
  • Fix handling of CTCP flood.
  • Allow network specific quit messages.
  • Make various text labels gender-neutral.
  • Fix finding SWIG 3 on FreeBSD.
  • Handle multi-receiver NOTICE and PRIVMSG.
  • Make channels follow user-level settings when appropriate.
  • Write disabled status to config for disabled channels.
  • Fix double output in messages from modules.
  • Fix memory leak in gzip compression in HTTP server.
  • Use random DNS result instead of choosing the same one every time.

Modules

  • autoattach: Make it also a network module.
  • autoreply: Use NOTICE instead of PRIVMSG.
  • autoop: Add support for multiple hostmasks per user.
  • buffextras: Make it also a network module.
  • listsockets: Show traffic stats.
  • modperl: Fix some int_t types.
  • route_replies: Handle numerics 307 and 379 in /whois reply. Handle IRCv3.2 METADATA numerics.
  • sasl: Disable DH-BLOWFISH & AES by default.
  • simple_away: Apply auto-away on load if no user is connected.
  • stickychan: Don't join channels when not connected.
  • watch: Add support for detached-only clients, and detached-only channels.

awaystore

  • Store CTCP ACTIONs too.
  • Reset timer and return from away when a client does a CTCP ACTION.
  • Allows use of strftime formatting in away messages.

bouncedcc

  • Fix quotes in file names.
  • Fix check for "Connected" state.

chansaver

  • Fix saving channel keys.
  • Add support for loading as a global module.

controlpanel

  • Add AddChan, DelChan commands, useful for admins to edit other users' channels, was available only in webadmin before.
  • Check if adding a new channel succeeded.
  • Revise Help output.
  • Allow wildcards for GetChan and SetChan.

flooddetach

  • Show current value in Lines and Secs commands.
  • Add Silent [yes|no] command, similar to route_replies.

log

  • Use only lower case characters in log filenames.
  • Use directories and YYYY-MM-DD filename by default.
  • Add support for logging rules. E.g. /msg *log setrules #znc !#*

modpython

  • Fix calling overloaded methods with parameter CString&.
  • Support CZNC::GetUserMap().
  • Set has_args and args_help_text from module.
  • Release python/swig ownership when adding object created in python to ZNC container.
  • Fix some int_t types.

nickserv

  • Support tddirc.net.
  • Remove commands Ghost, Recover, Release, Group. The same functionality is available via new alias module.

savebuff

  • Do not skip channels with AutoClearChanBuffer=true.
  • Handle empty password in SetPass the same way as during startup.

q

  • Add JoinOnInvite, JoinAfterCloaked options.
  • Don't cloak host on first module load if already connected to IRC.
  • Add web configuration.
  • Use HMAC-SHA-256 instead of HMAC-MD5.

webadmin

  • Combine "List Users" and "Add User".
  • Module argument autocomplete="off", for nickserv module, which contains password in argument before first save.
  • For every module show in which other levels that module is loaded (global/user/network).
  • Open links to wiki pages about modules in separate window/tab.
  • Support renaming a network.
  • Add missing page title on Traffic page.
  • Improve navigation: "Save and continue".

Internal

  • Unit tests, via GTest.
  • Allow lambdas for module command callbacks.
  • New modules hooks: OnSendToClient, OnSendToIRC, OnJoining, OnMode2, OnChanBufferPlayLine2, OnPrivBufferPlayLine2.
  • Add methods to CString: StartsWith, EndsWith, Join, Find, Contains, and Convert.
  • Add limited support for using threads in modules: CModuleJob class.
  • Add CZNC::CreateInstance to make porting ZNC to MSVC a bit easier.
  • Add CUtils::Get/SetMessageTags().
  • Add CIRCNetwork::FindChans().
  • Add CChan::SendBuffer(client, buffer) overload.
  • Add CIRCNetwork::LoadModule() helper.
  • Add CClient::IsPlaybackActive().
  • Web: Discard sessions in LRU order.
  • Introduce CaseSensitivity enum class.
  • Fix CNick::Parse().
  • Remove redundant CWebSocket::GetModule().
  • Switch from CSmartPtr to std::shared_ptr.
  • Fix GetClients() const correctness.
  • Make self-signed cert with SHA-256 in --makepem.
  • Use override keyword.
  • Show username of every http request in -D output.
  • Split CUserTimer into CIRCNetworkPingTimer and CIRCNetworkJoinTimer.
  • Give a reason for disabled features during ./configure, where it makes sense.
  • Use make-tarball.sh for nightlies too.
  • Revise CChan::JoinUser() & AttachUser().
  • Modules: use public API.
  • Modules: use AddCommand().
  • Add ChangeLog.txt.