|
1 | 1 | # Release Notes
|
2 | 2 |
|
| 3 | +# 9.12.0-beta.1 (2025-08-01) |
| 4 | + |
| 5 | +## 🚀 Highlights |
| 6 | + |
| 7 | +This is a beta release for Redis 8.2 support. It also includes bug fixes and improvements related to search and |
| 8 | +community contributions for [redisotel](https://github.com/redis/go-redis/tree/master/extra/redisotel). |
| 9 | + |
| 10 | +## Changes |
| 11 | + |
| 12 | +- chore(ci): Add 8.2 rc2 pre build for CI ([#3459](https://github.com/redis/go-redis/pull/3459)) |
| 13 | +- Added new stream commands ([#3450](https://github.com/redis/go-redis/pull/3450)) |
| 14 | +- feat: Add "skip_verify" to Sentinel ([#3428](https://github.com/redis/go-redis/pull/3428)) |
| 15 | +- fix: `errors.Join` requires Go 1.20 or later ([#3442](https://github.com/redis/go-redis/pull/3442)) |
| 16 | +- DOC-4344 document quickstart examples ([#3426](https://github.com/redis/go-redis/pull/3426)) |
| 17 | +- feat(bitop): add support for the new bitop operations ([#3409](https://github.com/redis/go-redis/pull/3409)) |
| 18 | + |
| 19 | +## 🚀 New Features |
| 20 | + |
| 21 | +- Add VAMANA vector type to RediSearch ([#3449](https://github.com/redis/go-redis/pull/3449)) |
| 22 | +- VSIM add `EPSILON` option ([#3454](https://github.com/redis/go-redis/pull/3454)) |
| 23 | +- Add closing support to otel metrics instrumentation ([#3444](https://github.com/redis/go-redis/pull/3444)) |
| 24 | + |
| 25 | +## 🐛 Bug Fixes |
| 26 | + |
| 27 | +- fix(search): return results even if doc is empty ([#3457](https://github.com/redis/go-redis/pull/3457)) |
| 28 | +- [ISSUE-3402]: Ring.Pipelined return dial timeout error ([#3403](https://github.com/redis/go-redis/pull/3403)) |
| 29 | + |
| 30 | +## 🧰 Maintenance |
| 31 | + |
| 32 | +- bumped redis 8.2 version used in the CI/CD ([#3451](https://github.com/redis/go-redis/pull/3451)) |
| 33 | + |
| 34 | +## Contributors |
| 35 | +We'd like to thank all the contributors who worked on this release! |
| 36 | + |
| 37 | +[@andy-stark-redis](https://github.com/andy-stark-redis), [@cxljs](https://github.com/cxljs), [@htemelski-redis](https://github.com/htemelski-redis), [@jouir](https://github.com/jouir), [@ndyakov](https://github.com/ndyakov), [@ofekshenawa](https://github.com/ofekshenawa), [@rokn](https://github.com/rokn) and [@smnvdev](https://github.com/smnvdev) |
| 38 | + |
| 39 | + |
3 | 40 | # 9.11.0 (2025-06-24)
|
4 | 41 |
|
5 | 42 | ## 🚀 Highlights
|
@@ -199,3 +236,139 @@ For a complete list of changes, see the [full changelog](https://github.com/redi
|
199 | 236 | We would like to thank all the contributors who made this release possible:
|
200 | 237 |
|
201 | 238 | [@alexander-menshchikov](https://github.com/alexander-menshchikov), [@EXPEbdodla](https://github.com/EXPEbdodla), [@afti](https://github.com/afti), [@dmaier-redislabs](https://github.com/dmaier-redislabs), [@four_leaf_clover](https://github.com/four_leaf_clover), [@alohaglenn](https://github.com/alohaglenn), [@gh73962](https://github.com/gh73962), [@justinmir](https://github.com/justinmir), [@LINKIWI](https://github.com/LINKIWI), [@liushuangbill](https://github.com/liushuangbill), [@golang88](https://github.com/golang88), [@gnpaone](https://github.com/gnpaone), [@ndyakov](https://github.com/ndyakov), [@nikolaydubina](https://github.com/nikolaydubina), [@oleglacto](https://github.com/oleglacto), [@andy-stark-redis](https://github.com/andy-stark-redis), [@rodneyosodo](https://github.com/rodneyosodo), [@dependabot](https://github.com/dependabot), [@rfyiamcool](https://github.com/rfyiamcool), [@frankxjkuang](https://github.com/frankxjkuang), [@fukua95](https://github.com/fukua95), [@soleymani-milad](https://github.com/soleymani-milad), [@ofekshenawa](https://github.com/ofekshenawa), [@khasanovbi](https://github.com/khasanovbi)
|
| 239 | + |
| 240 | + |
| 241 | +# Old Changelog |
| 242 | +## Unreleased |
| 243 | + |
| 244 | +### Changed |
| 245 | + |
| 246 | +* `go-redis` won't skip span creation if the parent spans is not recording. ([#2980](https://github.com/redis/go-redis/issues/2980)) |
| 247 | + Users can use the OpenTelemetry sampler to control the sampling behavior. |
| 248 | + For instance, you can use the `ParentBased(NeverSample())` sampler from `go.opentelemetry.io/otel/sdk/trace` to keep |
| 249 | + a similar behavior (drop orphan spans) of `go-redis` as before. |
| 250 | + |
| 251 | +## [9.0.5](https://github.com/redis/go-redis/compare/v9.0.4...v9.0.5) (2023-05-29) |
| 252 | + |
| 253 | + |
| 254 | +### Features |
| 255 | + |
| 256 | +* Add ACL LOG ([#2536](https://github.com/redis/go-redis/issues/2536)) ([31ba855](https://github.com/redis/go-redis/commit/31ba855ddebc38fbcc69a75d9d4fb769417cf602)) |
| 257 | +* add field protocol to setupClusterQueryParams ([#2600](https://github.com/redis/go-redis/issues/2600)) ([840c25c](https://github.com/redis/go-redis/commit/840c25cb6f320501886a82a5e75f47b491e46fbe)) |
| 258 | +* add protocol option ([#2598](https://github.com/redis/go-redis/issues/2598)) ([3917988](https://github.com/redis/go-redis/commit/391798880cfb915c4660f6c3ba63e0c1a459e2af)) |
| 259 | + |
| 260 | + |
| 261 | + |
| 262 | +## [9.0.4](https://github.com/redis/go-redis/compare/v9.0.3...v9.0.4) (2023-05-01) |
| 263 | + |
| 264 | + |
| 265 | +### Bug Fixes |
| 266 | + |
| 267 | +* reader float parser ([#2513](https://github.com/redis/go-redis/issues/2513)) ([46f2450](https://github.com/redis/go-redis/commit/46f245075e6e3a8bd8471f9ca67ea95fd675e241)) |
| 268 | + |
| 269 | + |
| 270 | +### Features |
| 271 | + |
| 272 | +* add client info command ([#2483](https://github.com/redis/go-redis/issues/2483)) ([b8c7317](https://github.com/redis/go-redis/commit/b8c7317cc6af444603731f7017c602347c0ba61e)) |
| 273 | +* no longer verify HELLO error messages ([#2515](https://github.com/redis/go-redis/issues/2515)) ([7b4f217](https://github.com/redis/go-redis/commit/7b4f2179cb5dba3d3c6b0c6f10db52b837c912c8)) |
| 274 | +* read the structure to increase the judgment of the omitempty op… ([#2529](https://github.com/redis/go-redis/issues/2529)) ([37c057b](https://github.com/redis/go-redis/commit/37c057b8e597c5e8a0e372337f6a8ad27f6030af)) |
| 275 | + |
| 276 | + |
| 277 | + |
| 278 | +## [9.0.3](https://github.com/redis/go-redis/compare/v9.0.2...v9.0.3) (2023-04-02) |
| 279 | + |
| 280 | +### New Features |
| 281 | + |
| 282 | +- feat(scan): scan time.Time sets the default decoding (#2413) |
| 283 | +- Add support for CLUSTER LINKS command (#2504) |
| 284 | +- Add support for acl dryrun command (#2502) |
| 285 | +- Add support for COMMAND GETKEYS & COMMAND GETKEYSANDFLAGS (#2500) |
| 286 | +- Add support for LCS Command (#2480) |
| 287 | +- Add support for BZMPOP (#2456) |
| 288 | +- Adding support for ZMPOP command (#2408) |
| 289 | +- Add support for LMPOP (#2440) |
| 290 | +- feat: remove pool unused fields (#2438) |
| 291 | +- Expiretime and PExpireTime (#2426) |
| 292 | +- Implement `FUNCTION` group of commands (#2475) |
| 293 | +- feat(zadd): add ZAddLT and ZAddGT (#2429) |
| 294 | +- Add: Support for COMMAND LIST command (#2491) |
| 295 | +- Add support for BLMPOP (#2442) |
| 296 | +- feat: check pipeline.Do to prevent confusion with Exec (#2517) |
| 297 | +- Function stats, function kill, fcall and fcall_ro (#2486) |
| 298 | +- feat: Add support for CLUSTER SHARDS command (#2507) |
| 299 | +- feat(cmd): support for adding byte,bit parameters to the bitpos command (#2498) |
| 300 | + |
| 301 | +### Fixed |
| 302 | + |
| 303 | +- fix: eval api cmd.SetFirstKeyPos (#2501) |
| 304 | +- fix: limit the number of connections created (#2441) |
| 305 | +- fixed #2462 v9 continue support dragonfly, it's Hello command return "NOAUTH Authentication required" error (#2479) |
| 306 | +- Fix for internal/hscan/structmap.go:89:23: undefined: reflect.Pointer (#2458) |
| 307 | +- fix: group lag can be null (#2448) |
| 308 | + |
| 309 | +### Maintenance |
| 310 | + |
| 311 | +- Updating to the latest version of redis (#2508) |
| 312 | +- Allowing for running tests on a port other than the fixed 6380 (#2466) |
| 313 | +- redis 7.0.8 in tests (#2450) |
| 314 | +- docs: Update redisotel example for v9 (#2425) |
| 315 | +- chore: update go mod, Upgrade golang.org/x/net version to 0.7.0 (#2476) |
| 316 | +- chore: add Chinese translation (#2436) |
| 317 | +- chore(deps): bump github.com/bsm/gomega from 1.20.0 to 1.26.0 (#2421) |
| 318 | +- chore(deps): bump github.com/bsm/ginkgo/v2 from 2.5.0 to 2.7.0 (#2420) |
| 319 | +- chore(deps): bump actions/setup-go from 3 to 4 (#2495) |
| 320 | +- docs: add instructions for the HSet api (#2503) |
| 321 | +- docs: add reading lag field comment (#2451) |
| 322 | +- test: update go mod before testing(go mod tidy) (#2423) |
| 323 | +- docs: fix comment typo (#2505) |
| 324 | +- test: remove testify (#2463) |
| 325 | +- refactor: change ListElementCmd to KeyValuesCmd. (#2443) |
| 326 | +- fix(appendArg): appendArg case special type (#2489) |
| 327 | + |
| 328 | +## [9.0.2](https://github.com/redis/go-redis/compare/v9.0.1...v9.0.2) (2023-02-01) |
| 329 | + |
| 330 | +### Features |
| 331 | + |
| 332 | +* upgrade OpenTelemetry, use the new metrics API. ([#2410](https://github.com/redis/go-redis/issues/2410)) ([e29e42c](https://github.com/redis/go-redis/commit/e29e42cde2755ab910d04185025dc43ce6f59c65)) |
| 333 | + |
| 334 | +## v9 2023-01-30 |
| 335 | + |
| 336 | +### Breaking |
| 337 | + |
| 338 | +- Changed Pipelines to not be thread-safe any more. |
| 339 | + |
| 340 | +### Added |
| 341 | + |
| 342 | +- Added support for [RESP3](https://github.com/antirez/RESP3/blob/master/spec.md) protocol. It was |
| 343 | + contributed by @monkey92t who has done the majority of work in this release. |
| 344 | +- Added `ContextTimeoutEnabled` option that controls whether the client respects context timeouts |
| 345 | + and deadlines. See |
| 346 | + [Redis Timeouts](https://redis.uptrace.dev/guide/go-redis-debugging.html#timeouts) for details. |
| 347 | +- Added `ParseClusterURL` to parse URLs into `ClusterOptions`, for example, |
| 348 | + `redis://user:password@localhost:6789?dial_timeout=3&read_timeout=6s&addr=localhost:6790&addr=localhost:6791`. |
| 349 | +- Added metrics instrumentation using `redisotel.IstrumentMetrics`. See |
| 350 | + [documentation](https://redis.uptrace.dev/guide/go-redis-monitoring.html) |
| 351 | +- Added `redis.HasErrorPrefix` to help working with errors. |
| 352 | + |
| 353 | +### Changed |
| 354 | + |
| 355 | +- Removed asynchronous cancellation based on the context timeout. It was racy in v8 and is |
| 356 | + completely gone in v9. |
| 357 | +- Reworked hook interface and added `DialHook`. |
| 358 | +- Replaced `redisotel.NewTracingHook` with `redisotel.InstrumentTracing`. See |
| 359 | + [example](example/otel) and |
| 360 | + [documentation](https://redis.uptrace.dev/guide/go-redis-monitoring.html). |
| 361 | +- Replaced `*redis.Z` with `redis.Z` since it is small enough to be passed as value without making |
| 362 | + an allocation. |
| 363 | +- Renamed the option `MaxConnAge` to `ConnMaxLifetime`. |
| 364 | +- Renamed the option `IdleTimeout` to `ConnMaxIdleTime`. |
| 365 | +- Removed connection reaper in favor of `MaxIdleConns`. |
| 366 | +- Removed `WithContext` since `context.Context` can be passed directly as an arg. |
| 367 | +- Removed `Pipeline.Close` since there is no real need to explicitly manage pipeline resources and |
| 368 | + it can be safely reused via `sync.Pool` etc. `Pipeline.Discard` is still available if you want to |
| 369 | + reset commands for some reason. |
| 370 | + |
| 371 | +### Fixed |
| 372 | + |
| 373 | +- Improved and fixed pipeline retries. |
| 374 | +- As usually, added support for more commands and fixed some bugs. |
0 commit comments