Release notes for CloudNativePG 1.17¶
History of user-visible changes in the 1.17 minor release of CloudNativePG.
For a complete list of changes, please refer to the commits on the release branch in GitHub.
Version 1.17.1¶
Releasedate: Oct 6, 2022
Enhancements:
Introduce
leaseDurationandrenewDeadlineparameters in the controller manager to enhance configuration of the leader election in operator deployments (#759)Improve the mechanism that checks that the backup object store is empty before archiving a WAL file for the first time: a new file called
.check-empty-wal-archiveis placed in thePGDATAimmediately after the cluster is bootstrapped and it is then removed after the first WAL file is successfully archived
Security:
Explicitly set permissions of the instance manager binary that is copied in the
distroless/static:nonrootcontainer image, by using thenonroot:nonrootuser (#754)
Fixes:
Drop any active connection on a standby after it is promoted to primary (#737)
Honor
MAPPEDMETRICandDURATIONmetric types conversion in the native Prometheus exporter (#765)Ensure that timestamps that are specified with microsecond precision using the PostgreSQL format are correctly parsed (#741)
Version 1.17.0¶
Releasedate: Sep 6, 2022 (minor release)
Features:
SeparatevolumeforWALfiles: Support for separating Write Ahead Log (WAL) and database data files onto different disks, potentially leading to better performance on high write systems by easing I/O load on the data directory. This option is controlled with the introduction of the optional
walStoragesection to separate WAL files (pg_wal) in a dedicated volume, separate from thePGDATAdefined in the main and mandatorystoragesection (#513). Current limitations:walStoragecan only be set at cluster creation and cannot be added or removed when the cluster is up and running.
Enhancements:
Enable configuration of low-level network TCP settings in the PgBouncer connection pooler implementation (#584)
Make sure that the
cnpg.io/instanceNameand thecnpg.io/podRolelabels are always present on pods and PVCs (#632 and #680)Propagate the
rolelabel of an instance to the underlying PVC (#634)Introduce the
kubectl cnpg destroycommand to help remove an instance and all the associated PVCs (#643)
Fixes:
Use
shared_preload_librarieswhen bootstrapping the new cluster’s primary (#642)Prevent multiple in-place upgrade processes of the operator from running simultaneously by atomically checking whether another one is in progress (#655)
Avoid using a hardcoded file name to store the newly uploaded instance manager, preventing a possible race condition during online upgrades of the operator (#660)
Prevent a panic from happening when invoking
GetAllAccessibleDatabases(#641)