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