jedisct1 / libsodium

A modern, portable, easy to use crypto library.
https://libsodium.org
Other
12.06k stars 1.72k forks source link

Why soname change from 23 to 26 #1317

Closed remicollet closed 9 months ago

remicollet commented 9 months ago

Version 1.0.18 have soname = 23.3 Version 1.0.19 have soname = 26.1

Why such a change ?

From API compatibility report https://rpms.remirepo.net/compat_reports/libsodium/1.0.18_to_1.0.19/compat_report.html

It looks like API/ABI is stable, only new symbols (the small "const" change shouldn't be an issue)

Context: in linux distribution, update to new major version (so when soname change) is discouraged as it implies to rebuild everything using the library.

E.G. this is suitable for Fedora 40 but won't happen in stable branch and EPEL (for RHEL/CentOS/Rocky/Alma...)

Thanks for explanation

jedisct1 commented 9 months ago

There's been breaking changes in the JavaScript and WebAssembly targets; symbols have been removed from the standard builds, and are only available in the sumo builds.

The fact that AES is supported on aarch64, and not supported any more without AVX may also change the cipher selection. Previously, when aesgcm_is_available() returned 0, applications typically used Salsa or ChaCha. After the update, the selection may change.