EDB CloudNativePG Cluster 1.28.0 release notes v1.28.0
Released: 16 December 2025
This release of EDB Postgres® AI for CloudNativePG™ Cluster includes the following:
Highlights
We've consolidated our private container registry into a single location. This change simplifies access and deployment. Starting with v1.28.0, any customer attempting an operator upgrade, MUST configure the new unified repository pull secret! For details and instructions, follow the Central Migration Guide.
Features
| Description | Addresses |
|---|---|
Quorum-Based Failover Promoted to StablePromoted the quorum-based failover feature, introduced experimentally in 1.27.0, to a stable API. This data-driven failover mechanism is now configured via the | #8589 |
Declarative Foreign Data ManagementIntroduced comprehensive declarative management for Foreign Data Wrappers (FDW) by extending the | #7942, #8401 |
Enhancements
| Description | Addresses |
|---|---|
Enabled simultaneous image and configuration changes when using | #8241 |
Improved network failure detection for replica instances by setting the default | #9317 |
Adopted standard Kubernetes recommended labels(e.g., | #8087 |
Introduced | #6614 |
Introduced the | #8178 |
| Introduced a new caching layer for user-defined monitoring queries to reduce load on the PostgreSQL database. | #8003 |
| Enhanced PgBouncer integration by automatically setting `auth_dbname` to the `pgbouncer` database, simplifying auth setup. | #8671 |
Allowed providing stage-specific | #7690 |
| Added the PostgreSQL `majorVersion` to the `Backup` object's status for easier identification and management. | #8464 |
Enhanced cluster restore to wait for all init containers to complete before starting the restore process.This ensures that backup tools running in init containers finish preparing the data before the restore begins. The implementation correctly handles Kubernetes init container sidecars by ignoring those with | #9026 |
Added the | #9232 |
CNP plugin: Added a | #9201 |
| Improved `cnp report` to generate more shell-friendly file names. | #8984 |
Security Fixes
| Description | Addresses |
|---|---|
Allowed providing fine-grained custom TLS configurations for PgBouncerThe | #8692 |
Added optional TLS support for the operator's metrics server (port 8080)This feature is opt-in and enabled by setting the | #8997 |
Enabled | #8982 |
Changes
| Description | Addresses |
|---|---|
| Updated the default PostgreSQL version to `18.1-standard-ubi9`. | #9178 |
| Updated the default PgBouncer version to **1.25.1**, which carries a fix for **CVE-2025-12819**, for new Pooler deployments. | #9367 |
Bug Fixes
| Description | Addresses |
|---|---|
Improved resilience of all probe types (liveness, readiness, and startup) to transient Kubernetes API server connectivity issues.Probes now use a caching mechanism that falls back to cached cluster definitions during brief network interruptions, preventing unnecessary pod restarts and probe failures. | #9148 |
Fixed the | #9306 |
Improved error detection and reporting when ImageCatalog retrieval fails.The operator now emits a Warning event and logs errors for all failure types, not just | #9266 |
Fixed TLS certificate verification issues when connecting to CNP-I plugins by adding the | #9222 |
Fixed an issue where the instance manager controller could fail to restart after an error, reporting a "controller already exists" message.The controller now uses | #9123 |
Fixed incorrect WAL restore path handling in plugins when the destination path is absolute, preventing path duplication issues.Contributed by @Endevir. | #9093 |
Fixed the | #8888 |
| Fixed backup failures in complex pod definitions by reliably selecting the `postgres` container by name instead of by index. | #8964 |
| #8992 |