Skip to content

Releases: redis-rs/redis-rs

redis-0.26.1

02 Aug 06:06
Compare
Choose a tag to compare

What's Changed

v0.26.0

26 Jul 09:19
Compare
Choose a tag to compare

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 for Arc<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 for std::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 for Msg (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

04 Apr 05:21
Compare
Choose a tag to compare

0.25.3 (2024-04-04)

  • Handle empty results in multi-node operations (#1099)

v0.25.2

16 Mar 17:18
Compare
Choose a tag to compare

0.25.2 (2024-03-15)

  • MultiplexedConnection: Separate response handling for pipeline. (#1078)

v0.25.1

13 Mar 04:36
b179ea1
Compare
Choose a tag to compare

0.25.1 (2024-03-12)

v0.25.0

09 Mar 16:31
Compare
Choose a tag to compare

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

05 Dec 15:32
37ba561
Compare
Choose a tag to compare

0.24.0 (2023-12-05)

Features

  • Breaking change: Support Mutual TLS (#858 @sp-angel)
  • Implement FromRedisValue for Box<[T]> and Arc<[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

01 Sep 14:18
85960f4
Compare
Choose a tag to compare

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

  • Add key_type command (#933 @bruaba)
  • Async cluster: Group responses by response_policy. (#888)

Fixes

  • Remove unnecessary heap allocation (#939 @thechampagne)
  • Sentinel tests: Ensure no ports are used twice (#915)
  • Fix lint issues (#937)
  • Fix JSON serialization error test (#928)
  • Remove unused dependencies (#916)

v0.23.2

12 Aug 17:36
fe2a7df
Compare
Choose a tag to compare

0.23.2 (2023-08-10)

Fixes

  • Fix sentinel tests flakiness (#912)
  • Rustls: Remove usage of deprecated method (#921)
  • Fix compiling with sentinel feature, without aio feature (#922 @brocaar)
  • Add timeouts to tests github action (#911)

v0.23.1

28 Jul 05:21
cbe47c6
Compare
Choose a tag to compare

0.23.1 (2023-07-28)

Features

Changes