Release notes for CloudNativePG 1.20¶
History of user-visible changes in the 1.20 minor release of CloudNativePG.
For a complete list of changes, please refer to the commits
on the release branch in GitHub.
Version 1.20.2¶
Releasedate: July 27, 2023
Enhancements:
New
logscommand in the kubectl plugin, to retrieve or follow the logs of all pods in a cluster (#2375)Add support for specifying priorityClassName in pods, helping Kubernetes make scheduling decisions (#2043)
Add a metric and status field to monitor node usage by a CloudNativePG cluster (#2257)
Various enhancements to the documentation: - Add troubleshooting instructions relating to hugepages (#1390) - Extend the FAQs page (#2344)
Technical enhancements:
Add a check at the start of the restore process to ensure it can proceed; give improved error diagnostics if it cannot (#2419)
Improve handling of non-expiring passwords in managed roles (#2334)
Fixes:
Ensure the logic of setting the recovery target matches that of Postgres (#2460)
Prevent taking over service accounts not owned by the cluster, by setting ownerMetadata only during service account creation (#2462)
Ensure correct permissions of the PGDATA directory for initdb and restore (#2384)
Prevent a possible crash of the instance manager during the configuration reload (#2393)
Prevent the LastFailedArchiveTime alert from triggering if a new backup has been successful after the failed ones (#1751)
Prevent services from targeting non-instance pods (#2336)
Security:
Updated all project dependencies to the latest versions
Version 1.20.1¶
Releasedate: June 12, 2023
Enhancements:
Add the
snapshotcommand to thecnpgplugin to create a consistent cold backup of the cluster from a standby using the KubernetesVolumeSnapshotstandard resource (#1960)First implementation of recovery from a set of CSI VolumeSnapshot resources via the
.spec.bootstrap.recovery.volumeSnapshotstanza (#1960)Add
pg_failover_slotsto managed extensions (#2057)Improved Grafana dashboard with updated instructions in the documentation and the quickstart guide (#1916)
Introduce the
schemaOnlyoption in theimportstanza, to avoid exporting and importing data when you bootstrap a new Postgres Cluster from one or more existing databases (#2234)Add support for TopologySpreadConstraints to manage scheduling of instance pods (#2202)
Add
PodMonitorsupport to thePoolerfor PgBouncer (#2034)Add option to override the default Kubernetes scheduler (#2013)
Allow configuration of deployment strategy of a
Poolerresource (#1983)Update default PostgreSQL version to 15.3 (#2022)
Use PgBouncer 1.19 by default (#2018)
Technical enhancements:
Updated k8s kind tested versions (#2054)
Declarative roles should ignore passwords if not set, easing management of previously existing roles (#2029)
Use separate transactions to reconcile role credentials. Before this patch, the operator would revert the synchronization of all roles if one failed (#2004)
Ensure fencing is removed during cluster restore (#1987)
Improve logging when deleting Pods (#2136)
Fixes:
Fix unbound variable with k3s engine which could prevent setup on K3’s (#2157)
Report the correct PG version in the metrics (#2126)
Use the correct walStorage key in the documentation (#2140)
Halt reconciliation when the operator cannot connect with the instances, and provide a clear diagnostic on such occasions. This will help clarify cases where network issues obstruct normal operation of CloudNativePG (#2145), (#2233), and (#2242)
Version 1.20.0¶
Releasedate: April 27, 2023
Features:
Declarativerolemanagement: introduce the
managed.rolesstanza in theClusterspec to provide full lifecycle management of database roles, by providing an abstraction to the related DDL commands in PostgreSQL, such asCREATE ROLEandALTER ROLE(#1524, #1793 and #1815)DeclarativehibernationofaPostgreSQLcluster: introduce a new annotation called
cnpg.io/hibernationto declaratively hibernate a PostgreSQL cluster by deleting all pods and keeping the PVCs only; the feature also implements the inverse procedure (#1657)
Enhancements:
Improve the
--logsoption of thereportcommand of thecnpgplugin forkubectlto also include the previous logs where available (#1811)The
-anyservice is now disabled by default (#1755)
Security:
Enable customization of
SeccompProfilethrough override via a local file (#1827)
Fixes:
Apply the PostgreSQL configuration provided by the user during the
initdbbootstrap phase, before the server is started the first time (#1858)