Added:
- SSL: peer certificate and hostname validation can now be
controlled separately using amqp_ssl_socket_set_verify_peer and
amqp_ssl_socket_set_verify_hostname.
- SSL: the desire SSL version range can now be specified using the
amqp_ssl_socket_set_ssl_versions function.
- Add flags to SSL examples on controlling hostname verification.
Changed:
- SSL: SSLv2, and SSLv3 have been disabled by default.
- SSL: OpenSSL hostname validation has been improved.
- Win32 debug information is built with /Z7 on MSVC to embed debug
info instead of using a .pdb
Fixed:
- Connection failure results in hang on Win32
- Rabbitmq-c may block when attempting to close an SSL socket
- amqp_parse_url does not correctly initialize default parameters
- x509 objects are leaked in verify_hostname
- TCP_NOPUSH doesn't work under cygwin
Deprecated
- SSL: amqp_ssl_socket_set_verify is being replaced by
- amqp_ssl_socket_set_verify_peer and
- amqp_ssl_socket_set_verify_hostname.
Removed:
- OpenVMS build system and related files.
- Unmaintained PolarSSL, CyaSSL, and gnuTLS SSL backends
- Win32: Use WSAEWOULDBLOCK instead of EWOULDBLOCK on Win32 (win32
clients would fail to connect)
- Lib: if channel_max is 0 use server's channel_max
- Lib: fix build on OpenBSD
- Tools: Add support for heartbeats
- CI: Add continuous integration on Win32 using Appveyor
- Tests: only link against static libraries
- Lib: add support for EXTERNAL SASL method
- Lib: fix incorrect parameters to WSAPoll on Win32
- Lib: use non-blocking sockets internally
- Lib: simplify timer/timeout logic
- Lib: add support for heartbeat checks in blocking send calls
- Lib: Fix warnings on Win32
- Lib: Add support for RabbitMQ auth failure extension
- Lib: allow calling functions to override client-properties
- examples: replace usleep() with nanosleep()
- Lib: add AMQP_VERSION code
- Lib: fix res maybe returned uninitialized in amqp_merge_capbilities
- Lib: Fix SSL_connection status check
- Lib: Fix issues with c89 compatiblity
- Lib: perf improvements when sending small messages by hinting
to the OS message boundaries.
- Lib: add select()-based timeout implementation
- CI: add ubsan, asan, and tsan CI builds
Changes since v0.5.2:
- Tools: Enable support for SSL in tools.
- Lib: ABI CHANGE: enable support for auto_delete, internal flags
to amqp_exchange_declare
- Lib: check for double-close in SSL/TCP socket impl
- Lib: allocate struct when method has no field.
- Lib: add support for SANs in OpenSSL socket impl.
- Lib: add functions to get negotiated frame_max and heartbeat parms.
Changes in 0.5.2
fcdf0f8 Autoconf: check for htonll as declaration in a header file
5790ec7 SSL: correctly report hostname verification errors.
d60c28c Build: disable OpenSSL deprecation warnings on OSX
072191a Lib: include platform, version and copyright in AMQP handshake
8b448c6 Examples: print message body in amqp[s]_listen[q] examples
7188e5d Tools: Add flag to set prefetch for amqp-consume tool
Changes in 0.5.1
a566929 SSL: Add support for wildcards in hostname verification (Mike Steinert)
a78aa8a Lib: Use poll(2) instead of select(2) for timeouts on sockets.
357bdb3 Lib: support for specifying frame and decoding pool sizes. (Mike Stitt)
8956003 Lib: improve invalid frame detection code.
b852f84 Lib: Add missing amqp_get_server_properties() function.
7001e82 Lib: Add missing ssize_t on Win32 (emazv72)
c2ce2cb Lib: Correctly specify WINVER on Win32 when unspecified.
fe844e4 CMake: specify -DHAVE_CONFIG_H in examples.
932de5f Lib: correct time computation on Win32 (jestor)
3e83192 HPUX: use gethrtime on HP-UX for timers.
cb1b44e HPUX: correct include location of sys/uio.h
8ce585d Lib: incorrect OOM condition when 0-lenth exchange name is received.
c7716b8 CMake: correct htonll detection code on platforms defined with a macro.
4dc4eda Lib: remove unused assignment.
45302cf Lib: remove range-check of channel-ids.