Dear all,

I'm very glad to finally announce the new release of GNU libmicrohttpd library version 0.9.77.

This is mostly a bugfix release.
This version created by taking patches from the current development branch and back-porting them on top of version 0.9.76. The most notable changes are: some improvements for Digest and Basic authorizations, fixed efficiency for TLS upgraded connections, fixed processing of folded headers in requests, fixed functionality with blocking sockets, improved and fixed internal test-suite.

The more detailed list of the important changes:

API changes:
+ Added new function MHD_get_version_bin().

Improvements and enhancements:
* Digest Auth: changed algorithm identifiers in server generated headers from "md5" / "sha-256" to "MD5" / "SHA-256" to better match RFC (while clients should use caseless matching). * Improved Base64 decoding by new implementation with robust input data validation checks. * Improved configure for cross-compiling, for better compatibility with POSIX and for better compatibility with the latest compiler versions.
* New internal tests: for Base64 decoding, Basic Auth and folded headers.
* Supported new libcurl API in tests to mute deprecation warnings.
* Supported ARM and ARM64 for VC compilers.

Functionality changes:
* any negative number returned by response data generation callback function is treated as an error. Previously negative values except predefined error codes could produce undefined behaviour.
* Added handling of "DEBUG" preprocessor macro as an alias of "_DEBUG".

Fixes:
# Fixed functionality with blocking sockets.
# Fixed very inefficient data pumping for upgraded TLS connections.
# Fixed processing of folded headers in the requests.
# Fixed data races when closing upgraded connection.
# Removed duplication of "Connection: upgrade" header.
# Digest auth: fixed thread sync to avoid "stale hash" results.
# Fixed harmless unwanted extra data processing resulting in triggering of the assert.
# Fixed tests for LTO.
# Removed removed non-portable functions in examples.
# Fixed delayed call of connection notification callback in thread-per-connection mode. # Fixed Address Sanitizer unpoison of memory when memory pool is destroyed. This fixed periodic ASAN error when used for a long time with the sanitizer. # Fixed compiler warnings in library code, examples, tests and configure checks.
# New TLS certificates for test-suite: all with SAN fields and SHA-256 hash.
# Tests: fixed tests on Darwin 22.x (Ventura).
# Tests: redesigned one tests group to avoid stress-testing of the OS.


You can download GNU libmicrohttpd from

* https://ftp.gnu.org/gnu/libmicrohttpd/ and all GNU FTP mirrors.
* Our git repository at https://git.gnunet.org/libmicrohttpd.git

Please report bugs to our bugtracker at
https://bugs.gnunet.org/set_project.php?project_id=10.

The documentation (including a reference manual and tutorial) can be
found at https://gnu.org/s/libmicrohttpd.

--
Best Wishes,
Evgeny

Attachment: OpenPGP_0x460A317C3326D2AE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to