EDB CloudNativePG Cluster 1.25.5 release notes v1.28.0

Released: 16 December 2025

This release of EDB CloudNativePG Cluster is built on the final community release of the 1.25.x series of CloudNativePG. EDB will continue providing LTS releases in the 1.25.x series according to our Long-Term Support policy.

This release of EDB 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.25.5, any customer attempting an operator upgrade, MUST configure the new unified repository pull secret! For details and instructions, follow the Central Migration Guide.

Enhancements

DescriptionAddresses
Added support for 1.28 CRD fields, bringing forward compatibility improvements from the 1.28 release.

This includes enhanced Database CRD with foreign data wrapper support, improved cluster security contexts, failover quorum configurations, TLS configurations for Pooler, and the majorVersion field in Backupresources.

1109
Improved `cnp report` to generate more shell-friendly file names.#8984

Changes

DescriptionAddresses
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

DescriptionAddresses
Fixed the CheckEmptyWalArchive safeguard to run correctly when restoring from a volume snapshot using CNP-I backup/WAL plugins (e.g.,plugin-barman-cloud).

Previously, this check was skipped for plugin-based implementations.

#9306
Fixed TLS certificate verification issues when connecting to CNP-I plugins by adding the k8s.enterprisedb.io/pluginServerName annotation.

This allows customizing the DNS name used for certificate verification in environments where the plugin's certificate uses a different DNS name than the Service name.

#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 SkipNameValidation for subsequent initialization attempts. Contributed by @mateusoliveira43.

#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 CREATE PUBLICATION SQL generation for multi-table publications to be backward-compatible with PostgreSQL 13+.

The previously generated syntax was only valid for PostgreSQL 15+ and caused syntax errors on older versions.

#8888
Fixed backup failures in complex pod definitions by reliably selecting the `postgres` container by name instead of by index.#8964
cnp plugin: Fixed bugs in cnp report log collection, especially when fetching previous logs.

The collector now correctly fetches previous and current logs in separate requests and gracefully handles missing previous logs (e.g., on containers with no restart history), ensuring current logs are always collected.

#8992