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


== Fixes ==
== Fixes ==
Line 37: Line 38:
* Added CIFuzz {{GH|1845}}
* Added CIFuzz {{GH|1845}}
* Added CodeQL {{GH|1846}}
* Added CodeQL {{GH|1846}}
* Generate list of translators automatically from Crowdin


== TODO: to triage ==
== TODO: to triage ==
Line 105: Line 107:
* Add test for account-tag capability {{git|cf547264}}
* Add test for account-tag capability {{git|cf547264}}
* Cleanup capabilities from m_ssAcceptedCaps in CClient::ClearServerDependentCaps after CAP DEL {{git|f5c3ea40}}
* Cleanup capabilities from m_ssAcceptedCaps in CClient::ClearServerDependentCaps after CAP DEL {{git|f5c3ea40}}
* Add support for cap account-tag {{git|c79961c5}}
* modperl: allow overriding timer label {{git|1c9cb3f8}}
* modperl: allow overriding timer label {{git|1c9cb3f8}}
* CI: Try to fix coverity setup {{git|c04544c1}}
* Remove merge conflicts from .po files {{git|fd24fa67}}
* Remove merge conflicts from .po files {{git|fd24fa67}}
* Web: remove legacy xhtml syntax (#1723) {{git|17ec6095}}
* Web: remove legacy xhtml syntax (#1723) {{git|17ec6095}}
* CI: the file now exists {{git|2b8f0dd3}}
* Fix the new CI script {{git|ff064e3a}}
* CI: try to show who helped to translate ZNC {{git|0f413ea3}}
* Update README about new python {{git|9ea9d308}}
* Fix PY_SSIZE_T_CLEAN python warning {{git|e8ff1612}}
* Fix PY_SSIZE_T_CLEAN python warning {{git|e8ff1612}}
* Appveyor: avoid the symlink {{git|9a909b86}}
* Looks like appveyor cygwin doesn't like such symlinks. Make it explicitly relative {{git|3bd7c899}}
* Update comment {{git|87ed28f7}}

Revision as of 22:05, 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)
  • Add support for cap account-tag (#1746)

Fixes

  • Don't send invalid 333 (RPL_TOPICWHOTIME) to client if topic owner is unknown (#1889)
  • Fix build with SWIG 4.2.0
  • Fix handling of timezones when parsing server-time tags received from server (#1857) (#1773)

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)

Notes for package maintainers (TODO)

  • cctz
  • cmake
  • libargon2
  • python

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

TODO: to triage