Releases: redis-rs/redis-rs
Releases · redis-rs/redis-rs
redis-0.26.1
What's Changed
- update MultiplexedConnection by @zh-jq in #1270
- bug: Exported configured-out item. by @EmilyMatt in #1273
v0.26.0
0.26.0 (2024-07-26)
Features
- Breaking change: Add RESP3 support (#1058 @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 @git-hulk)
- feat: add implementation of
ToRedisArgs
,FromRedisValue
traits forArc<T>
,Box<T>
,Rc<T>
(1088 @xoac) - MultiplexedConnection: Relax type requirements for pubsub functions. 1129
- Add
invoke_script
to commands to allow for pipelining of scripts (1097 @Dav1dde) - Adde MultiplexedConnection configuration, usable through Sentinel (1167 @jrylander)
- Slot parsing: Added handling to "?" and NULL hostnames in CLUSTER SLOTS. 1094
- Add scan_options (1231 @alekspickle)
- Add un/subscribe commands to
aio::ConnectionManager
. 1149 - Mark deprecated constructor functions. 1218
Changes & Bug fixes
- Add xautoclaim command support (1169 @urkle)
- Add support of EXPIRETIME/PEXPIRETIME command (#1235 @git-hulk)
- Implement
ToRedisArgs
forstd::borrow::Cow
(#1219 @caass) - Correct the document of default feature flags (#1184 @naskya)
- Add xgroup_createconsumer command support (#1170 @urkle)
- Route unkeyed commands to a random node. 1095
- Add dependabot (1053 @oriontvv)
- impl
Clone
forMsg
(1116 @publicqi) - Make response_timeout Optional (1134 @zhixinwen)
- Remove redundant match. 1135
- Update cluster_async router_command docs (1141 @joachimbulow)
- Remove unnecessary generics from multiplexed_connection. 1142
- Fix compilation on Windows. (1146 @Yury-Fridlyand)
- fix #1150: change int types for expiry to
u64
(1152 @ahmadbky) - check tls mode before setting it in the call of certs() (1166 @MyBitterCoffee)
- Fix explicit IoError not being recognized. 1191
- Fix typos (1198 @wutchzone)
- Fix typos (1213 @jayvdb)
- Fix some typos in connection_manager.rs and client.rs (1217 @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
Request
and 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 @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
valkey
crate 1168 - Add tests for username+password authentication. 1157
- Improve PushManager tests in sync connection (1100 @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
v0.25.3
v0.25.2
v0.25.1
v0.25.0
0.25.0 (2024-03-08)
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 @djc)
- add SMISMEMBER command (#1002 @Zacaria)
- Add support for some big number types (#1014 @AkiraMiyakoda)
- Add Support for UUIDs (#1029 @Rabbitminers)
- Add FromRedisValue::from_owned_redis_value to reduce copies while parsing response (#1030 @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 @Ggiggle)
- Reconnect on parsing errors (#1051)
- preallocate buffer for evalsha in Script (#1044 @framlog)
Changes
- Align more commands routings (#938)
- Fix HashMap conversion (#977 @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 documentaion error (#1022 @rcl-viveksharma)
- Fixes minor grammar mistake in json.rs file (#1026 @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 @ahmadbky)
- docs: add "connection-manager" cfg attr (#1048 @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 @framlog)
- Update mio dependency due to vulnerability (#1064)
- Simplify Sink polling logic (#1065)
- Separate parsing errors from general response errors (#1069)
v0.24.0
0.24.0 (2023-12-05)
Features
- Breaking change: Support Mutual TLS (#858 @sp-angel)
- Implement
FromRedisValue
forBox<[T]>
andArc<[T]>
(#799 @JOT85) - Sync Cluster: support multi-slot operations. (#967)
- Execute multi-node requests using try_request. (#919)
- Sorted set blocking commands (#962 @gheorghitamutu)
- Allow passing routing information to cluster. (#899)
- Add
tcp_nodelay
feature (#941 @PureWhiteWu) - Add support for multi-shard commands. (#900)
Changes
- Order in usage of ClusterParams. (#997)
- Breaking change: Fix StreamId::contains_key signature (#783 @Ayush1325)
- Breaking change: Update Command expiration values to be an appropriate type (#589 @joshleeb)
- Breaking change: Bump aHash to v0.8.6 (#966 @aumetra)
- Fix features for
load_native_certs
. (#996) - Revert redis-test versioning changes (#993)
- Tests: Add retries to test cluster creation (#994)
- Fix sync cluster behavior with transactions. (#983)
- Sync Pub/Sub - cache received pub/sub messages. (#910)
- Prefer routing to primary in a transaction. (#986)
- Accept iterator at
ClusterClient
initialization (#987 @ruanpetterson) - Breaking change: Change timeouts from usize and isize to f64 (#988 @eythorhel19)
- Update minimal rust version to 1.6.5 (#982)
- Disable JSON module tests for redis 6.2.4. (#980)
- Add connection string examples (#976 @NuclearOreo)
- Move response policy into multi-node routing. (#952)
- Added functions that allow tests to check version. (#963)
- Fix XREADGROUP command ordering as per Redis Docs, and compatibility with Upstash Redis (#960 @prabhpreet)
- Optimize make_pipeline_results by pre-allocate memory (#957 @PureWhiteWu)
- Run module tests sequentially. (#956)
- Log cluster creation output in tests. (#955)
- CI: Update and use better maintained github actions. (#954)
- Call CLIENT SETINFO on new connections. (#945)
- Deprecate functions that erroneously use
tokio
in their name. (#913) - CI: Increase timeouts and use newer redis. (#949)
- Remove redis version from redis-test. (#943)
v0.23.3
0.23.3 (2023-09-01)
Note that this release fixes a small regression in async Redis Cluster handling of the PING
command.
Based on updated response aggregation logic in #888, it
will again return a single response instead of an array.
Features
Fixes
v0.23.2
v0.23.1
0.23.1 (2023-07-28)
Features
- Add basic Sentinel functionality (#836 @felipou)
- Enable keep alive on tcp connections via feature (#886 @DoumanAsh)
- Support fan-out commands in cluster-async (#843 @nihohit)
- connection_manager: retry and backoff on reconnect (#804 @nihohit)
Changes
- Tests: Wait for all servers (#901 @barshaul)
- Pin
tempfile
dependency (#902) - Update routing data for commands. (#887 @nihohit)
- Add basic benchmark reporting to CI (#880)
- Add
set_options
cmd (#879 @RokasVaitkevicius) - Move random connection creation to when needed. (#882 @nihohit)
- Clean up existing benchmarks (#881)
- Improve async cluster client performance. (#877 @nihohit)
- Allow configuration of cluster retry wait duration (#859 @nihohit)
- Fix async connect when ns resolved to multi ip (#872 @hugefiver)
- Reduce the number of unnecessary clones. (#874 @nihohit)
- Remove connection checking on every request. (#873 @nihohit)
- cluster_async: Wrap internal state with Arc. (#864 @nihohit)
- Fix redirect routing on request with no route. (#870 @nihohit)
- Amend README for macOS users (#869 @sarisssa)
- Improved redirection error handling (#857)
- Fix minor async client bug. (#862 @nihohit)
- Split aio.rs to separate files. (#821 @nihohit)
- Add time feature to tokio dependency (#855 @robjtede)
- Refactor cluster error handling (#844)
- Fix unnecessarily mutable variable (#849 @kamulos)
- Newtype SlotMap (#845)
- Bump MSRV to 1.60 (#846)
- Improve error logging. (#838 @nihohit)
- Improve documentation, add references to
redis-macros
(#769 @daniel7grant) - Allow creating Cmd with capacity. (#817 @nihohit)