go-redis/redis
 Watch   
 Star   
 Fork   
2025-03-25 03:53:07
redis

v9.8.0-beta.1

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

  • Improved test coverage & testing infrastructure (#3191, #3233, #3247, #3258, #3279, #3285, #3274, #3304)
  • Improving documentation (#3177, #3226)
  • Examples for improving official documentation (#3116, #3117, #3118, #3125, #3119, #3126, #3140, #3141, #3142, #3143, #3132, #3128, #3183, #3202, #3229, #3241, #3235, #3240, #3260, #3256, #3257, #3251, #3259, #3252, #3292, #3242)

🗑️ 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: https://github.com/redis/go-redis/compare/v9.7.3...v9.8.0-beta.1

2025-03-21 00:24:34
redis

v9.7.3

What's Changed

Full Changelog: https://github.com/redis/go-redis/compare/v9.7.1...v9.7.3

2025-03-20 21:53:42
redis

v9.6.3

What's Changed

Full Changelog: https://github.com/redis/go-redis/compare/v9.6.2...v9.6.3

2025-03-20 21:41:52
redis

v9.5.5

What's Changed

Full Changelog: https://github.com/redis/go-redis/compare/v9.5.4...v9.5.5

2025-02-21 21:40:07
redis

v9.7.1

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: https://github.com/redis/go-redis/compare/v9.7.0...v9.7.1

2024-10-16 15:01:32
redis

9.7.0

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

  • Documentation examples (#3102, #3106, #3110, #3111, #3113, #3114, #3115, #3123, #3124)
  • retract v9.5.3 of redisotel and other extra packages (#3108)
  • Add test coverage reporting and Codecov badge (#3055)
  • Updated module version that points to retracted package version (#3074)

Contributors

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

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

2024-10-14 19:23:23
redis

9.6.2

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

2024-09-26 18:14:30
redis

9.7.0-beta.1

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

  • Documentation examples (#3102, #3106, #3110, #3111, #3113, #3114, #3115, #3123, #3124)
  • retract v9.5.3 of redisotel and other extra packages (#3108)
  • Add test coverage reporting and Codecov badge (#3055)
  • Updated module version that points to retracted package version (#3074)

Contributors

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

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

2024-07-25 16:07:48
redis

9.6.1

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

2024-07-19 15:15:46
redis

9.6.0

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