Releases: jimmycuadra/rust-etcd
Releases · jimmycuadra/rust-etcd
0.9.0
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.
0.8.0
Breaking changes:
Node
'screatedIndex
andmodifiedIndex
are now optional again, as they are not present on the root node.
0.7.0
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
(previouslyKeySpaceInfo
) 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.
0.6.0
Breaking changes:
ClientOptions
now takes anative_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.
0.5.5
Maintenance updates:
- Updates to the 0.8 series of the Serde crates.
0.5.4
Maintenance updates:
- Includes the latest version of syntex (0.33.0) for compatibility with the latest version of the Rust compiler's libsyntax crate.
0.5.3
Bug fixes:
- Fixed an infinite loop in the implementation of Display for the etcd error type.
0.5.2
Bug fixes:
- Syntex is no longer built when building with
--no-default-features
.
0.5.1
Improvements:
- Updated crate dependencies. Notably, hyper and syntex had non-SemVer compatible updates.
0.5.0
Breaking changes:
Client::default
is now implemented viastd::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
, andClient::version
now return a vector of results—one for each etcd member the client was initialized with. Additionally,Client::version
has been renamed toClient::versions
to make this more clear.- The
Etcd
variant ofetcd::error::Error
has been renamedApi
and its contained type,EtcdError
, has been renamedApiError
. - Two new variants have been added to
etcd::error::Error
:InvalidUrl
andNoEndpoints
. 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 theKeySpaceInfo
struct is now wrapped in anOption
. - The
client
,error
, andkeys
modules are no longer public. All their user-facing public types are available from the crate root. - The fields of the
CountStats
,FollowerStats
,LatencyStats
, andVersionInfo
structs are no longer wrapped inOption
s.
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 newClientOptions
struct as an argument and provides support for three new features:- Using a custom certificate authority for HTTPS connections.
- Authenticating with the etcd server(s) using client certificates for HTTPS connections.
- Authenticating with the etcd server(s) using a username and password for the auth API introduced in etcd 2.2.
etcd::error::Error
andetcd::error::ApiError
now implementstd::error::Error
.
Improvements:
- Examples of usage have been added to the crate root documentation.
- Various improvements to API documentation.