cpp_redis v4.0.0 Release Notes

Release Date: 2017-09-25 // over 6 years ago
  • ๐Ÿท Tag

    4.0.0.

    Date

    September 20th, 2017

    ๐Ÿ”„ Changes

    • ZADD score param changed from map to multimap to allow multiple elements with same score
    • connection_callback (replacement of disconnection_callback). Called for any steps of connection process (attempt, success, failure, reconnection, drop, ...)

    โž• Additions

    • ๐Ÿ‘ Sentinel support
    • Automatic reconnection if requested
    • โฑ Connection timeout
    • ๐Ÿ‘ท Ability to set number of io workers if you are working with tacopie
    • redis_client renamed into client
    • redis_subscriber renamed into subscriber
    • commands that failed to be sent (client not connected or disconnected) get their callback called with an error reply connection failure. This ensure that now all callbacks are always called
    • if reconnection process is enabled and succeed, failed commands are resent
    • if you send command and commit while client is not connected, it will now dismiss the commands and call their callback with an error, or resend them if reconnection is enabled. This is a change compared to the existing behavior that simply kept the commands in the buffer.
    • ๐Ÿ“š doxygen documentation

    Removals

    • ๐Ÿ”€ future_client: all functions have been merge into the redis_client
    • disconnection_callback: it is now replaced by the connection callback

    ๐Ÿš€ This is a major release with lots of breaking changes.
    ๐Ÿ”ง It aims to enable high availability configuration as well as improved consistency with an enhanced design.

    โฌ†๏ธ If you are upgrading please consider the following breaking changes:

    • redis_client is now client and redis_subscriber is now subscriber
    • ๐Ÿ”€ future_client has been removed, but it is actually merged into client. Simply switch from future_client to client and you will have the same behavior
    • ๐Ÿšš disconnection_callback has been removed and replaced by a connection_callback. If you are looking for exact same behavior, you will have to check if the state param is equal to dropped.
    • commands callbacks are always called. In case of failure, an error reply is passed in.

    Any other changes should not be breaking changes but you might be interested into the added features.