[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libmicrohttpd] GNU libmicrohttpd 0.9.53 released
From: |
Evgeny Grin |
Subject: |
[libmicrohttpd] GNU libmicrohttpd 0.9.53 released |
Date: |
Wed, 12 Apr 2017 00:53:34 +0300 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
Dear all,
I'm glad to announce the release of GNU libmicrohttpd 0.9.53.
GNU libmicrohttpd is a small C library that is supposed to make it easy
to run an HTTP server as part of another application. GNU libmicrohttpd
is fully HTTP 1.1 compliant and supports IPv6. Finally, GNU
libmicrohttpd is fast, portable and has a simple API and (without TLS
support and other optional features) a small binary size (~32k).
This release include a large number of fixes and new features as well.
Most noticeable changes:
* HTTP "Upgrade" is deeply reworked and tested on all supported
platforms
* Added MHD_USE_AUTO and MHD_USE_AUTO_INTERNAL_THREAD flags for
automatic selection of polling function depending on platform
capabilities and requested mode - especially useful for multiplatform
application
* Renamed some of MHD flags, now they are self-explainable and more
obvious, like MHD_USE_INTERNAL_POLLING_THREAD instead of
MHD_USE_SELECT_INTERNALLY; old names are still supported
* Darwin, *BSD and Solaris support improved
Other changes:
* Added 'configure' parameter for building without "Upgrade" support
* Added support for suspending connection in thread-per-connection mode
* Added HTTP "Upgrade" simple example
* Added special handling of "fast" connections with small request
and response - they are fully processed in one turn
* Added detection and rejection of invalid combinations of daemon flags
* Added detection of invalid combination of daemon option with flags
* Added support of getting connection timeout value by
MHD_get_connection_info()
* Added ability to get actual daemon flags by MHD_get_daemon_info()
* Added usage of "calloc()" where supported
* Added support for more efficient setting of thread names on some
platforms (Solaris, NetBSD etc.)
* Added support for SO_EXCLBIND on Solaris
* Added usage of SO_REUSEADDR (in addition to SO_REUSEPORT) for
MHD_OPTION_LISTENING_ADDRESS_REUSE options
* Reworked handling connection in epoll mode so all active connections
are processed exactly one time per turn
* Changed monitoring for closure: now connection are read only when more
incoming data is required, all connection are monitored for OOB data
(which treated as error)
* except_fd_set now is not optional now for MHD_get_fdset(),
MHD_get_fdset2() and MHD_run_from_select()
* Improved connection processing in epoll mode: now connection can
process both read and write each turn
* Updated HTTP response codes to latest: now MHD return code
MHD_HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE (431) instead of old
MHD_HTTP_REQUEST_ENTITY_TOO_LARGE (413) for very long header.
* Updated and added all missing standard and additional HTTP methods
* Updated and added all missing standard HTTP headers names (and
headers categories)
* Added more tests to test-suite
* Added real run-test detection instead of guessing of triggering
select() by shutdown of listening socked
* Added support for chunk size > 16 MB (up to 2^64-1), ignored chunk
extensions instead of triggering an error
* Converted many run-time 'strlen()' to compile-time calculations
* Many data races fixes and other thread-safety improvements
* Some fixes in suspend-resume data races
* Eliminated calling application on suspended connection (which before
could happen under certain circumstances)
* Fixed unintentional usage of SO_REUSEADDR on W32
* Fixed MHD_OPTION_LISTENING_ADDRESS_REUSE on Linux kernels before 3.9
* Fixed sending responses backed by files not supported by sendfile()
* Fixed thread safety for responses backed by file FD
* Fixed handling of more than 128 ongoing connection and 128 incoming
connections in epoll mode
* Resolved busy-waiting under certain conditions in HTTPS mode
* Fixed wrong value returned by MHD_get_timeout()
* Fixed reset of timeout on resumed connections.
* Fixed never-expired timeouts on HTTPS connections.
* Fixed fail if connection suspended and resumed by application several
times without processing incoming data
* Many other fixes, improvements and optimisations.
You can download GNU libmicrohttpd from
* ftp://ftp.gnu.org/gnu/libmicrohttpd/ and all GNU FTP mirrors.
* Our git repository at https://gnunet.org/git/libmicrohttpd.git
Please report bugs to our bugtracker at https://gnunet.org/bugs/.
The documentation (including a reference manual and tutorial) can be
found at http://www.gnu.org/software/libmicrohttpd/.
--
Best Wishes,
Evgeny Grin
signature.asc
Description: OpenPGP digital signature
- [libmicrohttpd] GNU libmicrohttpd 0.9.53 released,
Evgeny Grin <=