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.0

Release date: Nov 10, 2022

Features:

  • Cluster-managed physical replication slots for High Availability: automatically manages physical replication slots for each hot standby replica in the High Availability cluster, both in the primary and the standby (#740)
  • Postgres cluster hibernation: 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 SeccomProfile to Pods and Containers (#888)

Enhancements:

  • Allow omitting the storage size in the cluster spec if there is a size request in the pvcTemplate (#914)
  • status command for the cnpg plugin:
  • 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 cnpg plugin:
    • pgbench generates a job definition executing pgbench against a cluster (#958)
    • install generates an installation manifest for the operator (#944)
  • Set PostgreSQL 15.0 as the new default version (#821)

Fixes:

  • Import a database with plpgsql functions (#974)
  • Properly find the closest backup when doing Point-in-time recovery (#949)
  • Clarify that the ScheduledBackup format does not follow Kubernetes CronJob format (#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 barmanObjectStore in documentation (#877)
  • Fix krew release (#866)