etcd-client
An etcd v3 API client
0.19.0
7.8M downloads/mo
#3567 most downloaded on crates.io
etcdv3/etcd-client
What this package is like to depend on
Last release 2 months ago
09 Jun 2026
Ships fairly regularly
a new release about every 3 months
Rarely documented
notes for 10 of 50 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
50 releases · first in 2020
3 releases in the last 12 months
see the full history below
Release timeline
50 releases · Mar 2020 to Jun 2026Releases
latest 50-
0.19.009 Jun 2026Release notes
Open source →What's Changed
- Expose
watch_request::RequestUnionasPbWatchRequestUnionby @srporwal12 in #117
Breaking Changes
Fixed the
WatchStream::splitmethod introduced in v0.18.0, by @belltoy in #119:- WatchStream::split(self) -> (Sender<WatchRequest>, Streaming<PbWatchResponse>) + WatchStream::split(self) -> (WatchRequestSender, WatchResponseStream)
Read discussion details in #118.
Full Changelog: v0.18.0...v0.19.0
- Expose
-
0.18.018 Jan 2026Release notes
Open source →What's Changed
- Simplify authentication (with interceptor) by @belltoy in #106
- Re-design watch stream API by @belltoy in #108
- Expose more protobuf structs to make transactions testable and mockable by @g-murzik in #25
- fix: return error instead of panic when connect_with_balanced_channel by @belltoy in #78
Breaking Changes
Upgrade from pre 0.17 to 0.18
Since 0.18, the
WatchClientAPI has changed to support watch stream error handling precisely.The
WatchClientis not a high level watcher, it is just a watch API stub. So it should be only
responsible for sending requests and receiving responses. Let the high level watcher decide what
to do if received an unexpected response.- WatchClient::watch(key: impl Into<Vec<u8>>, options: Option<WatchOptions>) -> Result<(WatchResponse, Watcher, WatchStream)> + WatchClient::watch(key: impl Into<Vec<u8>>, options: Option<WatchOptions>) -> Result<WatchStream>
The new
WatchStreamis different from the old version. It represents underlying bidirectional
watch stream (HTTP 2 stream). So it can be used to send requests and receive responses and events.It's the user's responsibility to check the received response is a response or an event, if it is
created successfully or not, or if it is a cancel response.See watch.rs for example.
Full Changelog: v0.17.0...v0.18.0
-
0.17.020 Sep 2025Release notes
Open source → -
0.16.115 Jul 2025Release notes
Open source → -
0.16.013 Jul 2025Release notes
Open source →What's Changed
- Update tonic to 0.13.1 and tower to 0.5
- Set large-error-threshold to 256 (#105)
- feat: allow caller to initialize the channel (#93)
- feat: make channel creation more flexible (#98)
Full Changelog: v0.15.0...v0.16.0
-
0.15.011 Apr 2025Release notes
Open source →What's Changed
- Use
{RwLock/Mutex}::clear_poison()to remove{RwLock/Mutex}::unwrap()by @davidli2010 in #94 - fix: change MSRV badge to 1.80 by @nmooscisco in #96
- fix: make doctests in openssl_tls::transport compile by @nmooscisco in #97
- feat: add support for requiring a leader by @nmooscisco in #95
- feat(ci): run cargo clippy with all feature combinations by @nmooscisco in #99
- feat: add the ability to build a server by @nmooscisco in #101
New Contributors
- @nmooscisco made their first contribution in #96
Full Changelog: v0.14.1...v0.15.0
- Use
-
0.14.128 Jan 2025Release notes
Open source →Happy Chinese New Year! 🎉
- Enhance the example which showcases the snapshot maintenance operation. by @renormalize in #83
- lease keep alive return lease not found error by @messense in #87
-
0.14.010 Jul 2024 -
0.13.001 Jun 2024Release notes
Open source →- Support manually in-place authentication token update (#65 )
- Upgrade tonic to 0.11
- Bump tokio to 1.38
-
0.12.401 Jan 2024 -
0.12.321 Nov 2023Nothing published for this version
-
0.12.220 Nov 2023Nothing published for this version
-
0.12.122 Sep 2023Nothing published for this version
-
0.12.015 Sep 2023Nothing published for this version
-
0.11.103 May 2023Nothing published for this version
-
0.11.030 Apr 2023Nothing published for this version
-
0.10.429 Mar 2023Nothing published for this version
-
0.10.324 Feb 2023Nothing published for this version
-
0.10.205 Oct 2022Nothing published for this version
-
0.10.111 Aug 2022Nothing published for this version
-
0.10.002 Aug 2022Nothing published for this version
-
0.9.220 May 2022Nothing published for this version
-
0.9.127 Apr 2022Nothing published for this version
-
0.9.005 Apr 2022Nothing published for this version
-
0.8.404 Mar 2022Nothing published for this version
-
0.8.309 Jan 2022Nothing published for this version
-
0.8.212 Dec 2021Nothing published for this version
-
0.8.127 Nov 2021Nothing published for this version
-
0.8.027 Nov 2021Nothing published for this version
-
0.7.204 Sep 2021Nothing published for this version
-
0.7.119 Jul 2021Nothing published for this version
-
0.7.011 Jul 2021Nothing published for this version
-
0.6.510 Jul 2021Nothing published for this version
-
0.6.411 Jun 2021Nothing published for this version
-
0.6.303 May 2021Nothing published for this version
-
0.6.226 Mar 2021Nothing published for this version
-
0.6.109 Feb 2021Nothing published for this version
-
0.6.017 Jan 2021Nothing published for this version
-
0.5.517 Jan 2021Nothing published for this version
-
0.5.423 Oct 2020Nothing published for this version
-
0.5.326 Jun 2020Nothing published for this version
-
0.5.215 Jun 2020Nothing published for this version
-
0.5.115 Jun 2020Nothing published for this version
-
0.5.014 Jun 2020Nothing published for this version
-
0.4.024 May 2020Nothing published for this version
-
0.3.021 May 2020Nothing published for this version
-
0.2.116 Apr 2020Nothing published for this version
-
0.2.004 Apr 2020Nothing published for this version
-
0.1.128 Mar 2020Nothing published for this version
-
0.1.021 Mar 2020Nothing published for this version