From ca56d8bee6cd5a0661d452a981a8d26f0870998a Mon Sep 17 00:00:00 2001 From: npolshakova Date: Wed, 6 Mar 2024 13:27:59 -0500 Subject: [PATCH] Release Notes draft for k/k v1.30.0-alpha.3 Signed-off-by: npolshakova --- .../release-notes/maps/pr-114301-map.yaml | 7 + .../release-notes/maps/pr-117046-map.yaml | 3 + .../release-notes/maps/pr-118389-map.yaml | 3 + .../release-notes/maps/pr-118756-map.yaml | 3 + .../release-notes/maps/pr-119200-map.yaml | 2 +- .../release-notes/maps/pr-119923-map.yaml | 4 +- .../release-notes/maps/pr-120246-map.yaml | 2 +- .../release-notes/maps/pr-120344-map.yaml | 5 + .../release-notes/maps/pr-120642-map.yaml | 4 + .../release-notes/maps/pr-120902-map.yaml | 4 + .../release-notes/maps/pr-121387-map.yaml | 3 + .../release-notes/maps/pr-121413-map.yaml | 3 + .../release-notes/maps/pr-121565-map.yaml | 3 + .../release-notes/maps/pr-121669-map.yaml | 3 + .../release-notes/maps/pr-121719-map.yaml | 6 + .../release-notes/maps/pr-121720-map.yaml | 5 + .../release-notes/maps/pr-121778-map.yaml | 3 + .../release-notes/maps/pr-121815-map.yaml | 3 + .../release-notes/maps/pr-121954-map.yaml | 7 +- .../release-notes/maps/pr-122041-map.yaml | 3 + .../release-notes/maps/pr-122293-map.yaml | 5 + .../release-notes/maps/pr-122296-map.yaml | 2 +- .../release-notes/maps/pr-122346-map.yaml | 2 +- .../release-notes/maps/pr-122422-map.yaml | 4 + .../release-notes/maps/pr-122468-map.yaml | 2 +- .../release-notes/maps/pr-122475-map.yaml | 2 +- .../release-notes/maps/pr-122523-map.yaml | 3 + .../release-notes/maps/pr-122556-map.yaml | 3 + .../release-notes/maps/pr-122569-map.yaml | 3 + .../release-notes/maps/pr-122692-map.yaml | 3 + .../release-notes/maps/pr-122710-map.yaml | 3 + .../release-notes/maps/pr-122874-map.yaml | 4 + .../release-notes/maps/pr-122883-map.yaml | 4 + .../release-notes/maps/pr-122893-map.yaml | 3 + .../release-notes/maps/pr-122999-map.yaml | 3 + .../release-notes/maps/pr-123011-map.yaml | 5 + .../release-notes/maps/pr-123023-map.yaml | 3 + .../release-notes/maps/pr-123082-map.yaml | 3 + .../release-notes/maps/pr-123135-map.yaml | 5 + .../release-notes/maps/pr-123165-map.yaml | 6 + .../release-notes/maps/pr-123215-map.yaml | 3 + .../release-notes/maps/pr-123261-map.yaml | 3 + .../release-notes/maps/pr-123272-map.yaml | 3 + .../release-notes/maps/pr-123281-map.yaml | 7 + .../release-notes/maps/pr-123282-map.yaml | 4 + .../release-notes/maps/pr-123310-map.yaml | 3 + .../release-notes/maps/pr-123341-map.yaml | 11 + .../release-notes/maps/pr-123343-map.yaml | 4 + .../release-notes/maps/pr-123345-map.yaml | 4 + .../release-notes/maps/pr-123372-map.yaml | 8 + .../release-notes/maps/pr-123384-map.yaml | 3 + .../release-notes/maps/pr-123406-map.yaml | 5 + .../release-notes/maps/pr-123418-map.yaml | 3 + .../release-notes/maps/pr-123425-map.yaml | 4 + .../release-notes/maps/pr-123442-map.yaml | 3 + .../release-notes/maps/pr-123461-map.yaml | 5 + .../release-notes/maps/pr-123464-map.yaml | 6 + .../release-notes/maps/pr-123475-map.yaml | 5 + .../release-notes/maps/pr-123479-map.yaml | 3 + .../release-notes/maps/pr-123488-map.yaml | 3 + .../release-notes/maps/pr-123490-map.yaml | 3 + .../release-notes/maps/pr-123492-map.yaml | 4 + .../release-notes/maps/pr-123504-map.yaml | 3 + .../release-notes/maps/pr-123517-map.yaml | 4 + .../release-notes/release-notes-draft.json | 1663 +++++++++++++++-- .../release-notes/release-notes-draft.md | 174 +- .../sessions/maps-1709744010.json | 791 ++++++++ 67 files changed, 2669 insertions(+), 207 deletions(-) create mode 100644 releases/release-1.30/release-notes/maps/pr-114301-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-117046-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-118389-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-118756-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-120344-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-120642-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-120902-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121387-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121413-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121565-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121669-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121719-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121720-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121778-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-121815-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122041-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122293-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122422-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122523-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122556-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122569-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122692-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122710-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122874-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122883-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122893-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-122999-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123011-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123023-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123082-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123135-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123165-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123215-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123261-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123272-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123281-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123282-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123310-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123341-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123343-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123345-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123372-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123384-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123406-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123418-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123425-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123442-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123461-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123464-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123475-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123479-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123488-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123490-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123492-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123504-map.yaml create mode 100644 releases/release-1.30/release-notes/maps/pr-123517-map.yaml create mode 100644 releases/release-1.30/release-notes/sessions/maps-1709744010.json diff --git a/releases/release-1.30/release-notes/maps/pr-114301-map.yaml b/releases/release-1.30/release-notes/maps/pr-114301-map.yaml new file mode 100644 index 00000000000..06cf4a84a34 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-114301-map.yaml @@ -0,0 +1,7 @@ +pr: 114301 +releasenote: + text: Enabled a mechanism for concurrent log rotatation via `kubelet` using a configuration + entity of `containerLogMaxWorkers` which controls the maximum number of concurrent + rotation that can be performed and an interval configuration of `containerLogMonitorInterval` + that can aid in configuring the monitoring duration to best suite your cluster's + log generation standards. diff --git a/releases/release-1.30/release-notes/maps/pr-117046-map.yaml b/releases/release-1.30/release-notes/maps/pr-117046-map.yaml new file mode 100644 index 00000000000..5559090d042 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-117046-map.yaml @@ -0,0 +1,3 @@ +pr: 117046 +releasenote: + text: Informers now support adding Indexers after the informer starts. diff --git a/releases/release-1.30/release-notes/maps/pr-118389-map.yaml b/releases/release-1.30/release-notes/maps/pr-118389-map.yaml new file mode 100644 index 00000000000..eaa4f35a213 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-118389-map.yaml @@ -0,0 +1,3 @@ +pr: 118389 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-118756-map.yaml b/releases/release-1.30/release-notes/maps/pr-118756-map.yaml new file mode 100644 index 00000000000..d7c30a5dd10 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-118756-map.yaml @@ -0,0 +1,3 @@ +pr: 118756 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-119200-map.yaml b/releases/release-1.30/release-notes/maps/pr-119200-map.yaml index 7ca3379e79b..eb81a9f4017 100644 --- a/releases/release-1.30/release-notes/maps/pr-119200-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-119200-map.yaml @@ -1,3 +1,3 @@ pr: 119200 releasenote: - text: 'kubectl debug: added sysadmin profile' + text: 'kubectl debug: added sysadmin profile.' diff --git a/releases/release-1.30/release-notes/maps/pr-119923-map.yaml b/releases/release-1.30/release-notes/maps/pr-119923-map.yaml index adcfc3c569b..3e4abde8a2e 100644 --- a/releases/release-1.30/release-notes/maps/pr-119923-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-119923-map.yaml @@ -1,4 +1,4 @@ pr: 119923 releasenote: - text: 'fix: Mount point may become local without calling `NodePublishVolume` after - node rebooting.' + text: Fixed mount point may become local without calling `NodePublishVolume` after + node rebooting. diff --git a/releases/release-1.30/release-notes/maps/pr-120246-map.yaml b/releases/release-1.30/release-notes/maps/pr-120246-map.yaml index b9428f52864..abc536daed3 100644 --- a/releases/release-1.30/release-notes/maps/pr-120246-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-120246-map.yaml @@ -1,4 +1,4 @@ pr: 120246 releasenote: - text: 'kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist`. + text: 'kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist` instead.' diff --git a/releases/release-1.30/release-notes/maps/pr-120344-map.yaml b/releases/release-1.30/release-notes/maps/pr-120344-map.yaml new file mode 100644 index 00000000000..c2bf077e597 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-120344-map.yaml @@ -0,0 +1,5 @@ +pr: 120344 +releasenote: + text: |- + Added the following CLI option for `kube-controller-manager`: + - `disable-force-detach` (defaults to `false`): Prevent force detaching volumes based on maximum unmount time and node status. If enabled, the non-graceful node shutdown feature must be used to recover from node failure (see https://kubernetes.io/blog/2023/08/16/kubernetes-1-28-non-graceful-node-shutdown-ga/). If enabled and a pod must be forcibly terminated at the risk of corruption, then the appropriate VolumeAttachment object (see here: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume-attachment-v1/) must be deleted. diff --git a/releases/release-1.30/release-notes/maps/pr-120642-map.yaml b/releases/release-1.30/release-notes/maps/pr-120642-map.yaml new file mode 100644 index 00000000000..b7188d68c02 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-120642-map.yaml @@ -0,0 +1,4 @@ +pr: 120642 +releasenote: + text: Added consistent vanity import to files and provides tooling for verifying + and updating them. diff --git a/releases/release-1.30/release-notes/maps/pr-120902-map.yaml b/releases/release-1.30/release-notes/maps/pr-120902-map.yaml new file mode 100644 index 00000000000..607e05dce5a --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-120902-map.yaml @@ -0,0 +1,4 @@ +pr: 120902 +releasenote: + text: 'Added an optimization to reduce stack memory usage for watch requests. It + is can be disabled with the feature gate: `APIServingWithRoutine=false`' diff --git a/releases/release-1.30/release-notes/maps/pr-121387-map.yaml b/releases/release-1.30/release-notes/maps/pr-121387-map.yaml new file mode 100644 index 00000000000..86282d5d40b --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121387-map.yaml @@ -0,0 +1,3 @@ +pr: 121387 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-121413-map.yaml b/releases/release-1.30/release-notes/maps/pr-121413-map.yaml new file mode 100644 index 00000000000..498024d4540 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121413-map.yaml @@ -0,0 +1,3 @@ +pr: 121413 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-121565-map.yaml b/releases/release-1.30/release-notes/maps/pr-121565-map.yaml new file mode 100644 index 00000000000..c3e24520926 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121565-map.yaml @@ -0,0 +1,3 @@ +pr: 121565 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-121669-map.yaml b/releases/release-1.30/release-notes/maps/pr-121669-map.yaml new file mode 100644 index 00000000000..7efda102312 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121669-map.yaml @@ -0,0 +1,3 @@ +pr: 121669 +releasenote: + text: Fixed ignore unnecessary node events and improve daemonset controller performance. diff --git a/releases/release-1.30/release-notes/maps/pr-121719-map.yaml b/releases/release-1.30/release-notes/maps/pr-121719-map.yaml new file mode 100644 index 00000000000..71148988831 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121719-map.yaml @@ -0,0 +1,6 @@ +pr: 121719 +releasenote: + text: A new kubelet metric `image_pull_duration_seconds` was added. The metric tracks + the duration (in seconds) it takes for an image to be pulled, including the time + spent in the waiting queue of image puller. The metric is broken down by bucketed + image size. diff --git a/releases/release-1.30/release-notes/maps/pr-121720-map.yaml b/releases/release-1.30/release-notes/maps/pr-121720-map.yaml new file mode 100644 index 00000000000..dcaa96fb05a --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121720-map.yaml @@ -0,0 +1,5 @@ +pr: 121720 +releasenote: + text: "Added a new internal metric `kubelet_first_network_pod_start_sli_duration_second` + \nin the kubelet that allow developers to understand the source of the latency + problems on node startups." diff --git a/releases/release-1.30/release-notes/maps/pr-121778-map.yaml b/releases/release-1.30/release-notes/maps/pr-121778-map.yaml new file mode 100644 index 00000000000..d6eac701c9a --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121778-map.yaml @@ -0,0 +1,3 @@ +pr: 121778 +releasenote: + text: Added kubelet metrics to track the memory manager allocation and pinning. diff --git a/releases/release-1.30/release-notes/maps/pr-121815-map.yaml b/releases/release-1.30/release-notes/maps/pr-121815-map.yaml new file mode 100644 index 00000000000..7696331acee --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-121815-map.yaml @@ -0,0 +1,3 @@ +pr: 121815 +releasenote: + text: Made decoding etcd's response respect the timeout context. diff --git a/releases/release-1.30/release-notes/maps/pr-121954-map.yaml b/releases/release-1.30/release-notes/maps/pr-121954-map.yaml index cbabdb1a63f..307d33b0397 100644 --- a/releases/release-1.30/release-notes/maps/pr-121954-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-121954-map.yaml @@ -1,7 +1,4 @@ pr: 121954 releasenote: - text: |- - Some interfaces' signatures in the scheduler were updated: - - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - - PreScorePlugin: used NodeInfo in `PreScore`. - - Extender: used NodeInfo in `Filter` and `Prioritize`. + text: | + "Some interfaces' signatures in the scheduler were updated: - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - PreScorePlugin: used NodeInfo in `PreScore`. - Extender: used NodeInfo in `Filter` and `Prioritize`." diff --git a/releases/release-1.30/release-notes/maps/pr-122041-map.yaml b/releases/release-1.30/release-notes/maps/pr-122041-map.yaml new file mode 100644 index 00000000000..8e90bb27ea7 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122041-map.yaml @@ -0,0 +1,3 @@ +pr: 122041 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-122293-map.yaml b/releases/release-1.30/release-notes/maps/pr-122293-map.yaml new file mode 100644 index 00000000000..505308c3258 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122293-map.yaml @@ -0,0 +1,5 @@ +pr: 122293 +releasenote: + text: 'kube-controller-manager: increased the global level for broadcaster''s logging + to 3 so that users can ignore event messages by lowering the logging level. It + reduces information noise.' diff --git a/releases/release-1.30/release-notes/maps/pr-122296-map.yaml b/releases/release-1.30/release-notes/maps/pr-122296-map.yaml index f096b420e8b..6896efda434 100644 --- a/releases/release-1.30/release-notes/maps/pr-122296-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-122296-map.yaml @@ -1,3 +1,3 @@ pr: 122296 releasenote: - text: '`kube-proxy` nftables mode is now compatible with kernel `5.4`' + text: '`kube-proxy` nftables mode is now compatible with kernel `5.4`.' diff --git a/releases/release-1.30/release-notes/maps/pr-122346-map.yaml b/releases/release-1.30/release-notes/maps/pr-122346-map.yaml index 016a660b7d5..11bebbd4db4 100644 --- a/releases/release-1.30/release-notes/maps/pr-122346-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-122346-map.yaml @@ -1,3 +1,3 @@ pr: 122346 releasenote: - text: Fixed an issue where kubectl apply could panic when imported as a library + text: Fixed an issue where kubectl apply could panic when imported as a library. diff --git a/releases/release-1.30/release-notes/maps/pr-122422-map.yaml b/releases/release-1.30/release-notes/maps/pr-122422-map.yaml new file mode 100644 index 00000000000..f7a0a9fe4aa --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122422-map.yaml @@ -0,0 +1,4 @@ +pr: 122422 +releasenote: + text: | + 'PodSpec API: removed note that hostAliases are not supported on hostNetwork Pods. The feature has been supported since v1.8.' diff --git a/releases/release-1.30/release-notes/maps/pr-122468-map.yaml b/releases/release-1.30/release-notes/maps/pr-122468-map.yaml index 8e5e63dd666..36465b64359 100644 --- a/releases/release-1.30/release-notes/maps/pr-122468-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-122468-map.yaml @@ -1,3 +1,3 @@ pr: 122468 releasenote: - text: Removed GA featuregate `RemoveSelfLink`. + text: Removed GA feature gate `RemoveSelfLink`. diff --git a/releases/release-1.30/release-notes/maps/pr-122475-map.yaml b/releases/release-1.30/release-notes/maps/pr-122475-map.yaml index 08fe14368d4..e350dbc9993 100644 --- a/releases/release-1.30/release-notes/maps/pr-122475-map.yaml +++ b/releases/release-1.30/release-notes/maps/pr-122475-map.yaml @@ -1,3 +1,3 @@ pr: 122475 releasenote: - text: fixed panic of Evented PLEG during kubelet start-up. + text: Fixed panic of Evented PLEG during kubelet start-up. diff --git a/releases/release-1.30/release-notes/maps/pr-122523-map.yaml b/releases/release-1.30/release-notes/maps/pr-122523-map.yaml new file mode 100644 index 00000000000..18b3ea03f15 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122523-map.yaml @@ -0,0 +1,3 @@ +pr: 122523 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-122556-map.yaml b/releases/release-1.30/release-notes/maps/pr-122556-map.yaml new file mode 100644 index 00000000000..ea3a1d33768 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122556-map.yaml @@ -0,0 +1,3 @@ +pr: 122556 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-122569-map.yaml b/releases/release-1.30/release-notes/maps/pr-122569-map.yaml new file mode 100644 index 00000000000..4242d0bd0b4 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122569-map.yaml @@ -0,0 +1,3 @@ +pr: 122569 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-122692-map.yaml b/releases/release-1.30/release-notes/maps/pr-122692-map.yaml new file mode 100644 index 00000000000..dfda780299f --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122692-map.yaml @@ -0,0 +1,3 @@ +pr: 122692 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-122710-map.yaml b/releases/release-1.30/release-notes/maps/pr-122710-map.yaml new file mode 100644 index 00000000000..0e0fe2b88bd --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122710-map.yaml @@ -0,0 +1,3 @@ +pr: 122710 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-122874-map.yaml b/releases/release-1.30/release-notes/maps/pr-122874-map.yaml new file mode 100644 index 00000000000..6e73ad1ef60 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122874-map.yaml @@ -0,0 +1,4 @@ +pr: 122874 +releasenote: + text: Fixed node lifecycle controller panic when conditionType ready is been patch + `nil` by mistake. diff --git a/releases/release-1.30/release-notes/maps/pr-122883-map.yaml b/releases/release-1.30/release-notes/maps/pr-122883-map.yaml new file mode 100644 index 00000000000..5f30c163773 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122883-map.yaml @@ -0,0 +1,4 @@ +pr: 122883 +releasenote: + text: Fixed bug where health check could pass while APIServices are missing from + aggregated discovery. diff --git a/releases/release-1.30/release-notes/maps/pr-122893-map.yaml b/releases/release-1.30/release-notes/maps/pr-122893-map.yaml new file mode 100644 index 00000000000..7d876eb98e0 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122893-map.yaml @@ -0,0 +1,3 @@ +pr: 122893 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-122999-map.yaml b/releases/release-1.30/release-notes/maps/pr-122999-map.yaml new file mode 100644 index 00000000000..7c9dd585cb0 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-122999-map.yaml @@ -0,0 +1,3 @@ +pr: 122999 +releasenote: + text: Fixed an issue calculating total CPU usage reported for Windows nodes. diff --git a/releases/release-1.30/release-notes/maps/pr-123011-map.yaml b/releases/release-1.30/release-notes/maps/pr-123011-map.yaml new file mode 100644 index 00000000000..93a9398e65a --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123011-map.yaml @@ -0,0 +1,5 @@ +pr: 123011 +releasenote: + text: Setting `--cidr-allocator-type` to `CloudAllocator` for `kube-controller-manager` + will be removed in a future release. Please switch to and explore the options + available in your external cloud provider. diff --git a/releases/release-1.30/release-notes/maps/pr-123023-map.yaml b/releases/release-1.30/release-notes/maps/pr-123023-map.yaml new file mode 100644 index 00000000000..f052083dcd3 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123023-map.yaml @@ -0,0 +1,3 @@ +pr: 123023 +releasenote: + text: Fixed kubectl explain to shows enum for field types if they were defined. diff --git a/releases/release-1.30/release-notes/maps/pr-123082-map.yaml b/releases/release-1.30/release-notes/maps/pr-123082-map.yaml new file mode 100644 index 00000000000..2659bc77e53 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123082-map.yaml @@ -0,0 +1,3 @@ +pr: 123082 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-123135-map.yaml b/releases/release-1.30/release-notes/maps/pr-123135-map.yaml new file mode 100644 index 00000000000..58661a2b2de --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123135-map.yaml @@ -0,0 +1,5 @@ +pr: 123135 +releasenote: + text: |- + Embed Node information into Pod-bound service account tokens as additional metadata. + Set the 'JTI' field in issued service account tokens, and embed this information as `authentication.kubernetes.io/credential-id` in user's ExtraInfo. diff --git a/releases/release-1.30/release-notes/maps/pr-123165-map.yaml b/releases/release-1.30/release-notes/maps/pr-123165-map.yaml new file mode 100644 index 00000000000..003682f696d --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123165-map.yaml @@ -0,0 +1,6 @@ +pr: 123165 +releasenote: + text: |- + Added audienceMatchPolicy field to AuthenticationConfiguration and support for configuring multiple audiences. + The "audienceMatchPolicy" can be empty (or unset) when a single audience is specified in the "audiences" field. + The "audienceMatchPolicy" must be set to "MatchAny" when multiple audiences are specified in the "audiences" field. diff --git a/releases/release-1.30/release-notes/maps/pr-123215-map.yaml b/releases/release-1.30/release-notes/maps/pr-123215-map.yaml new file mode 100644 index 00000000000..e23d86cef18 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123215-map.yaml @@ -0,0 +1,3 @@ +pr: 123215 +releasenote: + text: 'Graduated "Forensic Container Checkpointing" (KEP #2008) from Alpha to Beta.' diff --git a/releases/release-1.30/release-notes/maps/pr-123261-map.yaml b/releases/release-1.30/release-notes/maps/pr-123261-map.yaml new file mode 100644 index 00000000000..4f1b554524f --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123261-map.yaml @@ -0,0 +1,3 @@ +pr: 123261 +releasenote: + text: Restored --verify-only function in code generation wrappers. diff --git a/releases/release-1.30/release-notes/maps/pr-123272-map.yaml b/releases/release-1.30/release-notes/maps/pr-123272-map.yaml new file mode 100644 index 00000000000..091946b703e --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123272-map.yaml @@ -0,0 +1,3 @@ +pr: 123272 +releasenote: + text: 'cri-api: KEP-3857: Recursive Read-only (RRO) mounts.' diff --git a/releases/release-1.30/release-notes/maps/pr-123281-map.yaml b/releases/release-1.30/release-notes/maps/pr-123281-map.yaml new file mode 100644 index 00000000000..ce69d6b8274 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123281-map.yaml @@ -0,0 +1,7 @@ +pr: 123281 +releasenote: + text: |- + Feature gates for RemoteCommand (kubectl exec, cp, and attach) over WebSockets are now enabled by default (Beta). + - Server-side feature gate: `TranslateStreamCloseWebsocketRequests` + - Client-side (kubectl) feature gate: `KUBECTL_REMOTE_COMMAND_WEBSOCKETS` + - To turn off RemoteCommand over WebSockets for kubectl, the environment variable feature gate must be explicitly set `KUBECTL_REMOTE_COMMAND_WEBSOCKETS=false`. diff --git a/releases/release-1.30/release-notes/maps/pr-123282-map.yaml b/releases/release-1.30/release-notes/maps/pr-123282-map.yaml new file mode 100644 index 00000000000..68a539ec211 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123282-map.yaml @@ -0,0 +1,4 @@ +pr: 123282 +releasenote: + text: Fixed an issue where a JWT authenticator configured via `--authentication-config` + would fail to verify tokens that were not signed using RS256. diff --git a/releases/release-1.30/release-notes/maps/pr-123310-map.yaml b/releases/release-1.30/release-notes/maps/pr-123310-map.yaml new file mode 100644 index 00000000000..a787275e80c --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123310-map.yaml @@ -0,0 +1,3 @@ +pr: 123310 +releasenote: + text: Updated kubedns and nodelocaldns to v1.23.0 diff --git a/releases/release-1.30/release-notes/maps/pr-123341-map.yaml b/releases/release-1.30/release-notes/maps/pr-123341-map.yaml new file mode 100644 index 00000000000..963cbb3391f --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123341-map.yaml @@ -0,0 +1,11 @@ +pr: 123341 +releasenote: + text: 'kubeadm: added the WaitForAllControlPlaneComponents feature gate. It can + be used to tell kubeadm to wait for all control plane components to be ready when + running "kubeadm init" or "kubeadm join --control-plane". Currently kubeadm only + waits for the kube-apiserver. The "kubeadm join" workflow now includes a new experimental + phase called "wait-control-plane". This phase will be marked as non-experimental + when WaitForAllControlPlaneComponents becomes GA. Accordingly a "kubeadm init" + phase "wait-control-plane" will also be available once WaitForAllControlPlaneComponents + becomes GA. These phases can be skipped if the user prefers to not wait for the + control plane components.' diff --git a/releases/release-1.30/release-notes/maps/pr-123343-map.yaml b/releases/release-1.30/release-notes/maps/pr-123343-map.yaml new file mode 100644 index 00000000000..b76280d82f6 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123343-map.yaml @@ -0,0 +1,4 @@ +pr: 123343 +releasenote: + text: Updated ImageGCMaxAge behavior in the kubelet to wait the MaxAge duration + after the kubelet has restarted before garbage collecting diff --git a/releases/release-1.30/release-notes/maps/pr-123345-map.yaml b/releases/release-1.30/release-notes/maps/pr-123345-map.yaml new file mode 100644 index 00000000000..d4f636face9 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123345-map.yaml @@ -0,0 +1,4 @@ +pr: 123345 +releasenote: + text: Added "reason" field to image_garbage_collected_total metric, so admins can + differentiate images that were collected for reason "age" vs "space". diff --git a/releases/release-1.30/release-notes/maps/pr-123372-map.yaml b/releases/release-1.30/release-notes/maps/pr-123372-map.yaml new file mode 100644 index 00000000000..cd8e611ed44 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123372-map.yaml @@ -0,0 +1,8 @@ +pr: 123372 +releasenote: + text: 'kubeadm: added support for machine readable output with "-o yaml" and "-o + json" to the command "kubeadm certs check-expiration". This change is added in + a new API "kind": "CertificateExpirationInfo", "apiVersion": "output.kubeadm.k8s.io/v1alpha3". + The existing non structured formatting is preserved. The output API version v1alpha2 + is now deprecated and will be removed in a future release. Please migrate to using + v1alpha3.' diff --git a/releases/release-1.30/release-notes/maps/pr-123384-map.yaml b/releases/release-1.30/release-notes/maps/pr-123384-map.yaml new file mode 100644 index 00000000000..83990e456ce --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123384-map.yaml @@ -0,0 +1,3 @@ +pr: 123384 +releasenote: + text: Improved scheduler performance when no scoring plugins are defined. diff --git a/releases/release-1.30/release-notes/maps/pr-123406-map.yaml b/releases/release-1.30/release-notes/maps/pr-123406-map.yaml new file mode 100644 index 00000000000..55e03344da3 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123406-map.yaml @@ -0,0 +1,5 @@ +pr: 123406 +releasenote: + text: 'kubeadm: fixed a bug during kubeadm upgrade, where it is not possible to + mount a new device and create a symbolic link for /etc/kubernetes (or a sub-directory) + so that kubeadm stores its information on the mounted device.' diff --git a/releases/release-1.30/release-notes/maps/pr-123418-map.yaml b/releases/release-1.30/release-notes/maps/pr-123418-map.yaml new file mode 100644 index 00000000000..e759fbcd8b9 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123418-map.yaml @@ -0,0 +1,3 @@ +pr: 123418 +releasenote: + text: LoadBalancerIPMode feature is now marked as Beta. diff --git a/releases/release-1.30/release-notes/maps/pr-123425-map.yaml b/releases/release-1.30/release-notes/maps/pr-123425-map.yaml new file mode 100644 index 00000000000..05f6f522ce2 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123425-map.yaml @@ -0,0 +1,4 @@ +pr: 123425 +releasenote: + text: Added feature gate `MutatingAdmissionPolicy` for enabling mutation policy + in admission chain. diff --git a/releases/release-1.30/release-notes/maps/pr-123442-map.yaml b/releases/release-1.30/release-notes/maps/pr-123442-map.yaml new file mode 100644 index 00000000000..c5f4f23fe99 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123442-map.yaml @@ -0,0 +1,3 @@ +pr: 123442 +releasenote: + text: '`NewVolumeManagerReconstruction` feature is now GA.' diff --git a/releases/release-1.30/release-notes/maps/pr-123461-map.yaml b/releases/release-1.30/release-notes/maps/pr-123461-map.yaml new file mode 100644 index 00000000000..41555301015 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123461-map.yaml @@ -0,0 +1,5 @@ +pr: 123461 +releasenote: + text: 'kubeadm: in the new output API "output.kubeadm.k8s.io/v1alpha3" modified + the UpgradePlan structure that is used when calling "kubeadm upgrade plan ... + -o yaml|json", to include a list of multiple available upgrades.' diff --git a/releases/release-1.30/release-notes/maps/pr-123464-map.yaml b/releases/release-1.30/release-notes/maps/pr-123464-map.yaml new file mode 100644 index 00000000000..c354460b153 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123464-map.yaml @@ -0,0 +1,6 @@ +pr: 123464 +releasenote: + text: 'kubeadm: the `bridge-nf-call-iptables=1` and `bridge-nf-call-ip6tables=1` + preflight checks are removed since not all the network implementations require + this setting, network plugins are responsible for setting this correctly depending + on whether or not they connect containers to Linux bridges or use some other mechanism.' diff --git a/releases/release-1.30/release-notes/maps/pr-123475-map.yaml b/releases/release-1.30/release-notes/maps/pr-123475-map.yaml new file mode 100644 index 00000000000..866ec1b5ff8 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123475-map.yaml @@ -0,0 +1,5 @@ +pr: 123475 +releasenote: + text: Fixed bug where providing a FieldPath to a CRD Validation Rule would erroneously + affect the reported field path of other unrelated CRD Validation Rules on the + same schema. diff --git a/releases/release-1.30/release-notes/maps/pr-123479-map.yaml b/releases/release-1.30/release-notes/maps/pr-123479-map.yaml new file mode 100644 index 00000000000..f19b100a06d --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123479-map.yaml @@ -0,0 +1,3 @@ +pr: 123479 +releasenote: + text: sample-apiserver manifest example now has correct RBAC. diff --git a/releases/release-1.30/release-notes/maps/pr-123488-map.yaml b/releases/release-1.30/release-notes/maps/pr-123488-map.yaml new file mode 100644 index 00000000000..6d6b3cedf13 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123488-map.yaml @@ -0,0 +1,3 @@ +pr: 123488 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-123490-map.yaml b/releases/release-1.30/release-notes/maps/pr-123490-map.yaml new file mode 100644 index 00000000000..bf3709dde69 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123490-map.yaml @@ -0,0 +1,3 @@ +pr: 123490 +releasenote: + text: "" diff --git a/releases/release-1.30/release-notes/maps/pr-123492-map.yaml b/releases/release-1.30/release-notes/maps/pr-123492-map.yaml new file mode 100644 index 00000000000..6fffd10dc6d --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123492-map.yaml @@ -0,0 +1,4 @@ +pr: 123492 +releasenote: + text: 'kubeadm: fixed a bug where "kubeadm upgrade plan -o yaml|json" includes unneeded + output and was missing component config information.' diff --git a/releases/release-1.30/release-notes/maps/pr-123504-map.yaml b/releases/release-1.30/release-notes/maps/pr-123504-map.yaml new file mode 100644 index 00000000000..fcfcea220c9 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123504-map.yaml @@ -0,0 +1,3 @@ +pr: 123504 +releasenote: + text: Upgraded metrics server to v0.7.0. diff --git a/releases/release-1.30/release-notes/maps/pr-123517-map.yaml b/releases/release-1.30/release-notes/maps/pr-123517-map.yaml new file mode 100644 index 00000000000..59f4ba2a257 --- /dev/null +++ b/releases/release-1.30/release-notes/maps/pr-123517-map.yaml @@ -0,0 +1,4 @@ +pr: 123517 +releasenote: + text: Patched a leak of a discovery document that would occur when an Aggregated + APIService changed its Spec.Service field and did not change it back. diff --git a/releases/release-1.30/release-notes/release-notes-draft.json b/releases/release-1.30/release-notes/release-notes-draft.json index eda9d4da3e2..53c9341e667 100644 --- a/releases/release-1.30/release-notes/release-notes-draft.json +++ b/releases/release-1.30/release-notes/release-notes-draft.json @@ -1,4 +1,97 @@ { + "112957": { + "commit": "83751630081e5180b633aea7560d689246780582", + "text": "kubelet: a custom root directory for pod logs (instead of default /var/log/pods) can be specified using the `podLogsDir`\nkey in kubelet configuration.", + "markdown": "Kubelet: a custom root directory for pod logs (instead of default /var/log/pods) can be specified using the `podLogsDir`\n key in kubelet configuration. ([#112957](https://github.com/kubernetes/kubernetes/pull/112957), [@mxpv](https://github.com/mxpv)) [SIG API Machinery, Node, Scalability and Testing]", + "author": "mxpv", + "author_url": "https://github.com/mxpv", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/112957", + "pr_number": 112957, + "areas": [ + "test", + "kubelet", + "code-generation" + ], + "kinds": [ + "api-change", + "feature" + ], + "sigs": [ + "scalability", + "node", + "api-machinery", + "testing" + ], + "feature": true, + "duplicate": true, + "duplicate_kind": true + }, + "114301": { + "commit": "ab8c784ee970d72b03fd1c2ed7c228914e17e954", + "text": "Enabled a mechanism for concurrent log rotatation via `kubelet` using a configuration entity of `containerLogMaxWorkers` which controls the maximum number of concurrent rotation that can be performed and an interval configuration of `containerLogMonitorInterval` that can aid in configuring the monitoring duration to best suite your cluster's log generation standards.", + "markdown": "Enabled a mechanism for concurrent log rotatation via `kubelet` using a configuration entity of `containerLogMaxWorkers` which controls the maximum number of concurrent rotation that can be performed and an interval configuration of `containerLogMonitorInterval` that can aid in configuring the monitoring duration to best suite your cluster's log generation standards. ([#114301](https://github.com/kubernetes/kubernetes/pull/114301), [@harshanarayana](https://github.com/harshanarayana))", + "author": "harshanarayana", + "author_url": "https://github.com/harshanarayana", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/114301", + "pr_number": 114301, + "areas": [ + "test", + "kubelet", + "code-generation" + ], + "kinds": [ + "bug", + "api-change", + "feature" + ], + "sigs": [ + "node", + "api-machinery", + "testing" + ], + "feature": true, + "duplicate": true, + "duplicate_kind": true + }, + "114672": { + "commit": "98bd90fbe279f9083db92c51badce424d6d8b1c1", + "text": "Text logging in Kubernetes components now uses [textlogger](https://pkg.go.dev/k8s.io/klog/v2@v2.120.0/textlogger). The same split streams of info and error log entries with buffering of info entries is now also supported for text output (off by default, alpha feature). Previously, this was only supported for JSON. Performance is better also without split streams.", + "markdown": "Text logging in Kubernetes components now uses [textlogger](https://pkg.go.dev/k8s.io/klog/v2@v2.120.0/textlogger). The same split streams of info and error log entries with buffering of info entries is now also supported for text output (off by default, alpha feature). Previously, this was only supported for JSON. Performance is better also without split streams. ([#114672](https://github.com/kubernetes/kubernetes/pull/114672), [@pohly](https://github.com/pohly)) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Network, Node, Storage and Testing]", + "author": "pohly", + "author_url": "https://github.com/pohly", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/114672", + "pr_number": 114672, + "areas": [ + "test", + "kubelet", + "kube-proxy", + "apiserver", + "kubectl", + "cloudprovider", + "code-generation", + "dependency" + ], + "kinds": [ + "api-change", + "feature" + ], + "sigs": [ + "network", + "storage", + "node", + "api-machinery", + "cluster-lifecycle", + "auth", + "cli", + "instrumentation", + "testing", + "architecture", + "cloud-provider" + ], + "feature": true, + "duplicate": true, + "duplicate_kind": true + }, "115768": { "commit": "c02f5bc0f8e5b71b5c0aa71513bf52a6c91592dd", "text": "Implemented `prescore` extension point for `volumeBinding` plugin. Return skip if it doesn't do anything in Score.", @@ -71,8 +164,8 @@ }, "117046": { "commit": "db82260c65df9cedaf93e924a2401b4e55a8a2a0", - "text": "Informers now support adding Indexers after the informer starts", - "markdown": "Informers now support adding Indexers after the informer starts ([#117046](https://github.com/kubernetes/kubernetes/pull/117046), [@howardjohn](https://github.com/howardjohn)) [SIG API Machinery]", + "text": "Informers now support adding Indexers after the informer starts.", + "markdown": "Informers now support adding Indexers after the informer starts. ([#117046](https://github.com/kubernetes/kubernetes/pull/117046), [@howardjohn](https://github.com/howardjohn))", "author": "howardjohn", "author_url": "https://github.com/howardjohn", "pr_url": "https://github.com/kubernetes/kubernetes/pull/117046", @@ -87,8 +180,8 @@ }, "118389": { "commit": "be77b0b82b01a3fc810118f095594ec8bdd3c3aa", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#118389](https://github.com/kubernetes/kubernetes/pull/118389), [@amewayne](https://github.com/amewayne)) [SIG Scheduling]", + "text": "", + "markdown": " ([#118389](https://github.com/kubernetes/kubernetes/pull/118389), [@amewayne](https://github.com/amewayne))", "author": "amewayne", "author_url": "https://github.com/amewayne", "pr_url": "https://github.com/kubernetes/kubernetes/pull/118389", @@ -104,8 +197,8 @@ }, "118756": { "commit": "f12529c2f2347fc2284af3219e60088208b1f43b", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#118756](https://github.com/kubernetes/kubernetes/pull/118756), [@sxllwx](https://github.com/sxllwx)) [SIG API Machinery and Apps]", + "text": "", + "markdown": " ([#118756](https://github.com/kubernetes/kubernetes/pull/118756), [@sxllwx](https://github.com/sxllwx))", "author": "sxllwx", "author_url": "https://github.com/sxllwx", "pr_url": "https://github.com/kubernetes/kubernetes/pull/118756", @@ -122,8 +215,8 @@ }, "119177": { "commit": "195bb67d36c42faff8e99f97d2bad38587485989", - "text": "kube-scheduler implements scheduling hints for the `NodeResourceFit` plugin.\nThe scheduling hints allow the scheduler to only retry scheduling a Pod\nthat was previously rejected by the `NodeResourceFit` plugin if a new Node or \na Node update matches the Pod's resource requirements or if an old pod update \nor delete matches the Pod's resource requirements.", - "markdown": "Kube-scheduler implements scheduling hints for the `NodeResourceFit` plugin.\n The scheduling hints allow the scheduler to only retry scheduling a Pod\n that was previously rejected by the `NodeResourceFit` plugin if a new Node or \n a Node update matches the Pod's resource requirements or if an old pod update \n or delete matches the Pod's resource requirements. ([#119177](https://github.com/kubernetes/kubernetes/pull/119177), [@carlory](https://github.com/carlory))", + "text": "kube-scheduler implemented scheduling hints for the `NodeResourceFit` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the `NodeResourceFit` plugin if a new Node or a Node update matched the Pod's resource requirements or if an old pod update or delete matched the Pod's resource requirements.", + "markdown": "Kube-scheduler implemented scheduling hints for the `NodeResourceFit` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the `NodeResourceFit` plugin if a new Node or a Node update matched the Pod's resource requirements or if an old pod update or delete matched the Pod's resource requirements. ([#119177](https://github.com/kubernetes/kubernetes/pull/119177), [@carlory](https://github.com/carlory))", "author": "carlory", "author_url": "https://github.com/carlory", "pr_url": "https://github.com/kubernetes/kubernetes/pull/119177", @@ -137,9 +230,9 @@ "feature": true }, "119200": { - "commit": "4163ce5017268b0ae25df327f0a210032ef1cc80", - "text": "kubectl debug: added sysadmin profile", - "markdown": "Kubectl debug: added sysadmin profile ([#119200](https://github.com/kubernetes/kubernetes/pull/119200), [@eiffel-fl](https://github.com/eiffel-fl))", + "commit": "4d6c0ba518d6c4037102736fe443490dde006fc2", + "text": "kubectl debug: added sysadmin profile.", + "markdown": "Kubectl debug: added sysadmin profile. ([#119200](https://github.com/kubernetes/kubernetes/pull/119200), [@eiffel-fl](https://github.com/eiffel-fl))", "documentation": [ { "description": "[KEP]", @@ -183,8 +276,8 @@ }, "119923": { "commit": "26e2cc529915d342d3cf9df870b338695370756a", - "text": "fix: Mount point may become local without calling `NodePublishVolume` after node rebooting.", - "markdown": "Fix: Mount point may become local without calling `NodePublishVolume` after node rebooting. ([#119923](https://github.com/kubernetes/kubernetes/pull/119923), [@cvvz](https://github.com/cvvz))", + "text": "Fixed mount point may become local without calling `NodePublishVolume` after node rebooting.", + "markdown": "Fixed mount point may become local without calling `NodePublishVolume` after node rebooting. ([#119923](https://github.com/kubernetes/kubernetes/pull/119923), [@cvvz](https://github.com/cvvz))", "author": "cvvz", "author_url": "https://github.com/cvvz", "pr_url": "https://github.com/kubernetes/kubernetes/pull/119923", @@ -203,8 +296,8 @@ }, "120159": { "commit": "96461a22a45e09bb9cfc3515ff49616779a9a2a6", - "text": "Fixed \"delete pod declare no controllor\" note.", - "markdown": "Fixed \"delete pod declare no controllor\" note. ([#120159](https://github.com/kubernetes/kubernetes/pull/120159), [@Ithrael](https://github.com/Ithrael))", + "text": "Modified the error message of `unmanagedFatal` to enhance clarity while preserving grammatical consistency with `unmanagedWarning`. This improvement ensures a more understandable prompt for users.", + "markdown": "Modified the error message of `unmanagedFatal` to enhance clarity while preserving grammatical consistency with `unmanagedWarning`. This improvement ensures a more understandable prompt for users. ([#120159](https://github.com/kubernetes/kubernetes/pull/120159), [@Ithrael](https://github.com/Ithrael))", "author": "Ithrael", "author_url": "https://github.com/Ithrael", "pr_url": "https://github.com/kubernetes/kubernetes/pull/120159", @@ -221,8 +314,8 @@ }, "120246": { "commit": "45656f8774c7c761f87a593f68563ccdb3b67523", - "text": "kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist`. instead.", - "markdown": "Kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist`. instead. ([#120246](https://github.com/kubernetes/kubernetes/pull/120246), [@pacoxu](https://github.com/pacoxu))", + "text": "kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist` instead.", + "markdown": "Kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist` instead. ([#120246](https://github.com/kubernetes/kubernetes/pull/120246), [@pacoxu](https://github.com/pacoxu))", "author": "pacoxu", "author_url": "https://github.com/pacoxu", "pr_url": "https://github.com/kubernetes/kubernetes/pull/120246", @@ -242,6 +335,27 @@ "duplicate": true, "duplicate_kind": true }, + "120251": { + "commit": "c3caddf3e696cfcd44c07607254ae6928e85d2f6", + "text": "NONE", + "markdown": "NONE ([#120251](https://github.com/kubernetes/kubernetes/pull/120251), [@liyuerich](https://github.com/liyuerich)) [SIG Apps and Testing]", + "author": "liyuerich", + "author_url": "https://github.com/liyuerich", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/120251", + "pr_number": 120251, + "areas": [ + "test" + ], + "kinds": [ + "cleanup" + ], + "sigs": [ + "apps", + "testing" + ], + "duplicate": true, + "do_not_publish": true + }, "120291": { "commit": "2efed1f1cb33bf7e3f44bb5e74bdaa9f7a5092f1", "text": "Fixed Windows credential provider, cannot find binary. Windows credential provider binary path may have \".exe\" suffix so it is better to use `LookPath()` to support it flexibly.", @@ -260,6 +374,33 @@ "cloud-provider" ] }, + "120344": { + "commit": "13dddca6a2c11a72e804f8ae65787a86be84b05a", + "text": "Added the following CLI option for `kube-controller-manager`:\n- `disable-force-detach` (defaults to `false`): Prevent force detaching volumes based on maximum unmount time and node status. If enabled, the non-graceful node shutdown feature must be used to recover from node failure (see https://kubernetes.io/blog/2023/08/16/kubernetes-1-28-non-graceful-node-shutdown-ga/). If enabled and a pod must be forcibly terminated at the risk of corruption, then the appropriate VolumeAttachment object (see here: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume-attachment-v1/) must be deleted.", + "markdown": "Added the following CLI option for `kube-controller-manager`:\n - `disable-force-detach` (defaults to `false`): Prevent force detaching volumes based on maximum unmount time and node status. If enabled, the non-graceful node shutdown feature must be used to recover from node failure (see https://kubernetes.io/blog/2023/08/16/kubernetes-1-28-non-graceful-node-shutdown-ga/). If enabled and a pod must be forcibly terminated at the risk of corruption, then the appropriate VolumeAttachment object (see here: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume-attachment-v1/) must be deleted. ([#120344](https://github.com/kubernetes/kubernetes/pull/120344), [@rohitssingh](https://github.com/rohitssingh))", + "author": "rohitssingh", + "author_url": "https://github.com/rohitssingh", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/120344", + "pr_number": 120344, + "areas": [ + "test", + "code-generation" + ], + "kinds": [ + "bug", + "api-change", + "feature" + ], + "sigs": [ + "storage", + "api-machinery", + "apps", + "testing" + ], + "feature": true, + "duplicate": true, + "duplicate_kind": true + }, "120631": { "commit": "fb1aea9a289e155fa21a57e9512acd61ed1b786b", "text": "NONE", @@ -288,8 +429,8 @@ }, "120642": { "commit": "6d6398ef9266abce3518a4c9a3d4e4d8feeffdc1", - "text": "package validatingwebhookconfiguration", - "markdown": "Package validatingwebhookconfiguration ([#120642](https://github.com/kubernetes/kubernetes/pull/120642), [@jcchavezs](https://github.com/jcchavezs)) [SIG API Machinery, Apps, Architecture, Auth, Autoscaling, CLI, Cloud Provider, Instrumentation, Network, Node, Release, Scalability, Scheduling, Storage, Testing and Windows]", + "text": "Added consistent vanity import to files and provides tooling for verifying and updating them.", + "markdown": "Added consistent vanity import to files and provides tooling for verifying and updating them. ([#120642](https://github.com/kubernetes/kubernetes/pull/120642), [@jcchavezs](https://github.com/jcchavezs))", "author": "jcchavezs", "author_url": "https://github.com/jcchavezs", "pr_url": "https://github.com/kubernetes/kubernetes/pull/120642", @@ -328,10 +469,57 @@ "duplicate": true, "do_not_publish": true }, + "120718": { + "commit": "dd890b899fa62ccc96c6b4786ede8914456a66c4", + "text": "Node podresources API now includes init containers with containerRestartPolicy of `Always` when `SidecarContainers` feature is enabled.", + "markdown": "Node podresources API now includes init containers with containerRestartPolicy of `Always` when `SidecarContainers` feature is enabled. ([#120718](https://github.com/kubernetes/kubernetes/pull/120718), [@gjkim42](https://github.com/gjkim42)) [SIG Node and Testing]", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/753-sidecar-containers", + "type": "KEP" + } + ], + "author": "gjkim42", + "author_url": "https://github.com/gjkim42", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/120718", + "pr_number": 120718, + "areas": [ + "test", + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node", + "testing" + ], + "feature": true, + "duplicate": true + }, + "120902": { + "commit": "6c046796175de51e33290804a7665db5fa752a80", + "text": "Added an optimization to reduce stack memory usage for watch requests. It is can be disabled with the feature gate: `APIServingWithRoutine=false`", + "markdown": "Added an optimization to reduce stack memory usage for watch requests. It is can be disabled with the feature gate: `APIServingWithRoutine=false` ([#120902](https://github.com/kubernetes/kubernetes/pull/120902), [@linxiulei](https://github.com/linxiulei))", + "author": "linxiulei", + "author_url": "https://github.com/linxiulei", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/120902", + "pr_number": 120902, + "areas": [ + "apiserver" + ], + "kinds": [ + "cleanup" + ], + "sigs": [ + "api-machinery" + ] + }, "121387": { "commit": "e13f098c8e09103301c7cf70d575667b99a3b5cb", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#121387](https://github.com/kubernetes/kubernetes/pull/121387), [@KunWuLuan](https://github.com/KunWuLuan)) [SIG Scheduling]", + "text": "", + "markdown": " ([#121387](https://github.com/kubernetes/kubernetes/pull/121387), [@KunWuLuan](https://github.com/KunWuLuan))", "author": "KunWuLuan", "author_url": "https://github.com/KunWuLuan", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121387", @@ -346,8 +534,8 @@ }, "121413": { "commit": "e36fc426a71891a9c3b821225aed9f7ba2a92c0e", - "text": "```", - "markdown": "``` ([#121413](https://github.com/kubernetes/kubernetes/pull/121413), [@humblec](https://github.com/humblec)) [SIG Cloud Provider]", + "text": "", + "markdown": " ([#121413](https://github.com/kubernetes/kubernetes/pull/121413), [@humblec](https://github.com/humblec))", "author": "humblec", "author_url": "https://github.com/humblec", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121413", @@ -363,10 +551,38 @@ ], "do_not_publish": true }, + "121461": { + "commit": "20ec766adfb34bb3c4766a0b52a30c55fd13d2a2", + "text": "Promoted the `CRDValidationRatcheting` feature gate to beta, and made it enabled by default.", + "markdown": "Promoted the `CRDValidationRatcheting` feature gate to beta, and made it enabled by default. ([#121461](https://github.com/kubernetes/kubernetes/pull/121461), [@alexzielenski](https://github.com/alexzielenski)) [SIG API Machinery and Testing]", + "documentation": [ + { + "description": "[KEP]", + "url": "https://kep.k8s.io/4008", + "type": "external" + } + ], + "author": "alexzielenski", + "author_url": "https://github.com/alexzielenski", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/121461", + "pr_number": 121461, + "areas": [ + "test" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "api-machinery", + "testing" + ], + "feature": true, + "duplicate": true + }, "121512": { "commit": "11b974043604f5ccbeb6e5e62e1d9edcf00bc336", - "text": "Add `apiserver.latency.k8s.io/decode-response-object` annotation to the audit log to record the decoding time.", - "markdown": "Add `apiserver.latency.k8s.io/decode-response-object` annotation to the audit log to record the decoding time. ([#121512](https://github.com/kubernetes/kubernetes/pull/121512), [@HirazawaUi](https://github.com/HirazawaUi))", + "text": "The `apiserver.latency.k8s.io/decode-response-object` annotation was added to the audit log to record the decoding time.", + "markdown": "The `apiserver.latency.k8s.io/decode-response-object` annotation was added to the audit log to record the decoding time. ([#121512](https://github.com/kubernetes/kubernetes/pull/121512), [@HirazawaUi](https://github.com/HirazawaUi))", "author": "HirazawaUi", "author_url": "https://github.com/HirazawaUi", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121512", @@ -384,8 +600,8 @@ }, "121565": { "commit": "014149d66e38360276b04f788b4da9a7f2ea5c4a", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#121565](https://github.com/kubernetes/kubernetes/pull/121565), [@srivastav-abhishek](https://github.com/srivastav-abhishek)) [SIG Node]", + "text": "", + "markdown": " ([#121565](https://github.com/kubernetes/kubernetes/pull/121565), [@srivastav-abhishek](https://github.com/srivastav-abhishek))", "author": "srivastav-abhishek", "author_url": "https://github.com/srivastav-abhishek", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121565", @@ -405,8 +621,8 @@ }, "121669": { "commit": "89c314ed8b71c0894167cab151414517f298668d", - "text": "Fix: Ignore unnecessary node events and improve daemonset controller performance.", - "markdown": "Fix: Ignore unnecessary node events and improve daemonset controller performance. ([#121669](https://github.com/kubernetes/kubernetes/pull/121669), [@xigang](https://github.com/xigang)) [SIG Apps]", + "text": "Fixed ignore unnecessary node events and improve daemonset controller performance.", + "markdown": "Fixed ignore unnecessary node events and improve daemonset controller performance. ([#121669](https://github.com/kubernetes/kubernetes/pull/121669), [@xigang](https://github.com/xigang))", "author": "xigang", "author_url": "https://github.com/xigang", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121669", @@ -418,6 +634,48 @@ "apps" ] }, + "121719": { + "commit": "0f5cf6c1cd993f3f236ef491b488858e36873e6a", + "text": "A new kubelet metric `image_pull_duration_seconds` was added. The metric tracks the duration (in seconds) it takes for an image to be pulled, including the time spent in the waiting queue of image puller. The metric is broken down by bucketed image size.", + "markdown": "A new kubelet metric `image_pull_duration_seconds` was added. The metric tracks the duration (in seconds) it takes for an image to be pulled, including the time spent in the waiting queue of image puller. The metric is broken down by bucketed image size. ([#121719](https://github.com/kubernetes/kubernetes/pull/121719), [@ruiwen-zhao](https://github.com/ruiwen-zhao))", + "author": "ruiwen-zhao", + "author_url": "https://github.com/ruiwen-zhao", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/121719", + "pr_number": 121719, + "areas": [ + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node", + "instrumentation" + ], + "feature": true, + "duplicate": true + }, + "121720": { + "commit": "cbfebf02e8c87096d45de4bec5d95f3d6835a23d", + "text": "Added a new internal metric `kubelet_first_network_pod_start_sli_duration_second` \nin the kubelet that allow developers to understand the source of the latency problems on node startups.", + "markdown": "Added a new internal metric `kubelet_first_network_pod_start_sli_duration_second` \n in the kubelet that allow developers to understand the source of the latency problems on node startups. ([#121720](https://github.com/kubernetes/kubernetes/pull/121720), [@aojea](https://github.com/aojea))", + "author": "aojea", + "author_url": "https://github.com/aojea", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/121720", + "pr_number": 121720, + "areas": [ + "kubelet" + ], + "kinds": [ + "documentation" + ], + "sigs": [ + "network", + "node", + "instrumentation" + ], + "duplicate": true + }, "121736": { "commit": "ae2be16e516dcd19da60341b170a3defff57e6bc", "text": "Updated `kube-dns` to `v1.22.27`.", @@ -436,10 +694,32 @@ "cloud-provider" ] }, + "121778": { + "commit": "0f7cc6fcaa0313c871312dbd1775f0f1a34684d3", + "text": "Added kubelet metrics to track the memory manager allocation and pinning.", + "markdown": "Added kubelet metrics to track the memory manager allocation and pinning. ([#121778](https://github.com/kubernetes/kubernetes/pull/121778), [@Tal-or](https://github.com/Tal-or))", + "author": "Tal-or", + "author_url": "https://github.com/Tal-or", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/121778", + "pr_number": 121778, + "areas": [ + "test", + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node", + "testing" + ], + "feature": true, + "duplicate": true + }, "121815": { "commit": "91655922197276ced2e4e36114bb753e384dbd83", - "text": "Make decoding etcd's response respect the timeout context.", - "markdown": "Make decoding etcd's response respect the timeout context. ([#121815](https://github.com/kubernetes/kubernetes/pull/121815), [@HirazawaUi](https://github.com/HirazawaUi)) [SIG API Machinery]", + "text": "Made decoding etcd's response respect the timeout context.", + "markdown": "Made decoding etcd's response respect the timeout context. ([#121815](https://github.com/kubernetes/kubernetes/pull/121815), [@HirazawaUi](https://github.com/HirazawaUi))", "author": "HirazawaUi", "author_url": "https://github.com/HirazawaUi", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121815", @@ -546,6 +826,29 @@ "feature": true, "duplicate_kind": true }, + "121946": { + "commit": "66d038d84d3d7da0394aca2720823fedadec0dee", + "text": "kube-apiserver now reloads the `--authorization-config` file when it changes. Reloads increment the `apiserver_authorization_config_controller_automatic_reload_last_timestamp_seconds` timestamp metric, with `status=\"success\"` for successful reloads and `status=\"failed\"` for failed reloads. Failed reloads keep using the previously loaded authorization configuration.", + "markdown": "Kube-apiserver now reloads the `--authorization-config` file when it changes. Reloads increment the `apiserver_authorization_config_controller_automatic_reload_last_timestamp_seconds` timestamp metric, with `status=\"success\"` for successful reloads and `status=\"failed\"` for failed reloads. Failed reloads keep using the previously loaded authorization configuration. ([#121946](https://github.com/kubernetes/kubernetes/pull/121946), [@liggitt](https://github.com/liggitt)) [SIG API Machinery, Auth and Testing]", + "author": "liggitt", + "author_url": "https://github.com/liggitt", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/121946", + "pr_number": 121946, + "areas": [ + "test", + "apiserver" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "api-machinery", + "auth", + "testing" + ], + "feature": true, + "duplicate": true + }, "121952": { "commit": "e566bd7769cb3dd00e2401d85e5af6d542523d66", "text": "The scheduler retries Pods, which are failed by nodevolumelimits due to not found PVCs, only when new PVCs are added.", @@ -566,8 +869,8 @@ }, "121954": { "commit": "e04316a68af3fdf51467202809f8a611895097b6", - "text": "Updated some interfaces' signature in scheduler: - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - PreScorePlugin: used NodeInfo in `PreScore`. - Extender: used NodeInfo in `Filter` and `Prioritize`.", - "markdown": "Updated some interfaces' signature in scheduler: - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - PreScorePlugin: used NodeInfo in `PreScore`. - Extender: used NodeInfo in `Filter` and `Prioritize`. ([#121954](https://github.com/kubernetes/kubernetes/pull/121954), [@AxeZhan](https://github.com/AxeZhan))", + "text": "\"Some interfaces' signatures in the scheduler were updated: - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - PreScorePlugin: used NodeInfo in `PreScore`. - Extender: used NodeInfo in `Filter` and `Prioritize`.\"\n", + "markdown": "\"Some interfaces' signatures in the scheduler were updated: - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - PreScorePlugin: used NodeInfo in `PreScore`. - Extender: used NodeInfo in `Filter` and `Prioritize`.\"\n ([#121954](https://github.com/kubernetes/kubernetes/pull/121954), [@AxeZhan](https://github.com/AxeZhan))", "author": "AxeZhan", "author_url": "https://github.com/AxeZhan", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121954", @@ -610,8 +913,8 @@ }, "121983": { "commit": "0c24ec6e8a4364bfdc2aa33b0705f7225d3352d0", - "text": "cleanup: removed `getStorageAccountName` warning messages", - "markdown": "Cleanup: removed `getStorageAccountName` warning messages ([#121983](https://github.com/kubernetes/kubernetes/pull/121983), [@andyzhangx](https://github.com/andyzhangx))", + "text": "cleanup: removed `getStorageAccountName` warning messages.", + "markdown": "Cleanup: removed `getStorageAccountName` warning messages. ([#121983](https://github.com/kubernetes/kubernetes/pull/121983), [@andyzhangx](https://github.com/andyzhangx))", "author": "andyzhangx", "author_url": "https://github.com/andyzhangx", "pr_url": "https://github.com/kubernetes/kubernetes/pull/121983", @@ -645,8 +948,8 @@ }, "122022": { "commit": "5322af7f9e06dc457b48f6737edf3e1bf36490e5", - "text": "The scheduling queue didn't notice any extenders' failures, it could miss some cluster events, and it could end up Pods rejected by Extenders stuck in unschedulable pod pool in 5min in the worst-case scenario. Now, the scheduling queue notices extenders' failures and requeue Pods rejected by Extenders appropriately.", - "markdown": "The scheduling queue didn't notice any extenders' failures, it could miss some cluster events, and it could end up Pods rejected by Extenders stuck in unschedulable pod pool in 5min in the worst-case scenario. Now, the scheduling queue notices extenders' failures and requeue Pods rejected by Extenders appropriately. ([#122022](https://github.com/kubernetes/kubernetes/pull/122022), [@sanposhiho](https://github.com/sanposhiho))", + "text": "Previously, the scheduling queue didn't notice any extenders' failures, potentially resulting in missed cluster events and Pods rejected by Extenders being stuck in the unschedulable pod pool for up to 5 minutes in the worst-case scenario. Now, the scheduling queue notices extenders' failures and requeues Pods rejected by Extenders appropriately.", + "markdown": "Previously, the scheduling queue didn't notice any extenders' failures, potentially resulting in missed cluster events and Pods rejected by Extenders being stuck in the unschedulable pod pool for up to 5 minutes in the worst-case scenario. Now, the scheduling queue notices extenders' failures and requeues Pods rejected by Extenders appropriately. ([#122022](https://github.com/kubernetes/kubernetes/pull/122022), [@sanposhiho](https://github.com/sanposhiho))", "author": "sanposhiho", "author_url": "https://github.com/sanposhiho", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122022", @@ -679,8 +982,8 @@ }, "122030": { "commit": "eb1ae05cf040346bdb197490ef74ed929fdf60b7", - "text": "For statically provisioned PVs, if its volume source is CSI type or it has migrated annotation, when it's deleted, the PersisentVolume controller won't change its phase to the Failed state. With this patch, the external provisioner can remove the finalizer in next reconcile loop. Unfortunately if the provious existing pv has the Failed state, this patch won't take effort. It requires users to remove finalizer.", - "markdown": "For statically provisioned PVs, if its volume source is CSI type or it has migrated annotation, when it's deleted, the PersisentVolume controller won't change its phase to the Failed state. With this patch, the external provisioner can remove the finalizer in next reconcile loop. Unfortunately if the provious existing pv has the Failed state, this patch won't take effort. It requires users to remove finalizer. ([#122030](https://github.com/kubernetes/kubernetes/pull/122030), [@carlory](https://github.com/carlory))", + "text": "For statically provisioned PVs, if its volume source is CSI type or it has migrated annotation, when it's deleted, the PersisentVolume controller won't change its phase to the Failed state. With this patch, the external provisioner can remove the finalizer in the next reconcile loop. Unfortunately, if the previous existing pv has the Failed state, this patch won't take effort. It requires users to remove finalizer.", + "markdown": "For statically provisioned PVs, if its volume source is CSI type or it has migrated annotation, when it's deleted, the PersisentVolume controller won't change its phase to the Failed state. With this patch, the external provisioner can remove the finalizer in the next reconcile loop. Unfortunately, if the previous existing pv has the Failed state, this patch won't take effort. It requires users to remove finalizer. ([#122030](https://github.com/kubernetes/kubernetes/pull/122030), [@carlory](https://github.com/carlory))", "documentation": [ { "description": "[KEP]", @@ -730,8 +1033,8 @@ }, "122041": { "commit": "b155d51f979f8ed8e6d3064bcc89f6a8a3dd1851", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n-\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n -\n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#122041](https://github.com/kubernetes/kubernetes/pull/122041), [@uniemimu](https://github.com/uniemimu)) [SIG Scheduling]", + "text": "", + "markdown": " ([#122041](https://github.com/kubernetes/kubernetes/pull/122041), [@uniemimu](https://github.com/uniemimu))", "author": "uniemimu", "author_url": "https://github.com/uniemimu", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122041", @@ -744,6 +1047,21 @@ ], "do_not_publish": true }, + "122056": { + "commit": "2e388dd7e91ba5f1ff7d064b170619b409d8f843", + "text": "Fixed the disruption controller's PDB status synchronization to maintain all PDB conditions during an update.", + "markdown": "Fixed the disruption controller's PDB status synchronization to maintain all PDB conditions during an update. ([#122056](https://github.com/kubernetes/kubernetes/pull/122056), [@dhenkel92](https://github.com/dhenkel92)) [SIG Apps]", + "author": "dhenkel92", + "author_url": "https://github.com/dhenkel92", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122056", + "pr_number": 122056, + "kinds": [ + "bug" + ], + "sigs": [ + "apps" + ] + }, "122058": { "commit": "517091cdc5084283e7ee1e3d77587f12bb186604", "text": "Improved scheduler performance when no scoring plugins are defined.", @@ -959,8 +1277,8 @@ }, "122195": { "commit": "9dc0dbe878dc1c14d62c200b297cc8feae0b80c7", - "text": "kube-scheduler implements scheduling hints for the `PodTopologySpread` plugin.\nThe scheduling hints allow the scheduler to retry scheduling a Pod\nthat was previously rejected by the `PodTopologySpread` plugin if \ncreate/delete/update a related Pod or a node which matches the toplogyKey.", - "markdown": "Kube-scheduler implements scheduling hints for the `PodTopologySpread` plugin.\n The scheduling hints allow the scheduler to retry scheduling a Pod\n that was previously rejected by the `PodTopologySpread` plugin if \n create/delete/update a related Pod or a node which matches the toplogyKey. ([#122195](https://github.com/kubernetes/kubernetes/pull/122195), [@nayihz](https://github.com/nayihz))", + "text": "kube-scheduler implemented scheduling hints for the `PodTopologySpread` plugin. The scheduling hints allow the scheduler to retry scheduling a Pod that had been previously rejected by the `PodTopologySpread` plugin if a related Pod was created/deleted/updated or if a node matched the `topologyKey`.", + "markdown": "Kube-scheduler implemented scheduling hints for the `PodTopologySpread` plugin. The scheduling hints allow the scheduler to retry scheduling a Pod that had been previously rejected by the `PodTopologySpread` plugin if a related Pod was created/deleted/updated or if a node matched the `topologyKey`. ([#122195](https://github.com/kubernetes/kubernetes/pull/122195), [@nayihz](https://github.com/nayihz))", "author": "nayihz", "author_url": "https://github.com/nayihz", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122195", @@ -975,8 +1293,8 @@ }, "122197": { "commit": "6b5e973e5f64105bd255aa3f756ec951fcaf62c1", - "text": "Migrated the cmd/kube-proxy to use [contextual logging](https://k8s.io/docs/concepts/cluster-administration/system-logs/#contextual-logging).", - "markdown": "Migrated the cmd/kube-proxy to use [contextual logging](https://k8s.io/docs/concepts/cluster-administration/system-logs/#contextual-logging). ([#122197](https://github.com/kubernetes/kubernetes/pull/122197), [@fatsheep9146](https://github.com/fatsheep9146))", + "text": "Migrated the kube-proxy to use [contextual logging](https://k8s.io/docs/concepts/cluster-administration/system-logs/#contextual-logging).", + "markdown": "Migrated the kube-proxy to use [contextual logging](https://k8s.io/docs/concepts/cluster-administration/system-logs/#contextual-logging). ([#122197](https://github.com/kubernetes/kubernetes/pull/122197), [@fatsheep9146](https://github.com/fatsheep9146))", "documentation": [ { "description": "[KEP]", @@ -1082,8 +1400,8 @@ }, "122233": { "commit": "d647d19f6aef811bace300eec96a67644ff303d4", - "text": "etcd: build image for `v3.5.11`", - "markdown": "Etcd: build image for `v3.5.11` ([#122233](https://github.com/kubernetes/kubernetes/pull/122233), [@mzaian](https://github.com/mzaian))", + "text": "etcd: built image for `v3.5.11`.", + "markdown": "Etcd: built image for `v3.5.11`. ([#122233](https://github.com/kubernetes/kubernetes/pull/122233), [@mzaian](https://github.com/mzaian))", "author": "mzaian", "author_url": "https://github.com/mzaian", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122233", @@ -1167,10 +1485,37 @@ "scheduling" ] }, + "122293": { + "commit": "b584b87a94d6ff5256624bbf83dd5f758dff6eb2", + "text": "kube-controller-manager: increased the global level for broadcaster's logging to 3 so that users can ignore event messages by lowering the logging level. It reduces information noise.", + "markdown": "Kube-controller-manager: increased the global level for broadcaster's logging to 3 so that users can ignore event messages by lowering the logging level. It reduces information noise. ([#122293](https://github.com/kubernetes/kubernetes/pull/122293), [@mengjiao-liu](https://github.com/mengjiao-liu))", + "author": "mengjiao-liu", + "author_url": "https://github.com/mengjiao-liu", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122293", + "pr_number": 122293, + "areas": [ + "test" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "network", + "scheduling", + "storage", + "node", + "api-machinery", + "autoscaling", + "apps", + "testing" + ], + "feature": true, + "duplicate": true + }, "122296": { - "commit": "f538feed8c005866490d0a204bb3da192afe5767", - "text": "`kube-proxy` nftables mode is now compatible with kernel `5.4`", - "markdown": "`kube-proxy` nftables mode is now compatible with kernel `5.4` ([#122296](https://github.com/kubernetes/kubernetes/pull/122296), [@tnqn](https://github.com/tnqn))", + "commit": "377f521038e05ea7684fb4233fa4c69fdbff547b", + "text": "`kube-proxy` nftables mode is now compatible with kernel `5.4`.", + "markdown": "`kube-proxy` nftables mode is now compatible with kernel `5.4`. ([#122296](https://github.com/kubernetes/kubernetes/pull/122296), [@tnqn](https://github.com/tnqn))", "author": "tnqn", "author_url": "https://github.com/tnqn", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122296", @@ -1187,8 +1532,8 @@ }, "122309": { "commit": "b1cf91b300a82bd05fdd7b115559e5b83680d768", - "text": "kube-scheduler implements scheduling hints for the `NodeAffinity` plugin.\nThe scheduling hints allow the scheduler to only retry scheduling a Pod\nthat was previously rejected by the `NodeAffinity` plugin \nif a new Node or a Node update matches the Pod's node affinity.", - "markdown": "Kube-scheduler implements scheduling hints for the `NodeAffinity` plugin.\n The scheduling hints allow the scheduler to only retry scheduling a Pod\n that was previously rejected by the `NodeAffinity` plugin \n if a new Node or a Node update matches the Pod's node affinity. ([#122309](https://github.com/kubernetes/kubernetes/pull/122309), [@carlory](https://github.com/carlory))", + "text": "kube-scheduler implemented scheduling hints for the `NodeAffinity` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the `NodeAffinity` plugin if a new Node or a Node update matched the Pod's node affinity.", + "markdown": "Kube-scheduler implemented scheduling hints for the `NodeAffinity` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the `NodeAffinity` plugin if a new Node or a Node update matched the Pod's node affinity. ([#122309](https://github.com/kubernetes/kubernetes/pull/122309), [@carlory](https://github.com/carlory))", "documentation": [ { "description": "[KEP]", @@ -1227,8 +1572,8 @@ }, "122334": { "commit": "d74705119d99afc6b8b3de8a53c3b7c8ad005aef", - "text": "kube-scheduler implements scheduling hints for the NodeUnschedulable plugin.\nThe scheduling hints allow the scheduler to only retry scheduling a Pod\nthat was previously rejected by the NodeSchedulable plugin if a new Node or a Node update sets `.spec.unschedulable` to false.", - "markdown": "Kube-scheduler implements scheduling hints for the NodeUnschedulable plugin.\n The scheduling hints allow the scheduler to only retry scheduling a Pod\n that was previously rejected by the NodeSchedulable plugin if a new Node or a Node update sets `.spec.unschedulable` to false. ([#122334](https://github.com/kubernetes/kubernetes/pull/122334), [@carlory](https://github.com/carlory))", + "text": "kube-scheduler implemented scheduling hints for the `NodeUnschedulable` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the NodeSchedulable plugin if a new Node or a Node update had set `.spec.unschedulable` to false.", + "markdown": "Kube-scheduler implemented scheduling hints for the `NodeUnschedulable` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the NodeSchedulable plugin if a new Node or a Node update had set `.spec.unschedulable` to false. ([#122334](https://github.com/kubernetes/kubernetes/pull/122334), [@carlory](https://github.com/carlory))", "documentation": [ { "description": "[KEP]", @@ -1280,8 +1625,8 @@ }, "122346": { "commit": "1b6b3ba013025c1914f6a992b7223e99c185599c", - "text": "Fixed an issue where kubectl apply could panic when imported as a library", - "markdown": "Fixed an issue where kubectl apply could panic when imported as a library ([#122346](https://github.com/kubernetes/kubernetes/pull/122346), [@Jefftree](https://github.com/Jefftree))", + "text": "Fixed an issue where kubectl apply could panic when imported as a library.", + "markdown": "Fixed an issue where kubectl apply could panic when imported as a library. ([#122346](https://github.com/kubernetes/kubernetes/pull/122346), [@Jefftree](https://github.com/Jefftree))", "author": "Jefftree", "author_url": "https://github.com/Jefftree", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122346", @@ -1354,6 +1699,29 @@ ], "duplicate": true }, + "122422": { + "commit": "47ee56a7f25d907497971139b5beb131d2f3273b", + "text": "'PodSpec API: removed note that hostAliases are not supported on hostNetwork Pods. The feature has been supported since v1.8.'\n", + "markdown": "'PodSpec API: removed note that hostAliases are not supported on hostNetwork Pods. The feature has been supported since v1.8.'\n ([#122422](https://github.com/kubernetes/kubernetes/pull/122422), [@neolit123](https://github.com/neolit123))", + "author": "neolit123", + "author_url": "https://github.com/neolit123", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122422", + "pr_number": 122422, + "areas": [ + "code-generation" + ], + "kinds": [ + "documentation", + "cleanup", + "api-change" + ], + "sigs": [ + "api-machinery", + "apps" + ], + "duplicate": true, + "duplicate_kind": true + }, "122435": { "commit": "c8c845ae08a0277cc883327ef3902283026e9237", "text": "Improved scheduler performance when no scoring plugins are defined.", @@ -1371,8 +1739,8 @@ }, "122449": { "commit": "c015565db399b9cf1e8aebaecc390f6ecbaf24c3", - "text": " `ValidateVolumeAttributesClassUpdate` also validates new vac object.", - "markdown": " `ValidateVolumeAttributesClassUpdate` also validates new vac object. ([#122449](https://github.com/kubernetes/kubernetes/pull/122449), [@carlory](https://github.com/carlory))", + "text": "`ValidateVolumeAttributesClassUpdate` also validates new VolumeAttributesClass object.", + "markdown": "`ValidateVolumeAttributesClassUpdate` also validates new VolumeAttributesClass object. ([#122449](https://github.com/kubernetes/kubernetes/pull/122449), [@carlory](https://github.com/carlory))", "author": "carlory", "author_url": "https://github.com/carlory", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122449", @@ -1384,10 +1752,40 @@ "storage" ] }, + "122456": { + "commit": "3516bc6f49eee4ca2d45ad3a13385c22ea76c247", + "text": "A new metric `lifecycle_handler_sleep_terminated_total` is added to record how many times LifecycleHandler sleep got unexpectedly terminated.", + "markdown": "A new metric `lifecycle_handler_sleep_terminated_total` is added to record how many times LifecycleHandler sleep got unexpectedly terminated. ([#122456](https://github.com/kubernetes/kubernetes/pull/122456), [@AxeZhan](https://github.com/AxeZhan)) [SIG Node and Testing]", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/3960", + "type": "KEP" + } + ], + "author": "AxeZhan", + "author_url": "https://github.com/AxeZhan", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122456", + "pr_number": 122456, + "areas": [ + "test", + "kubelet", + "e2e-test-framework" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node", + "testing" + ], + "feature": true, + "duplicate": true + }, "122468": { "commit": "838536f6641eb5b1b875af05f74fc84146ba2f05", - "text": "Removed GA featuregate `RemoveSelfLink`.", - "markdown": "Removed GA featuregate `RemoveSelfLink`. ([#122468](https://github.com/kubernetes/kubernetes/pull/122468), [@carlory](https://github.com/carlory))", + "text": "Removed GA feature gate `RemoveSelfLink`.", + "markdown": "Removed GA feature gate `RemoveSelfLink`. ([#122468](https://github.com/kubernetes/kubernetes/pull/122468), [@carlory](https://github.com/carlory))", "documentation": [ { "description": "[KEP]", @@ -1411,7 +1809,7 @@ }, "122475": { "commit": "0babde6bacd72a7f2d3cf2a8f4688e766dd122f7", - "text": "fixed panic of Evented PLEG during kubelet start-up.", + "text": "Fixed panic of Evented PLEG during kubelet start-up.", "markdown": "Fixed panic of Evented PLEG during kubelet start-up. ([#122475](https://github.com/kubernetes/kubernetes/pull/122475), [@pacoxu](https://github.com/pacoxu))", "author": "pacoxu", "author_url": "https://github.com/pacoxu", @@ -1428,9 +1826,9 @@ ] }, "122477": { - "commit": "735804dc812ce647f8c130dced45b5ba4079b76e", - "text": "kubeadm shows the supported shell types of `kubeadm completion` in the error message when an invalid shell was specified", - "markdown": "Kubeadm shows the supported shell types of `kubeadm completion` in the error message when an invalid shell was specified ([#122477](https://github.com/kubernetes/kubernetes/pull/122477), [@SataQiu](https://github.com/SataQiu))", + "commit": "41a508f5388bf05c990821be7ac9b702de02b5b2", + "text": "`kubeadm completion` error message now displays supported shell types when an invalid shell was specified.", + "markdown": "`kubeadm completion` error message now displays supported shell types when an invalid shell was specified. ([#122477](https://github.com/kubernetes/kubernetes/pull/122477), [@SataQiu](https://github.com/SataQiu))", "author": "SataQiu", "author_url": "https://github.com/SataQiu", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122477", @@ -1445,8 +1843,23 @@ "cluster-lifecycle" ] }, + "122493": { + "commit": "8f2aaf63d7b301bb2b1a1f9aec9c253a55de05f5", + "text": "Fixed incorrect syncCronJob error logging.", + "markdown": "Fixed incorrect syncCronJob error logging. ([#122493](https://github.com/kubernetes/kubernetes/pull/122493), [@mengjiao-liu](https://github.com/mengjiao-liu)) [SIG Apps]", + "author": "mengjiao-liu", + "author_url": "https://github.com/mengjiao-liu", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122493", + "pr_number": 122493, + "kinds": [ + "bug" + ], + "sigs": [ + "apps" + ] + }, "122498": { - "commit": "5b979a3a53fefce7e3092dfe208385e66e713179", + "commit": "288c00c0c7bd8eb9a03326a7a820f0979784eb7e", "text": "Allowed scheduling framework plugins that implement `io.Closer` to be gracefully closed.", "markdown": "Allowed scheduling framework plugins that implement `io.Closer` to be gracefully closed. ([#122498](https://github.com/kubernetes/kubernetes/pull/122498), [@Gekko0114](https://github.com/Gekko0114))", "author": "Gekko0114", @@ -1462,9 +1875,9 @@ "feature": true }, "122503": { - "commit": "919d4624a03fd2f18d4015a091b13e61d6a10044", - "text": "The option `ignorable` of scheduler extender can skip error both filter and bind.", - "markdown": "The option `ignorable` of scheduler extender can skip error both filter and bind. ([#122503](https://github.com/kubernetes/kubernetes/pull/122503), [@sunbinnnnn](https://github.com/sunbinnnnn))", + "commit": "87816ffb2c012063a4de32124790bdf0939dd3e4", + "text": "Scheduler extender `ignorable` option now handles errors for both filter and bind phases.", + "markdown": "Scheduler extender `ignorable` option now handles errors for both filter and bind phases. ([#122503](https://github.com/kubernetes/kubernetes/pull/122503), [@sunbinnnnn](https://github.com/sunbinnnnn))", "author": "sunbinnnnn", "author_url": "https://github.com/sunbinnnnn", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122503", @@ -1494,8 +1907,8 @@ }, "122523": { "commit": "1e136ef8a0b2eaec6abe7a30bff6dc0abfd3f7dd", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#122523](https://github.com/kubernetes/kubernetes/pull/122523), [@yasindce1998](https://github.com/yasindce1998)) [SIG CLI]", + "text": "", + "markdown": " ([#122523](https://github.com/kubernetes/kubernetes/pull/122523), [@yasindce1998](https://github.com/yasindce1998))", "author": "yasindce1998", "author_url": "https://github.com/yasindce1998", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122523", @@ -1512,7 +1925,7 @@ "do_not_publish": true }, "122530": { - "commit": "0598cec06a907ccc3252393b75cb33290214a869", + "commit": "2f5121671fc9073c3fcb5f163359ebe8f460a402", "text": "kubeadm: added better handling of errors during unmount when calling \"kubeadm reset\". When failing to unmount directories under \"/var/run/kubelet\", kubeadm will now throw an error instead of showing a warning and continuing to cleanup said directory. In such situations it is better for you to inspect the problem and resolve it manually, then you can call \"kubeadm reset\" again to complete the cleanup.", "markdown": "Kubeadm: added better handling of errors during unmount when calling \"kubeadm reset\". When failing to unmount directories under \"/var/run/kubelet\", kubeadm will now throw an error instead of showing a warning and continuing to cleanup said directory. In such situations it is better for you to inspect the problem and resolve it manually, then you can call \"kubeadm reset\" again to complete the cleanup. ([#122530](https://github.com/kubernetes/kubernetes/pull/122530), [@neolit123](https://github.com/neolit123))", "author": "neolit123", @@ -1557,8 +1970,8 @@ }, "122556": { "commit": "ff4cd7b6f56c730aa3a6e3325ca41427483d6ffc", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#122556](https://github.com/kubernetes/kubernetes/pull/122556), [@dims](https://github.com/dims)) [SIG Storage and Testing]", + "text": "", + "markdown": " ([#122556](https://github.com/kubernetes/kubernetes/pull/122556), [@dims](https://github.com/dims))", "author": "dims", "author_url": "https://github.com/dims", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122556", @@ -1598,6 +2011,22 @@ ], "duplicate": true }, + "122569": { + "commit": "2a44cb0ab352f97c419b31b592def50b4e98bc56", + "text": "", + "markdown": " ([#122569](https://github.com/kubernetes/kubernetes/pull/122569), [@IvoGoman](https://github.com/IvoGoman))", + "author": "IvoGoman", + "author_url": "https://github.com/IvoGoman", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122569", + "pr_number": 122569, + "kinds": [ + "bug" + ], + "sigs": [ + "cli" + ], + "do_not_publish": true + }, "122571": { "commit": "026a27e5eb431c553d1204817cbf09f1005eca9b", "text": "Added `WatchListClient` feature gate to `client-go`. When enabled it allows the client to get a stream of individual items instead of chunking from the server.", @@ -1627,7 +2056,7 @@ "feature": true }, "122574": { - "commit": "56ecdadd99aaee518fd9dde45f7c6b81f44d3785", + "commit": "4aecb151b8301a6fc69f63c08f640c7b2b4289fc", "text": "Fixed a bug where `kubectl` drain would consider a pod as having been deleted if an error occurs while calling the API.", "markdown": "Fixed a bug where `kubectl` drain would consider a pod as having been deleted if an error occurs while calling the API. ([#122574](https://github.com/kubernetes/kubernetes/pull/122574), [@brianpursley](https://github.com/brianpursley))", "author": "brianpursley", @@ -1692,6 +2121,36 @@ "node" ] }, + "122589": { + "commit": "0a1cb2a4a42e70482604fe18b02029ecf088c17b", + "text": "Contextual logging is now beta and enabled by default.", + "markdown": "Contextual logging is now beta and enabled by default. ([#122589](https://github.com/kubernetes/kubernetes/pull/122589), [@pohly](https://github.com/pohly)) [SIG Instrumentation]", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/3077", + "type": "KEP" + }, + { + "description": "[Usage]", + "url": "https://kubernetes.io/docs/concepts/cluster-administration/system-logs/#contextual-logging", + "type": "official" + } + ], + "author": "pohly", + "author_url": "https://github.com/pohly", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122589", + "pr_number": 122589, + "kinds": [ + "api-change", + "feature" + ], + "sigs": [ + "instrumentation" + ], + "feature": true, + "duplicate_kind": true + }, "122600": { "commit": "d4678c79e7d316e6347a2868329d61dcb532dfba", "text": "Used `errors.Is()` to handle err returned by `LookPath()`.", @@ -1708,7 +2167,7 @@ ] }, "122612": { - "commit": "7bea14097b77219291c1fce17a2829be8f6b9adb", + "commit": "73bec0f6d95533e49b4d3bd2fd1bf766b710cd7a", "text": "Removed the `SecurityContextDeny` admission plugin, deprecated since `v1.27`. The Pod Security Admission plugin, available since v1.25, is recommended instead. See https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#securitycontextdeny for more information.", "markdown": "Removed the `SecurityContextDeny` admission plugin, deprecated since `v1.27`. The Pod Security Admission plugin, available since v1.25, is recommended instead. See https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#securitycontextdeny for more information. ([#122612](https://github.com/kubernetes/kubernetes/pull/122612), [@mtardy](https://github.com/mtardy))", "documentation": [ @@ -1743,8 +2202,8 @@ }, "122614": { "commit": "95a159299b9be577be55550dbbca588f25580ae9", - "text": "kube-proxy: fixed `LoadBalancerSourceRanges` not working for `nftables` mode", - "markdown": "Kube-proxy: fixed `LoadBalancerSourceRanges` not working for `nftables` mode ([#122614](https://github.com/kubernetes/kubernetes/pull/122614), [@tnqn](https://github.com/tnqn))", + "text": "kube-proxy: fixed `LoadBalancerSourceRanges` not working for `nftables` mode.", + "markdown": "Kube-proxy: fixed `LoadBalancerSourceRanges` not working for `nftables` mode. ([#122614](https://github.com/kubernetes/kubernetes/pull/122614), [@tnqn](https://github.com/tnqn))", "author": "tnqn", "author_url": "https://github.com/tnqn", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122614", @@ -1760,9 +2219,9 @@ ] }, "122618": { - "commit": "cf2003fde41756d1d16fcb2d941a86708e8c5460", - "text": "`kubectl describe`: added Suspend to job, and Node-Selectors and Tolerations to pod template output", - "markdown": "`kubectl describe`: added Suspend to job, and Node-Selectors and Tolerations to pod template output ([#122618](https://github.com/kubernetes/kubernetes/pull/122618), [@ivanvc](https://github.com/ivanvc))", + "commit": "6d65c063caaee8e35a7ae02f2f74cb7b081fdef0", + "text": "`kubectl describe`: added Suspend to job, and Node-Selectors and Tolerations to pod template output.", + "markdown": "`kubectl describe`: added Suspend to job, and Node-Selectors and Tolerations to pod template output. ([#122618](https://github.com/kubernetes/kubernetes/pull/122618), [@ivanvc](https://github.com/ivanvc))", "author": "ivanvc", "author_url": "https://github.com/ivanvc", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122618", @@ -1780,8 +2239,8 @@ }, "122635": { "commit": "42941cb88a1123cfcec931cd784cba19131db472", - "text": "Promote feature-gate `LegacyServiceAccountTokenCleanUp` to GA and lock to default", - "markdown": "Promote feature-gate `LegacyServiceAccountTokenCleanUp` to GA and lock to default ([#122635](https://github.com/kubernetes/kubernetes/pull/122635), [@carlory](https://github.com/carlory))", + "text": "Promoted feature-gate `LegacyServiceAccountTokenCleanUp` to GA and locked it to default.", + "markdown": "Promoted feature-gate `LegacyServiceAccountTokenCleanUp` to GA and locked it to default. ([#122635](https://github.com/kubernetes/kubernetes/pull/122635), [@carlory](https://github.com/carlory))", "documentation": [ { "description": "[KEP]", @@ -1808,8 +2267,8 @@ }, "122640": { "commit": "8bc0ed16cd8a4c966f6822c96fafc7bd2b1eb2ea", - "text": "Printed more information when kubectl describe a `VolumeAttributesClass`", - "markdown": "Printed more information when kubectl describe a `VolumeAttributesClass` ([#122640](https://github.com/kubernetes/kubernetes/pull/122640), [@carlory](https://github.com/carlory))", + "text": "Printed more information when kubectl describe a `VolumeAttributesClass`.", + "markdown": "Printed more information when kubectl describe a `VolumeAttributesClass`. ([#122640](https://github.com/kubernetes/kubernetes/pull/122640), [@carlory](https://github.com/carlory))", "documentation": [ { "description": "[KEP]", @@ -1860,9 +2319,9 @@ "duplicate_kind": true }, "122692": { - "commit": "55f9657e076165ab92fecbc3a1eb83c2300870c4", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#122692](https://github.com/kubernetes/kubernetes/pull/122692), [@aroradaman](https://github.com/aroradaman)) [SIG Auth, Network, Scalability and Windows]", + "commit": "01d7de5464ba38091b53e0a4d5077ddde9553c08", + "text": "", + "markdown": " ([#122692](https://github.com/kubernetes/kubernetes/pull/122692), [@aroradaman](https://github.com/aroradaman))", "author": "aroradaman", "author_url": "https://github.com/aroradaman", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122692", @@ -1931,8 +2390,8 @@ }, "122704": { "commit": "eabd6e4584dd3302c0ce7b7389bdea8f1e0d27aa", - "text": "If a pvc has an empty `storageClassName`, PersistentVolume Controller won't try to assign a default `StorageClass`.", - "markdown": "If a pvc has an empty `storageClassName`, PersistentVolume Controller won't try to assign a default `StorageClass`. ([#122704](https://github.com/kubernetes/kubernetes/pull/122704), [@carlory](https://github.com/carlory))", + "text": "The persistentvolume controller no longer automatically assigns a default `StorageClass` to PVCs (Persistent Volume Claims) with an empty `storageClassName`.", + "markdown": "The persistentvolume controller no longer automatically assigns a default `StorageClass` to PVCs (Persistent Volume Claims) with an empty `storageClassName`. ([#122704](https://github.com/kubernetes/kubernetes/pull/122704), [@carlory](https://github.com/carlory))", "documentation": [ { "description": "[KEP]", @@ -1979,8 +2438,8 @@ }, "122710": { "commit": "9d86dbd0ad004783848c6b3f413a5680992d37f3", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#122710](https://github.com/kubernetes/kubernetes/pull/122710), [@dims](https://github.com/dims)) [SIG Testing]", + "text": "", + "markdown": " ([#122710](https://github.com/kubernetes/kubernetes/pull/122710), [@dims](https://github.com/dims))", "author": "dims", "author_url": "https://github.com/dims", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122710", @@ -2066,7 +2525,7 @@ "duplicate_kind": true }, "122750": { - "commit": "f7f1ea6fa23ec0fc527ff10174bbe0dc3bec77da", + "commit": "9b5ad7e1191b22e7c7cb0358c5f39100deeadcac", "text": "Added `process_start_time_seconds` to `/metrics/slis` endpoint of all components.", "markdown": "Added `process_start_time_seconds` to `/metrics/slis` endpoint of all components. ([#122750](https://github.com/kubernetes/kubernetes/pull/122750), [@richabanker](https://github.com/richabanker))", "author": "richabanker", @@ -2105,8 +2564,8 @@ }, "122807": { "commit": "fedb5842e53f33ae2c4bc2ac8eaf4092b4c3b52b", - "text": "Fixed the following volume plugins may not create user visible files after kubelet was restarted. - configmap - secret - projected - downwardapi", - "markdown": "Fixed the following volume plugins may not create user visible files after kubelet was restarted. - configmap - secret - projected - downwardapi ([#122807](https://github.com/kubernetes/kubernetes/pull/122807), [@carlory](https://github.com/carlory))", + "text": "Fixed an issue where the `configmap`, `secret`, `projected`, and `downwardAPI` volume types didn't create user-visible files after a kubelet restart. This fix ensures data persistence and accessibility after restarts.\n", + "markdown": "Fixed an issue where the `configmap`, `secret`, `projected`, and `downwardAPI` volume types didn't create user-visible files after a kubelet restart. This fix ensures data persistence and accessibility after restarts.\n ([#122807](https://github.com/kubernetes/kubernetes/pull/122807), [@carlory](https://github.com/carlory))", "author": "carlory", "author_url": "https://github.com/carlory", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122807", @@ -2119,9 +2578,9 @@ ] }, "122846": { - "commit": "015e76aa24ebfebfd64062e1161059ac62ddabc9", - "text": "Fixing issue where `AvailableBytes` sometimes does not report correctly on WindowsNodes when `PodAndContainerStatsFromCRI` feature is enabled.", - "markdown": "Fixing issue where `AvailableBytes` sometimes does not report correctly on WindowsNodes when `PodAndContainerStatsFromCRI` feature is enabled. ([#122846](https://github.com/kubernetes/kubernetes/pull/122846), [@marosset](https://github.com/marosset))", + "commit": "5ba3883be020e4a15be450d26d23d3142fbb60d3", + "text": "An issue where `AvailableBytes` sometimes did not report correctly on WindowsNodes when `PodAndContainerStatsFromCRI` feature was enabled has been fixed.", + "markdown": "An issue where `AvailableBytes` sometimes did not report correctly on WindowsNodes when `PodAndContainerStatsFromCRI` feature was enabled has been fixed. ([#122846](https://github.com/kubernetes/kubernetes/pull/122846), [@marosset](https://github.com/marosset))", "author": "marosset", "author_url": "https://github.com/marosset", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122846", @@ -2139,7 +2598,7 @@ "duplicate": true }, "122857": { - "commit": "7bb00356f06332e63a9f06acd42f1bdd8fc559d6", + "commit": "3bf2bf8191337c81ac7b9779018038a55f8ffa1b", "text": "The in-tree cloud provider for Azure has now been removed. Please use the external cloud provider and CSI driver from https://github.com/kubernetes/cloud-provider-azure instead.", "markdown": "The in-tree cloud provider for Azure has now been removed. Please use the external cloud provider and CSI driver from https://github.com/kubernetes/cloud-provider-azure instead. ([#122857](https://github.com/kubernetes/kubernetes/pull/122857), [@nilo19](https://github.com/nilo19))", "author": "nilo19", @@ -2166,6 +2625,96 @@ ], "duplicate": true }, + "122874": { + "commit": "9f6b48f1e7fbabfdf0bf4e15ef028429aa404a23", + "text": "Fixed node lifecycle controller panic when conditionType ready is been patch `nil` by mistake.", + "markdown": "Fixed node lifecycle controller panic when conditionType ready is been patch `nil` by mistake. ([#122874](https://github.com/kubernetes/kubernetes/pull/122874), [@fusida](https://github.com/fusida))", + "author": "fusida", + "author_url": "https://github.com/fusida", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122874", + "pr_number": 122874, + "kinds": [ + "bug" + ], + "sigs": [ + "network", + "node", + "apps" + ], + "duplicate": true + }, + "122881": { + "commit": "542fe510462005c5c5757bed34c6ae62b7b36180", + "text": "Added a CBOR implementation of `runtime.Serializer`. Until CBOR graduates to Alpha, API servers will refuse to start if configured with CBOR support.", + "markdown": "Added a CBOR implementation of `runtime.Serializer`. Until CBOR graduates to Alpha, API servers will refuse to start if configured with CBOR support. ([#122881](https://github.com/kubernetes/kubernetes/pull/122881), [@benluddy](https://github.com/benluddy)) [SIG API Machinery]", + "documentation": [ + { + "description": "[KEP]", + "url": "https://kep.k8s.io/4222", + "type": "external" + } + ], + "author": "benluddy", + "author_url": "https://github.com/benluddy", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122881", + "pr_number": 122881, + "areas": [ + "test", + "kube-proxy", + "apiserver", + "kubectl", + "cloudprovider", + "dependency" + ], + "kinds": [ + "api-change", + "feature" + ], + "sigs": [ + "api-machinery" + ], + "feature": true, + "duplicate_kind": true + }, + "122883": { + "commit": "3d3d705a6dabe8c4bc980e0353a512437ed221e2", + "text": "Fixed bug where health check could pass while APIServices are missing from aggregated discovery.", + "markdown": "Fixed bug where health check could pass while APIServices are missing from aggregated discovery. ([#122883](https://github.com/kubernetes/kubernetes/pull/122883), [@Jefftree](https://github.com/Jefftree))", + "author": "Jefftree", + "author_url": "https://github.com/Jefftree", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122883", + "pr_number": 122883, + "areas": [ + "test" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "api-machinery", + "testing" + ], + "duplicate": true + }, + "122887": { + "commit": "58c77d7b63d0a027b37e2189f9de2728e5674169", + "text": "When the RetryGenerateName feature gate is enabled on the kube-apiserver,\ncreate requests using generateName are retried automatically by the apiserver when the generated name conflicts with an existing resource name, up to a max limit of 7 retries.\nThis feature is in alpha.", + "markdown": "When the RetryGenerateName feature gate is enabled on the kube-apiserver,\n create requests using generateName are retried automatically by the apiserver when the generated name conflicts with an existing resource name, up to a max limit of 7 retries.\n This feature is in alpha. ([#122887](https://github.com/kubernetes/kubernetes/pull/122887), [@jpbetz](https://github.com/jpbetz)) [SIG API Machinery]", + "author": "jpbetz", + "author_url": "https://github.com/jpbetz", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/122887", + "pr_number": 122887, + "areas": [ + "apiserver" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "api-machinery" + ], + "feature": true + }, "122889": { "commit": "0ff6a00fafee08467d946ab18c7839d9704d27d5", "text": "Kubernetes is now built with go `1.22rc2`.", @@ -2189,9 +2738,9 @@ "duplicate": true }, "122893": { - "commit": "a07b1aaa5b39b351ec8586de800baa5715304a3f", - "text": "--- FAIL: TestEnsureAdminClusterRoleBindingImpl (0.00s)\n --- FAIL: TestEnsureAdminClusterRoleBindingImpl/admin.conf:_CRB_already_exists,_use_the_admin.conf_client (0.00s)\n kubeconfig_test.go:938: expected error: true, got false, error: \u003cnil\u003e\nFAIL\nFAIL\tk8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig\t0.103s\nFAIL", - "markdown": "--- FAIL: TestEnsureAdminClusterRoleBindingImpl (0.00s)\n --- FAIL: TestEnsureAdminClusterRoleBindingImpl/admin.conf:_CRB_already_exists,_use_the_admin.conf_client (0.00s)\n kubeconfig_test.go:938: expected error: true, got false, error: \u003cnil\u003e\n FAIL\n FAIL\tk8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig\t0.103s\n FAIL ([#122893](https://github.com/kubernetes/kubernetes/pull/122893), [@danwinship](https://github.com/danwinship)) [SIG Cluster Lifecycle]", + "commit": "b18caee5dfce44d89ca5e127c035274f7ace18c7", + "text": "", + "markdown": " ([#122893](https://github.com/kubernetes/kubernetes/pull/122893), [@danwinship](https://github.com/danwinship))", "author": "danwinship", "author_url": "https://github.com/danwinship", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122893", @@ -2300,8 +2849,8 @@ }, "122999": { "commit": "980033ee810b4a458f7cd475353f585aa82b8c35", - "text": "Fixes an issue calculating total CPU usage reported for Windows nodes", - "markdown": "Fixes an issue calculating total CPU usage reported for Windows nodes ([#122999](https://github.com/kubernetes/kubernetes/pull/122999), [@marosset](https://github.com/marosset)) [SIG Node and Windows]", + "text": "Fixed an issue calculating total CPU usage reported for Windows nodes.", + "markdown": "Fixed an issue calculating total CPU usage reported for Windows nodes. ([#122999](https://github.com/kubernetes/kubernetes/pull/122999), [@marosset](https://github.com/marosset))", "author": "marosset", "author_url": "https://github.com/marosset", "pr_url": "https://github.com/kubernetes/kubernetes/pull/122999", @@ -2319,9 +2868,9 @@ "duplicate": true }, "123001": { - "commit": "862ff187baad9373d59d19e5d736dcda1e25e90d", - "text": "Allow a zero value for the `nominalConcurrencyShares` field of the `PriorityLevelConfiguration` object either using the `flowcontrol.apiserver.k8s.io/v1` or `flowcontrol.apiserver.k8s.io/v1beta3` API", - "markdown": "Allow a zero value for the `nominalConcurrencyShares` field of the `PriorityLevelConfiguration` object either using the `flowcontrol.apiserver.k8s.io/v1` or `flowcontrol.apiserver.k8s.io/v1beta3` API ([#123001](https://github.com/kubernetes/kubernetes/pull/123001), [@tkashem](https://github.com/tkashem))", + "commit": "5f75c35edf1ea0a10a64615c43b5868484c94f46", + "text": "The PriorityLevelConfiguration object now allows a zero value for the `nominalConcurrencyShares` field in both the `flowcontrol.apiserver.k8s.io/v1` and `flowcontrol.apiserver.k8s.io/v1beta3` APIs.", + "markdown": "The PriorityLevelConfiguration object now allows a zero value for the `nominalConcurrencyShares` field in both the `flowcontrol.apiserver.k8s.io/v1` and `flowcontrol.apiserver.k8s.io/v1beta3` APIs. ([#123001](https://github.com/kubernetes/kubernetes/pull/123001), [@tkashem](https://github.com/tkashem))", "author": "tkashem", "author_url": "https://github.com/tkashem", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123001", @@ -2339,8 +2888,8 @@ }, "123003": { "commit": "4f910fe47cc9a0cf648a049a6cccc38be17b0ad6", - "text": "Fixed a bug in `ValidatingAdmissionPolicy` that caused policies which were using CRD parameters to fail to synchronize", - "markdown": "Fixed a bug in `ValidatingAdmissionPolicy` that caused policies which were using CRD parameters to fail to synchronize ([#123003](https://github.com/kubernetes/kubernetes/pull/123003), [@alexzielenski](https://github.com/alexzielenski))", + "text": "Fixed a bug in `ValidatingAdmissionPolicy` that caused policies which were using CRD parameters to fail to synchronize.", + "markdown": "Fixed a bug in `ValidatingAdmissionPolicy` that caused policies which were using CRD parameters to fail to synchronize. ([#123003](https://github.com/kubernetes/kubernetes/pull/123003), [@alexzielenski](https://github.com/alexzielenski))", "author": "alexzielenski", "author_url": "https://github.com/alexzielenski", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123003", @@ -2360,8 +2909,8 @@ }, "123011": { "commit": "65e77e77751423588dc09568d842de0c73e4bede", - "text": "Setting `--cidr-allocator-type` to `CloudAllocator` for `kube-controller-manager` will be removed in a future release. Please switch to and explore the options available in your external cloud provider", - "markdown": "Setting `--cidr-allocator-type` to `CloudAllocator` for `kube-controller-manager` will be removed in a future release. Please switch to and explore the options available in your external cloud provider ([#123011](https://github.com/kubernetes/kubernetes/pull/123011), [@dims](https://github.com/dims)) [SIG API Machinery and Network]", + "text": "Setting `--cidr-allocator-type` to `CloudAllocator` for `kube-controller-manager` will be removed in a future release. Please switch to and explore the options available in your external cloud provider.", + "markdown": "Setting `--cidr-allocator-type` to `CloudAllocator` for `kube-controller-manager` will be removed in a future release. Please switch to and explore the options available in your external cloud provider. ([#123011](https://github.com/kubernetes/kubernetes/pull/123011), [@dims](https://github.com/dims))", "author": "dims", "author_url": "https://github.com/dims", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123011", @@ -2376,9 +2925,9 @@ "duplicate": true }, "123023": { - "commit": "012f04b178a44c0002b0f3ded6cc43788daf9139", - "text": "Show enum values in kubectl explain if they were defined", - "markdown": "Show enum values in kubectl explain if they were defined ([#123023](https://github.com/kubernetes/kubernetes/pull/123023), [@ah8ad3](https://github.com/ah8ad3)) [SIG CLI]", + "commit": "c82c80099d8217b2a3431beeba7c83c52314af37", + "text": "Fixed kubectl explain to shows enum for field types if they were defined.", + "markdown": "Fixed kubectl explain to shows enum for field types if they were defined. ([#123023](https://github.com/kubernetes/kubernetes/pull/123023), [@ah8ad3](https://github.com/ah8ad3))", "author": "ah8ad3", "author_url": "https://github.com/ah8ad3", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123023", @@ -2409,7 +2958,7 @@ ] }, "123038": { - "commit": "7080b51ee92f67623757534f3462d8ae862ef6fe", + "commit": "b8c19dd1d2128cdba89a9c648e8eff209cec317f", "text": "Fixed deprecated version for `pod_scheduling_duration_seconds` that caused the metric to be hidden by default in `1.29`.", "markdown": "Fixed deprecated version for `pod_scheduling_duration_seconds` that caused the metric to be hidden by default in `1.29`. ([#123038](https://github.com/kubernetes/kubernetes/pull/123038), [@alculquicondor](https://github.com/alculquicondor))", "author": "alculquicondor", @@ -2430,8 +2979,29 @@ "duplicate": true, "duplicate_kind": true }, + "123051": { + "commit": "97640d3e2dec4fb842fbbded965c5cfc626e3576", + "text": "\"NONE\"", + "markdown": "\"NONE\" ([#123051](https://github.com/kubernetes/kubernetes/pull/123051), [@yangjunmyfm192085](https://github.com/yangjunmyfm192085)) [SIG Storage and Testing]", + "author": "yangjunmyfm192085", + "author_url": "https://github.com/yangjunmyfm192085", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123051", + "pr_number": 123051, + "areas": [ + "test" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "storage", + "testing" + ], + "duplicate": true, + "do_not_publish": true + }, "123052": { - "commit": "77775d45469a3da6a7ce5e6e2221cff17c2d27fe", + "commit": "593654eaa3b79348233f3718ccd3bcee3f789e5c", "text": "Fixed cleanup of Pod volume mounts when a file was used as a subpath.", "markdown": "Fixed cleanup of Pod volume mounts when a file was used as a subpath. ([#123052](https://github.com/kubernetes/kubernetes/pull/123052), [@jsafrane](https://github.com/jsafrane)) [SIG Node]", "author": "jsafrane", @@ -2450,8 +3020,8 @@ }, "123055": { "commit": "440f11d83dd939afb53d47a64fb1d6bf837cc50b", - "text": "Fixed an error when trying to expand a volume that does not require node expansion", - "markdown": "Fixed an error when trying to expand a volume that does not require node expansion ([#123055](https://github.com/kubernetes/kubernetes/pull/123055), [@gnufied](https://github.com/gnufied))", + "text": "Fixed an error when trying to expand a volume that does not require node expansion.", + "markdown": "Fixed an error when trying to expand a volume that does not require node expansion. ([#123055](https://github.com/kubernetes/kubernetes/pull/123055), [@gnufied](https://github.com/gnufied))", "author": "gnufied", "author_url": "https://github.com/gnufied", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123055", @@ -2469,9 +3039,9 @@ "duplicate": true }, "123069": { - "commit": "003187fd5a0803eb25f984e07a5c7c47a5621c1d", - "text": "Build etcd image `v3.5.12`", - "markdown": "Build etcd image `v3.5.12` ([#123069](https://github.com/kubernetes/kubernetes/pull/123069), [@bzsuni](https://github.com/bzsuni))", + "commit": "1db6e434f3aba8e71d3785d6d985cc3e08f0fdc3", + "text": "etcd image `v3.5.12` has been built.", + "markdown": "Etcd image `v3.5.12` has been built. ([#123069](https://github.com/kubernetes/kubernetes/pull/123069), [@bzsuni](https://github.com/bzsuni))", "author": "bzsuni", "author_url": "https://github.com/bzsuni", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123069", @@ -2489,7 +3059,7 @@ "duplicate": true }, "123077": { - "commit": "173cf189209a2ad21cf251164275cd3cc5366b74", + "commit": "774d666d1ce3c36c29882da521471e71dd352a49", "text": "kubeadm: fix a bug where the --rootfs global flag does not work with \"kubeadm upgrade node\" for control plane nodes.", "markdown": "Kubeadm: fix a bug where the --rootfs global flag does not work with \"kubeadm upgrade node\" for control plane nodes. ([#123077](https://github.com/kubernetes/kubernetes/pull/123077), [@neolit123](https://github.com/neolit123)) [SIG Cluster Lifecycle]", "author": "neolit123", @@ -2508,8 +3078,8 @@ }, "123082": { "commit": "d29f38efd83f5dcf18870c8772b9a0bb68c56097", - "text": "```\n\n#### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n\n\u003c!--\nThis section can be blank if this pull request does not require a release note.\n\nWhen adding links which point to resources within git repositories, like\nKEPs or supporting documentation, please reference a specific commit and avoid\nlinking directly to the master branch. This ensures that links reference a\nspecific point in time, rather than a document that may change over time.\n\nSee here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n\nPlease use the following format for linking documentation:\n- [KEP]: \u003clink\u003e\n- [Usage]: \u003clink\u003e\n- [Other doc]: \u003clink\u003e\n--\u003e", - "markdown": "```\n \n #### Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:\n \n \u003c!--\n This section can be blank if this pull request does not require a release note.\n \n When adding links which point to resources within git repositories, like\n KEPs or supporting documentation, please reference a specific commit and avoid\n linking directly to the master branch. This ensures that links reference a\n specific point in time, rather than a document that may change over time.\n \n See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files\n \n Please use the following format for linking documentation:\n - [KEP]: \u003clink\u003e\n - [Usage]: \u003clink\u003e\n - [Other doc]: \u003clink\u003e\n --\u003e ([#123082](https://github.com/kubernetes/kubernetes/pull/123082), [@alexzielenski](https://github.com/alexzielenski)) [SIG API Machinery and Testing]", + "text": "", + "markdown": " ([#123082](https://github.com/kubernetes/kubernetes/pull/123082), [@alexzielenski](https://github.com/alexzielenski))", "author": "alexzielenski", "author_url": "https://github.com/alexzielenski", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123082", @@ -2528,7 +3098,7 @@ "do_not_publish": true }, "123083": { - "commit": "002b0f00033e3fd4650dd4da3717b9187b8621e1", + "commit": "dc832c6e59e98f8b842efe42d3f18a67e781779d", "text": "`ValidatingAdmissionPolicy` now supports type checking policies that make use of `variables`.", "markdown": "`ValidatingAdmissionPolicy` now supports type checking policies that make use of `variables`. ([#123083](https://github.com/kubernetes/kubernetes/pull/123083), [@jiahuif](https://github.com/jiahuif))", "author": "jiahuif", @@ -2547,7 +3117,7 @@ "feature": true }, "123093": { - "commit": "4a4f5dbc079e85e63f62178af962cb65bd60d987", + "commit": "f47c2a1ba635fae5bf235a7ba4dc2b4d6a0756c9", "text": "kubeadm: do not upload kubelet patch configuration into `kube-system/kubelet-config` ConfigMap", "markdown": "Kubeadm: do not upload kubelet patch configuration into `kube-system/kubelet-config` ConfigMap ([#123093](https://github.com/kubernetes/kubernetes/pull/123093), [@SataQiu](https://github.com/SataQiu)) [SIG Cluster Lifecycle]", "author": "SataQiu", @@ -2636,10 +3206,40 @@ "feature": true, "duplicate": true }, + "123135": { + "commit": "852c03a49b96d0737830ed8fa63d3614276deba8", + "text": "Embed Node information into Pod-bound service account tokens as additional metadata.\nSet the 'JTI' field in issued service account tokens, and embed this information as `authentication.kubernetes.io/credential-id` in user's ExtraInfo.", + "markdown": "Embed Node information into Pod-bound service account tokens as additional metadata.\n Set the 'JTI' field in issued service account tokens, and embed this information as `authentication.kubernetes.io/credential-id` in user's ExtraInfo. ([#123135](https://github.com/kubernetes/kubernetes/pull/123135), [@munnerz](https://github.com/munnerz))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/4193", + "type": "KEP" + } + ], + "author": "munnerz", + "author_url": "https://github.com/munnerz", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123135", + "pr_number": 123135, + "areas": [ + "test", + "apiserver" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "api-machinery", + "auth", + "testing" + ], + "feature": true, + "duplicate": true + }, "123150": { - "commit": "bd0288af97d4294f3acd36b90038110ac6544fbe", - "text": "Update `etcd` to version `3.5.12`", - "markdown": "Update `etcd` to version `3.5.12` ([#123150](https://github.com/kubernetes/kubernetes/pull/123150), [@bzsuni](https://github.com/bzsuni))", + "commit": "658e3308f3422d7512ee7b281bcf9964b1ffea19", + "text": "Updated `etcd` to version `3.5.12`.", + "markdown": "Updated `etcd` to version `3.5.12`. ([#123150](https://github.com/kubernetes/kubernetes/pull/123150), [@bzsuni](https://github.com/bzsuni))", "author": "bzsuni", "author_url": "https://github.com/bzsuni", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123150", @@ -2661,10 +3261,70 @@ ], "duplicate": true }, + "123157": { + "commit": "c53ac4cee4b16d020c218618d942096028a820a9", + "text": "New alpha feature gate `SELinuxMount` can be used to speed up SELinux relabeling of volumes.", + "markdown": "New alpha feature gate `SELinuxMount` can be used to speed up SELinux relabeling of volumes. ([#123157](https://github.com/kubernetes/kubernetes/pull/123157), [@jsafrane](https://github.com/jsafrane)) [SIG Node and Storage]", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1710-selinux-relabeling", + "type": "KEP" + } + ], + "author": "jsafrane", + "author_url": "https://github.com/jsafrane", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123157", + "pr_number": 123157, + "areas": [ + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "storage", + "node" + ], + "feature": true, + "duplicate": true + }, + "123165": { + "commit": "ba450636a455eedb78a18d21db8919e9afdd4e77", + "text": "Added audienceMatchPolicy field to AuthenticationConfiguration and support for configuring multiple audiences.\nThe \"audienceMatchPolicy\" can be empty (or unset) when a single audience is specified in the \"audiences\" field.\nThe \"audienceMatchPolicy\" must be set to \"MatchAny\" when multiple audiences are specified in the \"audiences\" field.", + "markdown": "Added audienceMatchPolicy field to AuthenticationConfiguration and support for configuring multiple audiences.\n The \"audienceMatchPolicy\" can be empty (or unset) when a single audience is specified in the \"audiences\" field.\n The \"audienceMatchPolicy\" must be set to \"MatchAny\" when multiple audiences are specified in the \"audiences\" field. ([#123165](https://github.com/kubernetes/kubernetes/pull/123165), [@aramase](https://github.com/aramase))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/tree/master/keps/sig-auth/3331-structured-authentication-configuration", + "type": "KEP" + } + ], + "author": "aramase", + "author_url": "https://github.com/aramase", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123165", + "pr_number": 123165, + "areas": [ + "test", + "apiserver" + ], + "kinds": [ + "api-change", + "feature" + ], + "sigs": [ + "api-machinery", + "auth", + "testing" + ], + "feature": true, + "duplicate": true, + "duplicate_kind": true + }, "123170": { - "commit": "d6e4c6cdea48d3565a5046079850cd0d04bcb74c", - "text": "update `distroless-iptables` to `v0.5.0` debian-base to `bookworm-v1.0.1` and setcap to `bookworm-v1.0.1`", - "markdown": "Update `distroless-iptables` to `v0.5.0` debian-base to `bookworm-v1.0.1` and setcap to `bookworm-v1.0.1` ([#123170](https://github.com/kubernetes/kubernetes/pull/123170), [@cpanato](https://github.com/cpanato))", + "commit": "ac9482d15f4af13d2bc7ed7b107c46b855afbc27", + "text": "Updated `distroless-iptables` to `v0.5.0`, debian-base to `bookworm-v1.0.1` and setcap to `bookworm-v1.0.1`.", + "markdown": "Updated `distroless-iptables` to `v0.5.0`, debian-base to `bookworm-v1.0.1` and setcap to `bookworm-v1.0.1`. ([#123170](https://github.com/kubernetes/kubernetes/pull/123170), [@cpanato](https://github.com/cpanato))", "author": "cpanato", "author_url": "https://github.com/cpanato", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123170", @@ -2693,8 +3353,8 @@ }, "123171": { "commit": "e7d84c9f08f96832ad66f85adc40f924643e4268", - "text": "kubeadm: `kubelet-finalize` phase of \"kubeadm init\" no longer requires kubelet kubeconfig to have a specific authinfo", - "markdown": "Kubeadm: `kubelet-finalize` phase of \"kubeadm init\" no longer requires kubelet kubeconfig to have a specific authinfo ([#123171](https://github.com/kubernetes/kubernetes/pull/123171), [@vrutkovs](https://github.com/vrutkovs))", + "text": "kubeadm: the `kubelet-finalize` phase of `kubeadm init` no longer requires the kubelet kubeconfig to have a specific authinfo.", + "markdown": "Kubeadm: the `kubelet-finalize` phase of `kubeadm init` no longer requires the kubelet kubeconfig to have a specific authinfo. ([#123171](https://github.com/kubernetes/kubernetes/pull/123171), [@vrutkovs](https://github.com/vrutkovs))", "author": "vrutkovs", "author_url": "https://github.com/vrutkovs", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123171", @@ -2711,8 +3371,8 @@ }, "123179": { "commit": "7abb063b42c7770628ee2b69e25370cf6334882a", - "text": "Added a new metric `apiserver_encryption_config_controller_automatic_reloads_total` to measure total number of API server encryption configuration reload successes and failures. This metric contains the `status` label with a value that is either `success` or `failure`.\nDeprecated the metrics `apiserver_encryption_config_controller_automatic_reload_success_total` and `apiserver_encryption_config_controller_automatic_reload_failure_total`. Use `apiserver_encryption_config_controller_automatic_reloads_total` instead.", - "markdown": "Added a new metric `apiserver_encryption_config_controller_automatic_reloads_total` to measure total number of API server encryption configuration reload successes and failures. This metric contains the `status` label with a value that is either `success` or `failure`.\n Deprecated the metrics `apiserver_encryption_config_controller_automatic_reload_success_total` and `apiserver_encryption_config_controller_automatic_reload_failure_total`. Use `apiserver_encryption_config_controller_automatic_reloads_total` instead. ([#123179](https://github.com/kubernetes/kubernetes/pull/123179), [@aramase](https://github.com/aramase))", + "text": "Added a new metric `apiserver_encryption_config_controller_automatic_reloads_total` \nto measure total number of API server encryption configuration reload successes and failures. \nThis metric contains the `status` label with a value that is either `success` or `failure`.\nDeprecated the metrics `apiserver_encryption_config_controller_automatic_reload_success_total`\nand `apiserver_encryption_config_controller_automatic_reload_failure_total`. \nUse `apiserver_encryption_config_controller_automatic_reloads_total` instead.", + "markdown": "Added a new metric `apiserver_encryption_config_controller_automatic_reloads_total` \n to measure total number of API server encryption configuration reload successes and failures. \n This metric contains the `status` label with a value that is either `success` or `failure`.\n Deprecated the metrics `apiserver_encryption_config_controller_automatic_reload_success_total`\n and `apiserver_encryption_config_controller_automatic_reload_failure_total`. \n Use `apiserver_encryption_config_controller_automatic_reloads_total` instead. ([#123179](https://github.com/kubernetes/kubernetes/pull/123179), [@aramase](https://github.com/aramase))", "author": "aramase", "author_url": "https://github.com/aramase", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123179", @@ -2732,10 +3392,78 @@ "feature": true, "duplicate": true }, + "123215": { + "commit": "da8ffcd1dc30f2e204ae22aaaf85feea90a5e2c4", + "text": "Graduated \"Forensic Container Checkpointing\" (KEP #2008) from Alpha to Beta.", + "markdown": "Graduated \"Forensic Container Checkpointing\" (KEP #2008) from Alpha to Beta. ([#123215](https://github.com/kubernetes/kubernetes/pull/123215), [@adrianreber](https://github.com/adrianreber))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/2008", + "type": "KEP" + }, + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/pull/4288", + "type": "KEP" + }, + { + "description": "[Usage]", + "url": "https://kubernetes.io/blog/2022/12/05/forensic-container-checkpointing-alpha/", + "type": "external" + }, + { + "description": "[Usage]", + "url": "https://kubernetes.io/blog/2023/03/10/forensic-container-analysis/", + "type": "external" + }, + { + "description": "[Other doc]", + "url": "https://kubernetes.io/docs/reference/node/kubelet-checkpoint-api/", + "type": "official" + } + ], + "author": "adrianreber", + "author_url": "https://github.com/adrianreber", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123215", + "pr_number": 123215, + "areas": [ + "test", + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node", + "testing" + ], + "feature": true, + "duplicate": true + }, + "123216": { + "commit": "1fb1218f57f73ec7ccc9ca2403a13bc53440b542", + "text": "The Kubelet rejects creating the pod if hostUserns=false and the CRI runtime does not support user namespaces.", + "markdown": "The Kubelet rejects creating the pod if hostUserns=false and the CRI runtime does not support user namespaces. ([#123216](https://github.com/kubernetes/kubernetes/pull/123216), [@giuseppe](https://github.com/giuseppe)) [SIG Node]", + "author": "giuseppe", + "author_url": "https://github.com/giuseppe", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123216", + "pr_number": 123216, + "areas": [ + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node" + ], + "feature": true + }, "123217": { - "commit": "b85c9bbf1ac911a2a2aed2d5c1f5eaf5956cc199", - "text": "Kubernetes is now built with Go `1.22`", - "markdown": "Kubernetes is now built with Go `1.22` ([#123217](https://github.com/kubernetes/kubernetes/pull/123217), [@cpanato](https://github.com/cpanato))", + "commit": "73cc31847fce71cd99eadfa21b505c8764a3eeff", + "text": "Kubernetes is now built with Go `1.22`.", + "markdown": "Kubernetes is now built with Go `1.22`. ([#123217](https://github.com/kubernetes/kubernetes/pull/123217), [@cpanato](https://github.com/cpanato))", "author": "cpanato", "author_url": "https://github.com/cpanato", "pr_url": "https://github.com/kubernetes/kubernetes/pull/123217", @@ -2753,5 +3481,664 @@ ], "feature": true, "duplicate": true + }, + "123222": { + "commit": "ed84e7f6d327d518e140c5f9c31462075b922c3a", + "text": "DRA: fixed potential data race with no known real-world implications.", + "markdown": "DRA: fixed potential data race with no known real-world implications. ([#123222](https://github.com/kubernetes/kubernetes/pull/123222), [@pohly](https://github.com/pohly)) [SIG Node]", + "author": "pohly", + "author_url": "https://github.com/pohly", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123222", + "pr_number": 123222, + "kinds": [ + "bug" + ], + "sigs": [ + "node" + ] + }, + "123223": { + "commit": "3ae6c051a0971cca3bc8e151b62467d317d5f1a7", + "text": "Added support for cloud provider integrations to supply optional, per-Node custom labels that will be\napplied to Nodes by the node controller.\nExtra labels will only be applied where the cloud provider integration implements this.", + "markdown": "Added support for cloud provider integrations to supply optional, per-Node custom labels that will be\n applied to Nodes by the node controller.\n Extra labels will only be applied where the cloud provider integration implements this. ([#123223](https://github.com/kubernetes/kubernetes/pull/123223), [@mmerkes](https://github.com/mmerkes)) [SIG Cloud Provider]", + "documentation": [ + { + "description": "To use this feature, cloud providers must use the [InstancesV2 interface](", + "url": "https://github.com/kubernetes/kubernetes/blob/ad19beaa83363de89a7772f4d5af393b85ce5e61/staging/src/k8s.io/cloud-provider/cloud.go#L210) and", + "type": "external" + } + ], + "author": "mmerkes", + "author_url": "https://github.com/mmerkes", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123223", + "pr_number": 123223, + "areas": [ + "cloudprovider" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "cloud-provider" + ], + "feature": true + }, + "123261": { + "commit": "1b1b902f81d4e0346af390936bf263e298ea0847", + "text": "Restored --verify-only function in code generation wrappers.", + "markdown": "Restored --verify-only function in code generation wrappers. ([#123261](https://github.com/kubernetes/kubernetes/pull/123261), [@skitt](https://github.com/skitt))", + "author": "skitt", + "author_url": "https://github.com/skitt", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123261", + "pr_number": 123261, + "areas": [ + "code-generation" + ], + "kinds": [ + "bug", + "regression" + ], + "sigs": [ + "api-machinery" + ], + "duplicate_kind": true + }, + "123271": { + "commit": "7225dc6c3ac970f04e7691547193a54ccd0b3ee6", + "text": "kubeadm: make sure that a variety of API server requests are retried during \"init\", \"join\", \"upgrade\", \"reset\" workflows. Prior to this change some API server requests, such as, creating or updating ConfigMaps were \"one-shot\" - i.e. they could fail if the API server dropped connectivity for a very short period of time.", + "markdown": "Kubeadm: make sure that a variety of API server requests are retried during \"init\", \"join\", \"upgrade\", \"reset\" workflows. Prior to this change some API server requests, such as, creating or updating ConfigMaps were \"one-shot\" - i.e. they could fail if the API server dropped connectivity for a very short period of time. ([#123271](https://github.com/kubernetes/kubernetes/pull/123271), [@neolit123](https://github.com/neolit123)) [SIG Cluster Lifecycle]", + "author": "neolit123", + "author_url": "https://github.com/neolit123", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123271", + "pr_number": 123271, + "areas": [ + "kubeadm" + ], + "kinds": [ + "cleanup" + ], + "sigs": [ + "cluster-lifecycle" + ] + }, + "123272": { + "commit": "a834bd84b5408c495095681adb3ad049b5e2566d", + "text": "cri-api: KEP-3857: Recursive Read-only (RRO) mounts.", + "markdown": "Cri-api: KEP-3857: Recursive Read-only (RRO) mounts. ([#123272](https://github.com/kubernetes/kubernetes/pull/123272), [@AkihiroSuda](https://github.com/AkihiroSuda))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://kep.k8s.io/3857", + "type": "external" + }, + { + "description": "[Implementation]", + "url": "https://github.com/kubernetes/kubernetes/pull/123180", + "type": "external" + } + ], + "author": "AkihiroSuda", + "author_url": "https://github.com/AkihiroSuda", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123272", + "pr_number": 123272, + "areas": [ + "kubelet" + ], + "kinds": [ + "api-change", + "feature" + ], + "sigs": [ + "node" + ], + "feature": true, + "duplicate_kind": true + }, + "123281": { + "commit": "a147693deb2e7f040cf367aae4a7ae5d1cb3e7aa", + "text": "Feature gates for RemoteCommand (kubectl exec, cp, and attach) over WebSockets are now enabled by default (Beta).\n- Server-side feature gate: `TranslateStreamCloseWebsocketRequests`\n- Client-side (kubectl) feature gate: `KUBECTL_REMOTE_COMMAND_WEBSOCKETS`\n- To turn off RemoteCommand over WebSockets for kubectl, the environment variable feature gate must be explicitly set `KUBECTL_REMOTE_COMMAND_WEBSOCKETS=false`.", + "markdown": "Feature gates for RemoteCommand (kubectl exec, cp, and attach) over WebSockets are now enabled by default (Beta).\n - Server-side feature gate: `TranslateStreamCloseWebsocketRequests`\n - Client-side (kubectl) feature gate: `KUBECTL_REMOTE_COMMAND_WEBSOCKETS`\n - To turn off RemoteCommand over WebSockets for kubectl, the environment variable feature gate must be explicitly set `KUBECTL_REMOTE_COMMAND_WEBSOCKETS=false`. ([#123281](https://github.com/kubernetes/kubernetes/pull/123281), [@seans3](https://github.com/seans3))", + "author": "seans3", + "author_url": "https://github.com/seans3", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123281", + "pr_number": 123281, + "areas": [ + "test", + "apiserver", + "kubectl" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "api-machinery", + "cli", + "testing" + ], + "feature": true, + "duplicate": true + }, + "123282": { + "commit": "72c3c7c924ec88bfb852fd75740ed7b0ab915c38", + "text": "Fixed an issue where a JWT authenticator configured via `--authentication-config` would fail to verify tokens that were not signed using RS256.", + "markdown": "Fixed an issue where a JWT authenticator configured via `--authentication-config` would fail to verify tokens that were not signed using RS256. ([#123282](https://github.com/kubernetes/kubernetes/pull/123282), [@enj](https://github.com/enj))", + "author": "enj", + "author_url": "https://github.com/enj", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123282", + "pr_number": 123282, + "areas": [ + "test", + "apiserver" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "api-machinery", + "auth", + "testing" + ], + "duplicate": true + }, + "123310": { + "commit": "b5b62d4f0edf97e3e8e4ab792cd7f660b67e15dd", + "text": "Updated kubedns and nodelocaldns to v1.23.0", + "markdown": "Updated kubedns and nodelocaldns to v1.23.0 ([#123310](https://github.com/kubernetes/kubernetes/pull/123310), [@bzsuni](https://github.com/bzsuni))", + "author": "bzsuni", + "author_url": "https://github.com/bzsuni", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123310", + "pr_number": 123310, + "areas": [ + "provider/gcp" + ], + "kinds": [ + "cleanup" + ], + "sigs": [ + "cloud-provider" + ] + }, + "123323": { + "commit": "a24f2c11923078d3dcd0e1d661715634ac358c3e", + "text": "Fixed a bug that an init container with containerRestartPolicy with `Always` cannot update its state from terminated to non-terminated for the pod with restartPolicy with `Never` or `OnFailure`.", + "markdown": "Fixed a bug that an init container with containerRestartPolicy with `Always` cannot update its state from terminated to non-terminated for the pod with restartPolicy with `Never` or `OnFailure`. ([#123323](https://github.com/kubernetes/kubernetes/pull/123323), [@gjkim42](https://github.com/gjkim42)) [SIG Apps and Node]", + "author": "gjkim42", + "author_url": "https://github.com/gjkim42", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123323", + "pr_number": 123323, + "kinds": [ + "bug" + ], + "sigs": [ + "node", + "apps" + ], + "duplicate": true + }, + "123331": { + "commit": "03bd3e25b16666a6c89d8875782d1132819eeb6e", + "text": "The initialization of nodes using external cloud-providers now waits for the providerID value to be available before declaring the node ready. This is required because previously, if there were errors of communication with the cloud-provider on the cloud-controller-manager, nodes may have been declared Ready without having this field or the zone labels, and the information was never reconciled. The providerID and the zone labels are required for integrations like loadbalancers to work correctly. Users still can opt-out to this new behavior by setting the feature flag OptionalProviderID in the cloud-controller-manager.", + "markdown": "The initialization of nodes using external cloud-providers now waits for the providerID value to be available before declaring the node ready. This is required because previously, if there were errors of communication with the cloud-provider on the cloud-controller-manager, nodes may have been declared Ready without having this field or the zone labels, and the information was never reconciled. The providerID and the zone labels are required for integrations like loadbalancers to work correctly. Users still can opt-out to this new behavior by setting the feature flag OptionalProviderID in the cloud-controller-manager. ([#123331](https://github.com/kubernetes/kubernetes/pull/123331), [@aojea](https://github.com/aojea)) [SIG API Machinery, Cloud Provider and Testing]", + "author": "aojea", + "author_url": "https://github.com/aojea", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123331", + "pr_number": 123331, + "areas": [ + "test", + "cloudprovider", + "provider/gcp" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "api-machinery", + "testing", + "cloud-provider" + ], + "duplicate": true + }, + "123333": { + "commit": "6ff6b519042b40ad9d7710ac132eb4e6231940e1", + "text": "kube-apiserver now reports metrics for authorization decisions in the `apiserver_authorization_decisions_total` metric, labeled by authorizer type, name, and decision.", + "markdown": "Kube-apiserver now reports metrics for authorization decisions in the `apiserver_authorization_decisions_total` metric, labeled by authorizer type, name, and decision. ([#123333](https://github.com/kubernetes/kubernetes/pull/123333), [@liggitt](https://github.com/liggitt)) [SIG API Machinery, Auth and Testing]", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/tree/master/keps/sig-auth/3221-structured-authorization-configuration", + "type": "KEP" + } + ], + "author": "liggitt", + "author_url": "https://github.com/liggitt", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123333", + "pr_number": 123333, + "areas": [ + "test", + "apiserver" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "api-machinery", + "auth", + "testing" + ], + "feature": true, + "duplicate": true + }, + "123341": { + "commit": "7db7222592ef1efa6c65617700ef22fa2289d71c", + "text": "kubeadm: added the WaitForAllControlPlaneComponents feature gate. It can be used to tell kubeadm to wait for all control plane components to be ready when running \"kubeadm init\" or \"kubeadm join --control-plane\". Currently kubeadm only waits for the kube-apiserver. The \"kubeadm join\" workflow now includes a new experimental phase called \"wait-control-plane\". This phase will be marked as non-experimental when WaitForAllControlPlaneComponents becomes GA. Accordingly a \"kubeadm init\" phase \"wait-control-plane\" will also be available once WaitForAllControlPlaneComponents becomes GA. These phases can be skipped if the user prefers to not wait for the control plane components.", + "markdown": "Kubeadm: added the WaitForAllControlPlaneComponents feature gate. It can be used to tell kubeadm to wait for all control plane components to be ready when running \"kubeadm init\" or \"kubeadm join --control-plane\". Currently kubeadm only waits for the kube-apiserver. The \"kubeadm join\" workflow now includes a new experimental phase called \"wait-control-plane\". This phase will be marked as non-experimental when WaitForAllControlPlaneComponents becomes GA. Accordingly a \"kubeadm init\" phase \"wait-control-plane\" will also be available once WaitForAllControlPlaneComponents becomes GA. These phases can be skipped if the user prefers to not wait for the control plane components. ([#123341](https://github.com/kubernetes/kubernetes/pull/123341), [@neolit123](https://github.com/neolit123))", + "author": "neolit123", + "author_url": "https://github.com/neolit123", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123341", + "pr_number": 123341, + "areas": [ + "kubeadm" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "cluster-lifecycle" + ], + "feature": true + }, + "123343": { + "commit": "d311ce0435131c5c2025a185f65b2c6853f23f0f", + "text": "Updated ImageGCMaxAge behavior in the kubelet to wait the MaxAge duration after the kubelet has restarted before garbage collecting", + "markdown": "Updated ImageGCMaxAge behavior in the kubelet to wait the MaxAge duration after the kubelet has restarted before garbage collecting ([#123343](https://github.com/kubernetes/kubernetes/pull/123343), [@haircommander](https://github.com/haircommander))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/4210", + "type": "KEP" + } + ], + "author": "haircommander", + "author_url": "https://github.com/haircommander", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123343", + "pr_number": 123343, + "areas": [ + "test", + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node", + "testing" + ], + "feature": true, + "duplicate": true + }, + "123345": { + "commit": "5d776f935ca9e7dc85ec15cb6b7497e0f6a96f4d", + "text": "Added \"reason\" field to image_garbage_collected_total metric, so admins can differentiate images that were collected for reason \"age\" vs \"space\"", + "markdown": "Added \"reason\" field to image_garbage_collected_total metric, so admins can differentiate images that were collected for reason \"age\" vs \"space\" ([#123345](https://github.com/kubernetes/kubernetes/pull/123345), [@haircommander](https://github.com/haircommander))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/4210", + "type": "KEP" + } + ], + "author": "haircommander", + "author_url": "https://github.com/haircommander", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123345", + "pr_number": 123345, + "areas": [ + "kubelet" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "node" + ], + "feature": true + }, + "123366": { + "commit": "65faa9c6800dfe97462fd0c8229be1c3435f60fb", + "text": "InitContainer's image location will be considered in scheduling when prioritizing nodes.", + "markdown": "InitContainer's image location will be considered in scheduling when prioritizing nodes. ([#123366](https://github.com/kubernetes/kubernetes/pull/123366), [@kerthcet](https://github.com/kerthcet)) [SIG Scheduling]", + "author": "kerthcet", + "author_url": "https://github.com/kerthcet", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123366", + "pr_number": 123366, + "kinds": [ + "feature" + ], + "sigs": [ + "scheduling" + ], + "feature": true + }, + "123372": { + "commit": "ec58e1f2fc3b56aa1e9c333598fdfab8d5aa66d1", + "text": "kubeadm: added support for machine readable output with \"-o yaml\" and \"-o json\" to the command \"kubeadm certs check-expiration\". This change is added in a new API \"kind\": \"CertificateExpirationInfo\", \"apiVersion\": \"output.kubeadm.k8s.io/v1alpha3\". The existing non structured formatting is preserved. The output API version v1alpha2 is now deprecated and will be removed in a future release. Please migrate to using v1alpha3.", + "markdown": "Kubeadm: added support for machine readable output with \"-o yaml\" and \"-o json\" to the command \"kubeadm certs check-expiration\". This change is added in a new API \"kind\": \"CertificateExpirationInfo\", \"apiVersion\": \"output.kubeadm.k8s.io/v1alpha3\". The existing non structured formatting is preserved. The output API version v1alpha2 is now deprecated and will be removed in a future release. Please migrate to using v1alpha3. ([#123372](https://github.com/kubernetes/kubernetes/pull/123372), [@carlory](https://github.com/carlory))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/2504", + "type": "KEP" + } + ], + "author": "carlory", + "author_url": "https://github.com/carlory", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123372", + "pr_number": 123372, + "areas": [ + "kubeadm" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "cluster-lifecycle" + ], + "feature": true + }, + "123384": { + "commit": "dd1e617ba0b9b45faa94fbcbc03560fed8c0fcf7", + "text": "Improved scheduler performance when no scoring plugins are defined.", + "markdown": "Improved scheduler performance when no scoring plugins are defined. ([#123384](https://github.com/kubernetes/kubernetes/pull/123384), [@aleksandra-malinowska](https://github.com/aleksandra-malinowska))", + "author": "aleksandra-malinowska", + "author_url": "https://github.com/aleksandra-malinowska", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123384", + "pr_number": 123384, + "kinds": [ + "bug" + ], + "sigs": [ + "scheduling" + ] + }, + "123406": { + "commit": "786510947be11a3adda34653b57eca462f69e8be", + "text": "kubeadm: fixed a bug during kubeadm upgrade, where it is not possible to mount a new device and create a symbolic link for /etc/kubernetes (or a sub-directory) so that kubeadm stores its information on the mounted device.", + "markdown": "Kubeadm: fixed a bug during kubeadm upgrade, where it is not possible to mount a new device and create a symbolic link for /etc/kubernetes (or a sub-directory) so that kubeadm stores its information on the mounted device. ([#123406](https://github.com/kubernetes/kubernetes/pull/123406), [@SataQiu](https://github.com/SataQiu))", + "author": "SataQiu", + "author_url": "https://github.com/SataQiu", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123406", + "pr_number": 123406, + "areas": [ + "kubeadm" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "cluster-lifecycle" + ] + }, + "123418": { + "commit": "38638adaee5a51f88cd42152c78117d1bc4f45d5", + "text": "LoadBalancerIPMode feature is now marked as Beta.", + "markdown": "LoadBalancerIPMode feature is now marked as Beta. ([#123418](https://github.com/kubernetes/kubernetes/pull/123418), [@rikatz](https://github.com/rikatz))", + "author": "rikatz", + "author_url": "https://github.com/rikatz", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123418", + "pr_number": 123418, + "areas": [ + "test" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "network", + "testing" + ], + "feature": true, + "duplicate": true + }, + "123425": { + "commit": "9bc5257c450f7dfda187bfadd96f32310a2eaa18", + "text": "Added feature gate `MutatingAdmissionPolicy` for enabling mutation policy in admission chain.", + "markdown": "Added feature gate `MutatingAdmissionPolicy` for enabling mutation policy in admission chain. ([#123425](https://github.com/kubernetes/kubernetes/pull/123425), [@cici37](https://github.com/cici37))", + "author": "cici37", + "author_url": "https://github.com/cici37", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123425", + "pr_number": 123425, + "areas": [ + "apiserver" + ], + "kinds": [ + "feature" + ], + "sigs": [ + "api-machinery" + ], + "feature": true + }, + "123438": { + "commit": "a823a842ecefa5391fe152c85ac99425120213b6", + "text": "NONE", + "markdown": "NONE ([#123438](https://github.com/kubernetes/kubernetes/pull/123438), [@yankay](https://github.com/yankay)) [SIG Architecture and Testing]", + "author": "yankay", + "author_url": "https://github.com/yankay", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123438", + "pr_number": 123438, + "areas": [ + "apiserver", + "dependency" + ], + "kinds": [ + "cleanup" + ], + "sigs": [ + "testing", + "architecture" + ], + "duplicate": true, + "do_not_publish": true + }, + "123442": { + "commit": "58bbf6991303fa97660beafc74d0d2d6e2c1c623", + "text": "`NewVolumeManagerReconstruction` feature is now GA.", + "markdown": "`NewVolumeManagerReconstruction` feature is now GA. ([#123442](https://github.com/kubernetes/kubernetes/pull/123442), [@jsafrane](https://github.com/jsafrane))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/3756-volume-reconstruction", + "type": "KEP" + } + ], + "author": "jsafrane", + "author_url": "https://github.com/jsafrane", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123442", + "pr_number": 123442, + "areas": [ + "kubelet" + ], + "kinds": [ + "cleanup", + "feature" + ], + "sigs": [ + "node" + ], + "feature": true, + "duplicate_kind": true + }, + "123461": { + "commit": "ea69a5ea987bffe5d8e00286a6691df550e3fc4e", + "text": "kubeadm: in the new output API \"output.kubeadm.k8s.io/v1alpha3\" modified the UpgradePlan structure that is used when calling \"kubeadm upgrade plan ... -o yaml|json\", to include a list of multiple available upgrades.", + "markdown": "Kubeadm: in the new output API \"output.kubeadm.k8s.io/v1alpha3\" modified the UpgradePlan structure that is used when calling \"kubeadm upgrade plan ... -o yaml|json\", to include a list of multiple available upgrades. ([#123461](https://github.com/kubernetes/kubernetes/pull/123461), [@carlory](https://github.com/carlory))", + "documentation": [ + { + "description": "[KEP]", + "url": "https://github.com/kubernetes/enhancements/issues/2504", + "type": "KEP" + } + ], + "author": "carlory", + "author_url": "https://github.com/carlory", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123461", + "pr_number": 123461, + "areas": [ + "kubeadm" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "cluster-lifecycle" + ] + }, + "123464": { + "commit": "75238e592d624ad57cdf700c1bb42a8e5366bcb2", + "text": "kubeadm: the `bridge-nf-call-iptables=1` and `bridge-nf-call-ip6tables=1` preflight checks are removed since not all the network implementations require this setting, network plugins are responsible for setting this correctly depending on whether or not they connect containers to Linux bridges or use some other mechanism.", + "markdown": "Kubeadm: the `bridge-nf-call-iptables=1` and `bridge-nf-call-ip6tables=1` preflight checks are removed since not all the network implementations require this setting, network plugins are responsible for setting this correctly depending on whether or not they connect containers to Linux bridges or use some other mechanism. ([#123464](https://github.com/kubernetes/kubernetes/pull/123464), [@SataQiu](https://github.com/SataQiu))", + "author": "SataQiu", + "author_url": "https://github.com/SataQiu", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123464", + "pr_number": 123464, + "areas": [ + "kubeadm" + ], + "kinds": [ + "cleanup" + ], + "sigs": [ + "cluster-lifecycle" + ] + }, + "123475": { + "commit": "247233f7b40836bf868be8f1354671fab5f43fd9", + "text": "Fixed bug where providing a FieldPath to a CRD Validation Rule would erroneously affect the reported field path of other unrelated CRD Validation Rules on the same schema.", + "markdown": "Fixed bug where providing a FieldPath to a CRD Validation Rule would erroneously affect the reported field path of other unrelated CRD Validation Rules on the same schema. ([#123475](https://github.com/kubernetes/kubernetes/pull/123475), [@alexzielenski](https://github.com/alexzielenski))", + "author": "alexzielenski", + "author_url": "https://github.com/alexzielenski", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123475", + "pr_number": 123475, + "kinds": [ + "bug" + ], + "sigs": [ + "api-machinery" + ] + }, + "123479": { + "commit": "689dca08e1fc57090e55c1908c3806bdfcaed224", + "text": "sample-apiserver manifest example now has correct RBAC.", + "markdown": "Sample-apiserver manifest example now has correct RBAC. ([#123479](https://github.com/kubernetes/kubernetes/pull/123479), [@Jefftree](https://github.com/Jefftree))", + "author": "Jefftree", + "author_url": "https://github.com/Jefftree", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123479", + "pr_number": 123479, + "areas": [ + "test" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "api-machinery", + "testing" + ], + "duplicate": true + }, + "123488": { + "commit": "be4b7de02262c5f65e8c31d6a2dabaa240cc8f8a", + "text": "", + "markdown": " ([#123488](https://github.com/kubernetes/kubernetes/pull/123488), [@dims](https://github.com/dims))", + "author": "dims", + "author_url": "https://github.com/dims", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123488", + "pr_number": 123488, + "areas": [ + "test" + ], + "kinds": [ + "cleanup", + "failing-test" + ], + "sigs": [ + "autoscaling", + "instrumentation", + "testing" + ], + "duplicate": true, + "duplicate_kind": true, + "do_not_publish": true + }, + "123490": { + "commit": "60e11e2c6ab7d4beab0dfa4b880d915a992c3427", + "text": "", + "markdown": " ([#123490](https://github.com/kubernetes/kubernetes/pull/123490), [@dims](https://github.com/dims))", + "author": "dims", + "author_url": "https://github.com/dims", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123490", + "pr_number": 123490, + "areas": [ + "provider/gcp" + ], + "kinds": [ + "failing-test" + ], + "sigs": [ + "cloud-provider" + ], + "do_not_publish": true + }, + "123492": { + "commit": "a58221c104903c8dfa7f373db219963661a46035", + "text": "kubeadm: fixed a bug where \"kubeadm upgrade plan -o yaml|json\" includes unneeded output and was missing component config information.", + "markdown": "Kubeadm: fixed a bug where \"kubeadm upgrade plan -o yaml|json\" includes unneeded output and was missing component config information. ([#123492](https://github.com/kubernetes/kubernetes/pull/123492), [@carlory](https://github.com/carlory))", + "author": "carlory", + "author_url": "https://github.com/carlory", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123492", + "pr_number": 123492, + "areas": [ + "kubeadm" + ], + "kinds": [ + "bug" + ], + "sigs": [ + "cluster-lifecycle" + ] + }, + "123504": { + "commit": "cc5362ebc17e1376fa79b510f7f354dbffe7f92e", + "text": "Upgraded metrics server to v0.7.0.", + "markdown": "Upgraded metrics server to v0.7.0. ([#123504](https://github.com/kubernetes/kubernetes/pull/123504), [@pacoxu](https://github.com/pacoxu))", + "author": "pacoxu", + "author_url": "https://github.com/pacoxu", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123504", + "pr_number": 123504, + "areas": [ + "provider/gcp" + ], + "kinds": [ + "cleanup" + ], + "sigs": [ + "instrumentation", + "cloud-provider" + ], + "duplicate": true + }, + "123517": { + "commit": "5d527dcf1265d7fcd0e6c8ec511ce16cc6a40699", + "text": "Patched a leak of a discovery document that would occur when an Aggregated APIService changed its Spec.Service field and did not change it back.", + "markdown": "Patched a leak of a discovery document that would occur when an Aggregated APIService changed its Spec.Service field and did not change it back. ([#123517](https://github.com/kubernetes/kubernetes/pull/123517), [@Jefftree](https://github.com/Jefftree))", + "author": "Jefftree", + "author_url": "https://github.com/Jefftree", + "pr_url": "https://github.com/kubernetes/kubernetes/pull/123517", + "pr_number": 123517, + "kinds": [ + "bug" + ], + "sigs": [ + "api-machinery" + ] } } \ No newline at end of file diff --git a/releases/release-1.30/release-notes/release-notes-draft.md b/releases/release-1.30/release-notes/release-notes-draft.md index 17884c6c401..cd734912807 100644 --- a/releases/release-1.30/release-notes/release-notes-draft.md +++ b/releases/release-1.30/release-notes/release-notes-draft.md @@ -2,99 +2,139 @@ ### Deprecation -- Kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist`. instead. ([#120246](https://github.com/kubernetes/kubernetes/pull/120246), [@pacoxu](https://github.com/pacoxu)) +- Kubectl: removed deprecated flag `prune-whitelist` for apply, use flag `prune-allowlist` instead. ([#120246](https://github.com/kubernetes/kubernetes/pull/120246), [@pacoxu](https://github.com/pacoxu)) - Removed the `SecurityContextDeny` admission plugin, deprecated since `v1.27`. The Pod Security Admission plugin, available since v1.25, is recommended instead. See https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#securitycontextdeny for more information. ([#122612](https://github.com/kubernetes/kubernetes/pull/122612), [@mtardy](https://github.com/mtardy)) ### API Change +- 'PodSpec API: removed note that hostAliases are not supported on hostNetwork Pods. The feature has been supported since v1.8.' + ([#122422](https://github.com/kubernetes/kubernetes/pull/122422), [@neolit123](https://github.com/neolit123)) - Added `CEL` library for IP Addresses and CIDRs. This will not be available for use until 1.31. ([#121912](https://github.com/kubernetes/kubernetes/pull/121912), [@JoelSpeed](https://github.com/JoelSpeed)) +- Added a CBOR implementation of `runtime.Serializer`. Until CBOR graduates to Alpha, API servers will refuse to start if configured with CBOR support. ([#122881](https://github.com/kubernetes/kubernetes/pull/122881), [@benluddy](https://github.com/benluddy)) [SIG API Machinery] - Added a rule on the `kube_codegen` tool to ignore vendor folder during the code generation. ([#122729](https://github.com/kubernetes/kubernetes/pull/122729), [@jparrill](https://github.com/jparrill)) +- Added audienceMatchPolicy field to AuthenticationConfiguration and support for configuring multiple audiences. + The "audienceMatchPolicy" can be empty (or unset) when a single audience is specified in the "audiences" field. + The "audienceMatchPolicy" must be set to "MatchAny" when multiple audiences are specified in the "audiences" field. ([#123165](https://github.com/kubernetes/kubernetes/pull/123165), [@aramase](https://github.com/aramase)) +- Added the following CLI option for `kube-controller-manager`: + - `disable-force-detach` (defaults to `false`): Prevent force detaching volumes based on maximum unmount time and node status. If enabled, the non-graceful node shutdown feature must be used to recover from node failure (see https://kubernetes.io/blog/2023/08/16/kubernetes-1-28-non-graceful-node-shutdown-ga/). If enabled and a pod must be forcibly terminated at the risk of corruption, then the appropriate VolumeAttachment object (see here: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume-attachment-v1/) must be deleted. ([#120344](https://github.com/kubernetes/kubernetes/pull/120344), [@rohitssingh](https://github.com/rohitssingh)) - Added to `MutableFeatureGate` the ability to override the default setting of feature gates, to allow default-enabling a feature on a component-by-component basis instead of for all affected components simultaneously. ([#122647](https://github.com/kubernetes/kubernetes/pull/122647), [@benluddy](https://github.com/benluddy)) - Allowed users to mutate `FSGroupPolicy` and `PodInfoOnMount` in `CSIDriver.Spec`. ([#116209](https://github.com/kubernetes/kubernetes/pull/116209), [@haoruan](https://github.com/haoruan)) - Client-go events: `NewEventBroadcasterAdapterWithContext` should be used instead of `NewEventBroadcasterAdapter` if the goal is to support contextual logging. ([#122142](https://github.com/kubernetes/kubernetes/pull/122142), [@pohly](https://github.com/pohly)) [SIG API Machinery, Instrumentation and Scheduling] +- Contextual logging is now beta and enabled by default. ([#122589](https://github.com/kubernetes/kubernetes/pull/122589), [@pohly](https://github.com/pohly)) [SIG Instrumentation] +- Cri-api: KEP-3857: Recursive Read-only (RRO) mounts. ([#123272](https://github.com/kubernetes/kubernetes/pull/123272), [@AkihiroSuda](https://github.com/AkihiroSuda)) +- Enabled a mechanism for concurrent log rotatation via `kubelet` using a configuration entity of `containerLogMaxWorkers` which controls the maximum number of concurrent rotation that can be performed and an interval configuration of `containerLogMonitorInterval` that can aid in configuring the monitoring duration to best suite your cluster's log generation standards. ([#114301](https://github.com/kubernetes/kubernetes/pull/114301), [@harshanarayana](https://github.com/harshanarayana)) - Fixed accidental enablement of the new alpha `optionalOldSelf` API field in `CustomResourceDefinition` validation rules, which should only be allowed to be set when the `CRDValidationRatcheting` feature gate is enabled. ([#122329](https://github.com/kubernetes/kubernetes/pull/122329), [@jpbetz](https://github.com/jpbetz)) - Implemented `prescore` extension point for `volumeBinding` plugin. Return skip if it doesn't do anything in Score. ([#115768](https://github.com/kubernetes/kubernetes/pull/115768), [@AxeZhan](https://github.com/AxeZhan)) +- Kubelet: a custom root directory for pod logs (instead of default /var/log/pods) can be specified using the `podLogsDir` + key in kubelet configuration. ([#112957](https://github.com/kubernetes/kubernetes/pull/112957), [@mxpv](https://github.com/mxpv)) [SIG API Machinery, Node, Scalability and Testing] - Resource.k8s.io/ResourceClaim (alpha API): the strategic merge patch strategy for the `status.reservedFor` array was changed such that a strategic-merge-patch can add individual entries. This breaks clients using strategic merge patch to update status which rely on the previous behavior (replacing the entire array). ([#122276](https://github.com/kubernetes/kubernetes/pull/122276), [@pohly](https://github.com/pohly)) [SIG API Machinery] +- Text logging in Kubernetes components now uses [textlogger](https://pkg.go.dev/k8s.io/klog/v2@v2.120.0/textlogger). The same split streams of info and error log entries with buffering of info entries is now also supported for text output (off by default, alpha feature). Previously, this was only supported for JSON. Performance is better also without split streams. ([#114672](https://github.com/kubernetes/kubernetes/pull/114672), [@pohly](https://github.com/pohly)) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Network, Node, Storage and Testing] - Updated an audit annotation key used by the `…/serviceaccounts//token` resource handler. The annotation used to persist the issued credential identifier is now `authentication.kubernetes.io/issued-credential-id`. ([#123098](https://github.com/kubernetes/kubernetes/pull/123098), [@munnerz](https://github.com/munnerz)) [SIG Auth] - When scheduling a mixture of pods using `ResourceClaims` and others which don't, scheduling a pod with `ResourceClaims` impacts scheduling latency less. ([#121876](https://github.com/kubernetes/kubernetes/pull/121876), [@pohly](https://github.com/pohly)) ### Feature -- Add `apiserver.latency.k8s.io/decode-response-object` annotation to the audit log to record the decoding time. ([#121512](https://github.com/kubernetes/kubernetes/pull/121512), [@HirazawaUi](https://github.com/HirazawaUi)) +- "Some interfaces' signatures in the scheduler were updated: - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - PreScorePlugin: used NodeInfo in `PreScore`. - Extender: used NodeInfo in `Filter` and `Prioritize`." + ([#121954](https://github.com/kubernetes/kubernetes/pull/121954), [@AxeZhan](https://github.com/AxeZhan)) +- A new kubelet metric `image_pull_duration_seconds` was added. The metric tracks the duration (in seconds) it takes for an image to be pulled, including the time spent in the waiting queue of image puller. The metric is broken down by bucketed image size. ([#121719](https://github.com/kubernetes/kubernetes/pull/121719), [@ruiwen-zhao](https://github.com/ruiwen-zhao)) +- A new metric `lifecycle_handler_sleep_terminated_total` is added to record how many times LifecycleHandler sleep got unexpectedly terminated. ([#122456](https://github.com/kubernetes/kubernetes/pull/122456), [@AxeZhan](https://github.com/AxeZhan)) [SIG Node and Testing] +- Added "reason" field to image_garbage_collected_total metric, so admins can differentiate images that were collected for reason "age" vs "space" ([#123345](https://github.com/kubernetes/kubernetes/pull/123345), [@haircommander](https://github.com/haircommander)) - Added Timezone column in the output of kubectl get cronjob command. ([#122231](https://github.com/kubernetes/kubernetes/pull/122231), [@ardaguclu](https://github.com/ardaguclu)) - Added `WatchListClient` feature gate to `client-go`. When enabled it allows the client to get a stream of individual items instead of chunking from the server. ([#122571](https://github.com/kubernetes/kubernetes/pull/122571), [@p0lyn0mial](https://github.com/p0lyn0mial)) - Added `exec-interactive-mode` and `exec-provide-cluster-info` flags in kubectl config set-credentials command. ([#122023](https://github.com/kubernetes/kubernetes/pull/122023), [@ardaguclu](https://github.com/ardaguclu)) - Added `process_start_time_seconds` to `/metrics/slis` endpoint of all components. ([#122750](https://github.com/kubernetes/kubernetes/pull/122750), [@richabanker](https://github.com/richabanker)) -- Added a new metric `apiserver_encryption_config_controller_automatic_reloads_total` to measure total number of API server encryption configuration reload successes and failures. This metric contains the `status` label with a value that is either `success` or `failure`. - Deprecated the metrics `apiserver_encryption_config_controller_automatic_reload_success_total` and `apiserver_encryption_config_controller_automatic_reload_failure_total`. Use `apiserver_encryption_config_controller_automatic_reloads_total` instead. ([#123179](https://github.com/kubernetes/kubernetes/pull/123179), [@aramase](https://github.com/aramase)) -- Allow a zero value for the `nominalConcurrencyShares` field of the `PriorityLevelConfiguration` object either using the `flowcontrol.apiserver.k8s.io/v1` or `flowcontrol.apiserver.k8s.io/v1beta3` API ([#123001](https://github.com/kubernetes/kubernetes/pull/123001), [@tkashem](https://github.com/tkashem)) +- Added a new metric `apiserver_encryption_config_controller_automatic_reloads_total` + to measure total number of API server encryption configuration reload successes and failures. + This metric contains the `status` label with a value that is either `success` or `failure`. + Deprecated the metrics `apiserver_encryption_config_controller_automatic_reload_success_total` + and `apiserver_encryption_config_controller_automatic_reload_failure_total`. + Use `apiserver_encryption_config_controller_automatic_reloads_total` instead. ([#123179](https://github.com/kubernetes/kubernetes/pull/123179), [@aramase](https://github.com/aramase)) +- Added feature gate `MutatingAdmissionPolicy` for enabling mutation policy in admission chain. ([#123425](https://github.com/kubernetes/kubernetes/pull/123425), [@cici37](https://github.com/cici37)) +- Added kubelet metrics to track the memory manager allocation and pinning. ([#121778](https://github.com/kubernetes/kubernetes/pull/121778), [@Tal-or](https://github.com/Tal-or)) +- Added support for cloud provider integrations to supply optional, per-Node custom labels that will be + applied to Nodes by the node controller. + Extra labels will only be applied where the cloud provider integration implements this. ([#123223](https://github.com/kubernetes/kubernetes/pull/123223), [@mmerkes](https://github.com/mmerkes)) [SIG Cloud Provider] - Allowed scheduling framework plugins that implement `io.Closer` to be gracefully closed. ([#122498](https://github.com/kubernetes/kubernetes/pull/122498), [@Gekko0114](https://github.com/Gekko0114)) - Changed `--nodeport-addresses` behavior to default to "primary node IP(s) only" rather than "all node IPs". ([#122724](https://github.com/kubernetes/kubernetes/pull/122724), [@nayihz](https://github.com/nayihz)) -- Etcd: build image for `v3.5.11` ([#122233](https://github.com/kubernetes/kubernetes/pull/122233), [@mzaian](https://github.com/mzaian)) +- Embed Node information into Pod-bound service account tokens as additional metadata. + Set the 'JTI' field in issued service account tokens, and embed this information as `authentication.kubernetes.io/credential-id` in user's ExtraInfo. ([#123135](https://github.com/kubernetes/kubernetes/pull/123135), [@munnerz](https://github.com/munnerz)) +- Etcd: built image for `v3.5.11`. ([#122233](https://github.com/kubernetes/kubernetes/pull/122233), [@mzaian](https://github.com/mzaian)) +- Feature gates for RemoteCommand (kubectl exec, cp, and attach) over WebSockets are now enabled by default (Beta). + - Server-side feature gate: `TranslateStreamCloseWebsocketRequests` + - Client-side (kubectl) feature gate: `KUBECTL_REMOTE_COMMAND_WEBSOCKETS` + - To turn off RemoteCommand over WebSockets for kubectl, the environment variable feature gate must be explicitly set `KUBECTL_REMOTE_COMMAND_WEBSOCKETS=false`. ([#123281](https://github.com/kubernetes/kubernetes/pull/123281), [@seans3](https://github.com/seans3)) +- Graduated "Forensic Container Checkpointing" (KEP #2008) from Alpha to Beta. ([#123215](https://github.com/kubernetes/kubernetes/pull/123215), [@adrianreber](https://github.com/adrianreber)) - Graduated support for passing dual-stack `kubelet --node-ip` values when using a cloud provider. The feature is now GA and the `CloudDualStackNodeIPs` feature gate is always enabled. ([#123134](https://github.com/kubernetes/kubernetes/pull/123134), [@danwinship](https://github.com/danwinship)) [SIG API Machinery, Cloud Provider and Node] -- Informers now support adding Indexers after the informer starts ([#117046](https://github.com/kubernetes/kubernetes/pull/117046), [@howardjohn](https://github.com/howardjohn)) [SIG API Machinery] +- Informers now support adding Indexers after the informer starts. ([#117046](https://github.com/kubernetes/kubernetes/pull/117046), [@howardjohn](https://github.com/howardjohn)) +- InitContainer's image location will be considered in scheduling when prioritizing nodes. ([#123366](https://github.com/kubernetes/kubernetes/pull/123366), [@kerthcet](https://github.com/kerthcet)) [SIG Scheduling] - Introduced a feature gate mechanism to `client-go`. Depending on the actual implementation, users can control features via environmental variables or command line options. ([#122555](https://github.com/kubernetes/kubernetes/pull/122555), [@p0lyn0mial](https://github.com/p0lyn0mial)) -- Kube-scheduler implements scheduling hints for the NodeUnschedulable plugin. - The scheduling hints allow the scheduler to only retry scheduling a Pod - that was previously rejected by the NodeSchedulable plugin if a new Node or a Node update sets `.spec.unschedulable` to false. ([#122334](https://github.com/kubernetes/kubernetes/pull/122334), [@carlory](https://github.com/carlory)) -- Kube-scheduler implements scheduling hints for the `NodeAffinity` plugin. - The scheduling hints allow the scheduler to only retry scheduling a Pod - that was previously rejected by the `NodeAffinity` plugin - if a new Node or a Node update matches the Pod's node affinity. ([#122309](https://github.com/kubernetes/kubernetes/pull/122309), [@carlory](https://github.com/carlory)) -- Kube-scheduler implements scheduling hints for the `NodeResourceFit` plugin. - The scheduling hints allow the scheduler to only retry scheduling a Pod - that was previously rejected by the `NodeResourceFit` plugin if a new Node or - a Node update matches the Pod's resource requirements or if an old pod update - or delete matches the Pod's resource requirements. ([#119177](https://github.com/kubernetes/kubernetes/pull/119177), [@carlory](https://github.com/carlory)) -- Kube-scheduler implements scheduling hints for the `PodTopologySpread` plugin. - The scheduling hints allow the scheduler to retry scheduling a Pod - that was previously rejected by the `PodTopologySpread` plugin if - create/delete/update a related Pod or a node which matches the toplogyKey. ([#122195](https://github.com/kubernetes/kubernetes/pull/122195), [@nayihz](https://github.com/nayihz)) +- Kube-apiserver now reloads the `--authorization-config` file when it changes. Reloads increment the `apiserver_authorization_config_controller_automatic_reload_last_timestamp_seconds` timestamp metric, with `status="success"` for successful reloads and `status="failed"` for failed reloads. Failed reloads keep using the previously loaded authorization configuration. ([#121946](https://github.com/kubernetes/kubernetes/pull/121946), [@liggitt](https://github.com/liggitt)) [SIG API Machinery, Auth and Testing] +- Kube-apiserver now reports metrics for authorization decisions in the `apiserver_authorization_decisions_total` metric, labeled by authorizer type, name, and decision. ([#123333](https://github.com/kubernetes/kubernetes/pull/123333), [@liggitt](https://github.com/liggitt)) [SIG API Machinery, Auth and Testing] +- Kube-controller-manager: increased the global level for broadcaster's logging to 3 so that users can ignore event messages by lowering the logging level. It reduces information noise. ([#122293](https://github.com/kubernetes/kubernetes/pull/122293), [@mengjiao-liu](https://github.com/mengjiao-liu)) +- Kube-scheduler implemented scheduling hints for the `NodeAffinity` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the `NodeAffinity` plugin if a new Node or a Node update matched the Pod's node affinity. ([#122309](https://github.com/kubernetes/kubernetes/pull/122309), [@carlory](https://github.com/carlory)) +- Kube-scheduler implemented scheduling hints for the `NodeResourceFit` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the `NodeResourceFit` plugin if a new Node or a Node update matched the Pod's resource requirements or if an old pod update or delete matched the Pod's resource requirements. ([#119177](https://github.com/kubernetes/kubernetes/pull/119177), [@carlory](https://github.com/carlory)) +- Kube-scheduler implemented scheduling hints for the `NodeUnschedulable` plugin. The scheduling hints allowed the scheduler to only retry scheduling a Pod that had been previously rejected by the NodeSchedulable plugin if a new Node or a Node update had set `.spec.unschedulable` to false. ([#122334](https://github.com/kubernetes/kubernetes/pull/122334), [@carlory](https://github.com/carlory)) +- Kube-scheduler implemented scheduling hints for the `PodTopologySpread` plugin. The scheduling hints allow the scheduler to retry scheduling a Pod that had been previously rejected by the `PodTopologySpread` plugin if a related Pod was created/deleted/updated or if a node matched the `topologyKey`. ([#122195](https://github.com/kubernetes/kubernetes/pull/122195), [@nayihz](https://github.com/nayihz)) - Kubeadm: added better handling of errors during unmount when calling "kubeadm reset". When failing to unmount directories under "/var/run/kubelet", kubeadm will now throw an error instead of showing a warning and continuing to cleanup said directory. In such situations it is better for you to inspect the problem and resolve it manually, then you can call "kubeadm reset" again to complete the cleanup. ([#122530](https://github.com/kubernetes/kubernetes/pull/122530), [@neolit123](https://github.com/neolit123)) -- Kubectl debug: added sysadmin profile ([#119200](https://github.com/kubernetes/kubernetes/pull/119200), [@eiffel-fl](https://github.com/eiffel-fl)) +- Kubeadm: added support for machine readable output with "-o yaml" and "-o json" to the command "kubeadm certs check-expiration". This change is added in a new API "kind": "CertificateExpirationInfo", "apiVersion": "output.kubeadm.k8s.io/v1alpha3". The existing non structured formatting is preserved. The output API version v1alpha2 is now deprecated and will be removed in a future release. Please migrate to using v1alpha3. ([#123372](https://github.com/kubernetes/kubernetes/pull/123372), [@carlory](https://github.com/carlory)) +- Kubeadm: added the WaitForAllControlPlaneComponents feature gate. It can be used to tell kubeadm to wait for all control plane components to be ready when running "kubeadm init" or "kubeadm join --control-plane". Currently kubeadm only waits for the kube-apiserver. The "kubeadm join" workflow now includes a new experimental phase called "wait-control-plane". This phase will be marked as non-experimental when WaitForAllControlPlaneComponents becomes GA. Accordingly a "kubeadm init" phase "wait-control-plane" will also be available once WaitForAllControlPlaneComponents becomes GA. These phases can be skipped if the user prefers to not wait for the control plane components. ([#123341](https://github.com/kubernetes/kubernetes/pull/123341), [@neolit123](https://github.com/neolit123)) +- Kubectl debug: added sysadmin profile. ([#119200](https://github.com/kubernetes/kubernetes/pull/119200), [@eiffel-fl](https://github.com/eiffel-fl)) - Kubernetes is now built with Go `1.21.6`. ([#122705](https://github.com/kubernetes/kubernetes/pull/122705), [@cpanato](https://github.com/cpanato)) -- Kubernetes is now built with Go `1.22` ([#123217](https://github.com/kubernetes/kubernetes/pull/123217), [@cpanato](https://github.com/cpanato)) +- Kubernetes is now built with Go `1.22`. ([#123217](https://github.com/kubernetes/kubernetes/pull/123217), [@cpanato](https://github.com/cpanato)) - Kubernetes is now built with go `1.22rc2`. ([#122889](https://github.com/kubernetes/kubernetes/pull/122889), [@cpanato](https://github.com/cpanato)) -- Printed more information when kubectl describe a `VolumeAttributesClass` ([#122640](https://github.com/kubernetes/kubernetes/pull/122640), [@carlory](https://github.com/carlory)) +- LoadBalancerIPMode feature is now marked as Beta. ([#123418](https://github.com/kubernetes/kubernetes/pull/123418), [@rikatz](https://github.com/rikatz)) +- New alpha feature gate `SELinuxMount` can be used to speed up SELinux relabeling of volumes. ([#123157](https://github.com/kubernetes/kubernetes/pull/123157), [@jsafrane](https://github.com/jsafrane)) [SIG Node and Storage] +- Node podresources API now includes init containers with containerRestartPolicy of `Always` when `SidecarContainers` feature is enabled. ([#120718](https://github.com/kubernetes/kubernetes/pull/120718), [@gjkim42](https://github.com/gjkim42)) [SIG Node and Testing] +- Printed more information when kubectl describe a `VolumeAttributesClass`. ([#122640](https://github.com/kubernetes/kubernetes/pull/122640), [@carlory](https://github.com/carlory)) - Promoted `KubeProxyDrainingTerminatingNodes` to `Beta`. ([#122914](https://github.com/kubernetes/kubernetes/pull/122914), [@alexanderConstantinescu](https://github.com/alexanderConstantinescu)) - Promoted feature gate `StableLoadBalancerNodeSet` to `GA` . ([#122961](https://github.com/kubernetes/kubernetes/pull/122961), [@alexanderConstantinescu](https://github.com/alexanderConstantinescu)) +- Promoted the `CRDValidationRatcheting` feature gate to beta, and made it enabled by default. ([#121461](https://github.com/kubernetes/kubernetes/pull/121461), [@alexzielenski](https://github.com/alexzielenski)) [SIG API Machinery and Testing] +- Scheduler extender `ignorable` option now handles errors for both filter and bind phases. ([#122503](https://github.com/kubernetes/kubernetes/pull/122503), [@sunbinnnnn](https://github.com/sunbinnnnn)) - Scheduler skips `NodeAffinity Score` plugin when `NodeAffinity Score` plugin has nothing to do with a Pod. You might notice an increase in the metric `plugin_execution_duration_seconds` for `extension_point=score` `plugin=NodeAffinity`, because the plugin will only run when the plugin is relevant. ([#117024](https://github.com/kubernetes/kubernetes/pull/117024), [@sanposhiho](https://github.com/sanposhiho)) -- The option `ignorable` of scheduler extender can skip error both filter and bind. ([#122503](https://github.com/kubernetes/kubernetes/pull/122503), [@sunbinnnnn](https://github.com/sunbinnnnn)) +- The Kubelet rejects creating the pod if hostUserns=false and the CRI runtime does not support user namespaces. ([#123216](https://github.com/kubernetes/kubernetes/pull/123216), [@giuseppe](https://github.com/giuseppe)) [SIG Node] +- The PriorityLevelConfiguration object now allows a zero value for the `nominalConcurrencyShares` field in both the `flowcontrol.apiserver.k8s.io/v1` and `flowcontrol.apiserver.k8s.io/v1beta3` APIs. ([#123001](https://github.com/kubernetes/kubernetes/pull/123001), [@tkashem](https://github.com/tkashem)) +- The `apiserver.latency.k8s.io/decode-response-object` annotation was added to the audit log to record the decoding time. ([#121512](https://github.com/kubernetes/kubernetes/pull/121512), [@HirazawaUi](https://github.com/HirazawaUi)) - The scheduler retries Pods, which are failed by nodevolumelimits due to not found PVCs, only when new PVCs are added. ([#121952](https://github.com/kubernetes/kubernetes/pull/121952), [@sanposhiho](https://github.com/sanposhiho)) [SIG Scheduling and Storage] -- Update `distroless-iptables` to `v0.5.0` debian-base to `bookworm-v1.0.1` and setcap to `bookworm-v1.0.1` ([#123170](https://github.com/kubernetes/kubernetes/pull/123170), [@cpanato](https://github.com/cpanato)) +- Updated ImageGCMaxAge behavior in the kubelet to wait the MaxAge duration after the kubelet has restarted before garbage collecting ([#123343](https://github.com/kubernetes/kubernetes/pull/123343), [@haircommander](https://github.com/haircommander)) +- Updated `distroless-iptables` to `v0.5.0`, debian-base to `bookworm-v1.0.1` and setcap to `bookworm-v1.0.1`. ([#123170](https://github.com/kubernetes/kubernetes/pull/123170), [@cpanato](https://github.com/cpanato)) - Updated `kubedns` and `nodelocaldns` to release version `1.22.28`. ([#121908](https://github.com/kubernetes/kubernetes/pull/121908), [@mzaian](https://github.com/mzaian)) -- Updated some interfaces' signature in scheduler: - PluginsRunner: used NodeInfo in `RunPreScorePlugins` and `RunScorePlugins`. - PreScorePlugin: used NodeInfo in `PreScore`. - Extender: used NodeInfo in `Filter` and `Prioritize`. ([#121954](https://github.com/kubernetes/kubernetes/pull/121954), [@AxeZhan](https://github.com/AxeZhan)) - Users can traverse all the pods that are in the scheduler and waiting in the permit stage through method `IterateOverWaitingPods`. In other words, all waitingPods in scheduler can be obtained from any profiles. Before this commit, each profile could only obtain waitingPods within that profile. ([#122946](https://github.com/kubernetes/kubernetes/pull/122946), [@NoicFank](https://github.com/NoicFank)) [SIG Scheduling] - When PreFilterResult filters out some Nodes, the scheduling framework assumes them as rejected via `UnschedulableAndUnresolvable`, that is those nodes won't be in the candidates of preemption process. Also, corrected how the scheduling framework handle Unschedulable status from PreFilter. Before this PR, if PreFilter return `Unschedulable`, it may result in an unexpected abortion in the preemption, which shouldn't happen in the default scheduler, but may happen in schedulers with a custom plugin. ([#119779](https://github.com/kubernetes/kubernetes/pull/119779), [@sanposhiho](https://github.com/sanposhiho)) [SIG Scheduling] +- When the RetryGenerateName feature gate is enabled on the kube-apiserver, + create requests using generateName are retried automatically by the apiserver when the generated name conflicts with an existing resource name, up to a max limit of 7 retries. + This feature is in alpha. ([#122887](https://github.com/kubernetes/kubernetes/pull/122887), [@jpbetz](https://github.com/jpbetz)) [SIG API Machinery] +- `NewVolumeManagerReconstruction` feature is now GA. ([#123442](https://github.com/kubernetes/kubernetes/pull/123442), [@jsafrane](https://github.com/jsafrane)) - `ValidatingAdmissionPolicy` now supports type checking policies that make use of `variables`. ([#123083](https://github.com/kubernetes/kubernetes/pull/123083), [@jiahuif](https://github.com/jiahuif)) -- `kubectl describe`: added Suspend to job, and Node-Selectors and Tolerations to pod template output ([#122618](https://github.com/kubernetes/kubernetes/pull/122618), [@ivanvc](https://github.com/ivanvc)) +- `kubectl describe`: added Suspend to job, and Node-Selectors and Tolerations to pod template output. ([#122618](https://github.com/kubernetes/kubernetes/pull/122618), [@ivanvc](https://github.com/ivanvc)) ### Documentation - A deprecated flag `--pod-max-in-unschedulable-pods-duration` was initially planned to be removed in v1.26, but we have to change this plan. We found [an issue](https://github.com/kubernetes/kubernetes/issues/110175) in which Pods can be stuck in the unschedulable pod pool for 5 min, and using this flag is the only workaround for this issue. This issue only could happen if you use custom plugins or if you change plugin set being used in your scheduler via the scheduler config. ([#122013](https://github.com/kubernetes/kubernetes/pull/122013), [@sanposhiho](https://github.com/sanposhiho)) [SIG Scheduling] -- Fixed "delete pod declare no controllor" note. ([#120159](https://github.com/kubernetes/kubernetes/pull/120159), [@Ithrael](https://github.com/Ithrael)) +- Added a new internal metric `kubelet_first_network_pod_start_sli_duration_second` + in the kubelet that allow developers to understand the source of the latency problems on node startups. ([#121720](https://github.com/kubernetes/kubernetes/pull/121720), [@aojea](https://github.com/aojea)) +- Modified the error message of `unmanagedFatal` to enhance clarity while preserving grammatical consistency with `unmanagedWarning`. This improvement ensures a more understandable prompt for users. ([#120159](https://github.com/kubernetes/kubernetes/pull/120159), [@Ithrael](https://github.com/Ithrael)) ### Bug or Regression -- `ValidateVolumeAttributesClassUpdate` also validates new vac object. ([#122449](https://github.com/kubernetes/kubernetes/pull/122449), [@carlory](https://github.com/carlory)) - Added `imagefs.inodesfree` to default `EvictionHard` settings. ([#121834](https://github.com/kubernetes/kubernetes/pull/121834), [@vaibhav2107](https://github.com/vaibhav2107)) - Added metric name along with the utilization information when running `kubectl get hpa`. ([#122804](https://github.com/kubernetes/kubernetes/pull/122804), [@sreeram-venkitesh](https://github.com/sreeram-venkitesh)) - Allowed deletion of pods that use raw block volumes on node reboot. ([#122211](https://github.com/kubernetes/kubernetes/pull/122211), [@gnufied](https://github.com/gnufied)) +- An issue where `AvailableBytes` sometimes did not report correctly on WindowsNodes when `PodAndContainerStatsFromCRI` feature was enabled has been fixed. ([#122846](https://github.com/kubernetes/kubernetes/pull/122846), [@marosset](https://github.com/marosset)) - Changed the API server so that for admission webhooks that have a URL matching the hostname `localhost`, or a loopback IP address, the connection supports HTTP/2 where it can be negotiated. ([#122558](https://github.com/kubernetes/kubernetes/pull/122558), [@linxiulei](https://github.com/linxiulei)) [SIG API Machinery and Testing] +- DRA: fixed potential data race with no known real-world implications. ([#123222](https://github.com/kubernetes/kubernetes/pull/123222), [@pohly](https://github.com/pohly)) [SIG Node] - Etcd: Updated to `v3.5.11`. ([#122393](https://github.com/kubernetes/kubernetes/pull/122393), [@mzaian](https://github.com/mzaian)) -- Fix: Ignore unnecessary node events and improve daemonset controller performance. ([#121669](https://github.com/kubernetes/kubernetes/pull/121669), [@xigang](https://github.com/xigang)) [SIG Apps] -- Fix: Mount point may become local without calling `NodePublishVolume` after node rebooting. ([#119923](https://github.com/kubernetes/kubernetes/pull/119923), [@cvvz](https://github.com/cvvz)) - Fixed Pod stuck in `Terminating` because of `GenerateUnmapVolumeFunc` missing `globalUnmapPath` when kubelet tries to clean up all volumes that failed reconstruction. ([#123032](https://github.com/kubernetes/kubernetes/pull/123032), [@carlory](https://github.com/carlory)) - Fixed Windows credential provider, cannot find binary. Windows credential provider binary path may have ".exe" suffix so it is better to use `LookPath()` to support it flexibly. ([#120291](https://github.com/kubernetes/kubernetes/pull/120291), [@lzhecheng](https://github.com/lzhecheng)) -- Fixed a bug in `ValidatingAdmissionPolicy` that caused policies which were using CRD parameters to fail to synchronize ([#123003](https://github.com/kubernetes/kubernetes/pull/123003), [@alexzielenski](https://github.com/alexzielenski)) +- Fixed a bug in `ValidatingAdmissionPolicy` that caused policies which were using CRD parameters to fail to synchronize. ([#123003](https://github.com/kubernetes/kubernetes/pull/123003), [@alexzielenski](https://github.com/alexzielenski)) +- Fixed a bug that an init container with containerRestartPolicy with `Always` cannot update its state from terminated to non-terminated for the pod with restartPolicy with `Never` or `OnFailure`. ([#123323](https://github.com/kubernetes/kubernetes/pull/123323), [@gjkim42](https://github.com/gjkim42)) [SIG Apps and Node] - Fixed a bug where `kubectl` drain would consider a pod as having been deleted if an error occurs while calling the API. ([#122574](https://github.com/kubernetes/kubernetes/pull/122574), [@brianpursley](https://github.com/brianpursley)) - Fixed a race condition in the iptables mode of kube-proxy in `1.27` and later that could result in some updates getting lost (e.g., when a service gets a @@ -104,50 +144,69 @@ overriding MultiPoint plugins (e.g. default plugins). The incorrect loop logic might lead to a plugin being loaded multiple times, consequently preventing any Pod from being scheduled, which is unexpected. ([#122068](https://github.com/kubernetes/kubernetes/pull/122068), [@caohe](https://github.com/caohe)) -- Fixed an error when trying to expand a volume that does not require node expansion ([#123055](https://github.com/kubernetes/kubernetes/pull/123055), [@gnufied](https://github.com/gnufied)) -- Fixed an issue where kubectl apply could panic when imported as a library ([#122346](https://github.com/kubernetes/kubernetes/pull/122346), [@Jefftree](https://github.com/Jefftree)) +- Fixed an error when trying to expand a volume that does not require node expansion. ([#123055](https://github.com/kubernetes/kubernetes/pull/123055), [@gnufied](https://github.com/gnufied)) +- Fixed an issue calculating total CPU usage reported for Windows nodes. ([#122999](https://github.com/kubernetes/kubernetes/pull/122999), [@marosset](https://github.com/marosset)) +- Fixed an issue where a JWT authenticator configured via `--authentication-config` would fail to verify tokens that were not signed using RS256. ([#123282](https://github.com/kubernetes/kubernetes/pull/123282), [@enj](https://github.com/enj)) +- Fixed an issue where kubectl apply could panic when imported as a library. ([#122346](https://github.com/kubernetes/kubernetes/pull/122346), [@Jefftree](https://github.com/Jefftree)) +- Fixed an issue where the `configmap`, `secret`, `projected`, and `downwardAPI` volume types didn't create user-visible files after a kubelet restart. This fix ensures data persistence and accessibility after restarts. + ([#122807](https://github.com/kubernetes/kubernetes/pull/122807), [@carlory](https://github.com/carlory)) +- Fixed bug where health check could pass while APIServices are missing from aggregated discovery. ([#122883](https://github.com/kubernetes/kubernetes/pull/122883), [@Jefftree](https://github.com/Jefftree)) +- Fixed bug where providing a FieldPath to a CRD Validation Rule would erroneously affect the reported field path of other unrelated CRD Validation Rules on the same schema. ([#123475](https://github.com/kubernetes/kubernetes/pull/123475), [@alexzielenski](https://github.com/alexzielenski)) - Fixed cleanup of Pod volume mounts when a file was used as a subpath. ([#123052](https://github.com/kubernetes/kubernetes/pull/123052), [@jsafrane](https://github.com/jsafrane)) [SIG Node] - Fixed deprecated version for `pod_scheduling_duration_seconds` that caused the metric to be hidden by default in `1.29`. ([#123038](https://github.com/kubernetes/kubernetes/pull/123038), [@alculquicondor](https://github.com/alculquicondor)) +- Fixed ignore unnecessary node events and improve daemonset controller performance. ([#121669](https://github.com/kubernetes/kubernetes/pull/121669), [@xigang](https://github.com/xigang)) +- Fixed incorrect syncCronJob error logging. ([#122493](https://github.com/kubernetes/kubernetes/pull/122493), [@mengjiao-liu](https://github.com/mengjiao-liu)) [SIG Apps] +- Fixed kubectl explain to shows enum for field types if they were defined. ([#123023](https://github.com/kubernetes/kubernetes/pull/123023), [@ah8ad3](https://github.com/ah8ad3)) - Fixed migration of in-tree vSphere volumes to the CSI driver. ([#122341](https://github.com/kubernetes/kubernetes/pull/122341), [@jsafrane](https://github.com/jsafrane)) [SIG Storage] +- Fixed mount point may become local without calling `NodePublishVolume` after node rebooting. ([#119923](https://github.com/kubernetes/kubernetes/pull/119923), [@cvvz](https://github.com/cvvz)) +- Fixed node lifecycle controller panic when conditionType ready is been patch `nil` by mistake. ([#122874](https://github.com/kubernetes/kubernetes/pull/122874), [@fusida](https://github.com/fusida)) - Fixed panic of Evented PLEG during kubelet start-up. ([#122475](https://github.com/kubernetes/kubernetes/pull/122475), [@pacoxu](https://github.com/pacoxu)) - Fixed resource deletion failure caused by quota calculation error when `InPlacePodVerticalScaling` is turned on. ([#122701](https://github.com/kubernetes/kubernetes/pull/122701), [@carlory](https://github.com/carlory)) -- Fixed the following volume plugins may not create user visible files after kubelet was restarted. - configmap - secret - projected - downwardapi ([#122807](https://github.com/kubernetes/kubernetes/pull/122807), [@carlory](https://github.com/carlory)) -- Fixes an issue calculating total CPU usage reported for Windows nodes ([#122999](https://github.com/kubernetes/kubernetes/pull/122999), [@marosset](https://github.com/marosset)) [SIG Node and Windows] -- Fixing issue where `AvailableBytes` sometimes does not report correctly on WindowsNodes when `PodAndContainerStatsFromCRI` feature is enabled. ([#122846](https://github.com/kubernetes/kubernetes/pull/122846), [@marosset](https://github.com/marosset)) -- For statically provisioned PVs, if its volume source is CSI type or it has migrated annotation, when it's deleted, the PersisentVolume controller won't change its phase to the Failed state. With this patch, the external provisioner can remove the finalizer in next reconcile loop. Unfortunately if the provious existing pv has the Failed state, this patch won't take effort. It requires users to remove finalizer. ([#122030](https://github.com/kubernetes/kubernetes/pull/122030), [@carlory](https://github.com/carlory)) -- If a pvc has an empty `storageClassName`, PersistentVolume Controller won't try to assign a default `StorageClass`. ([#122704](https://github.com/kubernetes/kubernetes/pull/122704), [@carlory](https://github.com/carlory)) +- Fixed the disruption controller's PDB status synchronization to maintain all PDB conditions during an update. ([#122056](https://github.com/kubernetes/kubernetes/pull/122056), [@dhenkel92](https://github.com/dhenkel92)) [SIG Apps] +- For statically provisioned PVs, if its volume source is CSI type or it has migrated annotation, when it's deleted, the PersisentVolume controller won't change its phase to the Failed state. With this patch, the external provisioner can remove the finalizer in the next reconcile loop. Unfortunately, if the previous existing pv has the Failed state, this patch won't take effort. It requires users to remove finalizer. ([#122030](https://github.com/kubernetes/kubernetes/pull/122030), [@carlory](https://github.com/carlory)) - Improved scheduler performance when no scoring plugins are defined. ([#122058](https://github.com/kubernetes/kubernetes/pull/122058), [@aleksandra-malinowska](https://github.com/aleksandra-malinowska)) - Improved scheduler performance when no scoring plugins are defined. ([#122435](https://github.com/kubernetes/kubernetes/pull/122435), [@aleksandra-malinowska](https://github.com/aleksandra-malinowska)) -- Kube-proxy: fixed `LoadBalancerSourceRanges` not working for `nftables` mode ([#122614](https://github.com/kubernetes/kubernetes/pull/122614), [@tnqn](https://github.com/tnqn)) -- Kubeadm: `kubelet-finalize` phase of "kubeadm init" no longer requires kubelet kubeconfig to have a specific authinfo ([#123171](https://github.com/kubernetes/kubernetes/pull/123171), [@vrutkovs](https://github.com/vrutkovs)) +- Improved scheduler performance when no scoring plugins are defined. ([#123384](https://github.com/kubernetes/kubernetes/pull/123384), [@aleksandra-malinowska](https://github.com/aleksandra-malinowska)) +- Kube-proxy: fixed `LoadBalancerSourceRanges` not working for `nftables` mode. ([#122614](https://github.com/kubernetes/kubernetes/pull/122614), [@tnqn](https://github.com/tnqn)) - Kubeadm: do not upload kubelet patch configuration into `kube-system/kubelet-config` ConfigMap ([#123093](https://github.com/kubernetes/kubernetes/pull/123093), [@SataQiu](https://github.com/SataQiu)) [SIG Cluster Lifecycle] - Kubeadm: fix a bug where the --rootfs global flag does not work with "kubeadm upgrade node" for control plane nodes. ([#123077](https://github.com/kubernetes/kubernetes/pull/123077), [@neolit123](https://github.com/neolit123)) [SIG Cluster Lifecycle] +- Kubeadm: fixed a bug during kubeadm upgrade, where it is not possible to mount a new device and create a symbolic link for /etc/kubernetes (or a sub-directory) so that kubeadm stores its information on the mounted device. ([#123406](https://github.com/kubernetes/kubernetes/pull/123406), [@SataQiu](https://github.com/SataQiu)) +- Kubeadm: fixed a bug where "kubeadm upgrade plan -o yaml|json" includes unneeded output and was missing component config information. ([#123492](https://github.com/kubernetes/kubernetes/pull/123492), [@carlory](https://github.com/carlory)) - Kubeadm: fixed a regression in "kubeadm init" that caused a user-specified --kubeconfig file to be ignored. ([#122735](https://github.com/kubernetes/kubernetes/pull/122735), [@avorima](https://github.com/avorima)) -- Make decoding etcd's response respect the timeout context. ([#121815](https://github.com/kubernetes/kubernetes/pull/121815), [@HirazawaUi](https://github.com/HirazawaUi)) [SIG API Machinery] +- Kubeadm: in the new output API "output.kubeadm.k8s.io/v1alpha3" modified the UpgradePlan structure that is used when calling "kubeadm upgrade plan ... -o yaml|json", to include a list of multiple available upgrades. ([#123461](https://github.com/kubernetes/kubernetes/pull/123461), [@carlory](https://github.com/carlory)) +- Kubeadm: the `kubelet-finalize` phase of `kubeadm init` no longer requires the kubelet kubeconfig to have a specific authinfo. ([#123171](https://github.com/kubernetes/kubernetes/pull/123171), [@vrutkovs](https://github.com/vrutkovs)) +- Made decoding etcd's response respect the timeout context. ([#121815](https://github.com/kubernetes/kubernetes/pull/121815), [@HirazawaUi](https://github.com/HirazawaUi)) +- Patched a leak of a discovery document that would occur when an Aggregated APIService changed its Spec.Service field and did not change it back. ([#123517](https://github.com/kubernetes/kubernetes/pull/123517), [@Jefftree](https://github.com/Jefftree)) +- Previously, the scheduling queue didn't notice any extenders' failures, potentially resulting in missed cluster events and Pods rejected by Extenders being stuck in the unschedulable pod pool for up to 5 minutes in the worst-case scenario. Now, the scheduling queue notices extenders' failures and requeues Pods rejected by Extenders appropriately. ([#122022](https://github.com/kubernetes/kubernetes/pull/122022), [@sanposhiho](https://github.com/sanposhiho)) - QueueingHint implementation for `NodeAffinity` is reverted because we found potential scenarios where events that make Pods schedulable could be missed. ([#122285](https://github.com/kubernetes/kubernetes/pull/122285), [@sanposhiho](https://github.com/sanposhiho)) - Removed wrong warning event `FileSystemResizeFailed` during a pod creation if it uses a readonly volume and the capacity of the volume is greater or equal to its request storage. ([#122508](https://github.com/kubernetes/kubernetes/pull/122508), [@carlory](https://github.com/carlory)) +- Restored --verify-only function in code generation wrappers. ([#123261](https://github.com/kubernetes/kubernetes/pull/123261), [@skitt](https://github.com/skitt)) - Reverted the `EventedPLEG` feature (beta, but disabled by default) back to alpha for a known issue. ([#122697](https://github.com/kubernetes/kubernetes/pull/122697), [@pacoxu](https://github.com/pacoxu)) -- Show enum values in kubectl explain if they were defined ([#123023](https://github.com/kubernetes/kubernetes/pull/123023), [@ah8ad3](https://github.com/ah8ad3)) [SIG CLI] -- The scheduling queue didn't notice any extenders' failures, it could miss some cluster events, and it could end up Pods rejected by Extenders stuck in unschedulable pod pool in 5min in the worst-case scenario. Now, the scheduling queue notices extenders' failures and requeue Pods rejected by Extenders appropriately. ([#122022](https://github.com/kubernetes/kubernetes/pull/122022), [@sanposhiho](https://github.com/sanposhiho)) +- Sample-apiserver manifest example now has correct RBAC. ([#123479](https://github.com/kubernetes/kubernetes/pull/123479), [@Jefftree](https://github.com/Jefftree)) +- The initialization of nodes using external cloud-providers now waits for the providerID value to be available before declaring the node ready. This is required because previously, if there were errors of communication with the cloud-provider on the cloud-controller-manager, nodes may have been declared Ready without having this field or the zone labels, and the information was never reconciled. The providerID and the zone labels are required for integrations like loadbalancers to work correctly. Users still can opt-out to this new behavior by setting the feature flag OptionalProviderID in the cloud-controller-manager. ([#123331](https://github.com/kubernetes/kubernetes/pull/123331), [@aojea](https://github.com/aojea)) [SIG API Machinery, Cloud Provider and Testing] +- The persistentvolume controller no longer automatically assigns a default `StorageClass` to PVCs (Persistent Volume Claims) with an empty `storageClassName`. ([#122704](https://github.com/kubernetes/kubernetes/pull/122704), [@carlory](https://github.com/carlory)) - Used `errors.Is()` to handle err returned by `LookPath()`. ([#122600](https://github.com/kubernetes/kubernetes/pull/122600), [@lzhecheng](https://github.com/lzhecheng)) - When using a claim with immediate allocation and a pod referencing that claim couldn't get scheduled, the scheduler incorrectly may have tried to deallocate that claim. ([#122415](https://github.com/kubernetes/kubernetes/pull/122415), [@pohly](https://github.com/pohly)) [SIG Node and Scheduling] - `QueueingHint` implementation for `NodeUnschedulable` is reverted because we found potential scenarios where events that make Pods schedulable could be missed. ([#122288](https://github.com/kubernetes/kubernetes/pull/122288), [@sanposhiho](https://github.com/sanposhiho)) +- `ValidateVolumeAttributesClassUpdate` also validates new VolumeAttributesClass object. ([#122449](https://github.com/kubernetes/kubernetes/pull/122449), [@carlory](https://github.com/carlory)) ### Other (Cleanup or Flake) +- Added an optimization to reduce stack memory usage for watch requests. It is can be disabled with the feature gate: `APIServingWithRoutine=false` ([#120902](https://github.com/kubernetes/kubernetes/pull/120902), [@linxiulei](https://github.com/linxiulei)) - Added warning for `PV` on reclaim policy when it is `Recycle` . ([#122339](https://github.com/kubernetes/kubernetes/pull/122339), [@carlory](https://github.com/carlory)) -- Build etcd image `v3.5.12` ([#123069](https://github.com/kubernetes/kubernetes/pull/123069), [@bzsuni](https://github.com/bzsuni)) -- Cleanup: removed `getStorageAccountName` warning messages ([#121983](https://github.com/kubernetes/kubernetes/pull/121983), [@andyzhangx](https://github.com/andyzhangx)) +- Cleanup: removed `getStorageAccountName` warning messages. ([#121983](https://github.com/kubernetes/kubernetes/pull/121983), [@andyzhangx](https://github.com/andyzhangx)) - Client-go: Optimized leaders renewing leases by updating leader lock optimistically without getting the record from the apiserver first. Also added a new metric `leader_election_slowpath_total` that allow users to monitor how many leader elections are updated non-optimistically. ([#122069](https://github.com/kubernetes/kubernetes/pull/122069), [@linxiulei](https://github.com/linxiulei)) [SIG API Machinery, Architecture and Instrumentation] +- Etcd image `v3.5.12` has been built. ([#123069](https://github.com/kubernetes/kubernetes/pull/123069), [@bzsuni](https://github.com/bzsuni)) - Fixed a bug where registered wildcard cluster event sources didn't work in scheduler requeueing. ([#123117](https://github.com/kubernetes/kubernetes/pull/123117), [@kerthcet](https://github.com/kerthcet)) -- Kubeadm shows the supported shell types of `kubeadm completion` in the error message when an invalid shell was specified ([#122477](https://github.com/kubernetes/kubernetes/pull/122477), [@SataQiu](https://github.com/SataQiu)) - Kubeadm: improved the overall logic, error handling and output messages when waiting for the kubelet and API server /healthz endpoints to return `OK`. The kubelet and API server checks no longer run in parallel, but one after another(in serial). ([#121958](https://github.com/kubernetes/kubernetes/pull/121958), [@neolit123](https://github.com/neolit123)) +- Kubeadm: make sure that a variety of API server requests are retried during "init", "join", "upgrade", "reset" workflows. Prior to this change some API server requests, such as, creating or updating ConfigMaps were "one-shot" - i.e. they could fail if the API server dropped connectivity for a very short period of time. ([#123271](https://github.com/kubernetes/kubernetes/pull/123271), [@neolit123](https://github.com/neolit123)) [SIG Cluster Lifecycle] +- Kubeadm: the `bridge-nf-call-iptables=1` and `bridge-nf-call-ip6tables=1` preflight checks are removed since not all the network implementations require this setting, network plugins are responsible for setting this correctly depending on whether or not they connect containers to Linux bridges or use some other mechanism. ([#123464](https://github.com/kubernetes/kubernetes/pull/123464), [@SataQiu](https://github.com/SataQiu)) - Kubeadm: used `ttlSecondsAfterFinished` to automatically clean up the `upgrade-health-check` Job that runs during upgrade preflighting. ([#122079](https://github.com/kubernetes/kubernetes/pull/122079), [@carlory](https://github.com/carlory)) - Locked GA feature-gate `ConsistentHTTPGetHandlers` to default. ([#122578](https://github.com/kubernetes/kubernetes/pull/122578), [@carlory](https://github.com/carlory)) - Migrated `client-go/metadata` to contextual logging. ([#122225](https://github.com/kubernetes/kubernetes/pull/122225), [@ricardoapl](https://github.com/ricardoapl)) -- Migrated the cmd/kube-proxy to use [contextual logging](https://k8s.io/docs/concepts/cluster-administration/system-logs/#contextual-logging). ([#122197](https://github.com/kubernetes/kubernetes/pull/122197), [@fatsheep9146](https://github.com/fatsheep9146)) -- Promote feature-gate `LegacyServiceAccountTokenCleanUp` to GA and lock to default ([#122635](https://github.com/kubernetes/kubernetes/pull/122635), [@carlory](https://github.com/carlory)) -- Removed GA featuregate `RemoveSelfLink`. ([#122468](https://github.com/kubernetes/kubernetes/pull/122468), [@carlory](https://github.com/carlory)) +- Migrated the kube-proxy to use [contextual logging](https://k8s.io/docs/concepts/cluster-administration/system-logs/#contextual-logging). ([#122197](https://github.com/kubernetes/kubernetes/pull/122197), [@fatsheep9146](https://github.com/fatsheep9146)) +- Promoted feature-gate `LegacyServiceAccountTokenCleanUp` to GA and locked it to default. ([#122635](https://github.com/kubernetes/kubernetes/pull/122635), [@carlory](https://github.com/carlory)) +- Removed GA feature gate `RemoveSelfLink`. ([#122468](https://github.com/kubernetes/kubernetes/pull/122468), [@carlory](https://github.com/carlory)) - Removed GA featuregate about `ExperimentalHostUserNamespaceDefaultingGate` in `1.30`. ([#122088](https://github.com/kubernetes/kubernetes/pull/122088), [@bzsuni](https://github.com/bzsuni)) - Removed GA featuregate about `IPTablesOwnershipCleanup` in `1.30`. ([#122137](https://github.com/kubernetes/kubernetes/pull/122137), [@bzsuni](https://github.com/bzsuni)) - Removed generally available feature gate `ExpandedDNSConfig`. ([#122086](https://github.com/kubernetes/kubernetes/pull/122086), [@bzsuni](https://github.com/bzsuni)) [SIG Network] @@ -156,13 +215,16 @@ - Removed generally available feature gate `MinimizeIPTablesRestore`. ([#122136](https://github.com/kubernetes/kubernetes/pull/122136), [@ty-dc](https://github.com/ty-dc)) [SIG Network] - Removed generally available feature gate `ProxyTerminatingEndpoints`. ([#122134](https://github.com/kubernetes/kubernetes/pull/122134), [@ty-dc](https://github.com/ty-dc)) [SIG Network] - Removed the deprecated `azureFile` in-tree storage plugin. ([#122576](https://github.com/kubernetes/kubernetes/pull/122576), [@carlory](https://github.com/carlory)) -- Setting `--cidr-allocator-type` to `CloudAllocator` for `kube-controller-manager` will be removed in a future release. Please switch to and explore the options available in your external cloud provider ([#123011](https://github.com/kubernetes/kubernetes/pull/123011), [@dims](https://github.com/dims)) [SIG API Machinery and Network] +- Setting `--cidr-allocator-type` to `CloudAllocator` for `kube-controller-manager` will be removed in a future release. Please switch to and explore the options available in your external cloud provider. ([#123011](https://github.com/kubernetes/kubernetes/pull/123011), [@dims](https://github.com/dims)) - The GA feature-gate `APISelfSubjectReview` is removed, and the feature is unconditionally enabled. ([#122032](https://github.com/kubernetes/kubernetes/pull/122032), [@carlory](https://github.com/carlory)) - The feature gate `LegacyServiceAccountTokenTracking` (GA since 1.28) is now removed, since the feature is unconditionally enabled. ([#122409](https://github.com/kubernetes/kubernetes/pull/122409), [@Rei1010](https://github.com/Rei1010)) [SIG Auth] - The in-tree cloud provider for Azure has now been removed. Please use the external cloud provider and CSI driver from https://github.com/kubernetes/cloud-provider-azure instead. ([#122857](https://github.com/kubernetes/kubernetes/pull/122857), [@nilo19](https://github.com/nilo19)) - The in-tree cloud provider for vSphere has now been removed. Please use the external cloud provider and CSI driver from https://github.com/kubernetes/cloud-provider-vsphere instead. ([#122937](https://github.com/kubernetes/kubernetes/pull/122937), [@dims](https://github.com/dims)) [SIG API Machinery, Cloud Provider, Storage and Testing] -- Update `etcd` to version `3.5.12` ([#123150](https://github.com/kubernetes/kubernetes/pull/123150), [@bzsuni](https://github.com/bzsuni)) +- Updated `etcd` to version `3.5.12`. ([#123150](https://github.com/kubernetes/kubernetes/pull/123150), [@bzsuni](https://github.com/bzsuni)) - Updated `kube-dns` to `v1.22.27`. ([#121736](https://github.com/kubernetes/kubernetes/pull/121736), [@ty-dc](https://github.com/ty-dc)) - Updated cni-plugins to `v1.4.0`. ([#122178](https://github.com/kubernetes/kubernetes/pull/122178), [@saschagrunert](https://github.com/saschagrunert)) - Updated cri-tools to `v1.29.0`. ([#122271](https://github.com/kubernetes/kubernetes/pull/122271), [@saschagrunert](https://github.com/saschagrunert)) -- `kube-proxy` nftables mode is now compatible with kernel `5.4` ([#122296](https://github.com/kubernetes/kubernetes/pull/122296), [@tnqn](https://github.com/tnqn)) \ No newline at end of file +- Updated kubedns and nodelocaldns to v1.23.0 ([#123310](https://github.com/kubernetes/kubernetes/pull/123310), [@bzsuni](https://github.com/bzsuni)) +- Upgraded metrics server to v0.7.0. ([#123504](https://github.com/kubernetes/kubernetes/pull/123504), [@pacoxu](https://github.com/pacoxu)) +- `kube-proxy` nftables mode is now compatible with kernel `5.4`. ([#122296](https://github.com/kubernetes/kubernetes/pull/122296), [@tnqn](https://github.com/tnqn)) +- `kubeadm completion` error message now displays supported shell types when an invalid shell was specified. ([#122477](https://github.com/kubernetes/kubernetes/pull/122477), [@SataQiu](https://github.com/SataQiu)) \ No newline at end of file diff --git a/releases/release-1.30/release-notes/sessions/maps-1709744010.json b/releases/release-1.30/release-notes/sessions/maps-1709744010.json new file mode 100644 index 00000000000..a4ae437b4ab --- /dev/null +++ b/releases/release-1.30/release-notes/sessions/maps-1709744010.json @@ -0,0 +1,791 @@ +{ + "mail": "nina.polshakova@solo.io", + "name": "npolshakova", + "date": 1709744010, + "prs": [ + { + "nr": 122881, + "hash": "4b8a21c411831f592087b2bae0c2e160355b4215" + }, + { + "nr": 123222, + "hash": "fe6c30596f3d09bef7cc0d67f23bf5566a7b1507" + }, + { + "nr": 122422, + "hash": "00a8f2dbf447ed9c17b89423189357895c37de23" + }, + { + "nr": 123216, + "hash": "df75adb17f9a5fed37b129fddaf1cc471ec16c0c" + }, + { + "nr": 123323, + "hash": "e939a0241b6302f67f4df1887693871f16bfd2e8" + }, + { + "nr": 123217, + "hash": "fb1dfddd88382e1498f6e1b6a27654405998d183" + }, + { + "nr": 121719, + "hash": "70a1f365e327bc01de92a04a61107f09c456137c" + }, + { + "nr": 123135, + "hash": "d51238a5a5cb68f1c4a772a952ffe1937c26f092" + }, + { + "nr": 123165, + "hash": "142b1d57bb3baea4cbebb8d3ac53620580f76620" + }, + { + "nr": 123488, + "hash": "a41d926d2fdad2ab37b0dc57542c29570f01bd46" + }, + { + "nr": 123011, + "hash": "20d2523e32094bb7e00c6c0512b37023091424fd" + }, + { + "nr": 122556, + "hash": "e3e41f36b7f6108544348daa667cccf85b2de6f7" + }, + { + "nr": 121387, + "hash": "93332e73ac077aac0fa2074e37f442998ae1ba4e" + }, + { + "nr": 122946, + "hash": "9c45e6f5cf0c523f2c7884291f84f48de6b97fa4" + }, + { + "nr": 122618, + "hash": "7a0d63f54776eed4a8e3e2b89e90b7f1f28327c1" + }, + { + "nr": 122030, + "hash": "7a154e605387b32abe2ddecb6bbf61dca4b00e9c" + }, + { + "nr": 122056, + "hash": "a89d0123fc026b2d7dd12c0edef47fa73dd89193" + }, + { + "nr": 122846, + "hash": "36f4b4dffaa0acc3cb23226ede18f5a53efdd421" + }, + { + "nr": 123117, + "hash": "b69b8283f16f84c592ba7b42777207f7bf1500bb" + }, + { + "nr": 123170, + "hash": "0b86151ca8335d03644fb6012a919027fd611f64" + }, + { + "nr": 122195, + "hash": "999df1427271544ede2aba402a86534761967c74" + }, + { + "nr": 123517, + "hash": "3a0e0f3c4618aa71a19093374fe0afe8d80c41cc" + }, + { + "nr": 123418, + "hash": "5c3e46e0708ad5983e8a2d15461e49fb3a4fb976" + }, + { + "nr": 122508, + "hash": "cafd1e47b91f27f43463c63de5bfef3a7187e1b9" + }, + { + "nr": 119200, + "hash": "a714e9efc50c25dd6a36bcd4ca6d48bd82feecb1" + }, + { + "nr": 122503, + "hash": "7270212769e1eb70cbca19723f924544c46c2cd0" + }, + { + "nr": 122435, + "hash": "79539a3728d89896aff9ef9162fbd1aa11267190" + }, + { + "nr": 122032, + "hash": "e87927f045fd9af8a2a9740c86f667258e61419c" + }, + { + "nr": 122498, + "hash": "2d3ce7c233aa519fb5b23afe592a7fe7a80c6415" + }, + { + "nr": 123272, + "hash": "f6c05c91062d477bb850bee156d89b3064fbb4d7" + }, + { + "nr": 122339, + "hash": "97b2eeb3eadd2d56b22fdc256463d39581ec3ccc" + }, + { + "nr": 122415, + "hash": "b7d412b97dfcc6a1ba3c026859f687ae63e1dd7d" + }, + { + "nr": 123372, + "hash": "b945c60e8e72f38ff02d81830ab315e87604495a" + }, + { + "nr": 122523, + "hash": "7c76b40bb99c3c812912d5566df9ff9d59756cb4" + }, + { + "nr": 122701, + "hash": "1a22b002a3edbc080e2409dbc0404b656f56e32e" + }, + { + "nr": 121958, + "hash": "eec0e57b64bb82a7ce6949d7a20c9dbf473b2941" + }, + { + "nr": 119177, + "hash": "a225fc5e576bb50f46245586c6af4470e035c7d9" + }, + { + "nr": 123461, + "hash": "f017bbd54ad9ea91b4ae59e13f828cfcc69a2eb4" + }, + { + "nr": 123001, + "hash": "cfad859f577323a53350b71872d7d59a0e0f9fee" + }, + { + "nr": 121736, + "hash": "8b6add9950c8ee078184894d952cd7e16e6c82e1" + }, + { + "nr": 123492, + "hash": "4bdef65f04d076a4059f506f5bfe9737ac703aee" + }, + { + "nr": 122807, + "hash": "21dc9efa3ac021e007021760e18f742aae826375" + }, + { + "nr": 112957, + "hash": "7b8cc1459ebbcfa48335a5ba28a5002f00bd87ff" + }, + { + "nr": 121946, + "hash": "5a49dbcd545c04e0bcda70c073a36d4a4d4da08d" + }, + { + "nr": 123464, + "hash": "a29d89c25d60dfc94c4465cf262a9df9c86249d0" + }, + { + "nr": 122271, + "hash": "e3c90744d0d05a5f0f0baff2839d9cc8b8db5abf" + }, + { + "nr": 122697, + "hash": "040628820e2e491f9d194689a02a3c0407616cd6" + }, + { + "nr": 122914, + "hash": "ca91025809e574a336a694089c46e1f2e28aeb32" + }, + { + "nr": 122134, + "hash": "17886629a62db11d66b89059615f3343ce9ca6a8" + }, + { + "nr": 122530, + "hash": "caf5b525105aa1f63c3891955ba7dbb0bc61e890" + }, + { + "nr": 123310, + "hash": "ae5b9162b49e6ec26beebfa3b0f3f5d9ef4f01a0" + }, + { + "nr": 122204, + "hash": "c25143a75d8292f427150a67800895ce0ee9cc8b" + }, + { + "nr": 118756, + "hash": "85b7fe6d2b99ac78b9886189cbc79628d6540057" + }, + { + "nr": 122750, + "hash": "56aec2bc6de3a9a94a6b561cacb5fab9f4805be1" + }, + { + "nr": 122468, + "hash": "0c6d469cbc3fca935a0b2f80749a197a92bb0106" + }, + { + "nr": 122293, + "hash": "ff7bd3e0d6ba51d9fb205115bcfd3a28edc2f5af" + }, + { + "nr": 122449, + "hash": "84cd943c76bf661167e3458356659d9464239250" + }, + { + "nr": 122729, + "hash": "6be42051fb162683069bea4dd12fd45dad6d3fdd" + }, + { + "nr": 122710, + "hash": "4a48327f2ab39f96c86805e0cbdf37c53fad330e" + }, + { + "nr": 123281, + "hash": "b098bad7b96706281261a4988c30a9fea4bf1506" + }, + { + "nr": 122079, + "hash": "049d2a979481375babfd25b0a7fcf5ac2e6dd2a0" + }, + { + "nr": 122600, + "hash": "951686e3a49eec1ac827937c5deb611a9b5a8442" + }, + { + "nr": 123223, + "hash": "e9d1e22bce7e9bce0689b9fbe56f7f87ce129b14" + }, + { + "nr": 120159, + "hash": "f129eba00a87514cc3899dd8cbae4ff2e9328cc3" + }, + { + "nr": 123271, + "hash": "c2bad11ca49471e925703ba8b9de7b8c576839e8" + }, + { + "nr": 123032, + "hash": "8bfa2f0f53ce14fe7f962bf478c081c27c1c3af0" + }, + { + "nr": 121512, + "hash": "c3be7d4e7a1f77f382cdb7687a665d694c3fa72c" + }, + { + "nr": 122341, + "hash": "82565bad8477bf702d2a0e4fd4670022b4bc2b39" + }, + { + "nr": 123490, + "hash": "0529aa7d82d7b558b0ed20a7d2319bbe713e0fcc" + }, + { + "nr": 118389, + "hash": "8d2c567a63f0cfc6c29c441ebea2a7f3b341c1de" + }, + { + "nr": 122231, + "hash": "6b57812006a457ad9123a2c5bb5acb14d392023a" + }, + { + "nr": 122937, + "hash": "a8fc0a5c0da782c9d9178d925fc03c2fa86c567f" + }, + { + "nr": 123038, + "hash": "e5c581331fe04a3cd39590bffba1d9fe636f71fb" + }, + { + "nr": 120718, + "hash": "4f5fb4808f0c5bba3612737e52103c2e9fde6588" + }, + { + "nr": 122137, + "hash": "9b78044154ff2a37879e6a48d42ce3c18d9bbda7" + }, + { + "nr": 122999, + "hash": "5f5a954528f1540ffbe47c032d5d929e1f7eea6d" + }, + { + "nr": 121720, + "hash": "71bd66d6cc585427b310596c5f0ae771d76c85a0" + }, + { + "nr": 120902, + "hash": "ddabe25d1eedfad6dd67fed91160f5c6a185f7e9" + }, + { + "nr": 116209, + "hash": "8fea25256116ebcf61697dad408f34a99e45299b" + }, + { + "nr": 122578, + "hash": "6a741e0e42cabf782c6ddeb48165efcebc8eeb29" + }, + { + "nr": 122138, + "hash": "e7ced2ae78cc42c7840d32ce62192247c796f2d1" + }, + { + "nr": 122555, + "hash": "6df06f26cecd2de3fdbd86b3c45ddb139ee0667b" + }, + { + "nr": 120246, + "hash": "6cd9158186e11c294bc4aec7946c219d6aa50e59" + }, + { + "nr": 122058, + "hash": "58857d3df1142e0d49e2298ac60cec84a2165b1c" + }, + { + "nr": 123157, + "hash": "29a32b6194b003a0adc645dfd305b0420fdc8c51" + }, + { + "nr": 122874, + "hash": "b7f662076cc5b2bbc6d4771e10d143feecc64f20" + }, + { + "nr": 123475, + "hash": "7e756cffdbd9d33baf7fed9c4a07ae95c99ba754" + }, + { + "nr": 122889, + "hash": "34cdae2a471957ea02cef72b690aa38ebd3548c3" + }, + { + "nr": 121954, + "hash": "74c60ad48c81a69383281a6f3de9e6197c942fc8" + }, + { + "nr": 122309, + "hash": "447b7ab4aa66cd04c4276fbe8ec4d91ef3991c6f" + }, + { + "nr": 122088, + "hash": "86bb3ab9d671d21e7caf08cd4fe4e0131333b4ee" + }, + { + "nr": 121876, + "hash": "68b764228294c1f89d56e92de73c0e243e27ea4a" + }, + { + "nr": 122704, + "hash": "f8b91e38856f604d010e8d1ecbf9a224a19cc525" + }, + { + "nr": 123098, + "hash": "898391e50b1f462ae8e95da6e6512bff47b05b31" + }, + { + "nr": 121413, + "hash": "af14755a8021ed0e6c9fbd7835151747a9305685" + }, + { + "nr": 120344, + "hash": "0537d1623957e860da5f0373d955bb289ec56507" + }, + { + "nr": 122233, + "hash": "c449a1bfcb9209432dd9fde956d15a47df38b54a" + }, + { + "nr": 121834, + "hash": "ae26c344db900b397e14655f995e481b3c7f53eb" + }, + { + "nr": 122883, + "hash": "b5c7d3e153309098f230f6d68513a431223f5042" + }, + { + "nr": 122285, + "hash": "2de33c2a698f532bcefe1504cd8e87a5a8b53ad7" + }, + { + "nr": 122041, + "hash": "cd1fa8c547ff394e43e1c22c8e82ae782c46dbdd" + }, + { + "nr": 123282, + "hash": "5a06f01159c8d6020f7fa9a0e10c050fb1f7b87c" + }, + { + "nr": 122893, + "hash": "584b709d5a8d1e582a374d364c7e9dd7e9916973" + }, + { + "nr": 123003, + "hash": "08bfd11ea5f975e4c60699f84dadbcde946d5e37" + }, + { + "nr": 122475, + "hash": "a290ee8444a983f0cb7e94ccfc56e745e4556c11" + }, + { + "nr": 122023, + "hash": "eef8b23e8767da87b16153b9ce7f012df52bba6e" + }, + { + "nr": 123442, + "hash": "a684fe7d9e53bc2f179830f662e72f720083cd23" + }, + { + "nr": 122296, + "hash": "95b159d1235187db3d54e02b5f1accde8a03a7f9" + }, + { + "nr": 123150, + "hash": "853743573ae876b877937673c7426f191b2571bd" + }, + { + "nr": 122735, + "hash": "67532fb39a9828b8cce63de1b267485467e0e68c" + }, + { + "nr": 114672, + "hash": "a6f14e24bcb1f65fce2ba5574ca7d725062aebbd" + }, + { + "nr": 123083, + "hash": "7c4d4c051ff80497af915c2add91cf6b79a5adb8" + }, + { + "nr": 122804, + "hash": "e048c464452fae8bab364fe782d20e0b3c9743f5" + }, + { + "nr": 122456, + "hash": "5664dbabbb69e0d5005aa637fcc78635ab5430c4" + }, + { + "nr": 123052, + "hash": "fccad842f7865c32fc69aa7cd983ab9c02a0cffd" + }, + { + "nr": 122013, + "hash": "fe05274e9deefe00949bbfeff93d8b0408fbbead" + }, + { + "nr": 117046, + "hash": "1b82be0d876432bacb233b6519d9f03ac31cf2ca" + }, + { + "nr": 122612, + "hash": "afb9ea10ec7a18b793f6a8e9c7284ca0d7827f1c" + }, + { + "nr": 121565, + "hash": "8dfa5405a4bf80d6c398556d08588cc87b447e81" + }, + { + "nr": 123077, + "hash": "d64a7029fbaceda492b4218d25d91d5c185290ef" + }, + { + "nr": 123366, + "hash": "841a39672fb26a42f4b289d413805d20294d5e1f" + }, + { + "nr": 122211, + "hash": "92ede1357e6b597336426daa8670626e8dc8ff7d" + }, + { + "nr": 122069, + "hash": "30b5c8e8cf3e12130d24a7d4099388cfa249f73a" + }, + { + "nr": 121983, + "hash": "6ccb7af9b0704418420074b1cff007c2f922d675" + }, + { + "nr": 122409, + "hash": "5e5c42c2613046fb60d38bc0efe219254547db47" + }, + { + "nr": 123171, + "hash": "c07dd522817554ec590937b6d11f51cba019981b" + }, + { + "nr": 122142, + "hash": "fecdd94fd7c6d6a16163f4c8bef99ffe06fdf5c2" + }, + { + "nr": 122393, + "hash": "8edb169d279015e6007a5130066613e12873908b" + }, + { + "nr": 119779, + "hash": "2199c26568e33f2237ac072e183ea613ce90e6fe" + }, + { + "nr": 122197, + "hash": "53be6f3d436c3ff3894425d16ca72cc49e6bd0f8" + }, + { + "nr": 123425, + "hash": "1f265139780cfafd655eaf5652540e9a9b1e1c21" + }, + { + "nr": 123341, + "hash": "a48c6694ae111944dc45451abcd932c7dbbe253a" + }, + { + "nr": 122086, + "hash": "1569e0a85e3655f44aadae7106d2f0cf72ab152b" + }, + { + "nr": 122139, + "hash": "efc59460ae34bfea2f039db087845572e67e1576" + }, + { + "nr": 121952, + "hash": "0679bd2e460985a7e9508672fba8196b4d44a6c0" + }, + { + "nr": 122493, + "hash": "97bac1cb12d5ae4deb2f7f29da771c135192a92d" + }, + { + "nr": 115768, + "hash": "1211aa5e681059b61107983391f00dad2fa21a68" + }, + { + "nr": 123023, + "hash": "fefd700c367498bf6878f046ba2b77fbe540ec56" + }, + { + "nr": 121461, + "hash": "6ac527ea7effc0feb6f82ff31a50bb8a06555eb0" + }, + { + "nr": 122178, + "hash": "d9a1ec52a23acbb0df1602f1a7525ada40be76a2" + }, + { + "nr": 122640, + "hash": "3d4e23f91b67e8cd72fc3caa1ba8176ce2cf56e9" + }, + { + "nr": 121815, + "hash": "703e81edd269d80665e86fc5316831065f4c6bc4" + }, + { + "nr": 122635, + "hash": "3db4333b6d7de0a80522a31b5778a42b6200b5dd" + }, + { + "nr": 123055, + "hash": "f6466f5616b311e67a8a4ebf25111bd9375f8a01" + }, + { + "nr": 123179, + "hash": "cd00aa3a9ce3544cdb1e65bd79c64e07af114797" + }, + { + "nr": 122334, + "hash": "2b2a8d699601b5fa821b31a96fb07777e1cf864b" + }, + { + "nr": 123345, + "hash": "520cab26cd7375d9c9b8cd1f7dbef388d6d6741f" + }, + { + "nr": 122329, + "hash": "a3a5e5a5e4923041fe4b0f08b8e36b69a0bb72e8" + }, + { + "nr": 123504, + "hash": "2fb007a87bf7043bb3168e4afd6ae16b3db7061e" + }, + { + "nr": 122068, + "hash": "ac64bc0d638b9654adf3455d2a21d90470d53c71" + }, + { + "nr": 122022, + "hash": "5679da40f3e033394bd08e33654eb5139d69aaab" + }, + { + "nr": 120251, + "hash": "e3f058fa24295f4830a5e0b3d6d902217c890795" + }, + { + "nr": 123069, + "hash": "56e6bedeb01ebadaad654cc11656a003a0a93082" + }, + { + "nr": 123333, + "hash": "6863a5915b930508bc7795ac5228952df5f6c74b" + }, + { + "nr": 122225, + "hash": "34a5efd5671842ebace9cc416c237bc01290b761" + }, + { + "nr": 122724, + "hash": "e979f6667f497cbbaf75870cdceec8b879d3801e" + }, + { + "nr": 123093, + "hash": "2c88ebfa68e69f97aa4bcd846341220a39bf5321" + }, + { + "nr": 121778, + "hash": "ed4acd9734f981718a6a5c350b7d7bc8743ee006" + }, + { + "nr": 120642, + "hash": "b0d725c193a0ef27e1f09724dd21825ac6c3845e" + }, + { + "nr": 122961, + "hash": "dbe5be41404cf36220c7d1af4391f700dc27e962" + }, + { + "nr": 120631, + "hash": "dfaf6564a7e4cec61264db6f6acb7b6fe898483e" + }, + { + "nr": 122692, + "hash": "ae2b3d6189326674cc9978d72d47390b02f72489" + }, + { + "nr": 122857, + "hash": "ba2c03f64c87ecf6ada77cbdb7152b15e938162e" + }, + { + "nr": 122647, + "hash": "1ceb71c04a470986182521dc0b40894c8c0cbaba" + }, + { + "nr": 122276, + "hash": "5eeb5c66a22a0424dcc5c16d50cc8de8f43620b0" + }, + { + "nr": 123479, + "hash": "5ddae5ed30785679458feb70ccaf566416334e0d" + }, + { + "nr": 123406, + "hash": "bfa0bea99d095da411d44350f6e4b135bd4c6b79" + }, + { + "nr": 122136, + "hash": "1ac74547f5fc601cd61b8a399e79f2a2976e0b02" + }, + { + "nr": 119923, + "hash": "d1562f7639221ecd20ffd6201d61dec91ddf4b34" + }, + { + "nr": 123384, + "hash": "61d6306f86caff1ad609e4825f6d3b8925cc582d" + }, + { + "nr": 123134, + "hash": "53d2e5598d35c5ec3a08b048205d29e74c94d11f" + }, + { + "nr": 123051, + "hash": "c783818b5c458ee297d72fe4a96dc0d7e3051886" + }, + { + "nr": 121669, + "hash": "c27bbce27a63b1abc1cb21f0ea7804fb883159bc" + }, + { + "nr": 122569, + "hash": "5b8c7676b6c73d28656f894f910cb3dd10cde0f8" + }, + { + "nr": 123438, + "hash": "9effc56649a69d6a37d24404e3e4a002bbebbc40" + }, + { + "nr": 123082, + "hash": "02bec89987ad9cd46c57bc4c632019f4b7b5f53c" + }, + { + "nr": 122346, + "hash": "92994ca464fbc8a953046dc949ad4e24b1ea46eb" + }, + { + "nr": 122589, + "hash": "5a54e6c9598374f2379aa50802cfa48ac3db9c65" + }, + { + "nr": 123215, + "hash": "f7fb9274708f3136f59b32eb3cdc3e5be1445bf6" + }, + { + "nr": 121908, + "hash": "5829fac8e89488f7b6ea6284cdc7a97dc77b54df" + }, + { + "nr": 123331, + "hash": "32e1fd50b35e15561ea271ad1fb0de8d884a1bf2" + }, + { + "nr": 114301, + "hash": "529409efb14ea741252d0c94d60232bb82dbd1be" + }, + { + "nr": 122571, + "hash": "d41769940412f807e1963bc596c2419088f3eb59" + }, + { + "nr": 122705, + "hash": "d831f653fac7f799e68c22f5b53df1412aed7fd0" + }, + { + "nr": 122576, + "hash": "9b878809e70cfdf48ab747a275933a8abc520b9c" + }, + { + "nr": 122887, + "hash": "4b697bfefb2e5cbd6dacfc20d0bb685acf653dfb" + }, + { + "nr": 122477, + "hash": "ee3ce572cb02b7ac950dd6f869f435891d860657" + }, + { + "nr": 121912, + "hash": "e4e77028e67a00224ea76a25194577650679c7eb" + }, + { + "nr": 122574, + "hash": "900898d5a82d2048e1bf6cddfbfb6b843f72f401" + }, + { + "nr": 123343, + "hash": "3f14870c859f261d4dae6cd6055e5ad433d5504f" + }, + { + "nr": 122288, + "hash": "58b048aa370044470f2d3f0b0e633950723e8340" + }, + { + "nr": 122558, + "hash": "56f0c5481a8ea959e965027c2c5c264847dbdbe5" + }, + { + "nr": 123261, + "hash": "9e2085adb73fe9e31c72844d1ccaf9a49444da76" + }, + { + "nr": 122614, + "hash": "6d531475a994e4f5f082cdcfcf3d160c2c24e09a" + }, + { + "nr": 117024, + "hash": "143c451a957468e1bcfe1d3d4d3562ecb1f40735" + }, + { + "nr": 120291, + "hash": "7175a41bcf501b878d951f3672cb0e7963a32e5f" + } + ] +} \ No newline at end of file