Repository: kubernetes-sigs/kueue

Issue:
Consider deprecating and dropping LocalQueueFlavorStatus on v1beta2
We had some discussions if we should keep LocalQueueFlavorStatus. This was introduced under the [KEP-3122: Expose Flavors in LocalQueue Status](https://github.com/kubernetes-sigs/kueue/tree/main/keps/3122-expose-flavors-in-localqueue-status), see [thread](https://github.com/kubernetes-sigs/kueue/pull/4543#discussion_r1989906588).

I think the KEP introduced the API in status back before we had the on-demand API, so we didn't have a clear alternative. I think on-demand API would have been a better fit, but we already have the API.

Now, as we are approaching v1beta2 (hopefully in 0.15) I would like to align on the approach here:
1. deprecate in 0.14, drop in v1beta2 along without replacement
2. deprecate in 0.14, drop in v1beta2 along with on-demand API replacement
3. keep supported in v1beta2, but plan for the on-demand API for similar use-cases. Plan migration when ready, possibly v1beta3 of v1.
4. keep supported in v1beta2, no specific plans for on-demand API until we have contributors willing to take it


Discussion:
@mimowo: (1.) is least amount of work but would be breaking, cc @KPostOffice @dgrove-oss @kannon92 who might be using the feature (I don't know)
(2.) is probably the cleanest, but we should act quickly if we want to do it, so that we can develop the replacement without delaying v1beta2 (similarly as we dropped QueueVisibility in favor of on-demand API)
(3.) "keep as is and defer decisions for later"
(4.) "keep as is", because the maintenance of the APi is not too high.
@mimowo: cc @tenzen-y @mwielgus @mwysokin @mimowo: cc @gabesaba @mimowo: I think ideally we would like to deprecate it and ultimately drop (1.) or (2.). 

The question which could help the decision making process is if we need replacement (2.), and if we have contributors willing to work on it?

Looking for  any hints in the  community, but particularly from RedHat as I think there was some interest in the feature in the past, cc @kannon92  @mimowo: As discussed on wg-batch on 9th Oct we prefer to drop the feature entirely. Still, I would prefer to do it in two steps, so the first PR would only deprecate, even if we send the follow up PR in the same release. This way we can easily rollback the dropping if it turns out that we need to keep the feature.
@iomarsayed: /assign@iomarsayed: @mimowo 

What are the chances we will just entirely drop it for the release?
I am asking the question, because if we will drop it in the same release, why do we need to deprecate first and not just go for the drop instantly?

I think we will have the ability to rollback in both cases (If we depreciate then drop ... or just drop entirely).

Correct me if I am wrong at any point.@mimowo: I would deprecate for now. And potentially drop in the follow up PR.

The chances that we drop in this release are some, but dropping is a bit aggressive given the k8s deprecation policy: https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-feature-or-behavior: "Rule #7: Deprecated behaviors must function for no less than 1 year after their announced deprecation.". 

While this is a guideline there are also exceptions https://kubernetes.io/docs/reference/using-api/deprecation-policy/#exceptions, so if the community agrees we could proceed dropping in 0.15. Also, this is k8s guideline, and in Kueue we move a bit faster, so I'm happy to consider dropping in 0.15. However, here the chances are 50% I would say. 

I want to raise this topic on the next wg-batch meeting. Note that I mentioned that on the last community meeting and there were no objections for dropping.@iomarsayed: Okay great, Will proceed with deprecation first.

Solution patch:
diff --git a/.golangci.yaml b/.golangci.yaml
index e43fff907..16c9f0296 100644
--- a/.golangci.yaml
+++ b/.golangci.yaml
@@ -90,6 +90,12 @@ linters:
       - linters:
           - staticcheck
         text: 'SA1019: j.Status.RayClusterStatus.State is deprecated: the State field is replaced by the Conditions field.'
+      - linters:
+          - staticcheck
+        text: 'SA1019: kueue.LocalQueueFlavorStatus is deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.'
+      - linters:
+        - staticcheck
+        text: 'SA1019: stats.Flavors is deprecated: Flavors is deprecated and marked for removal in v1beta2.'
       - linters:
           - fatcontext
         path: ^test/*
diff --git a/CHANGELOG/CHANGELOG-0.13.md b/CHANGELOG/CHANGELOG-0.13.md
index 189e1294a..0a3745267 100644
--- a/CHANGELOG/CHANGELOG-0.13.md
+++ b/CHANGELOG/CHANGELOG-0.13.md
@@ -1,3 +1,33 @@
+## v0.13.7
+
+Changes since `v0.13.6`:
+
+## Changes by Kind
+
+### Feature
+
+- JobFramework: Introduce an optional interface for custom Jobs, called JobWithCustomWorkloadActivation, which can be used to deactivate or active a custom CRD workload. (#7199, @tg123)
+
+### Bug or Regression
+
+- Fix existing workloads not being re-evaluated when new clusters are added to MultiKueueConfig. Previously, only newly created workloads would see updated cluster lists. (#7351, @mimowo)
+- Fix handling of RayJobs which specify the spec.clusterSelector and the "queue-name" label for Kueue. These jobs should be ignored by kueue as they are being submitted to a RayCluster which is where the resources are being used and was likely already admitted by kueue. No need to double admit.
+  Fix on a panic on kueue managed jobs if spec.rayClusterSpec wasn't specified. (#7257, @laurafitzgerald)
+- Fixed a bug that Kueue would keep sending empty updates to a Workload, along with sending the "UpdatedWorkload" event, even if the Workload didn't change. This would happen for Workloads using any other mechanism for setting
+  the priority than the WorkloadPriorityClass, eg. for Workloads for PodGroups. (#7306, @mbobrovskyi)
+- MultiKueue x ElasticJobs: fix webhook validation bug which prevented scale up operation when any other
+  than the default "AllAtOnce" MultiKueue dispatcher was used. (#7333, @mszadkow)
+- Visibility API: Fix a bug that the Config clientConnection is not respected in the visibility server. (#7224, @tenzen-y)
+
+### Other (Cleanup or Flake)
+
+- Improve the messages presented to the user in scheduling events, by clarifying the reason for "insufficient quota"
+  in case of workloads with multiple PodSets. 
+  
+  Example:
+  - before: "insufficient quota for resource-type in flavor example-flavor, request > maximum capacity (24 > 16)"
+  - after: "insufficient quota for resource-type in flavor example-flavor, previously considered podsets requests (16) + current podset request (8) > maximum capacity (16)" (#7294, @iomarsayed)
+
 ## v0.13.6
 
 Changes since `v0.13.5`:
diff --git a/CHANGELOG/CHANGELOG-0.14.md b/CHANGELOG/CHANGELOG-0.14.md
index 646848239..9bbbe272d 100644
--- a/CHANGELOG/CHANGELOG-0.14.md
+++ b/CHANGELOG/CHANGELOG-0.14.md
@@ -1,3 +1,41 @@
+## v0.14.2
+
+Changes since `v0.14.1`:
+
+## Changes by Kind
+
+### Feature
+
+- JobFramework: Introduce an optional interface for custom Jobs, called JobWithCustomWorkloadActivation, which can be used to deactivate or active a custom CRD workload. (#7286, @tg123)
+
+### Bug or Regression
+
+- Fix existing workloads not being re-evaluated when new clusters are added to MultiKueueConfig. Previously, only newly created workloads would see updated cluster lists. (#7349, @mimowo)
+- Fix handling of RayJobs which specify the spec.clusterSelector and the "queue-name" label for Kueue. These jobs should be ignored by kueue as they are being submitted to a RayCluster which is where the resources are being used and was likely already admitted by kueue. No need to double admit.
+  Fix on a panic on kueue managed jobs if spec.rayClusterSpec wasn't specified. (#7258, @laurafitzgerald)
+- Fixed a bug that Kueue would keep sending empty updates to a Workload, along with sending the "UpdatedWorkload" event, even if the Workload didn't change. This would happen for Workloads using any other mechanism for setting
+  the priority than the WorkloadPriorityClass, eg. for Workloads for PodGroups. (#7305, @mbobrovskyi)
+- MultiKueue x ElasticJobs: fix webhook validation bug which prevented scale up operation when any other
+  than the default "AllAtOnce" MultiKueue dispatcher was used. (#7332, @mszadkow)
+- TAS: Introduce missing validation against using incompatible `PodSet` grouping configuration in `JobSet, `MPIJob`, `LeaderWorkerSet`, `RayJob` and `RayCluster`. 
+  
+  Now, only groups of two `PodSet`s can be defined and one of the grouped `PodSet`s has to have only a single `Pod`.
+  The `PodSet`s within a group must specify the same topology request via one of the `kueue.x-k8s.io/podset-required-topology` and `kueue.x-k8s.io/podset-preferred-topology` annotations. (#7263, @kshalot)
+- Visibility API: Fix a bug that the Config clientConnection is not respected in the visibility server. (#7225, @tenzen-y)
+- WorkloadRequestUseMergePatch: use "strict" mode for admission patches during scheduling which
+  sends the ResourceVersion of the workload being admitted for comparing by kube-apiserver. 
+  This fixes the race-condition issue that Workload conditions added concurrently by other controllers
+  could be removed during scheduling. (#7279, @mszadkow)
+
+### Other (Cleanup or Flake)
+
+- Improve the messages presented to the user in scheduling events, by clarifying the reason for "insufficient quota"
+  in case of workloads with multiple PodSets. 
+  
+  Example:
+  - before: "insufficient quota for resource-type in flavor example-flavor, request > maximum capacity (24 > 16)"
+  - after: "insufficient quota for resource-type in flavor example-flavor, previously considered podsets requests (16) + current podset request (8) > maximum capacity (16)" (#7293, @iomarsayed)
+
 ## v0.14.1
 
 Changes since `v0.14.0`:
diff --git a/Makefile b/Makefile
index ddf785936..7c9b2db58 100644
--- a/Makefile
+++ b/Makefile
@@ -87,7 +87,7 @@ LD_FLAGS += -X '$(version_pkg).BuildDate=$(shell date -u +%Y-%m-%dT%H:%M:%SZ)'
 
 # Update these variables when preparing a new release or a release branch.
 # Then run `make prepare-release-branch`
-RELEASE_VERSION=v0.14.1
+RELEASE_VERSION=v0.14.2
 RELEASE_BRANCH=main
 # Application version for Helm and npm (strips leading 'v' from RELEASE_VERSION)
 APP_VERSION := $(shell echo $(RELEASE_VERSION) | cut -c2-)
diff --git a/README.md b/README.md
index 92546e738..38603c01b 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,7 @@ Read the [overview](https://kueue.sigs.k8s.io/docs/overview/) and watch the Kueu
 To install the latest release of Kueue in your cluster, run the following command:
 
 ```shell
-kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.1/manifests.yaml
+kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.2/manifests.yaml
 ```
 
 The controller runs in the `kueue-system` namespace.
diff --git a/SECURITY-INSIGHTS.yaml b/SECURITY-INSIGHTS.yaml
index 339de146d..2384c6af6 100644
--- a/SECURITY-INSIGHTS.yaml
+++ b/SECURITY-INSIGHTS.yaml
@@ -1,11 +1,11 @@
 header:
   schema-version: 1.0.0
   expiration-date: '2024-09-28T01:00:00.000Z'
-  last-updated: '2025-10-08'
-  last-reviewed: '2025-10-08'
-  commit-hash: "bcdc1e482ba64f56fee107a1e5a27646825ab9e6"
+  last-updated: '2025-10-23'
+  last-reviewed: '2025-10-23'
+  commit-hash: "afb96efdd444eb95e357e6d6b77ce9cd2817fc91"
   project-url: 'https://github.com/kubernetes-sigs/kueue'
-  project-release: "0.14.1"
+  project-release: "0.14.2"
   changelog: 'https://github.com/kubernetes-sigs/kueue/tree/main/CHANGELOG'
   license: 'https://github.com/kubernetes-sigs/kueue/blob/main/LICENSE'
 project-lifecycle:
@@ -28,7 +28,7 @@ documentation:
   - 'https://kueue.sigs.k8s.io/docs/'
 distribution-points:
   - >-
-    https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.1/manifests.yaml
+    https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.2/manifests.yaml
 security-artifacts:
   threat-model:
     threat-model-created: false
@@ -62,5 +62,5 @@ dependencies:
   dependencies-lists:
     - 'https://github.com/kubernetes-sigs/kueue/blob/main/go.mod'
   sbom:
-    - sbom-file: https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.1/kueue-v0.14.1.spdx.json
+    - sbom-file: https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.2/kueue-v0.14.2.spdx.json
       sbom-format: SPDX
diff --git a/apis/kueue/v1beta1/localqueue_types.go b/apis/kueue/v1beta1/localqueue_types.go
index 564d24491..c46604d9c 100644
--- a/apis/kueue/v1beta1/localqueue_types.go
+++ b/apis/kueue/v1beta1/localqueue_types.go
@@ -56,6 +56,7 @@ type LocalQueueSpec struct {
 	FairSharing *FairSharing `json:"fairSharing,omitempty"`
 }
 
+// Deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.
 type LocalQueueFlavorStatus struct {
 	// name of the flavor.
 	// +required
@@ -154,6 +155,7 @@ type LocalQueueStatus struct {
 	// +listMapKey=name
 	// +kubebuilder:validation:MaxItems=16
 	// +optional
+	// Deprecated: Flavors is deprecated and marked for removal in v1beta2.
 	Flavors []LocalQueueFlavorStatus `json:"flavors,omitempty"`
 
 	// fairSharing contains the information about the current status of fair sharing.
diff --git a/apis/kueue/v1beta2/localqueue_types.go b/apis/kueue/v1beta2/localqueue_types.go
index 9ad483b1c..a19f2d900 100644
--- a/apis/kueue/v1beta2/localqueue_types.go
+++ b/apis/kueue/v1beta2/localqueue_types.go
@@ -56,6 +56,7 @@ type LocalQueueSpec struct {
 	FairSharing *FairSharing `json:"fairSharing,omitempty"`
 }
 
+// Deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.
 type LocalQueueFlavorStatus struct {
 	// name of the flavor.
 	// +required
@@ -154,6 +155,7 @@ type LocalQueueStatus struct {
 	// +listMapKey=name
 	// +kubebuilder:validation:MaxItems=16
 	// +optional
+	// Deprecated: Flavors is deprecated and marked for removal in v1beta2.
 	Flavors []LocalQueueFlavorStatus `json:"flavors,omitempty"`
 
 	// fairSharing contains the information about the current status of fair sharing.
diff --git a/charts/kueue/Chart.yaml b/charts/kueue/Chart.yaml
index 4960d9df2..702b56000 100644
--- a/charts/kueue/Chart.yaml
+++ b/charts/kueue/Chart.yaml
@@ -16,9 +16,9 @@ type: application
 # NOTE: Do not modify manually. In Kueue, the version and appVersion are
 # overridden to GIT_TAG when building the artifacts, including the helm charts,
 # via Makefile.
-version: 0.14.1
+version: 0.14.2
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
 # It is recommended to use it with quotes.
-appVersion: "v0.14.1"
+appVersion: "v0.14.2"
diff --git a/charts/kueue/README.md b/charts/kueue/README.md
index 327078031..16353fc2c 100644
--- a/charts/kueue/README.md
+++ b/charts/kueue/README.md
@@ -1,6 +1,6 @@
 # kueue
 
-![Version: 0.14.1](https://img.shields.io/badge/Version-0.14.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.14.1](https://img.shields.io/badge/AppVersion-v0.14.1-informational?style=flat-square)
+![Version: 0.14.2](https://img.shields.io/badge/Version-0.14.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.14.2](https://img.shields.io/badge/AppVersion-v0.14.2-informational?style=flat-square)
 
 Kueue is a set of APIs and controllers for job queueing. It is a job-level manager that decides when a job should be admitted to start (as in pods can be created) and when it should stop (as in active pods should be deleted).
 
@@ -28,7 +28,7 @@ $ helm install kueue kueue/ --create-namespace --namespace kueue-system
 Or use the charts pushed to `oci://registry.k8s.io/kueue/charts/kueue`:
 
 ```bash
-helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" --create-namespace --namespace=kueue-system
+helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.2" --create-namespace --namespace=kueue-system
 ```
 
 For more advanced parametrization of Kueue, we recommend using a local overrides file, passed via the `--values` flag. For example:
@@ -50,7 +50,7 @@ controllerManager:
 ```
 
 ```bash
-helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" \
+helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.2" \
   --create-namespace --namespace=kueue-system \
   --values overrides.yaml
 ```
@@ -58,7 +58,7 @@ helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" \
 You can also use the `--set` flag. For example, to enable a feature gate (e.g., `TopologyAwareScheduling`):
 
 ```bash
-helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" \
+helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.2" \
   --create-namespace --namespace=kueue-system \
   --set "controllerManager.featureGates[0].name=TopologyAwareScheduling" \
   --set "controllerManager.featureGates[0].enabled=true"
diff --git a/charts/kueue/README.md.gotmpl b/charts/kueue/README.md.gotmpl
index 6cf856979..6a93180b7 100644
--- a/charts/kueue/README.md.gotmpl
+++ b/charts/kueue/README.md.gotmpl
@@ -30,7 +30,7 @@ $ helm install kueue kueue/ --create-namespace --namespace kueue-system
 Or use the charts pushed to `oci://registry.k8s.io/kueue/charts/kueue`:
 
 ```bash
-helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" --create-namespace --namespace=kueue-system
+helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.2" --create-namespace --namespace=kueue-system
 ```
 
 For more advanced parametrization of Kueue, we recommend using a local overrides file, passed via the `--values` flag. For example:
@@ -52,7 +52,7 @@ controllerManager:
 ```
 
 ```bash
-helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" \
+helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.2" \
   --create-namespace --namespace=kueue-system \
   --values overrides.yaml
 ```
@@ -60,7 +60,7 @@ helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" \
 You can also use the `--set` flag. For example, to enable a feature gate (e.g., `TopologyAwareScheduling`):
 
 ```bash
-helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.1" \
+helm install kueue oci://registry.k8s.io/kueue/charts/kueue --version="0.14.2" \
   --create-namespace --namespace=kueue-system \
   --set "controllerManager.featureGates[0].name=TopologyAwareScheduling" \
   --set "controllerManager.featureGates[0].enabled=true"
diff --git a/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml b/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml
index fb717a951..b6cf04c6f 100644
--- a/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml
+++ b/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml
@@ -276,8 +276,11 @@ spec:
                     - name
                   x-kubernetes-list-type: map
                 flavors:
-                  description: flavors lists all currently available ResourceFlavors in specified ClusterQueue.
+                  description: |-
+                    flavors lists all currently available ResourceFlavors in specified ClusterQueue.
+                    Deprecated: Flavors is deprecated and marked for removal in v1beta2.
                   items:
+                    description: 'Deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.'
                     properties:
                       name:
                         description: name of the flavor.
@@ -623,8 +626,11 @@ spec:
                     - weightedShare
                   type: object
                 flavors:
-                  description: flavors lists all currently available ResourceFlavors in specified ClusterQueue.
+                  description: |-
+                    flavors lists all currently available ResourceFlavors in specified ClusterQueue.
+                    Deprecated: Flavors is deprecated and marked for removal in v1beta2.
                   items:
+                    description: 'Deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.'
                     properties:
                       name:
                         description: name of the flavor.
diff --git a/cmd/kueueviz/INSTALL.md b/cmd/kueueviz/INSTALL.md
index 82b344920..b8c2fd9bc 100644
--- a/cmd/kueueviz/INSTALL.md
+++ b/cmd/kueueviz/INSTALL.md
@@ -3,7 +3,7 @@
 KueueViz can be installed using `kubectl` with the following command:
 
 ```
-kubectl create -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.1/kueueviz.yaml
+kubectl create -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.14.2/kueueviz.yaml
 ```
 If you are using `kind` and that you don't have an `ingress` controller, you can use `port-forward` to 
 configure and run `KueueViz`:
@@ -23,7 +23,7 @@ by ensuring that `enableKueueViz` is set to `true`:
 
 ```
 helm upgrade --install kueue oci://registry.k8s.io/kueue/charts/kueue \
-  --version="0.14.1"
+  --version="0.14.2"
   --namespace kueue-system \
   --set enableKueueViz=true \
   --create-namespace
@@ -44,7 +44,7 @@ kind create cluster
 kind get kubeconfig > kubeconfig
 export KUBECONFIG=$PWD/kubeconfig
 helm install kueue oci://us-central1-docker.pkg.dev/k8s-staging-images/charts/kueue \
-            --version="0.14.1" --create-namespace --namespace=kueue-system
+            --version="0.14.2" --create-namespace --namespace=kueue-system
 ```
 
 ## Build
diff --git a/cmd/kueueviz/frontend/package-lock.json b/cmd/kueueviz/frontend/package-lock.json
index 487912dd7..adc29e480 100644
--- a/cmd/kueueviz/frontend/package-lock.json
+++ b/cmd/kueueviz/frontend/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "kueueviz-frontend",
-  "version": "0.14.1",
+  "version": "0.14.2",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "kueueviz-frontend",
-      "version": "0.14.1",
+      "version": "0.14.2",
       "license": "Apache 2.0",
       "dependencies": {
         "@emotion/react": "^11.14.0",
diff --git a/cmd/kueueviz/frontend/package.json b/cmd/kueueviz/frontend/package.json
index e0c171eb3..e60f3e40f 100644
--- a/cmd/kueueviz/frontend/package.json
+++ b/cmd/kueueviz/frontend/package.json
@@ -1,6 +1,6 @@
 {
   "name": "kueueviz-frontend",
-  "version": "0.14.1",
+  "version": "0.14.2",
   "private": true,
   "description": "Frontend dashboard for visualizing Kueue status",
   "main": "src/index.jsx",
diff --git a/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml b/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml
index e1f2d8b8a..e8c95ba7e 100644
--- a/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml
+++ b/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml
@@ -266,9 +266,12 @@ spec:
                 - name
                 x-kubernetes-list-type: map
               flavors:
-                description: flavors lists all currently available ResourceFlavors
-                  in specified ClusterQueue.
+                description: |-
+                  flavors lists all currently available ResourceFlavors in specified ClusterQueue.
+                  Deprecated: Flavors is deprecated and marked for removal in v1beta2.
                 items:
+                  description: 'Deprecated: LocalQueueFlavorStatus is deprecated and
+                    marked for removal in v1beta2.'
                   properties:
                     name:
                       description: name of the flavor.
@@ -625,9 +628,12 @@ spec:
                 - weightedShare
                 type: object
               flavors:
-                description: flavors lists all currently available ResourceFlavors
-                  in specified ClusterQueue.
+                description: |-
+                  flavors lists all currently available ResourceFlavors in specified ClusterQueue.
+                  Deprecated: Flavors is deprecated and marked for removal in v1beta2.
                 items:
+                  description: 'Deprecated: LocalQueueFlavorStatus is deprecated and
+                    marked for removal in v1beta2.'
                   properties:
                     name:
                       description: name of the flavor.
diff --git a/pkg/cache/scheduler/cache.go b/pkg/cache/scheduler/cache.go
index ac2a06cab..233689f50 100644
--- a/pkg/cache/scheduler/cache.go
+++ b/pkg/cache/scheduler/cache.go
@@ -805,7 +805,8 @@ type LocalQueueUsageStats struct {
 	ReservingWorkloads int
 	AdmittedResources  []kueue.LocalQueueFlavorUsage
 	AdmittedWorkloads  int
-	Flavors            []kueue.LocalQueueFlavorStatus
+	// Deprecated: Flavors is deprecated and marked for removal in v1beta2.
+	Flavors []kueue.LocalQueueFlavorStatus
 }
 
 func (c *Cache) LocalQueueUsage(qObj *kueue.LocalQueue) (*LocalQueueUsageStats, error) {
diff --git a/site/content/en/docs/reference/kueue.v1beta1.md b/site/content/en/docs/reference/kueue.v1beta1.md
index 0fff02f80..c6e40fb29 100644
--- a/site/content/en/docs/reference/kueue.v1beta1.md
+++ b/site/content/en/docs/reference/kueue.v1beta1.md
@@ -1592,6 +1592,8 @@ which the kueue controller manager is running. The config should be stored in th
 - [LocalQueueStatus](#kueue-x-k8s-io-v1beta1-LocalQueueStatus)
 
 
+<p>Deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.</p>
+
 
 <table class="table">
 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead>
@@ -1833,7 +1835,8 @@ workloads assigned to this LocalQueue.</p>
 <a href="#kueue-x-k8s-io-v1beta1-LocalQueueFlavorStatus"><code>[]LocalQueueFlavorStatus</code></a>
 </td>
 <td>
-   <p>flavors lists all currently available ResourceFlavors in specified ClusterQueue.</p>
+   <p>flavors lists all currently available ResourceFlavors in specified ClusterQueue.
+Deprecated: Flavors is deprecated and marked for removal in v1beta2.</p>
 </td>
 </tr>
 <tr><td><code>fairSharing</code><br/>
diff --git a/site/content/zh-CN/docs/reference/kueue.v1beta1.md b/site/content/zh-CN/docs/reference/kueue.v1beta1.md
index 9082b376b..852b67978 100644
--- a/site/content/zh-CN/docs/reference/kueue.v1beta1.md
+++ b/site/content/zh-CN/docs/reference/kueue.v1beta1.md
@@ -1519,6 +1519,7 @@ which the kueue controller manager is running. The config should be stored in th
 **Appears in:**
 
 - [LocalQueueStatus](#kueue-x-k8s-io-v1beta1-LocalQueueStatus)
+<p>Deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.</p>
 
 
 
@@ -1763,6 +1764,7 @@ workloads assigned to this LocalQueue.</p>
 </td>
 <td>
    <p>flavors lists all currently available ResourceFlavors in specified ClusterQueue.</p>
+   <p>Deprecated: LocalQueueFlavorStatus is deprecated and marked for removal in v1beta2.</p>
 </td>
 </tr>
 <tr><td><code>fairSharing</code><br/>
diff --git a/site/hugo.toml b/site/hugo.toml
index 341b6b39b..b79c676f2 100644
--- a/site/hugo.toml
+++ b/site/hugo.toml
@@ -99,10 +99,10 @@ ignoreFiles = []
   # The major.minor version tag for the version of the docs represented in this
   # branch of the repository. Used in the "version-banner" partial to display a
   # version number for this doc set.
-  version = "v0.14.1"
+  version = "v0.14.2"
 
   # Version of Kueue without the leading "v", as used for Helm charts.
-  chart_version = "0.14.1"
+  chart_version = "0.14.2"
 
   # Flag used in the "version-banner" partial to decide whether to display a
   # banner on every page indicating that this is an archived version of the docs.



Test patch:
diff --git a/pkg/dra/claims_test.go b/pkg/dra/claims_test.go
index 8674e4574..970784b21 100644
--- a/pkg/dra/claims_test.go
+++ b/pkg/dra/claims_test.go
@@ -17,7 +17,6 @@ limitations under the License.
 package dra_test
 
 import (
-	"context"
 	"reflect"
 	"testing"
 
@@ -257,7 +256,8 @@ func Test_GetResourceRequests(t *testing.T) {
 				tc.modifyWL(wlCopy)
 			}
 
-			got, err := dra.GetResourceRequestsForResourceClaimTemplates(context.Background(), baseClient, wlCopy)
+			ctx, _ := utiltesting.ContextWithLog(t)
+			got, err := dra.GetResourceRequestsForResourceClaimTemplates(ctx, baseClient, wlCopy)
 			if (err != nil) != tc.wantErr {
 				t.Fatalf("unexpected error status: gotErr=%v wantErr=%v, err=%v", err != nil, tc.wantErr, err)
 			}
diff --git a/test/e2e/kueueviz/package-lock.json b/test/e2e/kueueviz/package-lock.json
index d077f79d7..6962a8fb3 100644
--- a/test/e2e/kueueviz/package-lock.json
+++ b/test/e2e/kueueviz/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "kueueviz-frontend-tests",
-  "version": "0.14.1",
+  "version": "0.14.2",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "kueueviz-frontend-tests",
-      "version": "0.14.1",
+      "version": "0.14.2",
       "devDependencies": {
         "@testing-library/cypress": "^10.1.0",
         "cypress": "^15.5.0",
diff --git a/test/e2e/kueueviz/package.json b/test/e2e/kueueviz/package.json
index 8afaa260a..4ec1e1d15 100644
--- a/test/e2e/kueueviz/package.json
+++ b/test/e2e/kueueviz/package.json
@@ -1,6 +1,6 @@
 {
   "name": "kueueviz-frontend-tests",
-  "version": "0.14.1",
+  "version": "0.14.2",
   "scripts": {
     "cypress:run": "cypress run --headless",
     "check-unused": "depcheck"