forked from mirror/redis
56 lines
3.1 KiB
Markdown
56 lines
3.1 KiB
Markdown
# [9.0.0-rc.2](https://github.com/go-redis/redis/compare/v9.0.0-rc.1...v9.0.0-rc.2) (2022-11-26)
|
|
|
|
|
|
### Bug Fixes
|
|
|
|
* capture error correctly in withConn ([d1bfaba](https://github.com/go-redis/redis/commit/d1bfaba549fe380d269c26cea0a0183ed1520a85))
|
|
* fixes ring.SetAddrs and rebalance race ([#2283](https://github.com/go-redis/redis/issues/2283)) ([d83436b](https://github.com/go-redis/redis/commit/d83436b321cd9ed52ba33c3edbe8f63bb0444c59))
|
|
* read in route_randomly query param correctly ([f236053](https://github.com/go-redis/redis/commit/f236053735d10aec5e6e31fc3ced1b2e53292554))
|
|
* reduce `SetAddrs` shards lock contention ([6c05a9f](https://github.com/go-redis/redis/commit/6c05a9f6b17f8e32593d3f7d594f82ba3dbcafb1)), closes [/github.com/go-redis/redis/pull/2190#discussion_r953040289](https://github.com//github.com/go-redis/redis/pull/2190/issues/discussion_r953040289) [#2077](https://github.com/go-redis/redis/issues/2077)
|
|
* wrap cmds in Conn.TxPipeline ([5053db2](https://github.com/go-redis/redis/commit/5053db2f9c8b3ca25f497a75f70012c7ad6cd775))
|
|
|
|
|
|
### Features
|
|
|
|
* add HasErrorPrefix ([d3d8002](https://github.com/go-redis/redis/commit/d3d8002e894a1eab5bab2c9fff13439527e330d8))
|
|
* add support for SINTERCARD command ([bc51c61](https://github.com/go-redis/redis/commit/bc51c61a458d1bc4fb4424c7c3e912325ef980cc))
|
|
|
|
|
|
|
|
## v9 UNRELEASED
|
|
|
|
### Added
|
|
|
|
- Added support for [RESP3](https://github.com/antirez/RESP3/blob/master/spec.md) protocol.
|
|
Contributed by @monkey92t who has done a lot of work recently.
|
|
- Added `ContextTimeoutEnabled` option that controls whether the client respects context timeouts
|
|
and deadlines. See
|
|
[Redis Timeouts](https://redis.uptrace.dev/guide/go-redis-debugging.html#timeouts) for details.
|
|
- Added `ParseClusterURL` to parse URLs into `ClusterOptions`, for example,
|
|
`redis://user:password@localhost:6789?dial_timeout=3&read_timeout=6s&addr=localhost:6790&addr=localhost:6791`.
|
|
- Added metrics instrumentation using `redisotel.IstrumentMetrics`. See
|
|
[documentation](https://redis.uptrace.dev/guide/go-redis-monitoring.html)
|
|
|
|
### Changed
|
|
|
|
- Removed asynchronous cancellation based on the context timeout. It was racy in v8 and is
|
|
completely gone in v9.
|
|
- Reworked hook interface and added `DialHook`.
|
|
- Replaced `redisotel.NewTracingHook` with `redisotel.InstrumentTracing`. See
|
|
[example](example/otel) and
|
|
[documentation](https://redis.uptrace.dev/guide/go-redis-monitoring.html).
|
|
- Replaced `*redis.Z` with `redis.Z` since it is small enough to be passed as value without making
|
|
an allocation.
|
|
- Renamed the option `MaxConnAge` to `ConnMaxLifetime`.
|
|
- Renamed the option `IdleTimeout` to `ConnMaxIdleTime`.
|
|
- Removed connection reaper in favor of `MaxIdleConns`.
|
|
- Removed `WithContext` since `context.Context` can be passed directly as an arg.
|
|
- Removed `Pipeline.Close` since there is no real need to explicitly manage pipeline resources and
|
|
it can be safely reused via `sync.Pool` etc. `Pipeline.Discard` is still available if you want to
|
|
reset commands for some reason.
|
|
|
|
### Fixed
|
|
|
|
- Improved and fixed pipeline retries.
|
|
- As usual, added more commands and fixed some bugs.
|