redis
Redis driver for Rust.
1.6.0
95M downloads/mo
#831 most downloaded on crates.io
redis-rs/redis-rs
What this package is like to depend on
Last release 8 days ago
15 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 64 of 84 stable releases
26 versions withdrawn
withdrawn after publishing
12 years old
122 releases · first in 2014
31 releases in the last 12 months
see the full history below
Release timeline
122 releases · Nov 2014 to Aug 2026Releases
latest 60 of 122-
1.6.015 Aug 2026Release notes
Open source →Changes & Bug fixes
- Add XNACK command for Redis streams (2119# by @StefanPalashev)
- Allow limiting number of reconnect attempts (2298# by @nihohit)
- Restrict sentinel creation to Sentinel nodes (2308# by @nihohit)
- fix: cluster-async: propagate ASKING command failures (2305# by @freedom-winds)
- Add
CreateOptionsfor the Search module'sFT.CREATEcommand [1/8] (2302# by @StefanPalashev) - fix: reset all nested redirect routes before retrying (2306# by @freedom-winds)
CI & operational improvements
New Contributors
- @freedom-winds made their first contribution in #2305
Full Changelog: redis-1.5.0...redis-1.5.1
Release notes
Open source →Changes & Bug fixes
- Add XNACK command for Redis streams (2119# by @StefanPalashev)
- Allow limiting number of reconnect attempts (2298# by @nihohit)
- Restrict sentinel creation to Sentinel nodes (2308# by @nihohit)
- fix: cluster-async: propagate ASKING command failures (2305# by @freedom-winds)
- Add
CreateOptionsfor the Search module'sFT.CREATEcommand [1/8] (2302# by @StefanPalashev) - fix: reset all nested redirect routes before retrying (2306# by @freedom-winds)
CI & operational improvements
-
1.5.029 Jul 2026Release notes
Open source →Changes & Bug fixes
- docs: Remove remarks about Redis docs to
BF.MEXISTSbeing wrong (#2231 by @somechris) - Cluster connection: Add logs to indicate when recovery future starts and completes (#2240 by @virratanasangpunth)
- feat(cluster): add node address map for TLS hostname remapping (#2155 by @DhineshKrishnan1206)
- Async cluster connection: Reconnect after receiving push disconnection. (#2242 by @nihohit)
- docs: Add the need for
non_exhaustiveforenums andstructs (#2247 by @somechris) - Add support for the new FPHA storage hint (#2114 by @StefanPalashev)
CI & operational improvements
- Fix nightly linter (#2258 by @StefanPalashev)
- Versioning improvements to test infra (#2197 by @StefanPalashev)
Release notes
Open source →Changes & Bug fixes
- docs: Remove remarks about Redis docs to
BF.MEXISTSbeing wrong (#2231 by @somechris) - Cluster connection: Add logs to indicate when recovery future starts and completes (#2240 by @virratanasangpunth)
- feat(cluster): add node address map for TLS hostname remapping (#2155 by @DhineshKrishnan1206)
- Async cluster connection: Reconnect after receiving push disconnection. (#2242 by @nihohit)
- docs: Add the need for
non_exhaustiveforenums andstructs (#2247 by @somechris) - Add support for the new FPHA storage hint (#2114 by @StefanPalashev)
CI & operational improvements
- docs: Remove remarks about Redis docs to
-
1.4.117 Jul 2026Release notes
Open source →Changes & Bug fixes
CI & operational improvements
- ci: Allow
semicolon_in_expressions_from_macrosto make nightly pass (#2218 by @somechris) - tests/acl: Add the missing requirements for token based authentication (#2214 by @somechris)
- Makefile: Switch to
--lockedfor module tests on RESP3 (#2222 by @somechris)
Full Changelog: redis-1.4.0...redis-1.4.1
Release notes
Open source →Changes & Bug fixes
- Remove unnecessary sleep from cluster readonly error handling (#2223 by @nihohit)
CI & operational improvements
- ci: Allow
-
1.4.014 Jul 2026Release notes
Open source →Changes & Bug fixes
- Add support for Valkey's
bloommodule (#2168 by @somechris) - perf(pipeline): skip result-filter rebuild when nothing is ignored (#2186 by @fcostaoliveira)
- perf(cmd): encode into the Vec buffer instead of via io::Write (#2187 by @fcostaoliveira)
- Make backpressure boundary configurable (#2188 by @kushudai)
- perf(cmd): encode expiry options via itoa instead of format!/to_string (#2194 by @fcostaoliveira)
- Keep dispatching requests when repairing a connection to a replica (#2120 by @virratanasangpunth)
CI & operational improvements
- tests: Avoid relying on Redis bug in
test_object_freq_command(#2164 by @somechris) - Makefile: Select module tests directly to reduce output (#2167 by @somechris)
- test: Switch to selecting tests through profiles (#2210 by @somechris)
- Stabilize github actions dependencies (#2198 by @nihohit)
- tests: Switch direct use of RedisServer to better suited TestContext (#2202 by @somechris)
- ci: Document status of KeyDB, Valkey, and Kvrocks support (#2206 by @somechris)
- tests: Stop running sentinel tests when testing on unix sockets (#2208 by @somechris)
- Make test names greppable (#2211 by @nihohit)
New Contributors
Full Changelog: redis-1.3.0...redis-1.4.0
Release notes
Open source →Changes & Bug fixes
- Add support for Valkey's
bloommodule (#2168 by @somechris) - perf(pipeline): skip result-filter rebuild when nothing is ignored (#2186 by @fcostaoliveira)
- perf(cmd): encode into the Vec buffer instead of via io::Write (#2187 by @fcostaoliveira)
- Make backpressure boundary configurable (#2188 by @kushudai)
- perf(cmd): encode expiry options via itoa instead of format!/to_string (#2194 by @fcostaoliveira)
- Keep dispatching requests when repairing a connection to a replica (#2120 by @virratanasangpunth)
CI & operational improvements
- tests: Avoid relying on Redis bug in
test_object_freq_command(#2164 by @somechris) - Makefile: Select module tests directly to reduce output (#2167 by @somechris)
- test: Switch to selecting tests through profiles (#2210 by @somechris)
- Stabilize github actions dependencies (#2198 by @nihohit)
- tests: Switch direct use of RedisServer to better suited TestContext (#2202 by @somechris)
- ci: Document status of KeyDB, Valkey, and Kvrocks support (#2206 by @somechris)
- tests: Stop running sentinel tests when testing on unix sockets (#2208 by @somechris)
- Make test names greppable (#2211 by @nihohit)
- Add support for Valkey's
-
1.3.027 Jun 2026Release notes
Open source →Changes & Bug fixes
Add numbered databases support for the cluster client (#2146 by @virratanasangpunth)
fix(cluster): clamp retry backoff upper bound after min-wait floor (#2158 by @nihohit)
docs/ci: add wasm32-wasip2 build support for tokio-comp (#2153 by @Prashantsinghchouhan)
Add Bloom filter support (#2117 by @somechris)CI & operational improvements
tests/version: Parse all available versions (Valkey, modules, ...) (Version refactor 6/10) (#2143 by @somechris)
tests/version: Add disjunctive (OR) and conjunctive (AND) matchers (Version refactor 7/10) (#2144 by @somechris)
tests/version: Drop Redis binary version parsing (Version refactor 8/10) (#2145 by @somechris)
tests: Drop VERSION from version constants (version refactor 9/10) (#2147 by @somechris)
Fix flakey object tests (#2160 by @nihohit)
tests: Add test guards for Valkey servers (Version refactor 10/10) (#2148 by @somechris)New Contributors
- @virratanasangpunth made their first contribution in #2146
- @Prashantsinghchouhan made their first contribution in #2153
Full Changelog: redis-1.2.4...redis-1.3.0
Release notes
Open source →Changes & Bug fixes
- Add numbered databases support for the cluster client (#2146 by @virratanasangpunth)
- fix(cluster): clamp retry backoff upper bound after min-wait floor (#2158 by @nihohit)
- docs/ci: add wasm32-wasip2 build support for tokio-comp (#2153 by @Prashantsinghchouhan)
- Add Bloom filter support (#2117 by @somechris)
CI & operational improvements
- tests/version: Parse all available versions (Valkey, modules, ...) (Version refactor 6/10) (#2143 by @somechris)
- tests/version: Add disjunctive (
OR) and conjunctive (AND) matchers (Version refactor 7/10) (#2144 by @somechris) - tests/version: Drop Redis binary version parsing (Version refactor 8/10) (#2145 by @somechris)
- tests: Drop
_VERSION_from version constants (version refactor 9/10) (#2147 by @somechris) - Fix flakey object tests (#2160 by @nihohit)
- tests: Add test guards for Valkey servers (Version refactor 10/10) (#2148 by @somechris)
-
1.2.419 Jun 2026Release notes
Open source →Changes & Bug fixes
- cluster: refresh topology and retry on READONLY errors (#2115 by @alexcole)
- fix(aio): bound permit allocation by concurrency limit, not pipeline length (#2151 by @Ali2Arslan)
CI & operational improvements
- tests/cluster_async: Switch to positive version checking (Version refactor 1/8) (#2138 by @somechris)
- tests/basic: Switch version checks to constant (Version refactor 2/8) (#2139 by @somechris)
- tests: Split off version code into dedicated module (Version refactor 3/10) (#2140 by @somechris)
- tests/version: Add
TestClusterVersioningtrait for version handling (Version refactor 4/10) (#2141 by @somechris) - tests: Delegate version comparison to
TestClusterVersioning(Version refactor 5/10) (#2142 by @somechris) - tests/version: Require ownership to check version support (Version refactor 5b/10) (#2152 by @somechris)
- tests: Use server binary from env to detect major version (#2149 by @somechris)
New Contributors
- @Ali2Arslan made their first contribution in #2151
Full Changelog: redis-1.2.3...redis-1.2.4
Release notes
Open source →Changes & Bug fixes
- cluster: refresh topology and retry on READONLY errors (#2115 by @alexcole)
- fix(aio): bound permit allocation by concurrency limit, not pipeline length (#2151 by @Ali2Arslan)
CI & operational improvements
- tests/cluster_async: Switch to positive version checking (Version refactor 1/8) (#2138 by @somechris)
- tests/basic: Switch version checks to constant (Version refactor 2/8) (#2139 by @somechris)
- tests: Split off version code into dedicated module (Version refactor 3/10) (#2140 by @somechris)
- tests/version: Add
TestClusterVersioningtrait for version handling (Version refactor 4/10) (#2141 by @somechris) - tests: Delegate version comparison to
TestClusterVersioning(Version refactor 5/10) (#2142 by @somechris) - tests/version: Require ownership to check version support (Version refactor 5b/10) (#2152 by @somechris)
- tests: Use server binary from env to detect major version (#2149 by @somechris)
-
1.2.313 Jun 2026Release notes
Open source →Changes & Bug fixes
- Only stop EntraIdCredentialsProvider task on last Arc instance drop (#2084 by @hgzimmerman)
- docs: Straighten out documentation of
InfoType(#2121 by @somechris)
CI & operational improvements
- ci: Bump Redis patch versions (#2093 by @somechris)
- tests: Stop inflating dimensions during vector set dimension reduction (#2099 by @somechris)
- ci: Bump Redis 8.6.2 to Redis 8.8.0 (#2100 by @somechris)
- ci: Bump Valkey to 7.2.13, 8.0.9, and 9.0.4 (#2102 by @somechris)
- Bump rand from 0.9.3 to 0.10.1 (#2101 by @somechris)
- ci: Use targets from Makefile instead of duplicating commands (#2103 by @somechris)
- Makefile: Drop noop
efrom module test selector (#2116 by @somechris) - Makefile: Add
fixtarget to fix automatically fixable linting issues (#2122 by @somechris) - CI: Lock windows build to
windows-2022runner (#2127 by @somechris) - tests: Clean up getting versions (#2123 by @somechris)
- doc: Add some coding conventions (#2129 by @somechris)
- Add logs for mock cluster calls. (#2133 by @nihohit)
New Contributors
- @hgzimmerman made their first contribution in #2084
Full Changelog: redis-1.2.2...redis-1.2.3
Release notes
Open source →Changes & Bug fixes
- Only stop EntraIdCredentialsProvider task on last Arc instance drop (#2084 by @hgzimmerman)
- docs: Straighten out documentation of
InfoType(#2121 by @somechris)
CI & operational improvements
- ci: Bump Redis patch versions (#2093 by @somechris)
- tests: Stop inflating dimensions during vector set dimension reduction (#2099 by @somechris)
- ci: Bump Redis 8.6.2 to Redis 8.8.0 (#2100 by @somechris)
- ci: Bump Valkey to 7.2.13, 8.0.9, and 9.0.4 (#2102 by @somechris)
- Bump rand from 0.9.3 to 0.10.1 (#2101 by @somechris)
- ci: Use targets from Makefile instead of duplicating commands (#2103 by @somechris)
- Makefile: Drop noop
efrom module test selector (#2116 by @somechris) - Makefile: Add
fixtarget to fix automatically fixable linting issues (#2122 by @somechris) - CI: Lock windows build to
windows-2022runner (#2127 by @somechris) - tests: Clean up getting versions (#2123 by @somechris)
- doc: Add some coding conventions (#2129 by @somechris)
- Add logs for mock cluster calls. (#2133 by @nihohit)
-
1.2.229 May 2026Release notes
Open source →What's Changed
- Linter fixes (#2075 by @StefanPalashev)
- Add TLS certificate-based authentication support (#2044 by @StefanPalashev)
- add changelog entries for backports (#2077 by @WaffleLapkin)
- Add support for the HOTKEYS commands (#2061 by @StefanPalashev)
- add
set_concurrency_limittoConnectionManagerConfig(#2080 by @jiangzhe) - add support for setting SO_LINGER on redis sockets (#2086 by @svix-jbrown)
- Support bb8 pool for sentinel client (#2087 by @banthony42)
- add ?Sized bound to impl AsyncPushSender for std::sync::Arc (#2091 by @anatawa12)
Release notes
Open source →- Linter fixes (#2075 by @StefanPalashev)
- Add TLS certificate-based authentication support (#2044 by @StefanPalashev)
- add changelog entries for backports (#2077 by @WaffleLapkin)
- Add support for the HOTKEYS commands (#2061 by @StefanPalashev)
- add
set_concurrency_limittoConnectionManagerConfig(#2080 by @jiangzhe) - add support for setting SO_LINGER on redis sockets (#2086 by @svix-jbrown)
- Support bb8 pool for sentinel client (#2087 by @banthony42)
- add ?Sized bound to impl AsyncPushSender for std::sync::Arc<T> (#2091 by @anatawa12)
-
1.2.103 May 2026Release notes
Open source →Changes & Bug fixes
- commands: Stop double-
take-ing formset(#2043 by @somechris) - json: Stop double-wrapping commands in
RedisResult(#2042 by @somechris) - ValueType: Add missing possible types (#2030 by @somechris)
- Stream idempotent producers (at-most-once guarantee) (#2032 by @StefanPalashev)
- Improve streaming auth error handling (#2021 by @alexcole)
- feat: add Slot type and functions to create Slot / Route with key (#2047 by @anatawa12)
- Fix async connection handling to avoid TCP deadlocks (#2070 by @PDXKimani)
CI improvements
- ci: Bump Redis/Valkey versions (#2035 by @somechris)
- ci: Clarify how databases get selected (#2040 by @somechris)
- README: Declare "supported" versions (#2034 by @somechris)
- Add EntraID integration tests for OSS cluster API (#2050 by @StefanPalashev)
- fix new nightly lint & fmt (#2052 by @nihohit)
- log sentinel test startup failures. (#2062 by @nihohit)
- commands: Stop double-
-
1.2.004 Apr 2026Release notes
Open source →Changes & Bug fixes
- feat: support custom TcpSettings on sentinel client (#2016 by @hugobpx)
- Attempt to Fix CI (#2017 by @nihohit)
- Add lazy instantiation to the connection manager. (#2022 by @nihohit)
- Add strategies for routing reads to cluster replicas (#1985 by @PDXKimani)
- README: Add stanza about AI contributions (#2033 by @somechris)
- Don't compile tokio runtime when using smol (#2036 by @cstyles)
-
1.1.021 Mar 2026Release notes
Open source →Changes & Bug fixes
- Reuse host names during topology parsing. (#1995 by @nihohit)
- Relax trait requirements from ToRedisArgs impls (#2003 by @nihohit)
- Fix typo in geo.rs (#2007 by @cheneyni-451)
- Add a per-connection concurrency limiter (#2002 by @alexcole)
- Separate overall_response_timeout from response_timeout on cluster connections (#2005 by @alexcole)
- Fix AsyncConnectionConfig::new documentation (#2006 by @unixo)
CI improvements
- bench/cache: Dedupe RESP3 detection (#1997 by @somechris)
- ci: Use the bundled JSON module version for Redis >=8 (#1998 by @somechris)
- ci: Make RESP3 flag effective for JSON module tests (#1996 by @somechris)
- ci: Clean up trailing whitespace from configs/actions (#1999 by @somechris)
- ci: Switch Redis 8 to the bundled JSON module (#2004 by @somechris)
- tests: Drop tls parameter from
TestContext::with_modules(#2008 by @somechris) - tests: Disable snapshotting when running Redis in tests (#2010 by @somechris)
-
1.0.508 Mar 2026Release notes
Open source →Changes & Bug fixes
- Reduce blocking on async cluster connection. (#1967 by @nihohit)
- Unconditionally try to set READONLY on cluster connections (#1981 by @PDXKimani)
- Add async transaction support. (#1969 by @nihohit)
- Introduce modeled NodeAddress type to clusters (#1982 by @PDXKimani)
- Add support for StreamingCredentialsProvider to Redis cluster client (#1965 by @alexcole)
- Allow to override the library name and version advertised to the server (#1970 by @somechris)
CI improvements
- tests: Allow to set used Redis server binary via
REDISRS_SERVER_BIN(#1971 by @somechris) - Fix flakey test (#1983 by @nihohit)
- Reduce chance for sentinel test flakey failure (#1984 by @nihohit)
- Test matrix redis version update (#1987 by @somechris)
- Replace new tokio tests with runtime-agnostic tests. (#1990 by @nihohit)
- ci: Dedupe test matrix (#1991 by @somechris)
- Use assert matches in more tests (#1993 by @nihohit)
- Try fix flakiness in tests. (#1992 by @nihohit)
- Harmonize on
REDISRS_as prefix for environment variables (#1989 by @somechris)
-
1.0.419 Feb 2026Release notes
Open source →Changes & Bug fixes
- General improvements (#1948 by @nihohit)
- retry all requests on refresh error. (#1949 by @nihohit)
- Add token-based authentication (#1831 by @StefanPalashev)
- Warn if someone tries to set DB on a sentinel connection (#1952 by @palfrey)
Internal changes
-
1.0.330 Jan 2026Release notes
Open source →Changes & Bug fixes
- Update editions for crate (#1903 by @nihohit)
- Fix reconnect removes all other connections (#1919 by @nihohit)
- Mention added timeouts in migration doc (#1925 by @nihohit)
- Fix the reference to how to avoid setting client info (#1930 by @nihohit)
- Fix timeout details in docs (#1934 by @nihohit)
- Make MultiplexedConnection buffer size configurable (#1935 by @paz-raon)
- Fix acl info and add rule (#1928 by @cn-kali-team)
-
1.0.225 Dec 2025Release notes
Open source →Changes & Bug fixes
- Fix handling transactions in async cluster (#1901 by @nihohit)
-
1.0.111 Dec 2025 -
1.0.005 Dec 2025 -
1.0.0-rc.504 Dec 2025 pre-releaseRelease notes
Open source →Changes & Bug fixes
- Various CI fixes (#1869 by @nihohit)
- Streams - Simplify the process of claiming pending entries by adding the CLAIM argument to the XREADGROUP command (#1867 by @StefanPalashev)
- Support Compare and set [CAS] and Compare and delete [CAD] (#1862 by @StefanPalashev)
- Fix new lints (#1883 by @nihohit)
- Add support for the MSETEX command (#1871 by @StefanPalashev)
- Don't try to cache server statistics or patterns. (#1885 by @nihohit)
- Return an error when receiving an empty command/pipeline. (#1888 by @nihohit)
-
1.0.0-rc.423 Nov 2025 pre-releaseRelease notes
Open source →Changes & Bug fixes
- Add getters to
aio::ConnectionManagerConfig,ConnectionInfo,RedisConnectionInfoandio::tcp::TcpSettingstypes (#1859 by @LazyMechanic) - Allow the async cluster to be created without waiting for connections (#1863 by @Marwes)
- Add ignore_errors mode to Pipeline for partial results (#1865 by @kudlatyamroth)
- Add getters to
-
1.0.0-rc.304 Nov 2025 pre-releaseRelease notes
Open source →Changes & Bug fixes
- Fix
unreachable!panics (#1838 by @nihohit) - Add docs notes (#1840 by @Nekidev)
- Preparation for changes in async cluster reconnection. (#1841 by @nihohit)
- srandmember_multiple accepts negative count (#1855 by @nihohit)
- Remove clone from route commands (#1856 by @value by @nihohit)
CI improvements
- Fix
-
1.0.0-rc.220 Oct 2025 pre-releaseRelease notes
Open source →Changes
- Add more ToRedisArgs & FromRedisValue impls (#1825 by @QuarticCat)
- docs: add bb8 feature to Optional Features section (#1826 by @tottoto)
- Remove once_cell dependency and use std::LazyLock (#1828 by @FalkWoldmann)
- Implement Debug for ConnectionManager (#1829 by @nihohit)
- Improve support for collections, specifically [u8] (#1835 by @nihohit)
-
1.0.0-rc.106 Oct 2025 pre-release -
1.0.0-rc.006 Oct 2025 pre-release -
1.0.0-alpha.201 Oct 2025 pre-releaseNothing published for this version
-
1.0.0-alpha.119 Aug 2025 pre-releaseNothing published for this version
-
1.0.0-alpha17 Jul 2025 pre-releaseNothing published for this version
-
0.32.703 Oct 2025Release notes
Open source →Changes
- Port https://github.com/redis-rs/redis-rs/pull/1711 to 0.32.x (#1819 by @nihohit)
-
0.32.626 Sep 2025 -
0.32.510 Aug 2025Release notes
Open source →Changes & Bug fixes
- Added
async_get_all_replicas&get_all_replicasmethods (#1728 by @siddharthteli12) - Support Redis 8.2 stream command extensions and new deletion commands (#1743 by @StefanPalashev)
- Make
Script'sload_cmdpublic (#1731 by @somechris) - Clarify difference between RESP2 and RESP3 pubsub. (#1750 by @nihohit)
Documentation & CI improvements
- Add Cmd tests. (#1751 by @nihohit)
- test: Fix clippy warnings about
ref instead of clonein stream tests (#1748 by @somechris) - docs: Fix usage of command/script of
ScriptInvocation::eval_cmd(#1749 by @somechris) - Remove usage of criterion's blackbox in benches. (#1745 by @nihohit)
- Further limit flag frenzy checks (#1725 by @nihohit)
- Added
-
0.32.414 Jul 2025Release notes
Open source →Changes & Bug fixes
- Fix BITOP cluster routing. (#1709 by @nihohit)
- Fix some command links (#1708 by @nihohit)
- Update to socket2 v0.6 (#1712 by @Thomasdezeeuw)
- Add new operators to the BITOP command (#1710 by @StefanPalashev)
- Fix flaky test. (#1716 by @nihohit)
- Clarify sentinel docs about separate authentication for sentinel nodes. (#1715 by @nihohit)
- add method hget_multiple to explicitly call HMGET (#1721 by @bentheiii)
-
0.32.330 Jun 2025Release notes
Open source →Changes & Bug fixes
- Replace assert with comment. (#1692 by @nihohit)
- Ensure Sentinel#master_for propagates connection errors (#1697 by @bittrance)
- Add support for vector set commands (#1673 by @StefanPalashev)
- Implement conversions between ValueType and String and use it in its FromRedisValue implementation (#1695 by @skyleo)
- Propagate connection error when failing to connect to clustered redis (#1694 by @Nathan-Fenner)
Documentation & CI improvements
-
0.32.220 Jun 2025 -
0.32.118 Jun 2025Release notes
Open source →Changes & Bug fixes
- Make transaction status of pipelines public (#1663 by @somechris)
- Pipeline: Add comments explaining offset and count (#1664 by @somechris)
- prevent Smol tasks from being cancelled when dropped. (#1665 by @nihohit)
- extend sentinel api to be a bit more flexible (#1638 by @hugobpx)
- Run doc tests once, not on every test action. (#1671 by @nihohit)
- support extended options for ZADD (#1667 by @eakoli)
- Fix handling of nested tuples. (#1675 by @nihohit)
-
0.32.006 Jun 2025Release notes
Open source →Changes & Bug fixes
- Add missing
u128/i128for ToRedisArgs (#1637 by @Kriskras99) - Allow for buffer reuse with
Cmd(#1636 by @Kriskras99) - Fix new version lints. (#1640 by @nihohit)
- Make iterator return an Option<RedisResult> v2 (#1641 by @threema-donat)
- Add Client Side Caching for async Cluster Connections (#1642 by @altanozlu)
- Add new set of typed commands (#1480 by @MurrayGroves)
- Minimize the lifetime of mutex lock guards (#1658 by @svix-jplatte)
- Add missing
-
0.31.009 May 2025Release notes
Open source →Changes & Bug fixes
- Document variadic tuple implementations for FromRedisValue and ToRedisValue (#1617 by @Kriskras99)
- Add an optional bytes::BufMut function to RedisWrite (#1618 by @Kriskras99)
- Reorganize flag-frenzy comnfiguration (#1620 by @nihohit)
- Make
reserve_space_for_argstake aIntoIterator(#1622 by @Kriskras99) - Improve Send/Sync checks. (#1623 by @nihohit)
- BREAKING CHANGE Remove the
ringdependency fromrustls. (#1632 by @nihohit) - Implement Error::source for the RedisError struct (#1634 by @StefanPalashev)
- ConnectionManager: Reconnect when RESP3 is set. (#1612 by @nihohit)
-
0.30.022 Apr 2025Release notes
Open source →Changes & Bug fixes
- Add epoch for CacheManager (#1583 by @altanozlu)
- Breaking change Add support for the Smol runtime. (#1606 by @nihohit)
- Add support for hash field expiration commands (#1611 by @StefanPalashev)
- Breaking change Remove deprecated aio::Connection. (#1613 by @nihohit)
Documentation & CI improvements
-
0.29.506 Apr 2025 -
0.29.406 Apr 2025 withdrawn -
0.29.305 Apr 2025 withdrawnRelease notes
Open source →Changes & Bug fixes
- re-export socket2. (#1573 by @nihohit)
- Add commands to flush database(s) (#1576 by @somechris)
- Fix valkey(s) url schemes not able to be converted to connection infos; Add valkey+unix url scheme (#1574 by @MarkusTieger)
- A spec compliant version, with less changed code. (#1572 by @65001)
- Support bb8 for cluster client (#1577 by @wiserfz)
- Support custom DNS resolver for async client (#1581 by @wiserfz)
- Update danger_accept_invalid_hostnames for rustls 0.23.24 (#1592 by @jorendorff)
-
0.29.222 Mar 2025Release notes
Open source →Changes & Bug fixes
- Add Valkey URL scheme (#1558 by @displexic)
- Fix unreachable error when parsing a nested tuple. (#1562 by @nihohit)
- Remove PFCOUNT and PFMERGE from the list of illegal cluster pipeline commands (#1565) (#1566 by @stepanmracek)
- Remove EVALSHA from the list of illegal cluster pipeline commands (#1568 by @stepanmracek)
- feat: Add bb8 support for async client (#1564 by @Xuanwo)
- Add cache support to ConnectionManager. (#1567 by @nihohit)
- perf: Run reconnection attempts concurrently (#1557 by @Marwes)
-
0.29.101 Mar 2025Release notes
Open source →Changes & Bug fixes
- Update rustls-native-certs. (#1498)
- Async cluster connection: Move response timeout out. (#1532)
- Expose
Pipeline.len()function as public (#1539 by @Harry-Lees) - Implement
danger_accept_invalid_hostnamesoption. (#1529 by @jorendorff) - Timeout on queuing requests. (#1552)
Documentation improvements
- docs: Fix double quotes (#1537 by @somechris)
- docs: added CLIENT SETINFO optional feature (#1536 by @bourdeau)
CI improvements
- Run most cluster tests in secure mode when rustls is enabled (#1534 by @jorendorff)
-
0.29.016 Feb 2025Release notes
Open source →Changes & Bug fixes
- Tweaks to rustls usage (#1499 by @djc)
- Add client side caching support for MultiplexedConnection (#1296 by @altanozlu)
- Add buffered write methods to RedisWrite (#905 by @swwu)
- Include the reason for one connection failure if cluster connect fails (#1497 by @Marwes)
- Upgrade to rand 0.9 (#1525 by @gkorland)
- Allow configuring Sentinel with custom TLS certificates (#1335 by @ergonjomeier)
- Fix caching with the JSON module (#1520 by @kudlatyamroth)
- Allow users of async connections to set TCP settings. (#1523)
Documentation improvements
-
0.28.224 Jan 2025 -
0.28.111 Jan 2025 -
0.28.007 Jan 2025Release notes
Open source →Changes & Bug fixes
- ConnectionManager: reconnect on disconnect pushes (#1407)
- ConnectionManager: Support automatic resubscription (#1408)
- Remove async_trait dependency (#1451)
- Expose RetryMethod to consumers (#1454 by @Braedon-Wooding-Displayr)
- Add ping support to commands & pubsubs (#1341)
- Expose server creation logic through redis-test (#1363)
- Depend only on the required sub-crates of futures (#1465 by @jplatte)
- Breaking change: Mark more
Connectionfunctions as deprecated (#1468) - Move repeated logic to function (#1469)
Documentation improvements
- Update README to use rustls (#1397 by @khacminh)
- Update README.md regarding cargo-nextest (#1445 by @altanozlu)
- Improve features and TLS docs (#1464)
- Mention Valkey in Readme (#1467)
- Fix automatic resubscription docs (#1450)
- Replace
get_multiplexed_tokio_connectionin examples & tests (#1443)
CI improvements
-
0.27.603 Dec 2024Release notes
Open source →Changes & Bug fixes
- Use runtime agnostic retry mechanism. (#1392)
- Choose sleep function according to active runtime. (#1369)
- MpxConnection: Allow pipelines to continue after error. (#1293)
- Async cluster - Do not retry requests that have been dropped by the user. (#1318)
- Sync cluster - reconnect after complete disconnect. (#1233)
- feat: Add high level type for ROLE command (#1321 by @DCjanus)
- impl CLIENT ID (#1382 by @ArtemIsmagilov)
- impl CLIENT SETNAME (#1381 by @ArtemIsmagilov)
- Async push messages: Allow for more channel types. ([#1295]https://github.com/redis-rs/redis-rs/pull/1295)
Documentation improvements
- Add docs clarifying connection pool usage. (#1411)
- Describe as "for Redis" (#1423 by @zuiderkwast)
- Clarify RESP3 subscription documentation. (#1436)
- Add keywords to increase crate visibility. (#1425)
- Improve docs. (#1339)
- Add doc clarifying behavior of invoke_script. (#1396)
CI improvements
-
0.27.518 Oct 2024Release notes
Open source →Changes & Bug fixes
- Allow disabling timeouts in
ConnectionManager(#1372 by @dcreager) - Fix timeouts throwing Pubsub::get_message. (#1379)
- implement command
DRYRUN(#1373 by @ArtemIsmagilov) - Support for
hashbrown::HashMapandhashbrown::HashSet(#1359 by @feelingsonice) - impl CLIENT GETNAME (#1380 by @ArtemIsmagilov)
CI improvements
- Increase test CI action timeout. (#1370)
- Allow disabling timeouts in
-
0.27.409 Oct 2024 withdrawnRelease notes
Open source →Changes & Bug fixes
- Add lastid option to xclaim (#1360 by @urkle)
- Add xadd_options and xtrim_options (#1361 by @urkle)
- Sync connection: Handle timed-out responses by ignoring them. (#1290)
- Expose the sink and stream parts of an async pubsub to the user. (#1366)
CI improvements
- Add async iterator tests. (#1364)
-
0.27.305 Oct 2024Release notes
Open source →Changes & Bug fixes
- Add support for [TYPE type] in SCAN commands (#1332 by @Reiuji-ch)
- Align default timeouts on cluster client. (#1333)
- Updates unmaintained tokio-retry to tokio-retry2 (#1334 by @naomijub)
- Align verification of protocol & TLS during cluster creation. (#1289)
- Include the StreamExt use statement in docs (#1345 by @joshrotenberg)
- Further limit parser recursion (#1346)
CI improvements
-
0.27.214 Sep 2024Release notes
Open source →Changes & Bug fixes
- Pubsub: Keep stream running after sink was closed. (#1330)
-
0.27.114 Sep 2024 withdrawnRelease notes
Open source →Changes & Bug fixes
- fix sentinel feature error and update dependency (#1323 by @MokerWill)
-
0.27.012 Sep 2024 withdrawnRelease notes
Open source →Features
- Breaking change: Abort backing task to multiplexed connection on drop (#1264)
- Add r2d2 support for SentinelClient (#1297 by @smf8)
- Xinfo groups lag and entries-read support (#837 by @massimiliano-mantione)
- Improve cluster documentation. #1263
- Allow splitting async PubSub to Sink & Stream. #1144
- Default for ConnectionManagerConfig (#1308 by @feelingsonice)
Changes & Bug fixes
-
0.26.102 Aug 2024 -
0.26.026 Jul 2024Release notes
Open source →Features
- Breaking change: Add RESP3 support (#1058 by @altanozlu)
- Breaking change: Expose Errors in
Value#1093 - Add max retry delay for every reconnect (#1194 tonynguyen-sotatek)
- Add support for routing by node address. #1062
- Breaking change: Deprecate function that erroneously use tokio in its name. #1087
- Breaking change: Change is_single_arg to num_of_args in ToRedisArgs trait (#1238 by @git-hulk)
- feat: add implementation of
ToRedisArgs,FromRedisValuetraits forArc<T>,Box<T>,Rc<T>(#1088 by @xoac) - MultiplexedConnection: Relax type requirements for pubsub functions. #1129
- Add
invoke_scriptto commands to allow for pipelining of scripts (#1097 by @Dav1dde) - Adde MultiplexedConnection configuration, usable through Sentinel (#1167 by @jrylander)
- Slot parsing: Added handling to "?" and NULL hostnames in CLUSTER SLOTS. #1094
- Add scan_options (#1231 by @alekspickle)
- Add un/subscribe commands to
aio::ConnectionManager. #1149 - Mark deprecated constructor functions. #1218
Changes & Bug fixes
- Add xautoclaim command support (#1169 by @urkle)
- Add support of EXPIRETIME/PEXPIRETIME command (#1235 by @git-hulk)
- Implement
ToRedisArgsforstd::borrow::Cow(#1219 by @caass) - Correct the document of default feature flags (#1184 by @naskya)
- Add xgroup_createconsumer command support (#1170 by @urkle)
- Route unkeyed commands to a random node. #1095
- Add dependabot (#1053 by @oriontvv)
- impl
CloneforMsg(#1116 by @publicqi) - Make response_timeout Optional (#1134 by @zhixinwen)
- Remove redundant match. #1135
- Update cluster_async router_command docs (#1141 by @joachimbulow)
- Remove unnecessary generics from multiplexed_connection. #1142
- Fix compilation on Windows. (#1146 by @Yury-Fridlyand)
- fix #1150: change int types for expiry to
u64(#1152 by @ahmadbky) - check tls mode before setting it in the call of certs() (#1166 by @MyBitterCoffee)
- Fix explicit IoError not being recognized. #1191
- Fix typos (#1198 by @wutchzone)
- Fix typos (#1213 by @jayvdb)
- Fix some typos in connection_manager.rs and client.rs (#1217 by @meierfra-ergon)
- Send retries in multi-node reconnect to new connection. #1202
- Remove unnecessary clones from pubsub codepaths. #1127
- MultiplexedConnection: Report disconnects without polling. #1096
- Various documentation improvements. #1082
- Fix compilation break. #1224
- Split
Requestand routing from cluster async to separate files. #1226 - Improve documentation of multiplexed connection. #1237
- Fix async cluster documentation. #1259
- Cluster connection - Refactor response handling. #1222
- Add support of HASH expiration commands (#1232 by @git-hulk)
- Remove push manager #1251
- Remove tokio dependency from non-aio build. #1265
Dependency updates, lints & testing improvements
- Fix new lints. #1268
- Fix flakey multi-threaded test runs. #1261
- Fix documentation warning. #1258
- Fix nightly compilation warnings. #1229
- Fix fuzzer. #1145
- Fix flakey test. #1221
- Cluster creation in test: Try getting a new port if the current port isn't available. #1214
- Log the server / cluster logfile on error. #1200
- Remove loop from test. #1187
- Add
valkeycrate #1168 - Add tests for username+password authentication. #1157
- Improve PushManager tests in sync connection (#1100 by @altanozlu)
- Fix issues that prevented cluster tests from running concurrently. #1130
- Fix issue in cluster tests. #1139
- Remove redundant call. #1112
- Fix clippy warnings #1180
- Wrap tests with modules. #1084
- Add missing module skips. #1083
- Add vscode settings to gitignore. #1085
-
0.25.507 May 2026Release notes
Open source →- fixup dependency on never type fallback to unit (#2060 by @wafflelapkin)
-
0.25.429 May 2024 -
0.25.304 Apr 2024 -
0.25.216 Mar 2024 -
0.25.113 Mar 2024 withdrawn -
0.25.009 Mar 2024 withdrawnRelease notes
Open source →Features
- Breaking change: Add connection timeout to the cluster client (#834)
- Breaking change: Deprecate aio::Connection (#889)
- Cluster: fix read from replica & missing slots (#965)
- Async cluster connection: Improve handling of missing connections (#968)
- Add support for parsing to/from any sized arrays (#981)
- Upgrade to rustls 0.22 (#1000 by @djc)
- add SMISMEMBER command (#1002 by @Zacaria)
- Add support for some big number types (#1014 by @AkiraMiyakoda)
- Add Support for UUIDs (#1029 by @Rabbitminers)
- Add FromRedisValue::from_owned_redis_value to reduce copies while parsing response (#1030 by @Nathan-Fenner)
- Save reconnected connections during retries (#1033)
- Avoid panic on connection failure (#1035)
- add disable client setinfo feature and its default mode is off (#1036 by @Ggiggle)
- Reconnect on parsing errors (#1051)
- preallocate buffer for evalsha in Script (#1044 by @framlog)
Changes
- Align more commands routings (#938)
- Fix HashMap conversion (#977 by @mxbrt)
- MultiplexedConnection: Remove unnecessary allocation in send (#990)
- Tests: Reduce cluster setup flakiness (#999)
- Remove the unwrap_or! macro (#1010)
- Remove allocation from command function (#1008)
- Catch panics from task::spawn in tests (#1015)
- Fix lint errors from new Rust version (#1016)
- Fix warnings that appear only with native-TLS (#1018)
- Hide the req_packed_commands from docs (#1020)
- Fix documentation error (#1022 by @rcl-viveksharma)
- Fixes minor grammar mistake in json.rs file (#1026 by @RScrusoe)
- Enable ignored pipe test (#1027)
- Fix names of existing async cluster tests (#1028)
- Add lock file to keep MSRV constant (#1039)
- Fail CI if lock file isn't updated (#1042)
- impl Clone/Copy for SetOptions (#1046 by @ahmadbky)
- docs: add "connection-manager" cfg attr (#1048 by @DCNick3)
- Remove the usage of aio::Connection in tests (#1049)
- Fix new clippy lints (#1052)
- Handle server errors in array response (#1056)
- Appease Clippy (#1061)
- make Pipeline handle returned bulks correctly (#1063 by @framlog)
- Update mio dependency due to vulnerability (#1064)
- Simplify Sink polling logic (#1065)
- Separate parsing errors from general response errors (#1069)
0.24.1 (2026-05-07)
Bug fixes
- fixup dependency on never type fallback to unit (#2059 by @wafflelapkin)