Skip to content

Releases: valkey-io/valkey-go

1.0.49

08 Nov 19:45
99e4795
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 22:52
510e4d5
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 04:30
af4007f
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

17 Sep 02:50
4714550
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 16:46
741d1ad
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 valkeycompat. (#618)
  • feat: improve valkeylock 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 valkeyotel (#614)

Bugs

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

Contributors

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

@ash2k and @rueian

1.0.44

11 Aug 09:00
f41a9e9
Compare
Choose a tag to compare

Changes

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

Contributors

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

@proost, @rueian and @yhc9311

1.0.43

28 Jul 12:26
ae64b78
Compare
Choose a tag to compare

Changes

  • feat: add PubSub adapter to rueidiscompat (#592)
  • feat: not panic but return ErrDedicatedClientRecycled error when using dedicated client after being recycled (#593)
  • perf: reduce the number of CLUSTER SHARDS sent when a MOVED is received (#589)
  • fix: jsonRespository.DoCache does not hang when redisjson module is not installed (#594)
  • fix: remove unnecessary aws configuration endpoint specialization (#588)
  • test: dragonflydb 1.20.1 with client side caching (#585)

Contributors

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

@FZambia, @ajayd-san, @proost and @rueian

1.0.41

08 Jul 15:20
393bc8e
Compare
Choose a tag to compare

Changes

  • feat: send DISCARD command when a dedicated connection is recycled (#580)
  • feat: fallback MGetCache to MGet when DisableCache=true (#574)
  • docs: Add IsParseError() documentation (#578)
  • test: minor increase in rueidiscompat coverage (#583)

Contributors

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

@SoulPancake, @karimalzalek and @rueian

1.0.40

25 Jun 14:19
cb3b12c
Compare
Choose a tag to compare

Changes

  • feat: improve the initial error detail by reporting failed CLIENT commands in the message (#576)
  • feat: move rueidisaside back to the root go.mod (#573)
  • feat: add IsParseErr helper (#564)
  • feat: use math/rand/v2 if go1.22 (#553)
  • perf: set 1s limit for graceful shutdown to avoid waiting for a hanging redis (#572)
  • fix: remove unnecessary busy loop during shutdown (#575)

Contributors

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

@LWF15, @SoulPancake, @psotou and @rueian

1.0.39

16 Jun 04:42
5714ec0
Compare
Choose a tag to compare

Changes

  • feat: support Redis 7.4 hash field expiration commands, such as HEXPIRE. (#561)
  • feat: response parsers like AsInt64 will no longer panic but return errors. (#555)

Tests

  • ci: tests are now run with go1.21 and go1.22 on GitHub Actions (#563)
  • ci: more tests for valkeycompat (#551)

Contributors

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

@JayChavan-23, @SoulPancake, @cyuankuo, @j178 and @rueian