Releases: valkey-io/valkey-go
1.0.49
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 ofCLUSTER 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
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!
1.0.47
1.0.46
Changes
- perf: use dedicated connections for
DoMulti()
with 2000+ commands by default (#631) - feat: add
SCRIPT SHOW
,CLIENT CAPA
, andCLUSTER 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 unnecessaryPING
(#636)
Contributors
We'd like to thank all the contributors who worked on this release!
@rahulgkatre, @rueian and @tamayika
1.0.45
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
ofsync.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 likeBGSAVE
. - fix: export fields of
valkeycompat.TSCreateRuleWithArgs
correctly.
Contributors
We'd like to thank all the contributors who worked on this release!
1.0.44
Changes
- feat: add
NewScript
tovalkeycompat
(#601) - feat: add
Watch
,Tx
andTxPipeline
tovalkeycompat
(#605) - feat: add
Pipeline
tovalkeycompat
(#599) - feat: add
WithEnableReadOperation
tovalkeyprob
(#598) - fix: remove busy retries if
valkeylock.WithContext
is waiting for the lock (#604) - fix: avoid
too many results to unpack script
invalkeyprob
(#595)
Contributors
We'd like to thank all the contributors who worked on this release!
1.0.43
Changes
- feat: add
PubSub
adapter torueidiscompat
(#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 aMOVED
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
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!
1.0.40
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
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!