v0.14.0
v0.14.0 (2022-01-23)
k8s-openapi
-
BREAKING CHANGE: k8s-openapi now disables all default features of its dependencies and only enables the ones it needs. If your code was implicitly relying on some default feature being enabled of an indirect dependency re-exported from
k8s-openapi
, it will now not compile. You will need to enable the feature yourself in your own dependency.For example, if you had
use k8s_openapi::schemars; #[derive(schemars::JsonSchema)] struct YourCode { ... }
this will no longer compile because the proc macro is only compiled when the"derive"
feature is enabled. You will need to add an explicit dependency on theschemars
crate in your code, with its"derive"
feature enabled. -
BREAKING CHANGE: Added support for Kubernetes 1.23 under the
v1_23
feature. -
BREAKING CHANGE: Dropped support for Kubernetes 1.11, 1.12, 1.13, 1.14 and 1.15.
-
BUGFIX: The
serde::Deserialize
impl of some types now acceptsnull
for required fields and deserializes it as the default value of that field. This is because the Kubernetes API server violates the schema and sendsnull
in some cases.For example, a user is allowed to create a
DaemonSet
whosePodSpec
has"containers": null
, even thoughPodSpec::containers
is a required field and emitted as aVec
. When querying thisDaemonSpec
back from the API server, it will return"containers": null
in the response too. Before this fix, such a response would fail to deserialize. Note that serialization is still spec-compliant as before, so such aDaemonSet
could not have been created with this crate's types before and still cannot be created now.
Corresponding Kubernetes API server versions:
- v1.16.15
- v1.17.17
- v1.18.20
- v1.19.16
- v1.20.15
- v1.21.9
- v1.22.6
- v1.23.2
k8s-openapi-codegen-common
- BUGFIX:
k8s_openapi_codegen_common::Error
now implementssource()
correctly instead of always returningNone
.
k8s-openapi-derive
- No changes except to bump the
k8s-openapi-codegen-common
dependency to the new version.