Skip to content

Commit

Permalink
v0.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Arnavion committed May 2, 2020
1 parent 3d1e64a commit 48023ef
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 10 deletions.
35 changes: 34 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
# v0.8.0 (2020-05-02)

- BREAKING CHANGE: Support for v1.8, v1.9 and v1.10 API servers has been dropped. These versions became hard to test with `kubectl` and `kind` are are not supported by major cloud providers.

- BREAKING CHANGE: `k8s_openapi::apiextensions_apiserver::pkg::apis::apiextensions::v1::JSONSchemaPropsOrArray`, `JSONSchemaPropsOrBool` and `JSONSchemaPropsOrStringArray` types now wrap the `v1::JSONSchemaProps` type. Previously they incorrectly wrapped the `v1beta1::JSONSchemaProps` type.

- BREAKING CHANGE: Turning the `api` feature off now also disables the `k8s_openapi::{http,percent_encoding,url}` re-exports, the `k8s_openapi::percent_encoding2` module, the `k8s_openapi::{RequestError,ResponseError,ResponseBody}` types, the `k8s_openapi::Response` trait, and the `k8s_openapi::{Create,Delete,List,Patch,Replace,Watch}{Optional,Response}` types. All of these were only used by the API functions which had been disabled by turning the `api` feature off.

- BUGFIX: `k8s_openapi::apimachinery::pkg::apis::meta::v1::MicroTime` and `Time` are now serialized with six and zero decimals in their seconds respectively, to match the API server's expectations. Previously they would be serialized with a variable number of decimals up to nine.

- FEATURE: Added support for Kubernetes 1.18 under the `v1_18` feature.

- FEATURE: `k8s_openapi::ByteString` now impls `PartialOrd` and `Ord`.

- FEATURE: `k8s_openapi::apimachinery::pkg::apis::meta::v1::MicroTime` and `Time` now impl `Eq`, `PartialOrd` and `Ord`.

- FEATURE: If your crate has a dependency on `k8s-openapi`, you can now use a build script to detect which version feature has been enabled on the crate. This is a more verbose but also more flexible alternative to using the `k8s_if_*` version detection macros in your crate code.

- FEATURE: `k8s-openapi-derive`'s `#[derive(CustomResourceDefinition)]` now supports emitting a subresources field in the generated CR type.

Corresponding Kubernetes API server versions:

- v1.11.10
- v1.12.10
- v1.13.12
- v1.14.10
- v1.15.11
- v1.16.9
- v1.17.5
- v1.18.2

---

# v0.7.1 (2020-01-23)

Fixed docs URLs. No other changes since v0.7.0.
Expand All @@ -16,7 +49,7 @@ Fixed docs URLs. No other changes since v0.7.0.

- BREAKING CHANGE: The response types of create, delete, delete-collection, list, patch, replace and watch operations have now been combined into generic `CreateResponse<T>`, `DeleteResponse<T>`, `DeleteResponse<List<T>>`, `ListResponse<T>`, `PatchResponse<T>`, `ReplaceResponse<T>` and `WatchResponse<T>` types respectively.

- BUGFIX: v1.16's `k8s_openapi::apliextensions_apiserver::pkg::apis::apiextensions::v1::JSONSchemaPropsOrArray`, `JSONSchemaPropsOrBool` and `JSONSchemaPropsOrStringArray` types are now generated correctly, just like their `v1beta` cousins.
- BUGFIX: v1.16's `k8s_openapi::apiextensions_apiserver::pkg::apis::apiextensions::v1::JSONSchemaPropsOrArray`, `JSONSchemaPropsOrBool` and `JSONSchemaPropsOrStringArray` types are now generated correctly, just like their `v1beta` cousins.

- FEATURE: Added support for Kubernetes 1.17 under the `v1_17` feature.

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ The repository supports the latest patch versions of each of the separate 1.x re
rm -rf ./target/doc/ &&
cargo rustdoc --features 'v1_18' -- -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.7.x &&
cp -R ./target/doc ../k8s-openapi-gh-pages/v0.7.x
rm -rf ../k8s-openapi-gh-pages/v0.8.x &&
cp -R ./target/doc ../k8s-openapi-gh-pages/v0.8.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.7.1"
version = "0.8.0"
license = "Apache-2.0"
authors = ["Arnavion <[email protected]>"]
categories = ["api-bindings", "web-programming::http-client"]
description = "Bindings for the Kubernetes client API"
documentation = "https://arnavion.github.io/k8s-openapi/v0.7.x/k8s_openapi/"
documentation = "https://arnavion.github.io/k8s-openapi/v0.8.x/k8s_openapi/"
edition = "2018"
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.7.1"
links = "k8s-openapi-0.8.0"

[dependencies]
base64 = "0.12"
Expand Down
2 changes: 1 addition & 1 deletion k8s-openapi-codegen-common/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "k8s-openapi-codegen-common"
version = "0.7.0"
version = "0.8.0"
license = "Apache-2.0"
authors = ["Arnavion <[email protected]>"]
categories = ["api-bindings", "web-programming::http-client"]
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.7.1"
version = "0.8.0"
license = "Apache-2.0"
authors = ["Arnavion <[email protected]>"]
categories = ["api-bindings", "web-programming::http-client"]
description = "Custom derives for the Kubernetes client API"
documentation = "https://arnavion.github.io/k8s-openapi/v0.7.x/k8s_openapi_derive/"
documentation = "https://arnavion.github.io/k8s-openapi/v0.8.x/k8s_openapi_derive/"
edition = "2018"
keywords = ["client", "kubernetes", "k8s", "http"]
readme = "README.md"
Expand All @@ -19,7 +19,7 @@ include = [

[dependencies]
http = "0.2"
k8s-openapi-codegen-common = { version = "=0.7.0", path = "../k8s-openapi-codegen-common" }
k8s-openapi-codegen-common = { version = "=0.8.0", path = "../k8s-openapi-codegen-common" }
proc-macro2 = "1"
quote = "1"
syn = { version = "1", features = ["extra-traits"] }
Expand Down

0 comments on commit 48023ef

Please sign in to comment.