All Versions
10
Latest Version
Avg Release Cycle
110 days
Latest Release
1628 days ago

Changelog History

  • v0.9.0 Changes

    December 15, 2018

    πŸ’₯ Breaking changes:

    • Rust 1.31 or later is now required.
    • ⚑️ Hyper has been updated to the 0.12 series.
    • tokio-core has been replaced with tokio, which changes APIs that used tokio-core's Core type previously.
    • Some method signatures have changed to use impl Trait instead of boxing.

    πŸ†• New features:

    • πŸ‘ etcd's authentication and authorization API is now supported.

    πŸ‘Œ Improvements:

    • Many additional common traits are now implemented for most of the types in the crate.
    • ⚑️ The version of etcd tested against has been updated to 2.3.8.
  • v0.8.0 Changes

    August 05, 2017

    πŸ’₯ Breaking changes:

    • Node's createdIndex and modifiedIndex are now optional again, as they are not present on the root node.
  • v0.7.0 Changes

    July 22, 2017

    πŸ’₯ Breaking changes:

    ⚑️ 0.7.0 is a major update with many breaking changes. The biggest ones are listed below.

    • The crate now uses asynchronous I/O with the futures and tokio crates.
    • 🚚 API functions have been moved into separate modules.
    • The error enum has several structural changes.
    • Some API endpoint functions that previously had many positional arguments now take an options struct.
    • The "action" field on KeyValueInfo (previously KeySpaceInfo) is now an enum instead of a string.
    • A few struct fields which were previously optional are now always present.
    • The main client type now has three constructors, one for HTTP, one for HTTPS, and one that allows the user to pass in a previously-constructed hyper::Client for full customization of the HTTP layer. The custom constructor is also necessary for X.509 client certificate authentication.

    πŸ†• New features:

    • All I/O is now asynchronous.
    • "Watch" operations on the key-value API can now specify timeouts.
    • πŸ“‡ Cluster metadata provided in HTTP response headers are now accessible.

    πŸ‘Œ Improvements:

    • πŸ“š Major updates to documentation.
  • v0.6.0 Changes

    May 02, 2017

    πŸ’₯ Breaking changes:

    • ClientOptions now takes a native_tls::TlsConnector instead of paths to PEM-formatted certificate/key files.

    ⚑️ Maintenance updates:

    • ⚑️ Updated hyper to the 0.10 series.
    • ⚑️ Updates serde to the 1.0 series.
  • v0.5.5 Changes

    October 15, 2016

    ⚑️ Maintenance updates:

    • ⚑️ Updates to the 0.8 series of the Serde crates.
  • v0.5.4 Changes

    June 04, 2016

    ⚑️ Maintenance updates:

    • βœ… Includes the latest version of syntex (0.33.0) for compatibility with the latest version of the Rust compiler's libsyntax crate.
  • v0.5.3 Changes

    June 04, 2016

    πŸ› Bug fixes:

    • πŸ›  Fixed an infinite loop in the implementation of Display for the etcd error type.
  • v0.5.2 Changes

    April 14, 2016

    πŸ› Bug fixes:

    • πŸ— Syntex is no longer built when building with --no-default-features.
  • v0.5.1 Changes

    April 14, 2016

    πŸ‘Œ Improvements:

    • ⚑️ Updated crate dependencies. Notably, hyper and syntex had non-SemVer compatible updates.
  • v0.5.0 Changes

    March 30, 2016

    πŸ’₯ Breaking changes:

    • 0️⃣ Client::default is now implemented via std::default::Default, which requires importing the trait.
    • Client::new now takes a slice of URLs instead of one URL.
    • Client::self_stats, Client::store_stats, and Client::version now return a vector of resultsβ€”one for each etcd member the client was initialized with. Additionally, Client::version has been renamed to Client::versions to make this more clear.
    • The Etcd variant of etcd::error::Error has been renamed Api and its contained type, EtcdError, has been renamed ApiError.
    • πŸ‘€ Two new variants have been added to etcd::error::Error: InvalidUrl and NoEndpoints. See the API docs for their purposes.
    • πŸ‘ KeySpaceResult's error type is now a vector of errors, to account for the client supporting multiple etcd members now.
    • The node field of the KeySpaceInfo struct is now wrapped in an Option.
    • The client, error, and keys modules are no longer public. All their user-facing public types are available from the crate root.
    • 🚀 The fields of the CountStats, FollowerStats, LatencyStats, and VersionInfo structs are no longer wrapped in Options.

    πŸ†• New features:

    • Client now accepts multiple URLs for etcd members. Except for API calls that specifically target a member, each API call will try each member in sequence, returning the first successful result. If all members are exhausted without a successful response, the client will return a vector of errorsβ€”one for each member it tried.
    • πŸ‘ A new constructor, Client::with_options, takes the new ClientOptions struct as an argument and provides support for three new features:
      1. Using a custom certificate authority for HTTPS connections.
      2. Authenticating with the etcd server(s) using client certificates for HTTPS connections.
      3. Authenticating with the etcd server(s) using a username and password for the auth API introduced in etcd 2.2.
    • etcd::error::Error and etcd::error::ApiError now implement std::error::Error.

    πŸ‘Œ Improvements:

    • πŸ“š Examples of usage have been added to the crate root documentation.
    • πŸ“š Various improvements to API documentation.