Releases: CopernicaMarketingSoftware/AMQP-CPP
Releases · CopernicaMarketingSoftware/AMQP-CPP
AMQP-CPP 4.1.7
- deferred-chain was kept in scope by a consumer-operation, this fixes #323
- fix bug in Channel destructor for objects that were already moved
- prevent crash when channelimpl unregistered from the connectionimpl, (hopefully) fixes #299 and fixes #326
- added Channel::ready() method
- The onFinalize() callback could be called more than once, which is not ok
- fix compiling on freebsd (fixes #300)
- the TcpConnection class no longer calls back to userspace / to the user-supplied handler if user-space explicitly destructs the object
AMQP-CPP 4.1.6
- Fixed issue where timeout triggered an invalid error
- Added channel callbacks checking
AMQP-CPP 4.1.5
- fixed access to free'd memory in case of errors
- fixed issue where timer could set negative value in repeat if heavily delayed
- linux_tcp/poll: fixed undefined behavior in select
- fixed for incorrect handling of synchronous flag
- fixed access to free'd memory in case of errors
- now we always flush when a success is reported, and the funcction is renamed to flush
AMQP-CPP 4.1.4
- fixed dealing with timers in libev handler
AMQP-CPP 4.1.3
- when heartbeats were disabled, the event loop refcount would not be restored correctly after the timer expired. This has been fixed
AMQP-CPP 4.1.2
- Give the server more time to send a heartbeat to make sure one missed heartbeat does not close the connection
AMQP-CPP 4.1.1
- Don't buffer SSL unless necessary
- ev_timer_again should be called after next has been set to a new value
AMQP-CPP 4.1.0
- When user calls connection.heartbeat() we now always send out the heartbeat (AMQP-CPP no longer tries to be smart about skipping heartbeats, because that could lead to timeouts if the user is a little late with its call, or when there is network congestion)
- CMakeLists.txt: add_source_directory instead of add_subdirectory
- Fixed issue when end-of-file was encountered, this fixes #266
*handle case when tcp connection is lost during reading, that should report an error back to user-space too (fixes #266) - Fix compiling under FreeBSD.
- Implemented custom heartbeats in Livev
- Use std::list instead of std::vector
- Fix timer that expired too early (fix #272)
- fixed libev handler: the heartbeat interval proposed by the server was not accepted
AMQP-CPP 4.0.1
- libevhandler only checks for heartbeats if not overridden by user
- Connection::fail() will now also call the channel::onError method
- The Channel constructor now throws an exception if the max number of channels has been reached
- added Channel implementation file (fixes #267)
AMQP-CPP 4.0.0
Breaking changes:
AMQP-CPP 4.0.0 is not always compatible with previous versions. Especially some virtual methods in the ConnectionHandler and TcpHandler classes have been renamed or are called during a different stage in the connection lifetime. Check out the README file and the comments inside the connectionhandler.h and tcphandler.h files to find out if your application has to be changed. You should especially check the following:
ConnectionHandler::onConnected has been renamed to ConnectionHandler::onReady
TcpHandler::onConnected is now called sooner: when the TCP connection is established, instead of when the AMQP connection is ready for instructions.
The new method TcpHandler::onReady is called when the AMQP connection is ready to be used (this is the old behavior of TcpHandler::onConnected)
TcpHandler::onError is no longer the last method that is called (TcpHandler::onLost could be called and TcpHandler::onDetached will be called after the error too)
TcpHandler::onClosed is now called to indicate the graceful end of the AMQP protocol, and not the end of TCP connection.
TcpHandler::onLost is called when the TCP connection is lost or closed.
The new method TcpHandler::onDetached is a better alternative for cleanup code instead of TcpHandler::onClosed and/or TcpHandler::onError.
Changelog:
- CMake tweaks to use library as a git submodule
- fixed some typos
- fix msvc compiler warnings
- fixed MinGW compilation on Windows
- added ConnectionHandler::onAttached() and ConnectionHandler::onDetached() methods
- added onAttached() and onDetached() to the TcpHandler interface
- the TcpConnection::close() method now supports an "immediate" parameter to skip the official amqp handshake for closing down
- fixed typo and possible (but unlikely) crash in the tcp-resolver
- refactored tcp handling, to solve various issues, like the one that lost connections do not trigger operations to fail
- the state::abort() method is no longer needed
- simplified the tcp and ssl states
- add support for ConnectionHandler::onAttached() and ConnectionHandler::onDetached()
- improved the tcp handler, added more methods to monitor whether a connection is connected, logged on and in an error state
- fixed assigning the new state
- removed unneeded comment
- removed support for TcpConnection::flush() and removed internal TcpShutdown state
- simplified and improved the close procedure
- fixed compiler warning
- added ConnectionHandler::onProperties and TcpConnectionHandler::onProperties
- handle unlikely error when ssl-handshake could not be started
- renamed ConnectionHandler::onConnected() to ConnectionHandler::onReady()
- renamed onClosed to onLost to prevent confusion between TcpHandler::onClosed() and ConnectionHandler::onClosed()
- update readme
- added upgrade instructions
- improved heartbeats documentation
- disable timer in libboostasio because it cannot handle multiple connections, fixes #251
- fixed the libev handler to be compatible with amqp-cpp 4.0, and we now also close the connection if the server stops sending heartbeats
- fixed libev compiler errors
- when tcp connection is lost, the pending operations are now reported with an error
- fixed a couple of todos, make sure that onError() is always called
- added connection::usable()
- added channel::usable() to replace channel::connected()
- added TcpConnection::closed()