Skip to content

Commit

Permalink
v0.18.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Arnavion committed Apr 7, 2023
1 parent c840bb4 commit f984deb
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 10 deletions.
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
# v0.18.0 (2023-04-07)

## k8s-openapi

- BREAKING CHANGE: The `k8s_openapi::DeepMerge` trait and its impls on this crate's types now have semantics in line with merge strategies in Kubernetes. Specifically, the code generator now takes the `x-kubernetes-list-map-keys`, `x-kubernetes-list-type`, `x-kubernetes-map-type`, `x-kubernetes-patch-merge-key` and `x-kubernetes-patch-strategy` annotations into account when generating the `DeepMerge` impls.

For example, in v0.17.0, `PodSpec::merge_from` would append entries into `self.containers`, whereas now it does a "list-map" strategy to replace containers with the same `name`.

Corresponding Kubernetes API server versions:

- v1.20.15
- v1.21.14
- v1.22.17
- v1.23.17
- v1.24.12
- v1.25.8
- v1.26.3

## k8s-openapi-codegen-common

- BREAKING CHANGE: As mentioned above, the generated code for `k8s_openapi::DeepMerge` impls now takes merge strategy annotations into account.

## k8s-openapi-derive

- No changes.

---

# v0.17.0 (2023-01-04)

## k8s-openapi
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ K8S_RECORD=1 ./test.sh all run-tests
cargo rustdoc --features 'v1_26' -- -A 'rustdoc::bare_urls' -Z unstable-options --enable-index-page &&
CARGO_TARGET_DIR="$(realpath ./target)" cargo rustdoc --manifest-path ./k8s-openapi-codegen-common/Cargo.toml -- -Z unstable-options --enable-index-page &&
CARGO_TARGET_DIR="$(realpath ./target)" cargo rustdoc --manifest-path ./k8s-openapi-derive/Cargo.toml -- -Z unstable-options --enable-index-page &&
rm -rf ../k8s-openapi-gh-pages/v0.17.x &&
cp -R ./target/doc ../k8s-openapi-gh-pages/v0.17.x
rm -rf ../k8s-openapi-gh-pages/v0.18.x &&
cp -R ./target/doc ../k8s-openapi-gh-pages/v0.18.x
```

1. `../k8s-openapi-gh-pages/index.html`: Add new anchor if this is a new major release
Expand Down
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "k8s-openapi"
version = "0.17.0"
version = "0.18.0"
license = "Apache-2.0"
authors = ["Arnavion <me@arnavion.dev>"]
categories = ["api-bindings", "web-programming::http-client"]
description = "Bindings for the Kubernetes client API"
documentation = "https://arnavion.github.io/k8s-openapi/v0.17.x/k8s_openapi/"
documentation = "https://arnavion.github.io/k8s-openapi/v0.18.x/k8s_openapi/"
edition = "2021"
keywords = ["client", "kubernetes", "k8s", "http"]
readme = "README.md"
Expand All @@ -25,7 +25,7 @@ include = [
# to enumerate all env vars looking for one with `DEP_K8S_OPENAPI_` prefix and `_VERSION` suffix, instead of looking it up by its whole name.
#
# See https://github.com/rust-lang/cargo/issues/3544 for being able to pass metadata to downstream without setting this key.
links = "k8s-openapi-0.17.0"
links = "k8s-openapi-0.18.0"

[dependencies]
base64 = { version = "0.21", default-features = false, features = [
Expand Down
4 changes: 2 additions & 2 deletions k8s-openapi-codegen-common/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "k8s-openapi-codegen-common"
version = "0.17.0"
version = "0.18.0"
license = "Apache-2.0"
authors = ["Arnavion <me@arnavion.dev>"]
categories = ["api-bindings", "web-programming::http-client"]
description = "Common code for the k8s-openapi code generator and k8s-openapi-derive"
documentation = "https://arnavion.github.io/k8s-openapi/v0.17.x/k8s_openapi_codegen_common/"
documentation = "https://arnavion.github.io/k8s-openapi/v0.18.x/k8s_openapi_codegen_common/"
edition = "2021"
keywords = ["client", "kubernetes", "k8s", "http"]
readme = "README.md"
Expand Down
6 changes: 3 additions & 3 deletions k8s-openapi-derive/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "k8s-openapi-derive"
version = "0.17.0"
version = "0.18.0"
license = "Apache-2.0"
authors = ["Arnavion <me@arnavion.dev>"]
categories = ["api-bindings", "web-programming::http-client"]
description = "Custom derives for the Kubernetes client API"
documentation = "https://arnavion.github.io/k8s-openapi/v0.17.x/k8s_openapi_derive/"
documentation = "https://arnavion.github.io/k8s-openapi/v0.18.x/k8s_openapi_derive/"
edition = "2021"
keywords = ["client", "kubernetes", "k8s", "http"]
readme = "README.md"
Expand All @@ -19,7 +19,7 @@ include = [

[dependencies]
http = { version = "0.2", default-features = false }
k8s-openapi-codegen-common = { version = "=0.17.0", path = "../k8s-openapi-codegen-common" }
k8s-openapi-codegen-common = { version = "=0.18.0", path = "../k8s-openapi-codegen-common" }
proc-macro2 = { version = "1", default-features = false, features = ["proc-macro"] }
quote = { version = "1", default-features = false }
syn = { version = "2", default-features = false, features = [
Expand Down

0 comments on commit f984deb

Please sign in to comment.