To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.
ChangeLog/1.9.0: Difference between revisions
Jump to navigation
Jump to search
DarthGandalf (talk | contribs) |
DarthGandalf (talk | contribs) |
||
Line 46: | Line 46: | ||
== Notes for package maintainers == | == Notes for package maintainers == | ||
* Require C++17 compiler. That is, GCC 8+ or Clang 5+. {{GH|1887}} | * Require C++17 compiler. That is, GCC 8+ or Clang 5+. {{GH|1887}} | ||
* | * Removed autoconf, leave only CMake as the build system. The <code>configure</code> script is now merely a wrapper for CMake, and accepts mostly the same parameters as the old <code>configure</code>. Minimum supported CMake version is 3.13. | ||
* If cctz library is available on the system, it will be used, otherwise the bundled copy will be used | * If cctz library is available on the system, it will be used, otherwise the bundled copy will be used | ||
* libargon2 is new optional dependency | * libargon2 is new optional dependency | ||
* | * Dropped support for Python < 3.4 | ||
* | * Dropped support for SWIG < 4.0.1 | ||
* The systemd unit now passes <code>--datadir=/var/lib/znc</code> | * The systemd unit now passes <code>--datadir=/var/lib/znc</code> | ||
Revision as of 02:57, 9 February 2024
← 1.8.2 | ZNC 1.9.0 | 1.9.1 → |
This is an old ZNC version. If you still use it, please consider upgrading to 1.9.1. |
See https://github.com/znc/znc/compare/znc-1.9.1...master for a list of changes since 1.9.1 stable.
New
- Support for capability negotiation 3.2 and
cap-notify
. ZNC now has API, using which modules can easily implement new capabilities: if server supports a cap, it will automatically be offered to clients which supportcap-notify
and ZNC will notify the module when the capability is enabled or disabled for server and for each client. (#1859)- Several capabilities (away-notify, account-notify, extended-join) were moved from the core to a new module: corecaps.
- Add support for account-tag capability, also in corecaps module (#1746)
- Updated password hashing algorithm from SHA-256 to Argon2id (if libargon2 is installed). Existing passwords are transparently upgraded upon login. (#1879)
- Allow ordering of channels: via ListChans, MoveChan and SwapChans commands, and via webadmin (#1744)
- New User Options: DenySetIdent, DenySetNetwork, DenySetRealName, DenySetQuitMsg, DenySetCTCPReplies (#1814)
- Switch --makeconf wizard default network from freenode to Libera
- znc-buildmod: output where the module was written to
- Add Portuguese and Turkish translations
Fixes
- Fixed build with SWIG 4.2.0
- Fixed build with LibreSSL (#1828)
- Fixed crash when receiving SASL lines from server without having negotiated SASL via CAP
- Fixed handling of timezones when parsing server-time tags received from server (#1857) (#1773)
- Use module names as the module ident, otherwise some clients were merging conversations with different modules together. (#1874)
- Stopped sending invalid 333 (RPL_TOPICWHOTIME) to client if topic owner is unknown (#1889)
- Fixed an ODR violation (#1835)
- Better hide password in PASS debug lines, sometimes it was not hidden
Modules
- modpython: Rewrite how modpython loads modules from
imp
toimportlib
: this adds support for Python 3.12. Also now it's possible to structure the module as a python package (a subdirectory with__init__.py
and other .py files), however it no longer supports loading a C python extension through modpython - just write the module on C++ in such case instead of python, or use the__init__.py
format and implement some of the files in C. (#1724) - log: Add account to joins for the log module. (#1870)
- clientnotify: Add options to reduce amount of notifications depending on the IP and the client ID of the connecting client (#1843)
- modpython: Implement Module.AddCommand() (#1832) (#1833)
- webadmin: Fix order of breadcrumbs in network page
- watch: Allow new entries to use spaces (#1822)
- route_replies: add Solanum-specific 337 (RPL_WHOISTEXT) to possible replies of /whois (#1881)
- route_replies: route replies to /topic
- modperl: allow overriding timer label
- autoop: in some cases settings were parsed incorrectly, resulting in failure to do the autoop
- sasl: don't forward 908 (RPL_SASLMECHS) to clients (#1756)
- controlpanel: fix in help output
Notes for package maintainers
- Require C++17 compiler. That is, GCC 8+ or Clang 5+. (#1887)
- Removed autoconf, leave only CMake as the build system. The
configure
script is now merely a wrapper for CMake, and accepts mostly the same parameters as the oldconfigure
. Minimum supported CMake version is 3.13. - If cctz library is available on the system, it will be used, otherwise the bundled copy will be used
- libargon2 is new optional dependency
- Dropped support for Python < 3.4
- Dropped support for SWIG < 4.0.1
- The systemd unit now passes
--datadir=/var/lib/znc
Internal
- Switched to steady clock for cache map and for sockets to fix certain issues with leap seconds and DST
- Made
CUser::Put...()
send to all clients instead of only networkless clients. Deprecate CUser::PutAllUser() - Setup Github Actions to replace old Travis CI setup
- Added CIFuzz (#1845)
- Added CodeQL (#1846)
- List of translators is now automatically generated from Crowdin
- Modernized the way how CMake is used
- Updated default SSL settings from Mozilla recommmendations
- Rewrote message parsing using std::string_view, improving the performance of the parser (#1785)
- Web: remove legacy xhtml syntax (#1723)
- Documented more functions
- Made some integration tests run faster by changing ServerThrottle value in the test