Dennis-Mircea commented on code in PR #877:
URL: https://github.com/apache/flink-web/pull/877#discussion_r3797981875


##########
docs/content/posts/2026-08-06-release-kubernetes-operator-1.16.0.md:
##########
@@ -0,0 +1,136 @@
+---
+title:  "Apache Flink Kubernetes Operator 1.16.0 Release Announcement"
+date: "2026-08-06T08:00:00.000Z"
+authors:
+- gyfora:
+  name: "Gyula Fora"
+aliases:
+- /news/2026/08/06/release-kubernetes-operator-1.16.0.html
+---
+
+The Apache Flink community is excited to announce the release of Flink 
Kubernetes Operator 1.16.0!
+
+This release centers on **extensibility and documentation**: a completely 
restructured documentation site, a trio of pluggable autoscaler SPIs (custom 
evaluators, scaling executors, and parallelism alignment modes), 
Kubernetes-native pod `ResourceRequirements`, an upgrade to Java Operator SDK 
5.5 with Helm 4 support, standalone HA on Flink 2.0+, and a range of 
Blue/Green, session job, and savepoint reliability fixes.
+
+We encourage you to [download the 
release](https://flink.apache.org/downloads.html) and share your experience 
with the
+community through the Flink [mailing 
lists](https://flink.apache.org/community.html#mailing-lists) or
+[JIRA](https://issues.apache.org/jira/browse/flink)! We're looking forward to 
your feedback!
+
+## Highlights
+
+### Restructured Documentation
+
+The operator documentation has been comprehensively reorganized and expanded 
for better navigability and coverage. The
+site is now grouped into clear top-level areas: **Concepts** (architecture, 
autoscaling, lifecycle management, and a
+glossary), **Deployment** (installation, configuration, compatibility, 
security, leader election, and Helm topics such
+as cert-manager and RBAC), a consolidated **Custom Resource** reference, 
**Operations**, and a brand new **Internals**
+section that documents how the operator actually works under the hood, 
covering the controller flow, the autoscaler,
+the admission webhook, and operator startup.
+
+Beyond moving pages around, large parts of the content were rewritten and gaps 
were filled, so users and contributors
+now have a single, coherent map of the operator, from first install through to 
its internal design.
+
+### Autoscaler Extensibility: Pluggable Evaluators, Scaling Executors, and 
Alignment Modes
+
+The autoscaler becomes extensible through three new plugin SPIs, all 
discovered via the standard plugin mechanism and
+each configurable per named instance. Together they let you customize the 
autoscaler without forking it:
+
+- **Custom Evaluator plugin 
([FLIP-514](https://cwiki.apache.org/confluence/display/FLINK/FLIP-514)):** 
inject custom
+  scaling-metric evaluation logic into the evaluation pipeline, augmenting or 
overriding how the autoscaler interprets
+  the collected metrics before a scaling decision is made.
+- **Scaling Executor Plugin SPI 
([FLIP-575](https://cwiki.apache.org/confluence/display/FLINK/FLIP-575)):** 
hook into
+  the point where scaling decisions are applied, so a plugin can veto, gate, 
or adjust a proposed rescale (for example
+  to enforce organization-specific policies) before it is executed.
+- **Composable Parallelism Alignment Modes 
([FLIP-586](https://cwiki.apache.org/confluence/display/FLINK/FLIP-586)):**
+  make the strategy that aligns a computed target parallelism to key groups or 
source partitions pluggable, with the
+  existing behavior preserved as built-in modes and custom modes discoverable 
as plugins.
+
+Each plugin receives its own prefix-stripped, per-instance configuration, 
keeping custom extensions cleanly isolated
+from the core autoscaler configuration.
+
+### Kubernetes-native Pod Resource Requirements
+
+TaskManager and JobManager pod resources can now be expressed using standard 
Kubernetes
+[`ResourceRequirements`](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/),
 replacing the
+operator's previous custom `resource` (cpu/memory) fields. This brings 
requests and limits, ephemeral storage, and
+extended resources (such as GPUs) into line with native Kubernetes semantics.
+
+### Java Operator SDK 5.5 and Helm 4
+
+The operator is upgraded to **Java Operator SDK 5.5.0**, and the Helm chart CI 
and end-to-end tests now run on
+**Helm 4**, keeping the operator current with its core dependencies and 
packaging toolchain.
+
+### Standalone HA on Flink 2.0+
+
+Standalone-mode High Availability now works on Flink 2.0 and later. The 
JobManager entrypoint no longer relies on the
+`--host` CLI argument that was removed in Flink 2.0, using the 
`jobmanager.rpc.address` dynamic configuration instead,
+which is valid across both Flink 1.x and 2.x.
+
+### Supported Flink Versions
+
+Operator 1.16.0 supports the following Flink version matrix:
+
+**2.3.x, 2.2.x, 2.1.x, 2.0.x, 1.20.x, 1.19.x**
+
+## Notable Bug Fixes
+
+### Blue/Green Deployments
+
+- The Blue/Green transition now finalizes immediately after the previous 
deployment is deleted, instead of deferring to
+  a later reconciliation, closing a window where a not-ready blip could roll 
the transition back onto an already-deleted
+  deployment.
+- Fixed a bug where, after an aborted transition, the next deploy would delete 
the previous (Blue) deployment
+  immediately instead of honoring the configured deletion delay.
+
+### Session Jobs
+
+- A fast-running `FlinkSessionJob` now correctly reflects the actual state of 
the job rather than getting stuck at a
+  stale state.
+- A `FlinkSessionJob`'s lifecycle state no longer remains `UPGRADING` after it 
has been suspended successfully.
+- Fixed a deadlock where deleting a `FlinkDeployment` while `FlinkSessionJobs` 
were still running could hang under the
+  default block-on-* options.
+
+### Savepoints and Snapshots
+
+- `FlinkStateSnapshot`-triggered savepoints now honor the referenced 
`FlinkSessionJob`'s `state.savepoints.dir`.
+- Fixed `FlinkStateSnapshot` with the default `backoffLimit=-1` so it means 
unlimited retries as documented, instead of
+  failing immediately on the first error.
+- Fixed an NPE during `FlinkStateSnapshot` cleanup when the status was null, 
which could permanently block custom
+  resource and namespace deletion.
+
+### Cluster Upgrades and Configuration
+
+- `AbstractFlinkService.deleteBlocking()` no longer swallows 
`KubernetesClientTimeoutException`, which previously let an
+  upgrade proceed on top of a still-running cluster.
+- The operator now serializes managed-deployment config in the target Flink 
version's YAML dialect, fixing Flink 1.x
+  deployments when the operator itself runs on the standard `config.yaml`.
+
+### Autoscaler Accuracy and Security
+
+- Corrected the expected processing rate computation and aligned the busy-time 
`TRUE_PROCESSING_RATE` numerator
+  estimator with the busy-time aggregator for more accurate scaling decisions.
+- The autoscaler Flink REST client timeout is no longer silently overridden by 
the operator client timeout.
+- Bumped log4j, Jackson, and Beam to retire known CVEs.
+
+## Release Notes

Review Comment:
   Done! The content was not up to date with the latest content added. Now it 
is, and contains a dedicated section for this.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to