2023-01-30 10:16:34 +03:00
|
|
|
## v9 2023-01-30
|
2022-03-17 16:14:48 +03:00
|
|
|
|
2022-10-11 15:37:34 +03:00
|
|
|
### Added
|
|
|
|
|
2023-01-21 11:41:51 +03:00
|
|
|
- Added support for [RESP3](https://github.com/antirez/RESP3/blob/master/spec.md) protocol. It was
|
|
|
|
contributed by @monkey92t who has done the majority of work in this release.
|
2022-10-11 15:37:34 +03:00
|
|
|
- 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)
|
2023-01-21 11:41:51 +03:00
|
|
|
- Added `redis.HasErrorPrefix` to help working with errors.
|
2022-10-11 15:37:34 +03:00
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
2022-10-17 16:27:10 +03:00
|
|
|
- Removed asynchronous cancellation based on the context timeout. It was racy in v8 and is
|
|
|
|
completely gone in v9.
|
2022-10-11 15:37:34 +03:00
|
|
|
- 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`.
|
2022-07-28 15:11:35 +03:00
|
|
|
- Removed connection reaper in favor of `MaxIdleConns`.
|
2022-10-11 15:37:34 +03:00
|
|
|
- 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.
|
2023-01-21 11:41:51 +03:00
|
|
|
- Changed Pipelines to not be thread-safe any more.
|
2022-10-11 15:37:34 +03:00
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
- Improved and fixed pipeline retries.
|
2023-01-21 11:41:51 +03:00
|
|
|
- As usually, added support for more commands and fixed some bugs.
|