Release notes for CloudNativePG 1.25 ==================================== History of user-visible changes in the 1.25 minor release of CloudNativePG. For a complete list of changes, please refer to the `commits `_ on the release branch in GitHub. Version 1.25.0-rc1 ------------------ **Release Date:** December 9, 2024 Features ^^^^^^^^ - **Declarative Database Management**: Introduce the ``Database`` Custom Resource Definition (CRD), enabling users to create and manage PostgreSQL databases declaratively within a cluster. (#5325) - **Logical Replication Management**: Add ``Publication`` and ``Subscription`` CRDs for declarative management of PostgreSQL logical replication. These simplify replication setup and facilitate online migrations to CloudNativePG. (#5329) Enhancements ^^^^^^^^^^^^ - Add the ``dataDurability`` option to the ``.spec.postgresql.synchronous`` stanza, allowing users to choose between ``required`` (default) or ``preferred`` durability in synchronous replication. (#5878) - Enable customization of startup, liveness, and readiness probes through the ``.spec.probes`` stanza. (#6266) - Support additional ``pg_dump`` and ``pg_restore`` options to enhance database import flexibility. (#6214) - Add support for ``maxConcurrentReconciles`` in the CloudNativePG controller and set the default to 10, improving the operator’s ability to efficiently manage larger deployments out of the box. (#5678) - Add the ``cnpg.io/userType`` label to secrets generated for predefined users, specifically ``superuser`` and ``app`` . (#4392) - ``cnpg`` plugin: - Enhance the ``backup`` command to support plugins. (#6045) - Honor the ``User-Agent`` header in HTTP requests with the API server. (#6153) Bug Fixes ^^^^^^^^^ - Ensure the former primary flushes its WAL file queue to the archive before re-synchronizing as a replica, reducing recovery times and enhancing data consistency during failovers. (#6141) - Clean the WAL volume along with the ``PGDATA`` volume during bootstrap. (#6265) - Update the operator to set the cluster phase to ``Unrecoverable`` when all previously generated ``PersistentVolumeClaims`` are missing. (#6170) - Fix the parsing of the ``synchronous_standby_names`` GUC when ``.spec.postgresql.synchronous.method`` is set to ``first`` . (#5955) - Correct role changes to apply at the transaction level instead of the database context. (#6064) - Remove the ``primary_slot_name`` definition from the ``override.conf`` file on the primary to ensure it is always empty. (#6219) - Configure libpq environment variables, including ``PGHOST`` , in PgBouncer pods to enable seamless access to the ``pgbouncer`` virtual database using ``psql`` from within the container. (#6247) - Remove unnecessary updates to the Cluster status when verifying changes in the image catalog. (#6277) - ``cnpg`` plugin: - Ensure the ``kubectl`` context is properly passed in the ``psql`` command. (#6257) - Avoid displaying physical backups block when empty with ``status`` command. (#5998) Supported Versions ^^^^^^^^^^^^^^^^^^ - **Kubernetes**: 1.31, 1.30, and 1.29 - **PostgreSQL**: 17, 16, 15, 14, and 13 - Default image: PostgreSQL 17.2 - Officially dropped support for PostgreSQL 12 - PostgreSQL 13 support ends on November 12, 2025