Current Series Release Notes¶
23.0.0.0rc1-16¶
New Features¶
Added
--replaceflag todesignate-manage pool updatecommand. When enabled, optional pool fields (also_notifies,attributes,catalog_zone) that are not present in the YAML file will be cleared from the pool configuration. This provides an alternative to the default merge behavior, which preserves fields omitted from the YAML file. This gives administrators explicit control over whether pool updates should merge with or replace the existing configuration.
Upgrade Notes¶
The
designate-apiservice command,designate.api.servicemodule, anddesignate.cmd.apimodule have been removed. These relied onoslo_service.wsgiandoslo_service.sslutils, which were removed from oslo.service as part of the eventlet removal initiative.Operators must deploy the Designate API using a WSGI server such as uwsgi. This has been the recommended deployment method and the default in DevStack for several releases.
Security Issues¶
The Infoblox backend’s client certificate (
certoption, used for mutual TLS authentication to the Infoblox WAPI) is now validated by the[pqc] check_modecompliance check, matching the NSD4 and PDNS4 backends. Previously it was not checked for quantum-vulnerable algorithms at all.check_modedefaults topermissive, so this only adds a startup log warning unlesscheck_modeis set tostrict.
The TSIG algorithm warning emitted when signing DNS messages now flags any algorithm weaker than HMAC-SHA256 (e.g.
hmac-sha1,hmac-sha224), not justhmac-md5. See bug 2166755.
Bug Fixes¶
Fixed bug 1919495 where IPv6 addresses with compressed notation (using
::`) were incorrectly parsed in notification handlers. The notification handler now uses Python’sipaddressmodule to properly normalize and expand IPv6 addresses before processing, ensuring correct handling of all valid IPv6 address formats including compressed notation, fully-specified addresses, and mixed formats.
Fixed bug 2095170 where
designate-manage pool update --delete(and thedelete_poolRPC call) would fail withInvalidOperation: pool must not contain zoneswhen attempting to delete a pool that only contained its own catalog zone. Catalog zones are now excluded from that check, since they are deleted automatically along with the pool.
Fixed an issue where updating only the zone description would incorrectly increment the zone serial number. The serial number is now only incremented when DNS-propagated fields (such as email or TTL) are changed.
Fixed zone deletion failure when BIND9 is configured with both authoritative and recursive roles. Previously, zone deletion could fail because
get_serial()incorrectly interpreted non-authoritative recursive responses as evidence that the zone still existed locally.
Tests for the deprecated
designate.api.servicemodule will now skip gracefully if the module becomes unavailable due to missing dependencies. This prevents test failures whenoslo_service.wsgiandoslo_service.sslutilsare removed in oslo.service 2026.2, bridging the gap until the deprecated module and its tests are removed in Designate 2027.1.
23.0.0.0rc1¶
Bug Fixes¶
Fixed bug 2166858 where restarting a service’s heartbeat shortly after stopping it could raise
RuntimeError: A fixed interval looping call can only run one function at a time.HeartbeatEmitter.stop()now waits for the timer thread to fully exit before returning, instead of just signalling it to stop, matching the pattern oslo.service uses internally.