-*- coding: utf-8 -*- Changes for APR 2.0.0 *) New APR_THREAD_LOCAL and apr_thread_current*() API. [Yann Ylavic] *) apr_crypto_openssl: Compatibility with OpenSSL 3. [Yann Ylavic] *) apr-1-config: Fix crosscompiling detection in apr-1-config. PR 66510 [Ruediger Pluem] *) configure: Add --enable-sysv-shm to use SysV shared memory (shmget) if available. [Ruediger Pluem] *) configure: Prefer posix name-based shared memory over SysV IPC. [Jim Jagielski] *) configure: Add --disable-sctp argument to forcibly disable SCTP support, or --enable-sctp which fails if SCTP support is not detected. [Lubos Uhliarik , Joe Orton] *) apr_dbm: Add dedicated apr_dbm_get_driver() function that returns details of the driver selected and any error encountered. Add the apr_dbm_open2() function that references the driver. [Graham Leggett] *) apr_mmap_t members pstart, psize and poffset are used internally only on Windows, remove them. [Yann Yalvic] *) Align apr_mmap()ing offset to a page boundary. [Yann Ylavic] *) APR's configure script uses AC_TRY_RUN to detect whether the return type of strerror_r is int. When cross-compiling this defaults to no. This commit adds an AC_CACHE_CHECK so users who cross-compile APR may influence the outcome with a configure variable. [Sebastian Kemper ] *) Add a cache check with which users who cross-compile APR can influence the outcome of the /dev/zero test by setting the variable ac_cv_mmap__dev_zero=yes [Sebastian Kemper ] *) apr_crypto_commoncrypto: Remove stray reference to -lcrypto that prevented commoncrypto being enabled. [Graham Leggett] *) Add --tag=CC to libtool invocations. PR 62640. [Michael Osipov] *) apr_thread_exit() is now a void function. [Joe Orton] *) apr_crypto_openssl: Remove unused link to the ssl library. [Graham Leggett] *) apu_dso_init: Fix pool lifetime and introduce a reference count. apu_dso_init() can now be called more than once (from multiple modules) and from unrelated pools (usually seen in unit tests). [Graham Leggett] *) apr_crypto_openssl: use OPENSSL_init_crypto() to initialise OpenSSL on versions 1.1+. [Graham Leggett] *) Fixed: apr_get_oslevel() was returning APR_WIN_XP on Windows 10 *) Windows platform: Use the native XML parser implementation (XmlLite) by default instead of libxml2 and expat. [Ivan Zhakov] *) Fix handle leak in the Win32 apr_uid_current implementation. PR 61165. [Ivan Zhakov] *) apr_rwlock_t: Use native Slim Reader/Writer (SRW) locks on Windows. PR 51360. [Ivan Zhakov] *) Fix possible race condition in the Win32 apr_rwlock_t implementation. PR 45455. [Ivan Zhakov] *) apr_thread_once: Fix problem that apr_thread_once can return before the other thread completes initialization on Windows. *) Windows platform: Remove support for Windows 2000, XP, Vista. The minimum supported OS versions are now Windows 7 / Windows Server 2008 R2. *) apr_file_info: [Win32 only] Treat only "name surrogate" reparse points as symlinks, and not other reparse tag types. PR47630 [Oleg Liatte ] *) Test %ld vs. %lld to avoid compiler emits using APR_OFF_T_FMT, in the case of apparently equivilant long and long long types. [William Rowe] *) Recognize APPLE predefined macros as equivilant to DARWIN. [Jim Jagielski] *) Signals: Allow handling of SIGUSR2 in apr_signal_thread. [Yann Ylavic] *) Atomics: Support for 64bit ints. [Jim Jagielski] *) apr_jose: Add support for encoding and decoding of JSON Object Signing and Encryption messages as per RFC7515, RFC7516, RFC7517 and RFC7519. [Graham Leggett] *) Add apr_errprintf() as a convenience function to create and populate apu_err_t. [Graham Leggett] *) apr_crypto: Add support for digest functions, with hashing, signing and verifying. [Graham Leggett] *) apr_json: Add support for encoding and decoding RFC8259 JSON. [Moriyoshi Koizumi ] *) Add the apr_encode_* API that implements RFC4648 and RFC7515 compliant BASE64, BASE64URL, BASE32, BASE32HEX and BASE16 encode/decode functions. [Graham Leggett] *) Add apr_reslist_acquire_ex() which allows to control acquire order, that is LIFO (default) or FIFO. [Yann Ylavic] *) apr_file_read: Optimize large reads from buffered files on Windows. [Evgeny Kotkov] *) Add apr_pool_tag_get to retrieve the pool tag name. [Joe Orton] *) Add apr_sockaddr_zone_set, apr_sockaddr_zone_set to set and retrieve the zone for link-local IPv6 addresses. [Joe Orton] *) apr_sockaddr_equal: Compare link-local IPv6 addresses with different zones as not equal. [Joe Orton] *) apr_sockaddr_ip_getbuf, apr_sockaddr_ip_get: Append "%zone" for IPv6 link-local addresses. [Joe Orton] *) Fix a deadlock when writing to locked files opened with APR_FOPEN_APPEND on Windows. PR 50058. [Evgeny Kotkov ] *) apr_file_write: Optimize large writes to buffered files on Windows. [Evgeny Kotkov ] *) apr_file_trunc: Truncating a buffered file could add unexpected data after the truncate position. PR 51017. [Evgeny Kotkov ] *) apr_file_trunc: Fix an issue where reading from a buffered file after truncate could return stale data from the buffer. [Evgeny Kotkov ] *) apr_allocator, apr_pools: Add apr_allocator_page_size() and apr_allocator_min_order_set() to respectively get the (system's) page size in use and set the minimum allocation size for an allocator (expressed in 2^order pages). [Yann Ylavic] *) apr_file_gets: Optimize for buffered files on Windows. [Evgeny Kotkov ] *) apr_crypto: avoid excessive iteration in bcrypt hash. [Hanno Böck ] *) apr_siphash: Implement keyed hash function SipHash. [Yann Ylavic] *) apr_atomic: change the API of apr_atomic_casptr() apr_atomic_xchgptr() functions to take a volatile pointer to void instead of pointer to volatile void. [Yann Ylavic] *) apr_crypto: Add apr_crypto_key() function which supports keys generated from a passphrase or a raw secret provided by the caller. Deprecate apr_crypto_passphrase(). [Graham Leggett] *) apr_crypto_nss: Ensure the SECItem returned by PK11_ParamFromIV is properly freed. [Graham Leggett] *) apr_crypto: Don't cache the driver if initialisation fails. This stops the second and subsequent attempt to use the API from failing claiming the library is not initialised. [Graham Leggett] *) apr_xml_to_text: Add style APR_XML_X2T_PARSED to maintain a consistent namespace prefix. [Jari Urpalainen ] *) apr_os_proc_mutex-unix: For consistency with other OS native to APR types constructors/_put()ers and non-unix mutex mechanisms, always destroy the underlying native mutex when apr_proc_mutex_destroy() is called explicitly. [Yann Ylavic] *) apr_os_proc_mutex_put_ex: Allow to specify whether the OS native mutex should or not be cleaned up (destroyed) with the constructed APR mutex (given pool), and default to not for the simple _put() function. [Yann Ylavic] *) apr_file_io: Add apr_file_pipe_create_pools() allowing a pair of pipes to be created, each in a different pool. [Graham Leggett] *) apr_table_overlap: Add APR_OVERLAP_TABLES_ADD to merge and set when overlapping tables. [Graham Leggett] *) apr_filepath_merge: Fix truename length calculation on Windows in cases where the "short" name variant is actually longer than the "long" or "true" name. See: testnames.c:merge_shortname(). [Bert Huijben ] *) apr_file_mktemp: Use mkostemp() where available to save on system calls. [Joe Orton] *) apr_pools: Fix pool debugging output so that creation events are always emitted before allocation events and subpool destruction events are emitted on pool clear/destroy for proper accounting. [Brane Čibej] *) apr_atomic: Fix errors when building on Visual Studio 2013 while maintaining the ability to build on Visual Studio 6 with Windows Server 2003 R2 SDK. PR 57191. [Gregg Smith] *) build: Correctly use AC_(PATH|CHECK)_TOOL to support cross compilation. PR: 56866. [Timothy Gu ] *) apr_queue: Add apr_queue_timedpush() and apr_queue_timedpop() to support timedout operations. PR 56951. [Anthony Minessale , Travis Cross , Yann Ylavic]. *) apr_allocator: Be less wasteful and don't return a memnode that is much larger than what was requested. [Stefan Fuhrmann ] *) Windows platform: Remove support for Windows 9x. *) Added signed apr_intptr_t. Changed ODBC dbd driver to use this. [Tom Donovan] *) Changes to apr_pollset_method_e enum value of APR_POLLSET_POLL and APR_POLLSET_AIO_MSGQ. Restore APR_POLLSET_POLL to its pre-r1308910 (April 2012) value, and move APR_POLLSET_AIO_MSGQ ahead. This restores ABI compat with released branches. [Eric Covener] *) Add apr_pbase64_encode() and apr_pbase64_decode() to encode to/from the pool. [Graham Leggett] *) Mark apr_dbd_freetds as unsupported, and remove it from all builds [Nick Kew] *) Fix pool integrity checks with threads. Add new apr_pool_owner_set() function. PR 43375, 52785. [Stefan Fritsch] *) Add support code to teach valgrind about APR pools, allocators, and bucket allocators. [Stefan Fritsch] *) apr_socket_accept_filter(): The 2nd and 3rd arguments are now const char * instead of char *. [Jeff Trawick] *) apr_brigades: add a check to prevent infinite while loop in case of a corrupted brigade. Problem evidenced in PR 51062. Analysis by Krzysztof Kostałkowicz , patch [Nick Kew]. *) Support libxml2 as an alternative XML parser to expat [Nick Kew] *) Hide apr_wait_for_io_or_timeout() from public view and add instead apr_socket_wait() and apr_file_pipe_wait(). [Brian Havard] *) Support connecttimeout, readtimeout and writetimeout MySQL options PR 48251 [Marko Kevac ] *) Transfer the apr-util spec file contents to apr.spec. [Graham Leggett] *) Added Unix domain socket support. [Mladen Turk] *) Merge APR-util into APR. [various] *) apr_socket_listen: Allow larger listen backlog values on Windows 8+. [Evgeny Kotkov ] *) Remove the APR_SENDFILE_DISCONNECT_SOCKET flag. [Ivan Zhakov] *) apr_atomic_read64(): Fix non-atomic read on 32-bit Windows [Ivan Zhakov] *) apr_proc_create(): Properly escape arguments containing whitespace characters on Windows [Ivan Zhakov] *) Fix attempt to free invalid memory on exit when apr_app is used on Windows. [Ivan Zhakov] *) Fix double free on exit when apr_app is used on Windows. [Ivan Zhakov] *) apr_thread_create: Fix potential race condition on Windows. [Ivan Zhakov] *) apr_proc_create(): Fix incorrect error handling when pipes are redirected on Windows [Ivan Zhakov] *) apr_proc_create(): Fix potential handle leak when apr_proc_create() is used from multiple threads on Windows [Ivan Zhakov] Changes for APR and APR-util 1.7.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.7.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.7.x/CHANGES?view=markup Changes for APR and APR-util 1.6.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.6.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.6.x/CHANGES?view=markup Changes for APR and APR-util 1.5.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.5.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.5.x/CHANGES?view=markup Changes for APR and APR-util 1.4.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.4.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.4.x/CHANGES?view=markup Changes for APR and APR-util 1.3.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.3.x/CHANGES?view=markup Changes for APR and APR-util 1.2.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.2.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.2.x/CHANGES?view=markup Changes for APR and APR-util 1.1.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.1.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.1.x/CHANGES?view=markup Changes for APR and APR-util 1.0.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.0.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.0.x/CHANGES?view=markup Changes for APR and APR-util 0.9.x and later/earlier: *) http://svn.apache.org/viewvc/apr/apr/branches/0.9.x/CHANGES?view=markup *) http://svn.apache.org/viewvc/apr/apr-util/branches/0.9.x/CHANGES?view=markup