From 521ff730bde4a61d8ba0b6041c4510a53e996ca6 Mon Sep 17 00:00:00 2001 From: Arnavion Date: Thu, 15 Sep 2022 11:18:09 -0700 Subject: [PATCH] v0.16.0 --- CHANGELOG.md | 31 +++++++++++++++++++++++++++ CONTRIBUTING.md | 4 ++-- Cargo.toml | 6 +++--- k8s-openapi-codegen-common/Cargo.toml | 4 ++-- k8s-openapi-derive/Cargo.toml | 6 +++--- 5 files changed, 41 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29d2cf6cf..f0e20b390 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ +# v0.16.0 (2022-09-15) + +## k8s-openapi + +- BREAKING CHANGE: Added support for Kubernetes 1.25 under the `v1_25` feature. + +- FEATURE: All spec types now implement a deep-merge API via a `DeepMerge` trait impl with a `fn merge_from(&mut self, other: Self)` method. This is useful for builder-like operations. + +Corresponding Kubernetes API server versions: + +- v1.18.20 +- v1.19.16 +- v1.20.15 +- v1.21.14 +- v1.22.14 +- v1.23.11 +- v1.24.5 +- v1.25.1 + +## k8s-openapi-codegen-common + +- No changes. + +## k8s-openapi-derive + +- BREAKING CHANGE: `#[derive(CustomResourceDefinition)]` no longer generates a list type alias. For example, when applied to `struct FooSpec`, previously the custom derive would generate `pub type FooList = k8s_openapi::List;` It no longer does this, in accordance with the main k8s-openapi crate where such aliases were removed back in v0.7.0 + +- FEATURE: The generated custom resource type will implement `k8s_openapi::DeepMerge` if the `impl_deep_merge` custom derive attribute is used. Note that this requires you to implement `k8s_openapi::DeepMerge` on the spec type yourself; the custom derive does not do that. + +--- + # v0.15.0 (2022-05-22) ## k8s-openapi diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 388778095..cec6a8262 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -111,8 +111,8 @@ K8S_RECORD=1 ./test.sh all run-tests cargo rustdoc --features 'v1_25' -- -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.15.x && - cp -R ./target/doc ../k8s-openapi-gh-pages/v0.15.x + rm -rf ../k8s-openapi-gh-pages/v0.16.x && + cp -R ./target/doc ../k8s-openapi-gh-pages/v0.16.x ``` 1. `../k8s-openapi-gh-pages/index.html`: Add new anchor if this is a new major release diff --git a/Cargo.toml b/Cargo.toml index dbd7a6bf9..5cd93b10a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "k8s-openapi" -version = "0.15.0" +version = "0.16.0" license = "Apache-2.0" authors = ["Arnavion "] categories = ["api-bindings", "web-programming::http-client"] description = "Bindings for the Kubernetes client API" -documentation = "https://arnavion.github.io/k8s-openapi/v0.15.x/k8s_openapi/" +documentation = "https://arnavion.github.io/k8s-openapi/v0.16.x/k8s_openapi/" edition = "2021" keywords = ["client", "kubernetes", "k8s", "http"] readme = "README.md" @@ -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.15.0" +links = "k8s-openapi-0.16.0" [dependencies] base64 = { version = "0.13", default-features = false, features = [ diff --git a/k8s-openapi-codegen-common/Cargo.toml b/k8s-openapi-codegen-common/Cargo.toml index 902f999b5..b455e3d24 100644 --- a/k8s-openapi-codegen-common/Cargo.toml +++ b/k8s-openapi-codegen-common/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "k8s-openapi-codegen-common" -version = "0.15.0" +version = "0.16.0" license = "Apache-2.0" authors = ["Arnavion "] 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.15.x/k8s_openapi_codegen_common/" +documentation = "https://arnavion.github.io/k8s-openapi/v0.16.x/k8s_openapi_codegen_common/" edition = "2021" keywords = ["client", "kubernetes", "k8s", "http"] readme = "README.md" diff --git a/k8s-openapi-derive/Cargo.toml b/k8s-openapi-derive/Cargo.toml index 7988a6318..fbdf70bc1 100644 --- a/k8s-openapi-derive/Cargo.toml +++ b/k8s-openapi-derive/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "k8s-openapi-derive" -version = "0.15.0" +version = "0.16.0" license = "Apache-2.0" authors = ["Arnavion "] categories = ["api-bindings", "web-programming::http-client"] description = "Custom derives for the Kubernetes client API" -documentation = "https://arnavion.github.io/k8s-openapi/v0.15.x/k8s_openapi_derive/" +documentation = "https://arnavion.github.io/k8s-openapi/v0.16.x/k8s_openapi_derive/" edition = "2021" keywords = ["client", "kubernetes", "k8s", "http"] readme = "README.md" @@ -19,7 +19,7 @@ include = [ [dependencies] http = { version = "0.2", default-features = false } -k8s-openapi-codegen-common = { version = "=0.15.0", path = "../k8s-openapi-codegen-common" } +k8s-openapi-codegen-common = { version = "=0.16.0", path = "../k8s-openapi-codegen-common" } proc-macro2 = { version = "1", default-features = false, features = ["proc-macro"] } quote = { version = "1", default-features = false } syn = { version = "1", default-features = false, features = [