From 6f8407fc17110701364ce757f25a103ea40e1e11 Mon Sep 17 00:00:00 2001 From: clux Date: Mon, 23 Dec 2024 12:57:40 +0000 Subject: [PATCH] sync update Signed-off-by: clux --- docs/changelog.md | 43 ++++++++++++++++++++++++++++++++--------- docs/getting-started.md | 8 ++++---- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 8bfb8a1..36b8d39 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -6,7 +6,32 @@ ## Unreleased - * see https://github.com/kube-rs/kube/compare/0.97.0...main + * see https://github.com/kube-rs/kube/compare/0.98.0...main + +## [0.98.0](https://github.com/kube-rs/kube/releases/tag/0.98.0) / 2024-12-23 + + +## Highlights + +- [Kubernetes `v1_32`](https://kubernetes.io/blog/2024/12/11/kubernetes-v1-32-release/) support via `k8s-openapi` [0.24](https://github.com/Arnavion/k8s-openapi/releases/tag/v0.24.0) + * Please [upgrade k8s-openapi along with kube](https://kube.rs/upgrading/) to avoid conflicts. + * New minimum versions: [MSRV](https://kube.rs/rust-version/) 1.81.0, [MK8SV](https://kube.rs/kubernetes-version/): 1.28 +- `kube-derive` additions: + * A [`CELSchema`](https://docs.rs/kube/latest/kube/derive.CELSchema.html) derive macro wrapper around [`JsonSchema`](https://docs.rs/schemars/latest/schemars/trait.JsonSchema.html) for injecting [cel validations](https://kubernetes.io/docs/reference/using-api/cel/) into the schema [#1649](https://github.com/kube-rs/kube/pull/1649) + * Allow overriding `served` and `storage` booleans for [multiple versions](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#specify-multiple-versions) of [`CustomResource`](https://docs.rs/kube/latest/kube/derive.CustomResource.html) derives: [#1644](https://github.com/kube-rs/kube/pull/1644) +- `kube-runtime` event [`Recorder`](https://docs.rs/kube/latest/kube/runtime/events/struct.Recorder.html) now aggregates repeat events [#1655](https://github.com/kube-rs/kube/pull/1655) (some breaking changes, see [controller-rs#116](https://github.com/kube-rs/controller-rs/pull/116)) +- `kube-client` UTF-16 edge case handling for windows [#1654](https://github.com/kube-rs/kube/pull/1654) + +## What's Changed +### Added +* Add `storage` and `served` argument to derive macro by @Techassi in https://github.com/kube-rs/kube/pull/1644 +* Implement `derive(CELSchema)` macro for generating cel validation on CRDs by @Danil-Grigorev in https://github.com/kube-rs/kube/pull/1649 +### Changed +* Add series implementation for `runtime` event recorder by @pando85 in https://github.com/kube-rs/kube/pull/1655 +* Bump `k8s-openapi` for Kubernetes `v1_32` support and MSRV by @clux in https://github.com/kube-rs/kube/pull/1671 +* Update tokio-tungstenite requirement from 0.24.0 to 0.25.0 by @dependabot in https://github.com/kube-rs/kube/pull/1666 +### Fixed +* Add support for UTF-16 encoded kubeconfig files by @goenning in https://github.com/kube-rs/kube/pull/1654 ## [0.97.0](https://github.com/kube-rs/kube/releases/tag/0.97.0) / 2024-11-20 @@ -14,22 +39,22 @@ ## Highlights - [`CustomResource`](https://docs.rs/kube/latest/kube/derive.CustomResource.html) derive added features for crd yaml output: - * selectable fields #1605 + #1610 - * annotations and labels #1631 + * selectable fields [#1605](https://github.com/kube-rs/kube/issues/1605) + [#1610](https://github.com/kube-rs/kube/issues/1610) + * annotations and labels [#1631](https://github.com/kube-rs/kube/issues/1631) - Configuration edge cases: - * Avoid double installations of `aws-lc-rs` (rustls crypto) provider #1617 - * Kubeconfig fix for `null` user; #1608 - * Default runtime watcher backoff alignment with `client-go` #1603 + * Avoid double installations of `aws-lc-rs` (rustls crypto) provider [#1617](https://github.com/kube-rs/kube/issues/1617) + * Kubeconfig fix for `null` user; [#1608](https://github.com/kube-rs/kube/issues/1608) + * Default runtime watcher backoff alignment with `client-go` [#1603](https://github.com/kube-rs/kube/issues/1603) - Feature use: - * Client proxy feature-set misuse prevention #1626 - * Allow disabling `gzip` via `Config` #1627 + * Client proxy feature-set misuse prevention [#1626](https://github.com/kube-rs/kube/issues/1626) + * Allow disabling `gzip` via `Config` [#1627](https://github.com/kube-rs/kube/issues/1627) - Depedency minors: `thiserror`, `hashbrown`, `jsonptr`, `json-patch`. Killed `lazy_static` / `once_cell` ## What's Changed ### Added * Feature: Allow to pass selectableFields for CRD definition by @Danil-Grigorev in https://github.com/kube-rs/kube/pull/1605 * add support for CRD annotations and labels in kube-derive by @verokarhu in https://github.com/kube-rs/kube/pull/1631 -* Feature: Add config setting to disable gzip compression #1627 by @markdingram in https://github.com/kube-rs/kube/pull/1628 +* Feature: Add config setting to disable gzip compression [#1627](https://github.com/kube-rs/kube/issues/1627) by @markdingram in https://github.com/kube-rs/kube/pull/1628 ### Changed * upgrade to hashbrown 0.15.0 by @rorosen in https://github.com/kube-rs/kube/pull/1599 * update jsonptr + json-patch by @aviramha in https://github.com/kube-rs/kube/pull/1600 diff --git a/docs/getting-started.md b/docs/getting-started.md index 568c0ae..7bc1a10 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -6,8 +6,8 @@ Select a version of `kube` along with the generated [k8s-openapi](https://github ```toml [dependencies] -kube = { version = "0.97.0", features = ["runtime", "derive"] } -k8s-openapi = { version = "0.23.0", features = ["latest"] } +kube = { version = "0.98.0", features = ["runtime", "derive"] } +k8s-openapi = { version = "0.24.0", features = ["latest"] } ``` See [features](https://kube.rs/features/) for a quick overview of default-enabled / opt-in functionality. @@ -146,8 +146,8 @@ By default [rustls](https://github.com/rustls/rustls) is used for TLS, but `open ```toml [dependencies] -kube = { version = "0.97.0", default-features = false, features = ["client", "openssl-tls"] } -k8s-openapi = { version = "0.23.0", features = ["latest"] } +kube = { version = "0.98.0", default-features = false, features = ["client", "openssl-tls"] } +k8s-openapi = { version = "0.24.0", features = ["latest"] } ``` This will pull in `openssl` and `hyper-openssl`. If `default-features` is left enabled, you will pull in two TLS stacks, and the default will remain as `rustls`.