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 13: Line 13:
* 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.
* 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}}


== Fixes ==
== Fixes ==
Line 22: Line 23:


== Internal ==
== Internal ==
* Document more functions.


== TODO: to triage ==
== TODO: to triage ==


* Make modperl support AddServerDependentCapability {{git|2b3b224b}}
* Make modpython work with server-dependent caps {{git|efd136c0}}
* Move extended-join test to integration test {{git|4b1a524a}}
* Add comments {{git|e2508d97}}
* Code cleanup {{git|b1009bd8}}
* Modulefy core server-dependent caps {{git|f7ff0ee3}}
* Improve test {{git|da391924}}
* Add CCapability {{git|99e6869b}}
* in theory support non-network modules too {{git|23675544}}
* The test is now working {{git|b5a6ff52}}
* Progress: CAP NEW is sent to client {{git|7ee38927}}
* Set ServerThrottle=5 in integration test {{git|2605370f}}
* Set ServerThrottle=5 in integration test {{git|2605370f}}
* Update comments, namespace some internal modpython functions {{git|64ce25e5}}
* Progress {{git|66137bd8}}
* Add comments to header {{git|52a9752e}}
* Cleanup ZNC_LVREFQUAL {{git|0a355636}}
* Fix modpython to show list of available modules {{git|aa501665}}
* Add a comment {{git|ce04d4c6}}
* Use llvm-cov in macos CI {{git|72d1544d}}
* Use llvm-cov in macos CI {{git|72d1544d}}
* Try to simplify building modules {{git|afe94158}}
* Try to simplify building modules {{git|afe94158}}

Revision as of 03:10, 8 February 2024

← 1.8.2 ZNC 1.9.0 git →



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

New

  • 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.
  • 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)

Fixes

  • Don't send invalid 333 (RPL_TOPICWHOTIME) to client if topic owner is unknown (#1889)
  • Fix build with SWIG 4.2.0

Modules

  • 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. (#1724)

Internal

  • Document more functions.

TODO: to triage