Release notes for CloudNativePG 1.22
History of user-visible changes in the 1.22 minor release of CloudNativePG.
For a complete list of changes, please refer to the commits
on the release branch in GitHub.
Version 1.22.0
Release date: Dec 21, 2023
Features
Declarative Tablespaces: Introducing the
tablespacesstanza in theClusterspec, enabling comprehensive lifecycle management of PostgreSQL tablespaces for enhanced vertical scalability (#3410).Temporary Tablespaces: Adding the
.spec.tablespaces[*].temporaryoption to facilitate the utilization of a tablespace for temporary database operations, by incorporating the name into thetemp_tablespacesPostgreSQL parameter (#3464).
Security
By default, TLSv1.3 is now enforced on all PostgreSQL 12 or higher installations. Additionally, users can configure the
ssl_ciphers,ssl_min_protocol_version, andssl_max_protocol_versionGUCs (#3408).Integration of Docker image scanning with Dockle and Snyk to enhance security measures (#3300).
Enhancements
Improved reconciliation of external clusters (#3533).
Introduction of the ability to enable/disable the
ALTER SYSTEMcommand (#3535).Support for Prometheus’ dynamic relabeling through the
podMonitorMetricRelabelingsandpodMonitorRelabelingsoptions in the.spec.monitoringstanza of theClusterandPoolerresources (#3075).Enhanced computation of the first recoverability point and last successful backup by considering volume snapshots alongside object-store backups (#2940).
Elimination of the use of the
PGPASSFILEenvironment variable when establishing a network connection to PostgreSQL (#3522).Improved
cnpg reportplugin command by collecting a cluster’s PVCs (#3357).Enhancement of the
cnpg statusplugin command, providing information about managed roles, including alerts (#3310).Introduction of Red Hat UBI 8 container images for the operator, suitable for OLM deployments.
Connection pooler:
Scaling down instances of a
Poolerresource to 0 is now possible (#3517).Addition of the
cnpg.io/podRolelabel with a value of ‘pooler’ to every pooler deployment, differentiating them from instance pods (#3396).
Fixes
Reconciliation of metadata, annotations, and labels of
PodDisruptionBudgetresources (#3312 and #3434).Reconciliation of the metadata of the managed credential secrets (#3316).
Resolution of a bug in the backup snapshot code where an error reading the body would be handled as an overall error, leaving the backup process indefinitely stuck (#3321).
Implicit setting of online backup with the
cnpg backupplugin command when eitherimmediate-checkpointorwait-for-archiveoptions are requested (#3449).Disabling of wal_sender_timeout when joining through pg_basebackup (#3586)
Reloading of secrets used by external clusters (#3565)
Connection pooler:
Ensuring the controller watches all secrets owned by a
Poolerresource (#3428).Reconciliation of
RoleBindingforPoolerresources (#3391).Reconciliation of
imagePullSecretforPoolerresources (#3389).Reconciliation of the service of a
Poolerand addition of the required labels (#3349).Extension of
Poolerlabels to the deployment as well, not just the pods (#3350).
Changes
Default operand image set to PostgreSQL 16.1 (#3270).