Changes
* Add README attribute to Cargo.toml
* Update LICENSE file / symlink from parent directory
redis-0.22.0
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](https://github.com/redis-rs/redis-rs/pull/667) nihohit)
* Support ACL commands by adding Rule::Other to cover newly defined flags; adds new enum variant ([685](https://github.com/redis-rs/redis-rs/pull/685) garyhai)
* Switch from sha1 to sha1_smol; renames `sha1` feature ([576](https://github.com/redis-rs/redis-rs/pull/576))
Features
* Add support for RedisJSON ([657](https://github.com/redis-rs/redis-rs/pull/657) d3rpp)
* Add support for weights in zunionstore and zinterstore ([641](https://github.com/redis-rs/redis-rs/pull/641) ndd7xv)
* Cluster: Create read_from_replicas option ([635](https://github.com/redis-rs/redis-rs/pull/635) utkarshgupta137)
* Make Direction a public enum to use with Commands like BLMOVE ([646](https://github.com/redis-rs/redis-rs/pull/646) thorbadour)
* Add `ahash` feature for using ahash internally & for redis values ([636](https://github.com/redis-rs/redis-rs/pull/636) utkarshgupta137)
* Add Script::load function ([603](https://github.com/redis-rs/redis-rs/pull/603) zhiburt)
* Add support for OBJECT ([[610]](https://github.com/redis-rs/redis-rs/pull/610) roger)
* Add GETEX and GETDEL support ([582](https://github.com/redis-rs/redis-rs/pull/582) arpandaze)
* Add support for ZMPOP ([605](https://github.com/redis-rs/redis-rs/pull/605) gkorland)
Changes
* Rust 2021 Edition / MSRV 1.59.0
* Fix: Support IPV6 link-local address parsing ([679](https://github.com/redis-rs/redis-rs/pull/679) buaazp)
* Derive Clone and add Deref trait to InfoDict ([661](https://github.com/redis-rs/redis-rs/pull/661) danni-m)
* ClusterClient: add handling for empty initial_nodes, use ClusterParams to store cluster parameters, improve builder pattern ([669](https://github.com/redis-rs/redis-rs/pull/669) utkarshgupta137)
* Implement Debug for MultiplexedConnection & Pipeline ([664](https://github.com/redis-rs/redis-rs/pull/664) elpiel)
* Add support for casting RedisResult to CString ([660](https://github.com/redis-rs/redis-rs/pull/660) nihohit)
* Move redis crate to subdirectory to support multiple crates in project ([465](https://github.com/redis-rs/redis-rs/pull/465) tdyas)
* Stop versioning Cargo.lock ([620](https://github.com/redis-rs/redis-rs/pull/620))
* Auto-implement ConnectionLike for DerefMut ([567](https://github.com/redis-rs/redis-rs/pull/567) holmesmr)
* Return errors from parsing inner items ([608](https://github.com/redis-rs/redis-rs/pull/608))
* Make dns resolution async, in async runtime ([606](https://github.com/redis-rs/redis-rs/pull/606) roger)
* Make async_trait dependency optional ([572](https://github.com/redis-rs/redis-rs/pull/572) kamulos)
* Add username to ClusterClient and ClusterConnection ([596](https://github.com/redis-rs/redis-rs/pull/596) gildaf)