Skip to content

Releases: redis/rueidis

1.0.52

25 Dec 11:53
e8f79a4
Compare
Choose a tag to compare

Changes

  • feat: add ModuleLoadex, SlaveOf, ClusterMyShardID to rueidiscompat (#708)
  • feat: add BitFieldRO, HScanNoValues, and ClientInfo to rueidiscompat (#707)
  • feat: add CacheMarshal and CacheUnmarshalView for third party cache libraries (#693)
  • feat: add ReplicaSelector for selecting which replica to send commands (#692)
  • feat: retry DoCache and DoMultiCache on MOVED / ASK redirections (#701) (#704)
  • feat: retry single slot DoMulti on MOVED / ASK redirections (#697) (#709)
  • perf: reduce goroutines used by DoMulti and DoMultiCache in a cluster client (#699)
  • fix: hide InitAddress from client.Nodes() if they doesn't show up in the cluster topology (#687)
  • fix: immature recycling of the intermediate structs when doing cluster DoMulti on network errors (#706)
  • fix: panic on cluster redirection to a node with a stale role (#695)
  • fix: protocol out of sync when mixing sunsubscribe requests and slot migrations (#691)
  • fix: avoid picking unhealthy replicas (#689)

Contributors

We'd like to thank all the contributors who worked on this release!

@proost, @rueian, @unknowntpo and @wyxloading

1.0.51

02 Dec 17:07
9ae348a
Compare
Choose a tag to compare

Changes

  • feat: add RateLimitOption to rueidislimiter (#681)
  • feat: allow setting negative values to disable keepalive and write timeout (#682)
  • feat: add options for removing idle connections in connection pools (#674)

Contributors

We'd like to thank all the contributors who worked on this release!

@altanozlu, @rueian and @veirfuna

1.0.50

26 Nov 02:58
5965fb9
Compare
Choose a tag to compare

Changes

  • feat: add FtSearch and related functions to rueidiscompat (#676)
  • feat: add rueidislimiter module for Distributed Rate Limiting (#661)
  • fix: convert os.ErrDeadlineExceeded to context.DeadlineExceeded only when ConnWriteTimeout is shorter (#672)
  • fix: register client tracking again after receiving invalidations in rueidislock (#669)
  • fix: close connections that are still blocked while recycling them to pools, instead of waiting for unsubscribe command responses (#667)
  • fix: do not cap timeouts when context has a deadline on a blocking call (#666)
  • chore: use dpool for blocking commands to be able to respect context deadlines (#668)

Contributors

We'd like to thank all the contributors who worked on this release!

@nesty92, @rueian, @unknowntpo and @zeiler

1.0.49

08 Nov 18:08
6c926af
Compare
Choose a tag to compare

Fixes for refreshing cluster topology

We strongly encourage everyone to upgrade to version 1.0.49 to address the issues related to refreshing the cluster topology.

Changes

  • fix: refresh the cluster topology by using the old CLUSTER SLOTS instead of CLUSTER SHARDS for clusters with version less than 8. This is due to a server bug that returns empty slot information after the first failover. (#664)
  • fix: do not pick failed cluster nodes from the CLUSTER SHARDS response. (#660)
  • fix: do not block client.Do for 1 second of refreshing threshold in the cases of network error. (#659)
  • feat: auto retries on LOADING errors. (#657)
  • feat: support multiple options in FT.ALTER. (#655)
  • feat: add FT.ALTER in OM JSON and Hash repo. (#645)
  • feat: support Go 1.23 iterators for the ZADD command. (#652)

Contributors

We'd like to thank all the contributors who worked on this release!

@imvtsl, @justinmir, @mingdaoy, @nesty92 and @rueian

1.0.48

21 Oct 20:41
bbcfadd
Compare
Choose a tag to compare

Changes

  • feat: add DisableTCPNoDelay option for better p99 latencies in certain network conditions such as GCP without gVNIC. (#650)
  • feat: add DisableAutoPipelining option to serve requests from connection pools for better latencies by avoiding pipelining overhead and HoL blocking. (#646)
  • feat: Retries are now back-offed and jittered with a 1-second cap by default. This can be customized by the RetryDelay option. (#643)

Contributors

We'd like to thank all the contributors who worked on this release!

@proost and @rueian

1.0.47

01 Oct 03:37
fc348f5
Compare
Choose a tag to compare

Changes

  • feat: add ShardsRefreshInterval option for refreshing cluster shards periodically (#638)
  • fix: panic on cluster redirection to the same host (#641)

Contributors

We'd like to thank all the contributors who worked on this release!

@proost and @rueian

1.0.46

16 Sep 15:13
6188b89
Compare
Choose a tag to compare

Changes

  • perf: use dedicated connections for DoMulti() with 2000+ commands by default (#631)
  • feat: add SCRIPT SHOW, CLIENT CAPA, and CLUSTER SLOT-STATS commands (#628)
  • feat: add option to disable making CLIENT SETINFO command on initialization (#622)
  • feat: support iter.Seq2 for *FieldValue command builders (#625)
  • fix: panic on rueidiscompat.SSubscribe due to unnecessary PING (#636)

Contributors

We'd like to thank all the contributors who worked on this release!

@rahulgkatre, @rueian and @tamayika

1.0.45

29 Aug 15:38
9a347d7
Compare
Choose a tag to compare

Changes

  • feat: drop Go 1.20 support. Now the minimum requirement is Go 1.21. (#613)
  • feat: add HExpire, HPExpire, HTTL, and HPTTL methods to rueidiscompat. (#618)
  • feat: improve rueidislock error messages to contain why a lock can't be acquired. (#616)
  • feat: upgrade OpenTelemetry to v1.28.0.

Improvements

  • perf: clear containers before calling the Put of sync.Pool to reclaim memory faster. (#613)
  • perf: reduce OpenTelemetry allocations in rueidisotel (#614)

Bugs

  • fix: add timeouts when refreshing cluster slots to avoid being stuck. (#615)
  • fix: avoid panics when using rueidiscompat.Pipeliner with commands like BGSAVE.
  • fix: export fields of rueidiscompat.TSCreateRuleWithArgs correctly.

Contributors

We'd like to thank all the contributors who worked on this release!

@ash2k and @rueian

1.0.44

11 Aug 08:59
1e07e97
Compare
Choose a tag to compare

Changes

  • feat: add NewScript to rueidiscompat (#601)
  • feat: add Watch, Tx and TxPipeline to rueidiscompat (#605)
  • feat: add Pipeline to rueidiscompat (#599)
  • feat: add WithEnableReadOperation to rueidisprob (#598)
  • fix: remove busy retries if rueidislock.WithContext is waiting for the lock (#604)
  • fix: avoid too many results to unpack script in rueidisprob (#595)

Contributors

We'd like to thank all the contributors who worked on this release!

@proost, @rueian and @yhc9311

1.0.43

28 Jul 11:04
4fbb507
Compare
Choose a tag to compare

Changes

Contributors

We'd like to thank all the contributors who worked on this release!

@rueian