tests/standalone.sh
in tarball.Bump libtool version numbers to reflect API/ABI addition.
Include tests/standalone.sh
in tarball.
Declaration of future API/ABI backwards compatibility stability.
GNU libc dlopen
libidn2 and use the name libidn2.so.0
for this. Upstream believes that it will be too challenging to ever do hard ABI break that for normal libraries is justified to remove deprecated APIs. Thus upstream decided that they will support the current ABI for a long time. Of course, if really convincing arguments for doing a ABI break appears in the future upstream may re-consider, but take this as a declaration of intent of will and that future ABI breaks should be discussed and co-ordinated with the glibc team first.
Add public APIs for raw Punycode encoding/decoding.
Normal applications rarely need this, but it cleans up the code and allow for external testing of the APIs, and resolve https://gitlab.com/libidn/libidn2/-/issues/80 due to earlier use of weak symbols for internal symbols _idn2_punycode_encode
and _idn2_punycode_decode
. Upstream will support these internal symbols for backwards compatibility. This allows a clean migration path for code that is still using the internal names.
Bump required gettext version to 0.19.8 for musl-libc.
Un-deprecate idn2_to_ascii_4i
and make it NUL
terminate output.
The API idn2_to_ascii_4i
was deprecated in version 2.1.1 released in 2019-02-08. In that release, the API was also modified to not NUL
-terminate the output. That is contrary to the old libidn2 behaviour, the behaviour of libidn's API idna_to_ascii_4i
, and the API documentation for the function. Since upstream is not likely to ever break backwards API/ABI compatibility in libidn2, and the deprecated gaurds leads to some trouble (see report in https://gitlab.com/libidn/libidn2/-/merge_requests/93 upstream decided to un-deprecate this function, as supporting it is not costly and the majority of code that cares about conformance has likely been modified. This will fix the error code and NUL
termination report in https://gitlab.com/libidn/libidn2/-/issues/100. Upstream still encourage you to use the replacement API/ABI idn2_to_ascii_4i2 instead, when appropriate.
Compiler warning improvements.
As before, compiler warnings are enabled by default. You may disable them using ./configure --disable-gcc-warnings
or turn them into fatal errors using ./configure --enable-gcc-warnings=error
to add -Werror
and sensible -Wno-error='s
. Based on gnulib's manywarnings, see https://www.gnu.org/software/gnulib//manual/html_node/manywarnings.html.
tests: Added script tests/standalone.sh
suitable for integrators.
The main purpose is to test a system-installed libidn2 library and idn2
tool, suitable for distributor checking (a'la Debian's autopkgtest/debci). It may also be used to test a newly built libidn2 outside the usual make check
infrastructure. To check that your system libidn2 library and idn2
tool is working, invoke the script with srcdir
as an environment variable indicating where it can be find the source code for libidn2's tests/
directory (it will use the directory name where the script is by default): tests/standalone.sh
If your system libidn2 is too old to pass certain tests, disable them using STANDALONE_DISABLE
like this: STANDALONE_DISABLE='*punycode*' tests/standalone.sh
See the script for more parameters. If the libidn2 under testing is too old and has known bugs, that should cause tests to fail, which is intentional.
Various minor build fixes and translation updates.
API and ABI is backwards compatible with the previous version.
idn2_punycode_decode
: Add.
idn2_punycode_encode
: Add.
Please login to add feedback.
This update has been submitted for testing by robert.
This update's test gating status has been changed to 'ignored'.
robert edited this update.
This update has been pushed to testing.
works!
This update has been submitted for stable by bodhi.
This update has been pushed to stable.