redis-0.22.0
版本发布时间: 2022-10-16 03:55:48
redis-rs/redis-rs最新发布版本:redis-0.27.4(2024-10-10 02:59:20)
Redis-rs is a high level redis library for Rust and aims to provide convenient access to all Redis functionality through a very flexible but low-level API. The crate has recently come under maintainership by @djc and @jaymell. Much appreciation and many thanks to @mitsuhiko, @badboy, @Marwes for their work in building this library over the years! The new maintainers hope to improve the velocity of bug fixes, new features, and PR reviews in the coming months.
This release adds various incremental improvements, including additional convenience commands, improved Cluster APIs, and various other bug fixes/library improvements.
Although the changes here are incremental, this is a major release due to the breaking changes listed below.
This release would not be possible without our many wonderful contributors -- thank you!
Breaking changes
- Box all large enum variants; changes enum signature (#667 @nihohit)
- Support ACL commands by adding Rule::Other to cover newly defined flags; adds new enum variant (#685 @garyhai)
- Switch from sha1 to sha1_smol; renames
sha1
feature (#576)
Features
- Add support for RedisJSON (#657 @d3rpp)
- Add support for weights in zunionstore and zinterstore (#641 @ndd7xv)
- Cluster: Create read_from_replicas option (#635 @utkarshgupta137)
- Make Direction a public enum to use with Commands like BLMOVE (#646 @thorbadour)
- Add
ahash
feature for using ahash internally & for redis values (#636 @utkarshgupta137) - Add Script::load function (#603 @zhiburt)
- Add support for OBJECT ([#610] @roger)
- Add GETEX and GETDEL support (#582 @arpandaze)
- Add support for ZMPOP (#605 @gkorland)
Changes
- Rust 2021 Edition / MSRV 1.59.0
- Fix: Support IPV6 link-local address parsing (#679 @buaazp)
- Derive Clone and add Deref trait to InfoDict (#661 @danni-m)
- ClusterClient: add handling for empty initial_nodes, use ClusterParams to store cluster parameters, improve builder pattern (#669 @utkarshgupta137)
- Implement Debug for MultiplexedConnection & Pipeline (#664 @elpiel)
- Add support for casting RedisResult to CString (#660 @nihohit)
- Move redis crate to subdirectory to support multiple crates in project (#465 @tdyas)
- Stop versioning Cargo.lock (#620)
- Auto-implement ConnectionLike for DerefMut (#567 @holmesmr)
- Return errors from parsing inner items (#608)
- Make dns resolution async, in async runtime (#606 @roger)
- Make async_trait dependency optional (#572 @kamulos)
- Add username to ClusterClient and ClusterConnection (#596 @gildaf)