Hi,
I've decided to start doing some of the cleanup changes that will break ABI and/or API (which has been stable since nettle-3.6, released 5 years ago). I think the more interesting planned changes are listed on https://git.lysator.liu.se/nettle/nettle/-/issues, and the most disruptive one is dropping the length argument for the various _digest functions (https://git.lysator.liu.se/nettle/nettle/-/issues/5). Changes will be released as nettle-4.0. Focus will be on changes affecting libnettle, to be able to get this done in a reasonable time, but it will nevertheless imply an soname bump also for libhogweed.
If needed, bug fixes will be back-ported to a compatible nettle-3 branch, for additional 3.10.x releases.
If you have opinions on what breaking changes should or shouldn't be done at this time, this is a good time to speak up. If that is helpful for applications to transition, I'm open to add some preprocessor defines or headers that can be used to get API (but not ABI) compatibility with nettle 3.
Regards, /Niels
Niels Möller nisse@lysator.liu.se writes:
I've decided to start doing some of the cleanup changes that will break ABI and/or API (which has been stable since nettle-3.6, released 5 years ago).
Related question, is this a good time to start requiring a C11 compiler? Would enable some improvements that affect the api or abi:
1. We could enforce 16-byte alignment for union nettle_block16. Could in theory give improved performance, in particular for SIMD assembly code that can then use instructions that require 16-byte alignment. But unclear to me if that would make any measurable difference.
2. We could change return type from int to bool (or _Bool) for functions returning a success/fail indication.
Regards, /Niels
Hi Niels, If you are going to break the ABI anyway, this sounds like an ideal time to also make those changes, better to have one big disruption than many consecutive ones.
On Wed, 2025-03-05 at 17:11 +0100, Niels Möller wrote:
Niels Möller nisse@lysator.liu.se writes:
I've decided to start doing some of the cleanup changes that will break ABI and/or API (which has been stable since nettle-3.6, released 5 years ago).
Related question, is this a good time to start requiring a C11 compiler? Would enable some improvements that affect the api or abi:
We could enforce 16-byte alignment for union nettle_block16. Could in theory give improved performance, in particular for SIMD assembly code that can then use instructions that require 16-byte alignment. But unclear to me if that would make any measurable difference.
We could change return type from int to bool (or _Bool) for functions returning a success/fail indication.
Regards, /Niels
-- Niels Möller. PGP key CB4962D070D77D7FCB8BA36271D8F1FF368C6677. Internet email is subject to wholesale government surveillance. _______________________________________________ nettle-bugs mailing list -- nettle-bugs@lists.lysator.liu.se To unsubscribe send an email to nettle-bugs-leave@lists.lysator.liu.se
nettle-bugs@lists.lysator.liu.se