redis v9.0.0-rc.2 Release Notes

Release Date: 2022-11-26 // over 1 year ago
  • ๐Ÿ› Bug Fixes

    ๐Ÿ”‹ Features

    • โž• add HasErrorPrefix (d3d8002)
    • โž• add support for SINTERCARD command (bc51c61)

    ๐Ÿš€ v9 UNRELEASED

    โž• Added

    • โž• Added support for RESP3 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 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

    ๐Ÿ”„ 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.
    • 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.

Previous changes from v9.0.0-beta.2

  • ๐Ÿ› Bug Fixes

    • ๐Ÿ‘ #2114 for redis-server not support Hello (b6d2a92)
    • โž• additional node failures in clustered pipelined reads (03376a5)
    • โšก๏ธ disregard failed pings in updateLatency() for cluster nodes (64f972f)
    • โœ… don't panic when test cannot start (9e16c79)
    • ๐Ÿ– handle panic in ringShards Hash function when Ring got closed (a80b84f), closes #2126
    • ignore Nil error when reading EntriesRead (89d6dfe)
    • ๐ŸŒฒ log errors from cmdsInfoCache (fa4d1ea)
    • ๐Ÿšฆ provide a signal channel to end heartbeat goroutine (f032c12)
    • โœ‚ remove conn reaper from the pool and uptrace option names (f6a8adc)
    • ๐Ÿšฆ replace heartbeat signal channel with context.WithCancel (20d0ca2)