Skip to content

Commit

Permalink
release 0.66.0
Browse files Browse the repository at this point in the history
  • Loading branch information
clux committed Jan 15, 2022
1 parent efcb564 commit 1c3f0a5
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 21 deletions.
11 changes: 7 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,32 @@
<!-- next-header -->
UNRELEASED
===================
* see https://github.com/kube-rs/kube-rs/compare/0.65.0...master
* see https://github.com/kube-rs/kube-rs/compare/0.66.0...master

0.66.0 / 2022-01-15
===================

## News

Tons of minor ergonomics features landed this release. Note this release's 3 **most discussed** changes:

### Support for auto-generating schemas for enums in `kube-derive`

It is now possible to embed complex enums inside structs that use `#[derive(CustomResource)]` - #779.
It is now possible to embed complex enums inside structs that use `#[derive(CustomResource)]` - [#779](https://github.com/kube-rs/kube-rs/issues/779).

This has been a higly requested feature since the inception of auto-generated schemas. It does not work for all cases, and has certain ergonomics caveats, but represents a huge step forwards.

Note that **if** you depend on `kube-derive` directly rather than via `kube` then you **must** now add the `schema` feature to `kube-core`

### New `StreamBackoff` mechanism in `kube-runtime`

To avoid spamming the apiserver when on certain watch errors cases, it's now possible to configure the `watcher` to set backoffs via #703. The new `default_backoff` follows existing `client-go` conentions of being kind to the api-server.
To avoid spamming the apiserver when on certain watch errors cases, it's now possible to configure the `watcher` to set backoffs via [#703](https://github.com/kube-rs/kube-rs/issues/703). The new `default_backoff` follows existing `client-go` conentions of being kind to the api-server.

Initially, this **default-enabled** in `Controller` watches (configurable via `Controller::trigger_backoff`) and avoids spam errors when crds are not installed.

### New version priority parser in `kube-core`

To aid users picking the most appropriate version of a `kind` from api discovery or through a CRD, two new sort orders have been exposed on the new `kube_core::Version` on #764
To aid users picking the most appropriate version of a `kind` from api discovery or through a CRD, two new sort orders have been exposed on the new `kube_core::Version` on [#764](https://github.com/kube-rs/kube-rs/issues/764)

- `Version::priority` implementing [kubernetes version priority](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#version-priority)
- `Version::generation` implementing a more traditional; generational sort (favouring semantically higher version numbers - even if they are prereleases)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Select a version of `kube` along with the generated [k8s-openapi](https://github

```toml
[dependencies]
kube = { version = "0.65.0", features = ["runtime","derive"] }
kube = { version = "0.66.0", features = ["runtime","derive"] }
k8s-openapi = { version = "0.13.1", default-features = false, features = ["v1_22"] }
```

Expand Down Expand Up @@ -158,7 +158,7 @@ Kube has basic support ([with caveats](https://github.com/kube-rs/kube-rs/issues

```toml
[dependencies]
kube = { version = "0.65.0", default-features = false, features = ["client", "rustls-tls"] }
kube = { version = "0.66.0", default-features = false, features = ["client", "rustls-tls"] }
k8s-openapi = { version = "0.13.1", default-features = false, features = ["v1_22"] }
```

Expand Down
2 changes: 1 addition & 1 deletion e2e/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ path = "dapp.rs"
anyhow = "1.0.44"
env_logger = "0.9.0"
futures = "0.3.17"
kube = { path = "../kube", version = "^0.65.0", default-features = false, features = ["client", "rustls-tls"] }
kube = { path = "../kube", version = "^0.66.0", default-features = false, features = ["client", "rustls-tls"] }
k8s-openapi = { version = "0.13.1", features = ["v1_22"], default-features = false }
log = "0.4.11"
serde_json = "1.0.68"
Expand Down
4 changes: 2 additions & 2 deletions examples/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ anyhow = "1.0.44"
env_logger = "0.9.0"
futures = "0.3.17"
jsonpath_lib = "0.3.0"
kube = { path = "../kube", version = "^0.65.0", default-features = false, features = ["admission"] }
kube-derive = { path = "../kube-derive", version = "^0.65.0", default-features = false } # only needed to opt out of schema
kube = { path = "../kube", version = "^0.66.0", default-features = false, features = ["admission"] }
kube-derive = { path = "../kube-derive", version = "^0.66.0", default-features = false } # only needed to opt out of schema
k8s-openapi = { version = "0.13.1", default-features = false }
log = "0.4.11"
serde = { version = "1.0.130", features = ["derive"] }
Expand Down
4 changes: 2 additions & 2 deletions kube-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "kube-client"
version = "0.65.0"
version = "0.66.0"
description = "Kubernetes client"
authors = [
"clux <[email protected]>",
Expand Down Expand Up @@ -56,7 +56,7 @@ rustls = { version = "0.20.1", features = ["dangerous_configuration"], optional
rustls-pemfile = { version = "0.2.1", optional = true }
bytes = { version = "1.1.0", optional = true }
tokio = { version = "1.14.0", features = ["time", "signal", "sync"], optional = true }
kube-core = { path = "../kube-core", version = "^0.65.0"}
kube-core = { path = "../kube-core", version = "^0.66.0"}
jsonpath_lib = { version = "0.3.0", optional = true }
tokio-util = { version = "0.6.8", optional = true, features = ["io", "codec"] }
hyper = { version = "0.14.13", optional = true, features = ["client", "http1", "stream", "tcp"] }
Expand Down
2 changes: 1 addition & 1 deletion kube-core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "kube-core"
description = "Kube shared types, traits and client-less behavior"
version = "0.65.0"
version = "0.66.0"
authors = [
"clux <[email protected]>",
"kazk <[email protected]>",
Expand Down
2 changes: 1 addition & 1 deletion kube-derive/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "kube-derive"
description = "Custom derives for the kube kubernetes crates"
version = "0.65.0"
version = "0.66.0"
authors = [
"clux <[email protected]>",
"kazk <[email protected]>",
Expand Down
2 changes: 1 addition & 1 deletion kube-derive/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Add the `derive` feature to `kube`:

```toml
[dependencies]
kube = { version = "0.65.0", feature = ["derive"] }
kube = { version = "0.66.0", feature = ["derive"] }
```

## Usage
Expand Down
4 changes: 2 additions & 2 deletions kube-runtime/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "kube-runtime"
version = "0.65.0"
version = "0.66.0"
description = "Kubernetes futures controller runtime"
authors = [
"Teo Klestrup Röijezon <[email protected]>",
Expand All @@ -21,7 +21,7 @@ rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
futures = "0.3.17"
kube-client = { path = "../kube-client", version = "^0.65.0", default-features = false, features = ["jsonpatch", "client"] }
kube-client = { path = "../kube-client", version = "^0.66.0", default-features = false, features = ["jsonpatch", "client"] }
derivative = "2.1.1"
serde = "1.0.130"
smallvec = "1.7.0"
Expand Down
10 changes: 5 additions & 5 deletions kube/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "kube"
version = "0.65.0"
version = "0.66.0"
description = "Kubernetes client and async controller runtime"
authors = [
"clux <[email protected]>",
Expand Down Expand Up @@ -37,10 +37,10 @@ features = ["client", "native-tls", "rustls-tls", "openssl-tls", "derive", "ws",
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
kube-derive = { path = "../kube-derive", version = "^0.65.0", optional = true }
kube-core = { path = "../kube-core", version = "^0.65.0"}
kube-client = { path = "../kube-client", version = "^0.65.0", default-features = false, optional = true }
kube-runtime = { path = "../kube-runtime", version = "^0.65.0", optional = true}
kube-derive = { path = "../kube-derive", version = "^0.66.0", optional = true }
kube-core = { path = "../kube-core", version = "^0.66.0"}
kube-client = { path = "../kube-client", version = "^0.66.0", default-features = false, optional = true }
kube-runtime = { path = "../kube-runtime", version = "^0.66.0", optional = true}

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

0 comments on commit 1c3f0a5

Please sign in to comment.