Skip to content

Releases: Arnavion/k8s-openapi

v0.24.0

22 Dec 01:45
27a69bc
Compare
Choose a tag to compare

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.32 under the v1_32 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.26 and 1.27.

Corresponding Kubernetes API server versions:

  • v1.28.15
  • v1.29.12
  • v1.30.8
  • v1.31.4
  • v1.32.0

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.23.0

16 Sep 04:19
789dfef
Compare
Choose a tag to compare

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.31 under the v1_31 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.24 and 1.25.

Corresponding Kubernetes API server versions:

  • v1.26.15
  • v1.27.16
  • v1.28.14
  • v1.29.9
  • v1.30.5
  • v1.31.1

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.22.0

04 May 20:13
ed70fb3
Compare
Choose a tag to compare

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.30 under the v1_30 feature.

Corresponding Kubernetes API server versions:

  • v1.24.17
  • v1.25.16
  • v1.26.15
  • v1.27.13
  • v1.28.9
  • v1.29.4
  • v1.30.0

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.21.1

17 Feb 23:43
ef3183d
Compare
Choose a tag to compare

k8s-openapi

  • BUGFIX: Fix schemars::JsonSchema impl of k8s_openapi::apimachinery::pkg::util::intstr::IntOrString to be in line with what Kubernetes expects of int-or-string fields in CRDs.

Corresponding Kubernetes API server versions:

  • v1.24.17
  • v1.25.16
  • v1.26.14
  • v1.27.11
  • v1.28.7
  • v1.29.2

k8s-openapi-codegen-common

  • BUGFIX: See the bugfix mentioned above.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.21.0

20 Jan 03:52
5337d70
Compare
Choose a tag to compare

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.29 under the v1_29 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.22 and 1.23.

Corresponding Kubernetes API server versions:

  • v1.24.17
  • v1.25.16
  • v1.26.13
  • v1.27.10
  • v1.28.6
  • v1.29.1

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes.

v0.20.0

07 Sep 22:22
52da260
Compare
Choose a tag to compare

v0.20.0 (2023-09-07)

k8s-openapi

  • BREAKING CHANGE: This release removes all associated methods of resource types that mapped API operations. For example, there is no more fn api::core::v1::Pod::list(), and all types related to API operations like ListOptional and ResponseBody have also been removed. See #149 for more details.

  • BREAKING CHANGE: Added support for Kubernetes 1.28 under the v1_28 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.20 and 1.21.

Corresponding Kubernetes API server versions:

  • v1.22.17
  • v1.23.17
  • v1.24.17
  • v1.25.13
  • v1.26.8
  • v1.27.5
  • v1.28.1

k8s-openapi-codegen-common

  • BREAKING CHANGE: write_operation and other things related to emitting API operations have been removed.

k8s-openapi-derive

  • BREAKING CHANGE: The generated resource type no longer has associated clientset methods for listing etc.

v0.19.0

05 Aug 18:27
4ed8984
Compare
Choose a tag to compare

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.27 under the v1_27 feature.

  • FEATURE: The k8s-openapi now has two additional Cargo features earliest and latest, which select the earliest and latest supported version. For example, in this release, earliest is equivalent to v1_20 and latest is equivalent to v1_27.

Corresponding Kubernetes API server versions:

  • v1.20.15
  • v1.21.14
  • v1.22.17
  • v1.23.17
  • v1.24.16
  • v1.25.12
  • v1.26.7
  • v1.27.4

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes.

v0.18.0

07 Apr 22:11
f984deb
Compare
Choose a tag to compare

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

04 Jan 18:45
35a7fd5
Compare
Choose a tag to compare

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.26 under the v1_26 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.18 and 1.19.

  • FEATURE: Allow deserializing non-optional ByteStrings from JSON null. The API server is known to allow these nulls in the ConfigMap::binary_data and Secret::data maps. The deserialization results in an empty ByteString, to match the behavior of the API server when given a null value in the ConfigMap::data map.

Corresponding Kubernetes API server versions:

  • v1.20.15
  • v1.21.14
  • v1.22.17
  • v1.23.15
  • v1.24.9
  • v1.25.5
  • v1.26.0

v0.16.0

15 Sep 18:33
521ff73
Compare
Choose a tag to compare

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<Foo>; 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.