Release notes for CloudNativePG 1.18¶
History of user-visible changes in the 1.18 minor release of CloudNativePG.
For a complete list of changes, please refer to the commits
on the release branch in GitHub.
Version 1.18.3¶
Releasedate: March 20, 2023
Enhancements:
Extend the
debugcluster’s log level to theinitdbjob (#1503)Support IPv6 and custom
pg_hbafor the PgBouncer pooler (#1395)Enhance observability of backups with two new metrics and additional information in the status (#1428)
Document API calls from the instance manager (#1641)
Clarify deployment name via Helm (#1505)
Add the
psqlcommand to thecnpgplugin forkubectl(#1668) allowing the user to start apsqlsession with a pod (the primary by default)
Technical enhancements:
Adopt Renovate for dependency tracking/updating (#1367, #1473)
Inject binaries for all supported architectures in the operator image (#1513)
Use the backup name to match resources in the backup object store (#1650) Leverages the
--nameoption introduced with Barman 3.3 to make the association betwen backups and the object store more robust.
Fixes:
Prevent panic with error handling in the probes (#1716)
Ensure that the HTTP package and controller runtime logs are in JSON format (#1442)
Adds WAL storage to a cluster in a single instance Cluster (#1570)
Various improvements to make backup code more robust (#1536, #1564, #1588, #1466, #1647)
Properly show WAL archiving information with
statuscommand of thecnpgplugin (#1666)Ensure
nodeAffinityis applied even ifAdditionalPodAffinityandAdditionalPodAntiAffinityare not set (#1663)
Version 1.18.2¶
Releasedate: Feb 14, 2023
Enhancements:
Introduce support for Kubernetes’ projected volumes (#1269)
Introduce support custom environment variables for finer control of the PostgreSQL server process (#1275)
Introduce the
backupcommand in thecnpgplugin forkubectlto issue a new base backup of the cluster (#1348)Improve support for the separate WAL volume feature by enabling users to move WAL files to a dedicated volume on an existing Postgres cluster (#1066)
Enhance WAL observability with additional metrics for the Prometheus exporter, including values equivalent to the
min_wal_size,max_wal_size,keep_wal_size,wal_keep_segments, as well as the maximum number of WALs that can be stored in the dedicated volume (#1382)Add a database comment on the
streaming_replicauser (#1349)Document the firewall issues with webhooks on GKE (#1364)
Add note about postgresql.conf in
recovery(#1211)Add instructions on installing plugin using packages (#1357)
Specify Postgres versions supported by each minor release (#1355)
Clarify the meaning of PVC group in CloudNativePG (#1344)
Add an example of the DigitalOcean S3-compatible Spaces (#1289)
Technical enhancements:
Added daily end-to-end smoke test for release branches (#1235)
Fixes:
Skip executing a
CHECKPOINTas thestreaming_replicauser (#1408)Make
waitForWalArchiveWorkingresilient to connection errors (#1399)Ensure that the PVC roles are always consistent (#1380)
Permit
walStorageresize when usingpvcTemplate(#1315)Ensure
ExecCommandobeys timeout (#1242)Avoid
PodMonitorreconcile if Prometheus is not installed (#1238)Avoid looking for
PodMonitorwhen not needed (#1213)
Version 1.18.1¶
Releasedate: Dec 21, 2022
Important announcements:
Alert on the impending deprecation of
postgresqlas a label to identify the CNPG cluster. In the remote case you have used this label, please start using thecnpg.io/clusterlabel instead (#1130)Recognizing Armando Ruocco (@armru) as a new CloudNativePG maintainer for his consistent and impactful contributions (#1167)
Remove ARMv7 support (#1092)
FINAL patch release for 1.16: 1.16.5. Release 1.16 reaches end of life.
Enhancements:
Customize labels and annotations for the service account: add a service account template that can be used, for example, to make authentication easier via identity management on GKE or EKS via IRSA (#1105)
Add
nodeAffinitysupport (#1182) - allows for richer scheduling optionsImprove compatibility with Istio: add support for Istio’s quit endpoint so that jobs with Istio sidecars do not run indefinitely (#967)
Allow fields remapping in JSON logs: helpful for use cases where the
levelandtsfields might interfere with the existing logging (#843)Add
fiocommand to the kubectl-cnpg plugin (#1097)Add rpm/deb package for kubectl-cnpg plugin (#1008)
Update default PostgreSQL version for new cluster definitions to 15.1 (#908)
Documentation - Remove references to CNPG sandbox (#1120) - the CNPG sandbox has been deprecated, in favor of instructions on monitoring in the Quickstart documentation - Link to the “Release updates” discussion (#1148) - the release updates discussion will become the default channel for release announcements and discussions - Document emeritus status for maintainers in GOVERNANCE.md (#1033) - explains how maintainers should proceed if they are not ready to continue contributing - Improve instructions on creating pull requests (#1132) - Troubleshooting emergency backup instructions (#1184)
Cover the Kubernetes layer in greater detail in the Architecture documentation (#1432)
Fixes:
Ensure PGDATA permissions on bootstrap are properly set to 750 (#1164)
Ensure the PVC containing WALs is deleted when scaling down the cluster (#1135)
Fix missing ApiVersion and Kind in the pgbench manifest when using
--dry-run(#1088)Ensure that we create secrets and services only when not found (#1145)
Respect configured pg-wal when restoring (#1216)
Filter out replicas from nodeToClusters map (#1194)
Technical enhancements:
Use
ciclopsfor test summary (#1064): rely on the ciclops GitHub action to provide summaries of the E2E suite, inheriting improvements from that projectAdd backport pull request workflow (#965) - automatically backport patches to release branches if they are so annotated
Make the operator log level configurable in e2e test suite (#1094)
Enable test execution based on labels (#951)
Update Go version from 1.18 to 1.19 (#1166)
Version 1.18.0¶
Releasedate: Nov 10, 2022
Features:
Cluster-managedphysicalreplicationslotsforHighAvailability : automatically manages physical replication slots for each hot standby replica in the High Availability cluster, both in the primary and the standby (#740)
Postgresclusterhibernation : introduces cluster hibernation via the plugin, with a new subcommand
kubectl cnpg hibernate on/off/status <cluster-name>. Hibernation destroys all the resources generated by the cluster, except the PVCs that belong to the PostgreSQL primary instance (#782)
Security:
Add
SeccomProfileto Pods and Containers (#888)
Enhancements:
Allow omitting the storage size in the cluster spec if there is a size request in the
pvcTemplate(#914)statuscommand for thecnpgplugin: - Add replication slots information (#873) - Clarify display for fenced clusters (#886) - Improve display for replica clusters (#871)Documentation: - Improve monitoring page, providing instructions on how to evaluate the observability capabilities of CloudNativePG on a local system using Prometheus and Grafana (#968) - Add page on design reasons for custom controller (#918) - Updates to the End-to-End Test Suite page (#945)
New subcommands in the
cnpgplugin: -pgbenchgenerates a job definition executingpgbenchagainst a cluster (#958) -installgenerates an installation manifest for the operator (#944)Set PostgreSQL 15.0 as the new default version (#821)
Fixes:
Import a database with
plpgsqlfunctions (#974)Properly find the closest backup when doing Point-in-time recovery (#949)
Clarify that the
ScheduledBackupformat does not follow KubernetesCronJobformat (#883)Bases the failover logic on the Postgres information from the instance manager, rather than Kubernetes pod readiness, which could be stale (#890)
Ensure we have a WAL to archive for every newly created cluster. The lack could prevent backups from working (#897)
Correct YAML key names for
barmanObjectStorein documentation (#877)Fix
krewrelease (#866)