Skip to content

Commit b5c76ea

Browse files
committed
release 0.64.0
1 parent f9bfe11 commit b5c76ea

10 files changed

Lines changed: 45 additions & 42 deletions

File tree

CHANGELOG.md

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
11
<!-- next-header -->
22
UNRELEASED
33
===================
4-
* see https://github.com/kube-rs/kube-rs/compare/0.63.2...master
4+
* see https://github.com/kube-rs/kube-rs/compare/0.64.0...master
55

6-
* BREAKING: Replaced feature `kube-derive/schema` with attribute `#[kube(schema)]` - #690
6+
0.64.0 / 2021-11-16
7+
===================
8+
9+
* BREAKING: Replaced feature `kube-derive/schema` with attribute `#[kube(schema)]` - [#690](https://github.com/kube-rs/kube-rs/issues/690)
710
- If you currently disable default `kube-derive` default features to avoid automatic schema generation, add `#[kube(schema = "disabled")]` to your spec struct instead
8-
* BREAKING: Moved `CustomResource` derive crate overrides into subattribute `#[kube(crates(...))]` - #690
11+
* BREAKING: Moved `CustomResource` derive crate overrides into subattribute `#[kube(crates(...))]` - [#690](https://github.com/kube-rs/kube-rs/issues/690)
912
- Replace `#[kube(kube_core = .., k8s_openapi = .., schema = .., serde = .., serde_json = ..)]` with `#[kube(crates(kube_core = .., k8s_openapi = .., schema = .., serde = .., serde_json = ..))]`
10-
* Added `openssl-tls` feature to use `openssl` for TLS on all platforms. Note that, even though `native-tls` uses a platform specific TLS, `kube` requires `openssl` on all platforms because `native-tls` only allows PKCS12 input to load certificates and private key at the moment, and creating PKCS12 requires `openssl`. - #700
11-
* BREAKING: Changed to fail loading configurations with PEM-encoded certificates containing invalid sections instead of ignoring them. Updated `pem` to 1.0.1. - #702
12-
* `oauth`: Updated `tame-oauth` to [0.6.0](https://github.com/EmbarkStudios/tame-oauth/blob/main/CHANGELOG.md#060---2021-08-07) which supports the same default credentials flow as the Go `oauth2` for Google OAuth. In addition to reading the service account information from JSON file specified with `GOOGLE_APPLICATION_CREDENTIALS` environment variable, [Application Default Credentials](https://cloud.google.com/sdk/gcloud/reference/auth/application-default) from `gcloud`, and obtaining OAuth tokens from local metadata server when running inside GCP are now supported. - #701
13+
* Added `openssl-tls` feature to use `openssl` for TLS on all platforms. Note that, even though `native-tls` uses a platform specific TLS, `kube` requires `openssl` on all platforms because `native-tls` only allows PKCS12 input to load certificates and private key at the moment, and creating PKCS12 requires `openssl`. - [#700](https://github.com/kube-rs/kube-rs/issues/700)
14+
* BREAKING: Changed to fail loading configurations with PEM-encoded certificates containing invalid sections instead of ignoring them. Updated `pem` to 1.0.1. - [#702](https://github.com/kube-rs/kube-rs/issues/702)
15+
* `oauth`: Updated `tame-oauth` to [0.6.0](https://github.com/EmbarkStudios/tame-oauth/blob/main/CHANGELOG.md#060---2021-08-07) which supports the same default credentials flow as the Go `oauth2` for Google OAuth. In addition to reading the service account information from JSON file specified with `GOOGLE_APPLICATION_CREDENTIALS` environment variable, [Application Default Credentials](https://cloud.google.com/sdk/gcloud/reference/auth/application-default) from `gcloud`, and obtaining OAuth tokens from local metadata server when running inside GCP are now supported. - [#701](https://github.com/kube-rs/kube-rs/issues/701)
1316

1417
### Refining Errors
1518

16-
We started working on improving error ergonomics. See the tracking issue #688 for more details.
19+
We started working on improving error ergonomics. See the tracking issue [#688](https://github.com/kube-rs/kube-rs/issues/688) for more details.
1720

1821
The following is the summary of changes to `kube::Error` included in this release:
1922

2023
* Added `Error::Auth(kube::client::AuthError)` (errors related to client auth, some of them were previously in `Error::Kubeconfig`)
2124
* Added `Error::BuildRequest(kube::core::request::Error)` (errors building request from `kube::core`)
2225
* Added `Error::InferConfig(kube::config::InferConfigError)` (for `Client::try_default`)
23-
* Added `Error::OpensslTls(kube::client::OpensslTlsError)` (new `openssl-tls` feature) - #700
26+
* Added `Error::OpensslTls(kube::client::OpensslTlsError)` (new `openssl-tls` feature) - [#700](https://github.com/kube-rs/kube-rs/issues/700)
2427
* Added `Error::UpgradeConnection(kube::client::UpgradeConnectinError)` (`ws` feature, errors from upgrading a connection)
2528
* Removed `Error::Connection` (was unused)
2629
* Removed `Error::RequestBuild` (was unused)
@@ -41,29 +44,29 @@ The following is the summary of changes to `kube::Error` included in this releas
4144

4245
The following breaking changes were made as a part of an effort to refine errors (the list is large, but most of them are lower level, and shouldn't require much change in most cases):
4346

44-
* Removed `impl From<E> for kube::Error` - #686
45-
* Removed unused error variants in `kube::Error`: `Connection`, `RequestBuild`, `RequestSend`, `RequestParse` - #689
46-
* Removed unused error variant `kube::error::ConfigError::LoadConfigFile` - #689
47-
* Changed `kube::Error::RequestValidation(String)` to `kube::Error::BuildRequest(kube::core::request::Error)`. Includes possible errors from building an HTTP request, and contains some errors from `kube::core` that was previously grouped under `kube::Error::SerdeError` and `kube::Error::HttpError`. `kube::core::request::Error` is described below. - #686
48-
* Removed `kube::core::Error` and `kube::core::Result`. `kube::core::Error` was replaced by more specific errors. - #686
47+
* Removed `impl From<E> for kube::Error` - [#686](https://github.com/kube-rs/kube-rs/issues/686)
48+
* Removed unused error variants in `kube::Error`: `Connection`, `RequestBuild`, `RequestSend`, `RequestParse` - [#689](https://github.com/kube-rs/kube-rs/issues/689)
49+
* Removed unused error variant `kube::error::ConfigError::LoadConfigFile` - [#689](https://github.com/kube-rs/kube-rs/issues/689)
50+
* Changed `kube::Error::RequestValidation(String)` to `kube::Error::BuildRequest(kube::core::request::Error)`. Includes possible errors from building an HTTP request, and contains some errors from `kube::core` that was previously grouped under `kube::Error::SerdeError` and `kube::Error::HttpError`. `kube::core::request::Error` is described below. - [#686](https://github.com/kube-rs/kube-rs/issues/686)
51+
* Removed `kube::core::Error` and `kube::core::Result`. `kube::core::Error` was replaced by more specific errors. - [#686](https://github.com/kube-rs/kube-rs/issues/686)
4952
- Replaced `kube::core::Error::InvalidGroupVersion` with `kube::core::gvk::ParseGroupVersionError`
5053
- Changed the error returned from `kube::core::admission::AdmissionRequest::with_patch` to `kube::core::admission::SerializePatchError` (was `kube::core::Error::SerdeError`)
5154
- Changed the error associated with `TryInto<AdmissionRequest<T>>` to `kube::core::admission::ConvertAdmissionReviewError` (was `kube::core::Error::RequestValidation`)
5255
- Changed the error returned from methods of `kube::core::Request` to `kube::core::request::Error` (was `kube::core::Error`). `kube::core::request::Error` represents possible errors when building an HTTP request. The removed `kube::core::Error` had `RequestValidation(String)`, `SerdeError(serde_json::Error)`, and `HttpError(http::Error)` variants. They are now `Validation(String)`, `SerializeBody(serde_json::Error)`, and `BuildRequest(http::Error)` respectively in `kube::core::request::Error`.
53-
* Changed variants of error enums in `kube::runtime` to tuples. Replaced `snafu` with `thiserror`. - #686
54-
* Removed `kube::error::ConfigError` and `kube::Error::Kubeconfig(ConfigError)` - #696
56+
* Changed variants of error enums in `kube::runtime` to tuples. Replaced `snafu` with `thiserror`. - [#686](https://github.com/kube-rs/kube-rs/issues/686)
57+
* Removed `kube::error::ConfigError` and `kube::Error::Kubeconfig(ConfigError)` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
5558
- Error variants related to client auth were moved to a new error `kube::client::AuthError` as described below
5659
- Remaining variants were split into `kube::config::{InferConfigError, InClusterError, KubeconfigError}` as described below
57-
* Added `kube::client::AuthError` by extracting error variants related to client auth from `kube::ConfigError` and adding more variants to preserve context - #696
58-
* Moved `kube::error::OAuthError` to `kube::client::OAuthError` - #696
59-
* Changed all errors in `kube::client::auth` to `kube::client::AuthError` - #696
60-
* Added `kube::Error::Auth(kube::client::AuthError)` - #696
61-
* Added `kube::config::InferConfigError` which is an error from `Config::infer()` and `kube::Error::InferConfig(kube::config::InferConfigError)` - #696
62-
* Added `kube::config::InClusterError` for errors related to loading in-cluster configuration by splitting `kube::ConfigError` and adding more variants to preserve context. - #696
63-
* Added `kube::config::KubeconfigError` for errors related to loading kubeconfig by splitting `kube::ConfigError` and adding more variants to preserve context. - #696
64-
* Changed methods of `kube::Config` to return these erorrs instead of `kube::Error` - #696
65-
* Removed `kube::Error::InvalidUri` which was replaced by error variants preserving context, such as `KubeconfigError::ParseProxyUrl` - #696
66-
* Moved all errors from upgrading to a WebSocket connection into `kube::Error::UpgradeConnection(kube::client::UpgradeConnectionError)` - #696
60+
* Added `kube::client::AuthError` by extracting error variants related to client auth from `kube::ConfigError` and adding more variants to preserve context - [#696](https://github.com/kube-rs/kube-rs/issues/696)
61+
* Moved `kube::error::OAuthError` to `kube::client::OAuthError` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
62+
* Changed all errors in `kube::client::auth` to `kube::client::AuthError` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
63+
* Added `kube::Error::Auth(kube::client::AuthError)` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
64+
* Added `kube::config::InferConfigError` which is an error from `Config::infer()` and `kube::Error::InferConfig(kube::config::InferConfigError)` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
65+
* Added `kube::config::InClusterError` for errors related to loading in-cluster configuration by splitting `kube::ConfigError` and adding more variants to preserve context. - [#696](https://github.com/kube-rs/kube-rs/issues/696)
66+
* Added `kube::config::KubeconfigError` for errors related to loading kubeconfig by splitting `kube::ConfigError` and adding more variants to preserve context. - [#696](https://github.com/kube-rs/kube-rs/issues/696)
67+
* Changed methods of `kube::Config` to return these erorrs instead of `kube::Error` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
68+
* Removed `kube::Error::InvalidUri` which was replaced by error variants preserving context, such as `KubeconfigError::ParseProxyUrl` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
69+
* Moved all errors from upgrading to a WebSocket connection into `kube::Error::UpgradeConnection(kube::client::UpgradeConnectionError)` - [#696](https://github.com/kube-rs/kube-rs/issues/696)
6770

6871
</details>
6972

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Select a version of `kube` along with the generated [k8s-openapi](https://github
1717

1818
```toml
1919
[dependencies]
20-
kube = { version = "0.63.2", features = ["runtime","derive"] }
20+
kube = { version = "0.64.0", features = ["runtime","derive"] }
2121
k8s-openapi = { version = "0.13.1", default-features = false, features = ["v1_22"] }
2222
```
2323

@@ -166,7 +166,7 @@ Kube has basic support ([with caveats](https://github.com/kube-rs/kube-rs/issues
166166

167167
```toml
168168
[dependencies]
169-
kube = { version = "0.63.2", default-features = false, features = ["client", "rustls-tls"] }
169+
kube = { version = "0.64.0", default-features = false, features = ["client", "rustls-tls"] }
170170
k8s-openapi = { version = "0.13.1", default-features = false, features = ["v1_22"] }
171171
```
172172

examples/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ validator = { version = "0.14.0", features = ["derive"] }
3030
anyhow = "1.0.44"
3131
env_logger = "0.9.0"
3232
futures = "0.3.17"
33-
kube = { path = "../kube", version = "^0.63.0", default-features = false, features = ["admission"] }
34-
kube-derive = { path = "../kube-derive", version = "^0.63.0", default-features = false } # only needed to opt out of schema
33+
kube = { path = "../kube", version = "^0.64.0", default-features = false, features = ["admission"] }
34+
kube-derive = { path = "../kube-derive", version = "^0.64.0", default-features = false } # only needed to opt out of schema
3535
k8s-openapi = { version = "0.13.1", default-features = false }
3636
log = "0.4.11"
3737
serde = { version = "1.0.130", features = ["derive"] }

integration/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ path = "dapp.rs"
1717
anyhow = "1.0.44"
1818
env_logger = "0.9.0"
1919
futures = "0.3.17"
20-
kube = { path = "../kube", version = "^0.63.0", default-features = false, features = ["client", "rustls-tls"] }
20+
kube = { path = "../kube", version = "^0.64.0", default-features = false, features = ["client", "rustls-tls"] }
2121
k8s-openapi = { version = "0.13.1", features = ["v1_22"], default-features = false }
2222
log = "0.4.11"
2323
serde_json = "1.0.68"

kube-client/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "kube-client"
3-
version = "0.63.2"
3+
version = "0.64.0"
44
description = "Kubernetes client"
55
authors = [
66
"clux <sszynrae@gmail.com>",
@@ -57,7 +57,7 @@ rustls-pemfile = { version = "0.2.1", optional = true }
5757
webpki = { version = "0.21.4", optional = true }
5858
bytes = { version = "1.1.0", optional = true }
5959
tokio = { version = "1.12.0", features = ["time", "signal", "sync"], optional = true }
60-
kube-core = { path = "../kube-core", version = "^0.63.0"}
60+
kube-core = { path = "../kube-core", version = "^0.64.0"}
6161
jsonpath_lib = { version = "0.3.0", optional = true }
6262
tokio-util = { version = "0.6.8", optional = true, features = ["io", "codec"] }
6363
hyper = { version = "0.14.13", optional = true, features = ["client", "http1", "stream", "tcp"] }

kube-core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "kube-core"
33
description = "Kube shared types, traits and client-less behavior"
4-
version = "0.63.2"
4+
version = "0.64.0"
55
authors = [
66
"clux <sszynrae@gmail.com>",
77
"kazk <kazk.dev@gmail.com>",

kube-derive/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "kube-derive"
33
description = "Custom derives for the kube kubernetes crates"
4-
version = "0.63.2"
4+
version = "0.64.0"
55
authors = [
66
"clux <sszynrae@gmail.com>",
77
"kazk <kazk.dev@gmail.com>",

kube-derive/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Add the `derive` feature to `kube`:
66

77
```toml
88
[dependencies]
9-
kube = { version = "0.63.2", feature = ["derive"] }
9+
kube = { version = "0.64.0", feature = ["derive"] }
1010
```
1111

1212
## Usage

kube-runtime/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "kube-runtime"
3-
version = "0.63.2"
3+
version = "0.64.0"
44
description = "Kubernetes futures controller runtime"
55
authors = [
66
"Teo Klestrup Röijezon <teo@nullable.se>",
@@ -21,7 +21,7 @@ rustdoc-args = ["--cfg", "docsrs"]
2121

2222
[dependencies]
2323
futures = "0.3.17"
24-
kube-client = { path = "../kube-client", version = "^0.63.0", default-features = false, features = ["jsonpatch", "client"] }
24+
kube-client = { path = "../kube-client", version = "^0.64.0", default-features = false, features = ["jsonpatch", "client"] }
2525
derivative = "2.1.1"
2626
serde = "1.0.130"
2727
smallvec = "1.7.0"

kube/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "kube"
3-
version = "0.63.2"
3+
version = "0.64.0"
44
description = "Kubernetes client and async controller runtime"
55
authors = [
66
"clux <sszynrae@gmail.com>",
@@ -37,10 +37,10 @@ features = ["client", "native-tls", "rustls-tls", "openssl-tls", "derive", "ws",
3737
rustdoc-args = ["--cfg", "docsrs"]
3838

3939
[dependencies]
40-
kube-derive = { path = "../kube-derive", version = "^0.63.0", optional = true }
41-
kube-core = { path = "../kube-core", version = "^0.63.0"}
42-
kube-client = { path = "../kube-client", version = "^0.63.0", default-features = false, optional = true }
43-
kube-runtime = { path = "../kube-runtime", version = "^0.63.0", optional = true}
40+
kube-derive = { path = "../kube-derive", version = "^0.64.0", optional = true }
41+
kube-core = { path = "../kube-core", version = "^0.64.0"}
42+
kube-client = { path = "../kube-client", version = "^0.64.0", default-features = false, optional = true }
43+
kube-runtime = { path = "../kube-runtime", version = "^0.64.0", optional = true}
4444

4545
# Not used directly, but required by resolver 2.0 to ensure that the k8s-openapi dependency
4646
# is considered part of the "deps" graph rather than just the "dev-deps" graph

0 commit comments

Comments
 (0)