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

From ZNC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:


== New ==
== New ==
* Require C++17 compiler. That is, GCC 8+ or Clang 5+. {{GH|1887}}
* Remove 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.
* Update password hashing algorithm from SHA-256 to Argon2id (if libargon2 is installed). Existing passwords are transparently upgraded upon login. {{GH|1879}}
* Update password hashing algorithm from SHA-256 to Argon2id (if libargon2 is installed). Existing passwords are transparently upgraded upon login. {{GH|1879}}
* Support for capability negotiation 3.2 and <code>cap-notify</code>. 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 support <code>cap-notify</code> and ZNC will notify the module when the capability is enabled or disabled for server and for each client. {{GH|1859}}
* Support for capability negotiation 3.2 and <code>cap-notify</code>. 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 support <code>cap-notify</code> and ZNC will notify the module when the capability is enabled or disabled for server and for each client. {{GH|1859}}
* Add support for cap account-tag {{GH|1746}}
* Add support for cap account-tag {{GH|1746}}
* New User Options: DenySetIdent, DenySetNetwork, DenySetRealName, DenySetQuitMsg, DenySetCTCPReplies {{GH|1814}}
* New User Options: DenySetIdent, DenySetNetwork, DenySetRealName, DenySetQuitMsg, DenySetCTCPReplies {{GH|1814}}
* Switch --makeconf wizard default network from freenode to Libera


== Fixes ==
== Fixes ==
Line 32: Line 31:


== Notes for package maintainers (TODO) ==
== Notes for package maintainers (TODO) ==
* Require C++17 compiler. That is, GCC 8+ or Clang 5+. {{GH|1887}}
* Remove 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.
* cctz
* cctz
* cmake
* libargon2
* libargon2
* python
* python
Line 63: Line 63:
* Port updater of docs.znc.in from travis to github actions {{git|8be5e4ce}}
* Port updater of docs.znc.in from travis to github actions {{git|8be5e4ce}}
* Replace github actions badge with one via shields.io for consistency {{git|01877fcb}}
* Replace github actions badge with one via shields.io for consistency {{git|01877fcb}}
* Fix tarball testing in github actions after .github/ removal {{git|5b5085e4}}
* Docker git version: fix versio, update alpine {{git|c97e2b18}}
* Remove .github/ from tarball {{git|71321a2b}}
* CI: Remove ' symbol where it shouldn't be {{git|acda0eab}}
* CI: Remove ' symbol where it shouldn't be {{git|acda0eab}}
* Setup github actions {{git|bcbdce2d}}
* Setup github actions {{git|bcbdce2d}}
Line 71: Line 68:
* Fixed missing paragraph closing tag {{git|2a733cc9}}
* Fixed missing paragraph closing tag {{git|2a733cc9}}
* Hide password in PASS debug lines without : in trailing param {{git|e7b6a771}}
* Hide password in PASS debug lines without : in trailing param {{git|e7b6a771}}
* Switch --makeconf wizard from freenode to libera {{git|15e2351d}}
* route_replies: route TOPIC requests to client {{git|9ff9fa7c}}
* route_replies: route TOPIC requests to client {{git|9ff9fa7c}}
* move IRC channel to Libera.Chat {{git|3c3a445a}}
* move IRC channel to Libera.Chat {{git|3c3a445a}}

Revision as of 22:37, 8 February 2024

← 1.8.2 ZNC 1.9.0 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

  • Update password hashing algorithm from SHA-256 to Argon2id (if libargon2 is installed). Existing passwords are transparently upgraded upon login. (#1879)
  • 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 support cap-notify and ZNC will notify the module when the capability is enabled or disabled for server and for each client. (#1859)
  • Add support for cap account-tag (#1746)
  • New User Options: DenySetIdent, DenySetNetwork, DenySetRealName, DenySetQuitMsg, DenySetCTCPReplies (#1814)
  • Switch --makeconf wizard default network from freenode to Libera

Fixes

  • Don't send invalid 333 (RPL_TOPICWHOTIME) to client if topic owner is unknown (#1889)
  • Fix build with SWIG 4.2.0, drop support for SWIG < 4.0.1
  • Fix handling of timezones when parsing server-time tags received from server (#1857) (#1773)
  • Don't crash when receiving SASL lines from server without having negotiated SASL via CAP

Modules

  • modpython: Rewrite how modpython loads modules from imp to importlib: this adds support for Python 3.12, but bumps the minimum supported python version to 3.4. 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)
  • webadmin: Fix order of breadcrumbs in network page
  • watch: Allow new entries to use spaces (#1822)

Notes for package maintainers (TODO)

  • Require C++17 compiler. That is, GCC 8+ or Clang 5+. (#1887)
  • Remove 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 old configure. Minimum supported CMake version is 3.13.
  • cctz
  • libargon2
  • python
  • swig

Internal

  • Document more functions.
  • Use steady clock for cache map and for sockets to fix certain issues with leap seconds and DST
  • Modernized the way how CMake is used
  • Make some integration tests run faster by changing ServerThrottle value
  • Various fixes to CI
  • Added CIFuzz (#1845)
  • Added CodeQL (#1846)
  • Generate list of translators automatically from Crowdin
  • Update default SSL settings from Mozilla recommmendations

TODO: to triage