Skip to content

Releases: redis/go-redis

v9.8.0-beta.1

24 Mar 20:12
b026cf8
Compare
Choose a tag to compare
v9.8.0-beta.1 Pre-release
Pre-release

Changes

Overview

This is a beta release with support for Redis 8

Important

This release introduces a client-side default dialect for Redis’ search and query capabilities. By default, the client now overrides the server-side dialect with version 2, automatically appending DIALECT 2 to commands like FT.AGGREGATE and FT.SEARCH.

Important: Be aware that the query dialect may impact the results returned. If needed, you can revert to a different dialect version by passing the desired dialect in the arguments of the command you want to execute.
For example:

	res2, err := rdb.FTSearchWithArgs(ctx,
		"idx:bicycle",
		"@pickup_zone:[CONTAINS $bike]",
		&redis.FTSearchOptions{
			Params: map[string]interface{}{
				"bike": "POINT(-0.1278 51.5074)",
			},
			DialectVersion: 3,
		},
	).Result()

You can find further details in the query dialect documentation.

πŸš€ New Features

  • Support TimeSeries commands with RESP 2 protocol (#3184)
  • Support Probabilistic commands with RESP 2 protocol (#3176)
  • Support JSON with RESP 2 protocol (#3146)
  • Support new hash commands: HGETDEL, HGETEX, HSETEX #3305
  • Add FailoverClusterClient support for Universal client #2794
  • Add vector types INT8 and UINT8 #3299
  • Do method for raw query by single conn from pool.Conn() #3182
  • Recognize byte slice for key argument in cluster client hash slot computation #3049
  • Add skip_verify param #3216

πŸ› οΈ Improvements

  • Remove direct read from TLS underlying conn #3138
  • Eliminate redundant dial mutex causing unbounded connection queue contention #3088
  • Only check latencies once every 10 seconds with routeByLatency #2795
  • SortByWithCount FTSearchOptions fix #3201
  • feat(command): add ACL commands, validate module categories exist #3262
  • fix(aggregate, search): ft.aggregate bugfixes #3263
  • feat: add unstableresp3 to cluster client #3266
  • fix: flaky ClientKillByFilter test #3268
  • test: add test for INFO in RCE 8 #3269
  • test(redisotel): add tracing hook tests #3270
  • Reinstate read-only lock on hooks access in dialHook to fix data race #3225
  • fix(search): if ft.aggregate use limit when limitoffset is zero #3275
  • fix(search&aggregate):fix error overwrite and typo #3224
  • move regexp.MustCompile close to call #3280
  • fix: nil pointer dereferencing in writeArg #3271
  • fix: race slice for list function of ring client #2931
  • feat: support Elasticache cluster mode by setting IsClusterMode in config #3255
  • fix(redisotel): fix the situation of reporting spans multiple times #3168
  • feat: add hstrlen command for hash #2843
  • fix: Fixed issue with context cancelled error leading to connection spikes on Primary instances #3190
  • add readOnly on failover opts #3281
  • Enable dialect 2 on default #3213
  • Set client name in HELLO handshake during connection initialization #3294
  • fix: connection pool timeout, increase retries #3298
  • fix(redisotel): Show Whole Command on Tracing #3290
  • fix: handle network error on SETINFO #3295
  • Make MASTERDOWN a retriable error in RedisCluster client #3164
  • Bound connection pool background dials to configured dial timeout #3089
  • fix(command): add missing io-thread key in client info #3244
  • Fix race condition in clusterNodes.Addrs() #3219

🧰 Maintenance

πŸ—‘οΈ Removed

  • chore: drop RedisGears (aka. Triggers and Functions) #3321

Contributors

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

@ndyakov, @a-menshchikov, @rfyiamcool, @rentziass, @LINKIWI, @justinmir, @alingse, @EXPEbdodla, @Cgol9, @aliforever, @flc1125, @monkey92t, @jouir, @smilad, @Oleglacto, @reeshijoshi, @bitsark, @shawnwgit, @ofekshenawa,
@vladvildanov, @zhuhaicity, @tomfrombayesians

@monkey92t helped a ton with PR reviews, especially related to redisotel

New Contributors

Full Changelog: v9.7.3...v9.8.0-beta.1

v9.7.3

20 Mar 14:57
a29d91d
Compare
Choose a tag to compare

What's Changed

  • fix: handle network error on SETINFO (#3295) (CVE-2025-29923)
  • Deprecating misspelled DisableIndentity flag in the client options.
  • Introducing DisableIdentity flag in the client options.
  • Updating the documentation related to the new flag and the one that was deprecated.

Full Changelog: v9.7.1...v9.7.3

v9.6.3

20 Mar 14:11
Compare
Choose a tag to compare

What's Changed

Full Changelog: v9.6.2...v9.6.3

v9.5.5

20 Mar 14:08
Compare
Choose a tag to compare

What's Changed

Full Changelog: v9.5.4...v9.5.5

v9.7.1

21 Feb 13:46
3d041a1
Compare
Choose a tag to compare

Changes

  • Recognize byte slice for key argument in cluster client hash slot computation (#3049)
  • fix(search&aggregate):fix error overwrite and typo #3220 (#3224)
  • fix: linter configuration (#3279)
  • fix(search): if ft.aggregate use limit when limitoffset is zero (#3275)
  • Reinstate read-only lock on hooks access in dialHook to fix data race (#3225)
  • fix: flaky ClientKillByFilter test (#3268)
  • chore: fix some comments (#3226)
  • fix(aggregate, search): ft.aggregate bugfixes (#3263)
  • fix: add unstableresp3 to cluster client (#3266)
  • Fix race condition in clusterNodes.Addrs() (#3219)
  • SortByWithCount FTSearchOptions fix (#3201)
  • Eliminate redundant dial mutex causing unbounded connection queue contention (#3088)
  • Add guidance on unstable RESP3 support for RediSearch commands to README (#3177)

πŸš€ New Features

  • Add guidance on unstable RESP3 support for RediSearch commands to README (#3177)

πŸ› Bug Fixes

  • fix(search): if ft.aggregate use limit when limitoffset is zero (#3275)
  • fix: add unstableresp3 to cluster client (#3266)
  • fix(aggregate, search): ft.aggregate bugfixes (#3263)
  • SortByWithCount FTSearchOptions fix (#3201)
  • Recognize byte slice for key argument in cluster client hash slot computation (#3049)

Contributors

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

@ofekshenawa, @Cgol9, @LINKIWI, @shawnwgit, @zhuhaicity, @bitsark, @vladvildanov, @ndyakov

Full Changelog: v9.7.0...v9.7.1

9.7.0

17 Oct 09:58
ed37c33
Compare
Choose a tag to compare

Changes

πŸš€ New Features

  • Support Redis search and query capabilities (#2801, #3098)
  • Support indexing and querying empty values (#3053)
  • Support for Redis JSON with RESP2 protocol (#3146)

πŸ› οΈ Improvements

We're glad to announce that we added a search and query support in the current release.

🧰 Maintenance

Contributors

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

@andy-stark-redis, @ipechorin, @ofekshenawa and @vladvildanov

9.6.2

14 Oct 11:28
2a6c4c2
Compare
Choose a tag to compare

Changes

πŸ› Bug Fixes

  • Fixed bug with broken TLS sessions (#3145)

Contributors

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

@ofekshenawa @vladvildanov @rentziass

9.7.0-beta.1

26 Sep 10:33
ad131f4
Compare
Choose a tag to compare
9.7.0-beta.1 Pre-release
Pre-release

Changes

πŸš€ New Features

  • Support Redis search and query capabilities (#2801, #3098)
  • Support indexing and querying empty values (#3053)

πŸ› οΈ Improvements

We're glad to announce that we added a search and query support in the current release.

🧰 Maintenance

Contributors

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

@andy-stark-redis, @ipechorin, @ofekshenawa and @vladvildanov

9.6.1

25 Jul 08:09
c3610cd
Compare
Choose a tag to compare

Changes

9.6

This release contains all new features from version 9.6.

πŸš€ New Features

  • Support Hash-field expiration commands (#2991)
  • Support Hash-field expiration commands in Pipeline & Fix HExpire HExpireWithArgs expiration (#3038)
  • Support NOVALUES parameter for HSCAN (#2925)
  • Added test case for CLIENT KILL with MAXAGE option (#2971)
  • Add support for XREAD last entry (#3005)
  • Reduce the type assertion of CheckConn (#3066)

9.6.1

In addition minor changes were performed to retract version 9.5.3 and 9.5.4 that were released accidentally.

🧰 Maintenance

  • Change CI to 7.4.0-RC2 (#3070)

🎁 Package Distribution

  • Retract versions 9.5.3 and 9.5.4 (#3069)

Contributors

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

@LINKIWI, @b1ron, @gerzse, @haines, @immersedin, @naiqianz, @ofekshenawa, @srikar-jilugu, @tzongw, @vladvildanov, @vmihailenco and @monkey92t

9.6.0

19 Jul 07:19
44ba2ee
Compare
Choose a tag to compare

Changes

πŸš€ New Features

  • Support Hash-field expiration commands (#2991)
  • Support Hash-field expiration commands in Pipeline & Fix HExpire HExpireWithArgs expiration (#3038)
  • Support NOVALUES parameter for HSCAN (#2925)
  • Added test case for CLIENT KILL with MAXAGE option (#2971)
  • Add support for XREAD last entry (#3005)
  • Reduce the type assertion of CheckConn (#3066)

πŸ› οΈ Improvements

This release includes support for Redis Community Edition (CE) 7.4.0, ensuring compatibility with the latest features and improvements introduced in Redis CE 7.4.0.

🧰 Maintenance

  • chore(deps): bump golangci/golangci-lint-action from 4 to 6 (#2993)
  • Avoid unnecessary retry delay in cluster client following MOVED and ASK redirection (#3048)
  • add test for tls connCheck #3025 (#3047)
  • fix node routing in slotClosestNode (#3043)
  • Update pubsub.go (#3042)
  • Change monitor test to run manually (#3041)
  • chore(deps): bump rojopolis/spellcheck-github-actions from 0.36.0 to 0.38.0 (#3028)
  • Add (*StatusCmd).Bytes() method (#3030)
  • chore(deps): bump golang.org/x/net from 0.20.0 to 0.23.0 in /example/otel (#3000)

Contributors

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

@LINKIWI, @b1ron, @dependabot, @dependabot[bot], @gerzse, @haines, @immersedin, @naiqianz, @ofekshenawa, @srikar-jilugu, @tzongw, @vladvildanov and @vmihailenco @monkey92t