EDB CloudNativePG Cluster 1.28.0-rc2 release notes v1.28.0-rc2
Released: 28 November 2025
This preview release includes the following changes since 1.27.1:
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 |
|---|---|
Added the | #9232 |
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 |
Improved network failure detection for primary instances by setting the default | #9317 |
Enabled simultaneous image and configuration changesallowing you to update the container image (including PostgreSQL version or extensions) and PostgreSQL configuration settings in the same operation. The operator first applies the image change, followed by the configuration changes in a subsequent rollout, ensuring safe and consistent cluster updates. | #8115 |
Introduced | #6614 |
Adopted standard Kubernetes recommended labels(e.g., | #8087 |
Introduced a new caching layer for user-defined monitoring queriesto reduce load on the PostgreSQL database. | #8003 |
Introduced the | #8178 |
| 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 |
CNP plugin: Added a | #9201 |
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 |
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 |