You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 KiB
11 KiB
Change Log
v0.9.0 - 2018-05-08
Added:
- amqp-publish: added support for specifying headers via the -H flag
- Add support for specifying timeout for amqp_login calls via amqp_set_handshake_timeout
- Add support for specifying timeouts in RPC-style AMQP methods via amqp_set_rpc_timeout
- Add define for
AMQP_DEFAULT_VHOST - Support for SSL SNI
- Support for OpenSSL v1.1.0
Changed:
- rabbitmq-c now requires Windows Vista or better
- rabbitmq-c enables TCP keep-alive by default on platforms that support it
- dropped support for compiling rabbitmq-c without threading support
- OpenSSL is no longer un-intialized automatically by default. OpenSSL can be explicitly initialized by calling amqp_initialize_ssl_library and uninitialized by calling amqp_uninitialize_ssl_library.
Fixed:
- Correct bugs in processing of --url flag in tools (#364).
- Improve documentation on AMQP_SASL_METHOD_EXTERNAL (#349)
- Improve support for compiling under mingw-w64
- Better support for handing SIGPIPE on Linux over SSL (#401)
- Improve publish performance on Linux by not specifying MSG_MORE on last part of message.
- Fix connection logic where multiple hostnames won't be tried if connection to doesn't fail immediately (#430)
Removed:
- autotools build system has been removed
- many duplicate amqps_* examples, they did not add a lot of value
v0.8.0 - 2016-04-09
Added:
- SSL: peer certificate and hostname validation can now be controlled separately
using
amqp_ssl_socket_set_verify_peerandamqp_ssl_socket_set_verify_hostname. - SSL: the desire SSL version range can now be specified using the
amqp_ssl_socket_set_ssl_versionsfunction. - 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 (#297, #346)
- Rabbitmq-c may block when attempting to close an SSL socket (#313)
- amqp_parse_url does not correctly initialize default parameters (#319)
- x509 objects are leaked in verify_hostname (#323)
- TCP_NOPUSH doesn't work under cygwin (#335)
Deprecated
- SSL:
amqp_ssl_socket_set_verifyis being replaced byamqp_ssl_socket_set_verify_peerandamqp_ssl_socket_set_verify_hostname.
Removed:
- OpenVMS build system and related files.
- Unmaintained PolarSSL, CyaSSL, and gnuTLS SSL backends
Changes since v0.7.0 (a.k.a., v0.7.1)
41fa9dfAutoconf: add missing files in build systemef73c06Win32: Use WSAEWOULDBLOCK instead of EWOULDBLOCK on Win32ceca348CI: use travis-ci container based builds393e2dfLib: if channel_max is 0 use server's channel_maxff47574Lib: fix build on OpenBSD8429496...0ac6430CI: enable CI on Mac OS X in travis-ci
Changes since v0.6.0 (a.k.a., v0.7.0)
3379812Tools: Add support for heartbeatsd7029dbCI: Add continuous integration on Win32 using Appveyora5f7ffbTests: only link against static librariesa16ad45...9cf7a3bLib: add support for EXTERNAL SASL method038a9edLib: fix incorrect parameters to WSAPoll on Win32a240c69...14ae307Lib: use non-blocking sockets internally8d1d5cc,5498dc6Lib: simplify timer/timeout logic61fc4e1Lib: add support for heartbeat checks in blocking send callsf462c0f...3546a70Lib: Fix warnings on Win32ba9d8ba...112a54dLib: Add support for RabbitMQ auth failure extensionfb8e318Lib: allow calling functions to override client-properties3ef3f5fexamples: replace usleep() with nanosleep()9027a94Lib: add AMQP_VERSION code9ee1718Lib: fix res maybe returned uninitialized in amqp_merge_capbilities22a36dbLib: Fix SSL_connection status checkabbefd4Lib: Fix issues with c89 compatiblity2bc1f9b...816cbfcLib: perf improvements when sending small messages by hinting to the OS message boundaries.be2e6dd...784a0e9Lib: add select()-based timeout implementation91db548...8d77b4cCI: add ubsan, asan, and tsan CI builds
Changes since v0.5.2 (a.k.a., v0.6.0)
e1746f9Tools: Enable support for SSL in tools.9626dd5Lib: ABI CHANGE: enable support for auto_delete, internal flags to amqp_exchange_declareee54e27,656f833Lib: check for double-close in SSL/TCP socket implcf2760dLib: allocate struct when method has no field.513ad4aLib: add support for SANs in OpenSSL socket impl.5348c69Lib: add functions to get negotiated frame_max and heartbeat parms.
Changes since v0.5.1 (a.k.a., v0.5.2)
fcdf0f8Autoconf: check for htonll as declaration in a header file5790ec7SSL: correctly report hostname verification errors.d60c28cBuild: disable OpenSSL deprecation warnings on OSX072191aLib: include platform, version and copyright in AMQP handshake8b448c6Examples: print message body in amqp[s]_listen[q] examples7188e5dTools: Add flag to set prefetch for amqp-consume tool
Changes since v0.5.0 (a.k.a., v0.5.1)
Enhancements:
a566929SSL: Add support for wildcards in hostname verification (Mike Steinert)a78aa8aLib: Use poll(2) instead of select(2) for timeouts on sockets.357bdb3Lib: support for specifying frame and decoding pool sizes. (Mike Stitt)8956003Lib: improve invalid frame detection code.
Bug fixes:
b852f84Lib: Add missing amqp_get_server_properties() function.7001e82Lib: Add missing ssize_t on Win32 (emazv72)c2ce2cbLib: Correctly specify WINVER on Win32 when unspecified.fe844e4CMake: specify -DHAVE_CONFIG_H in examples.932de5fLib: correct time computation on Win32 (jestor)3e83192HPUX: use gethrtime on HP-UX for timers.cb1b44eHPUX: correct include location of sys/uio.h8ce585dLib: incorrect OOM condition when 0-lenth exchange name is received.c7716b8CMake: correct htonll detection code on platforms defined with a macro.4dc4edaLib: remove unused assignment.45302cfLib: remove range-check of channel-ids.
Changes since v0.4.1 (a.k.a., v0.5.0):
Major changes:
- Add amqp_get_broker_properties() function 5c7c40adc1
- Remove distro-specific packaging a5749657ee
- Add -x flag to amqp-consume utilty 1d9c5291ff
- Add amqp_basic_nack() public API 9b168776fb
- Add delivery mode constants to amqp.h 5f291ea772
- Add support for connection.blocked/connection.unblocked methods ccbc24d270
Bug fixes:
f8c6cee749Examples: Destroy amqp_envelope_t in consumer exampleac88db56d3CMake: fix generation of librabbitmq.pcd5b35afa40CMake: fix missing POPT_INCLUDE_DIRS variable in tools/5ea6a0945abuild: provide independent locations for x64 libsfac34656c0Doc: documentation fixes715901d675Lib: Correct OpenSSL initialization under threaded conditionsce64e57df8Examples: Handle unexpected frames in amqp_consumer.cbcda3e933dCMake: Use GnuInstallDirs to generate install dirs27245a4e15Lib: correctly handle amqp_get_monotonic_timestamp on win32693662ef5bTools: honor --persistent flag in publish utility01d9c3ca60Doc: improve documentation in amqp_ssl_socket functions02d5c58ae4autoconf: correct librabbitmq.pc generation1f4e0cc48bDoc: improve documentation in amqp_tcp_socket functions
Changes since v0.4.0:
Major changes:
- Removed distro-specific packaging d285d01
Bug fixes:
a642602FIX: destroy amqp_envelop_t object in consumer example860dd71FIX: correct generation of librabbitmq.pc under CMakebdda7abFIX: amqp_socket_close() should not be exported from shlib24f4131FIX: Use correct buf/len vars when re-starting send()
Changes since v0.3.0:
New Features/Enhancements:
amqp_login_with_properties()function to connect to a broker sending a properties table to the broker 21b124e #101- SSL support (Mike Steinert) 473c865 #17
amqp_simple_wait_frame_noblock()function variant to wait for a frame with a timeout f8cfc72 #119- Allow memory to be released on a per-channel basis with
amqp_maybe_release_buffers_on_channel()4a2d899 #5 - Support for AMQP heartbeats while blocking in
amqp_simple_wait_frame*()andamqp_basic_publish()daa0e66 aca5dc1 amqp_socket_open_noblock()for a non-blocking socket connection (Bogdan Padalko) 6ad770damqp_table_clone()to do a deep-copy of an amqp_table_t 08af83a- Add option to listen to multiple keys in
amqp_consumetool (Brian Hammond) e6c256d - Add contributed OpenVMS build system 448ab68
- Higher level APIs for consuming messages 33ebeed #8
- Doxygen-based API documentation.
- Many improvements to error-handling and reporting
Bug Fixes:
24ffaf8FIX: autotools was broken when dependency-tracking was disabled38e741bFIX: CMake XmlTo not found warning906f04fFIX: htonll redeclared on Win32 v88e41603FIX: SIGPIPE not disabled on OS X/BSD #102872ea49FIX: Header issues with amqp.h on Mingw on Win32 (yoniyoni)0f1f75bFIX: potential memory leak in amqp_new_connectionc9f6312FIX: missing va_end inamqp_login()/amqp_login_with_properties()7bb64e4FIX: include amqp_tcp_socket.h in dpkg (Tim Stewart)ba9d1f5FIX: Report out of buffer space inamqp_table_encode()9496e10FIX: Removeabort()on invalid parameter inamqp_send_frame()f209420FIX: Remoteabort()inamqp_simple_wait_method()f027518FIX: Return error on socket lib init error0ae534aFIX: Correctly handle 0 return val fromSSL_read()/SSL_write()22e41b8FIX: Improve error handling in socket functions33c2353FIX: Set state->socket to NULL afteramqp_socket_close()c83e728FIX: Incorrect error code returned1a19879FIX: redecl of int i inamqp_tcp_socket_writev()7477449FIX: incorrect bit-shift inamqp_error_string2()2e37bb3FIX: correctly handleamqp_get_sockfd()inamqp_simple_wait_frame()52a459bFIX: Don't delete state inamqp_tune_connection()on error01e38ddFIX: Correctly handlemach_timebase_info()failure34bffb7FIX: Correctly disableSIGPIPEon platforms withSO_NOSIGPIPE3866433FIX: Use correct number of bits in timer precision on MacOSXb6a1dfeFIX: Squash OpenSSL deprecated warnings on MacOSX (Bogdan Padalko)7a217d5FIX: Incorrectassert()inwait_frame_inner()7942af3FIX: Correctly handle 0-length table inamqp_table_clone()157788eFIX: Correctly handle 0-length strings inamqp_basic_properties_clone()4eaf771FIX: Correctly handle 0-length message body inamqp_read_message()59f943bFIX: Double-free SSL on connection failure7a451a4FIX:amqp_open_socket()not defined