CHANGELOG
v1.3.2
February 2021.
- Official release
v1.3.1-nordix
February 2021.
- Fix build problems with Mix and other non-Rebar tools
v1.3.0-nordix
December 2020 in the Nordix fork by Björn Svensson and Viktor Söderqvist.
- TLS support
- Correction regarding chunked error responses
- All socket errors, including send and setopts errors, trigger reconnect
- Explicitly close socket before reconnect, preventing dangling ports
- Terminate reconnect loop when client terminates (fixes wooga/eredis#124)
- Try all addresses from
inet:getaddrs/2
instead of just one when connecting - Stray messages don't crash the connection process
- Improved tests and coverage
- CI builds using Github Actions
- Elvis code style and Dialyzer corrections
v1.2.0
2018 in the original wooga/eredis
repo.
- Unix domain socket support (PR wooga/eredis#108 by Igor Slepchin)
- Reset parser state on disconnect (PR wooga/eredis#106 by Ivan Baidakou)
- Non-blocking init AKA async connect (PR wooga/eredis#105 by Valery Meleshkin)
- Some improved tests
v1.1.0
Merged a ton of of old and neglected pull requests. Thanks to patient contributors:
- Emil Falk
- Evgeny Khramtsov
- Kevin Wilson
- Luis Rascão
- Аверьянов Илья (savonarola on github)
- ololoru
- Giacomo Olgeni
Removed rebar binary, made everything a bit more rebar3 & mix friendly.
v1.0.8
- Fixed include directive to work with rebar 2.5.1. Thanks to Feng Hao for the patch.
v1.0.7
If an eredis_sub_client needs to reconnect to Redis, the controlling process is now notified with the message
{eredis_reconnect_attempt, Pid}
. If the reconnection attempt fails, the message is{eredis_reconnect_failed, Pid, Reason}
. Thanks to Piotr Nosek for the patch.No more deprecation warnings of the
queue
type on OTP 17. Thanks to Daniel Kempkens for the patch.Various spec fixes. Thanks to Hernan Rivas Acosta and Anton Kalyaev.
v1.0.6
- If the connection to Redis is lost, requests in progress will
receive
{error, tcp_closed}
instead of thegen_server:call
timing out. Thanks to Seth Falcon for the patch.
v1.0.5
- Added support for not selecting any specific database. Thanks to Mikl Kurkov for the patch.
v1.0.4
Added
eredis:q_noreply/2
which sends a fire-and-forget request to Redis. Thanks to Ransom Richardson for the patch.Various type annotation improvements, typo fixes and robustness improvements. Thanks to Michael Gregson, Matthew Conway and Ransom Richardson.
v1.0.3
- Fixed bug in eredis_sub where when the connection to Redis was lost, the socket would not be set into {active, once} on reconnect. Thanks to georgeye for the patch.
v1.0.2
- Fixed bug in eredis_sub where the socket was incorrectly set to
{active, once}
twice. At large volumes of messages, this resulted in too many messages from the socket and we would be unable to keep up. Thanks to pmembrey for reporting.
v1.0
Support added for pubsub thanks to Dave Peticolas (jdavisp3). Implemented in
eredis_sub
anderedis_sub_client
is a subscriber that will forward messages from Redis to an Erlang process with flow control. The user can configure to either drop messages or crash the driver if a certain queue size inside the driver is reached.Fixed error handling when eredis starts up and Redis is still loading the dataset into memory.
v0.7.0
- Support added for pipelining requests, which allows batching multiple requests in a single call to eredis. Thanks to Dave Peticolas (jdavisp3) for the implementation.
v0.6.0
- Support added for transactions, by Dave Peticolas (jdavisp3) who implemented parsing of nested multibulks.
v0.5.0
Configurable reconnect sleep time, by Valentino Volonghi (dialtone)
Support for using eredis as a poolboy worker, by Valentino Volonghi (dialtone)