github kubernetes-sigs/external-dns v0.23.0

6 hours ago

General information

It's recommended to try this version with --dry-run=true first, see upgrade instructions.

Action required before upgrade

  • ⚠️ crd Registry now stores DNSRecord objects independantly of source namespace (#6606).
    • Upgrading from v0.22.0: set --crd-registry-namespace accordingly.
  • ⚠️ With --txt-encrypt-enabled, Go 1.27 changed gzip output (#6675):

Important

  • ℹ️ --enable-legacy-annotation-prefix allows reading also external-dns.alpha.kubernetes.io/ annotations during migration started since v0.22.0 (#6703).
  • ℹ️ --dry-run is now honored by ns1 (#6693) and alibabacloud (#6699).
  • ℹ️ On DNSEndpoint, cloudflare providerSpecific names are now prefix-free (#6731).
    • Annotation-style names (external-dns.alpha.kubernetes.io/cloudflare-*, external-dns.kubernetes.io/cloudflare-*) still work but are deprecated.
  • ℹ️ In-tree Gandi provider removed (#6654). Use a previous version or a webhook provider.
  • ℹ️ For security & reliability, webhook bodies are capped at 32 MiB
    • configurable with --webhook-provider-max-body-size (#6484).

⚠️ Breaking Changes

🚀 Features

🐛 Bug fixes

  • [alibabacloud] deduplicate hosted zones before fetching records by @pujitha24 in #6711
  • [alibabacloud] respect dry-run for record updates and deletes by @vflaux in #6699
  • [annotations] add --enable-legacy-annotation-prefix migration flag by @pnz1990 in #6703
  • [cloudflare] normalize provider-specific property names at ingestion by @mloiseleur in #6731
  • [cloudflare] pin cloudflare-go v7.7.0 by @mloiseleur in #6660
  • [ns1] respect --dry-run flag by @yohboy in #6693
  • [oci] set useragent, record call limit by @tfountain in #6597
  • [pdns] add request timeout and context cancellation for PowerDNS API calls by @zanarellidev in #6694
  • [registry] delete TXT records with their stored value by @mloiseleur in #6680
  • [rfc2136] do not swallow AXFR envelope errors by @lhp-nemlig in #6652
  • [source] collect annotation hostnames before FQDN template by @zanarellidev in #6644
  • [source/crd] apply the annotation filter outside the cache transform by @mloiseleur in #6730
  • [source] evaluate FQDN templates on typed objects like unstructured by @zanarellidev in #6611
  • [source] return errors for invalid label/annotation filters in NewSourceConfig by @ivankatliarchuk in #6610
  • [source] skip endpoints with DNS labels over 63 chars in node and pod sources by @immanuwell in #6653

📝 Documentation

📦 Docker Image

docker pull registry.k8s.io/external-dns/external-dns:v0.23.0

📦 Others

chore
ci
deps
  • bump github.com/stretchr/testify from 1.12.0 to 1.12.1 in the dev-dependencies group by @app/dependabot in #6649
  • bump mkdocs-git-revision-date-localized-plugin from 1.5.3 to 1.5.4 in /docs/scripts in the mkdocs-deps group by @app/dependabot in #6667
  • bump the dev-dependencies group with 14 updates by @app/dependabot in #6664
  • bump the dev-dependencies group with 14 updates by @app/dependabot in #6738
  • bump the dev-dependencies group with 17 updates by @app/dependabot in #6720
  • bump the dev-dependencies group with 21 updates by @app/dependabot in #6700
  • bump the dev-dependencies group with 3 updates by @app/dependabot in #6668
  • bump the dev-dependencies group with 3 updates by @app/dependabot in #6690
  • bump the dev-dependencies group with 4 updates by @app/dependabot in #6669
  • migrate to Go 1.27.0 by @ivankatliarchuk in #6675
refactor
test
  • [controller] poll for the first reconcile in TestRun instead of a fixed sleep by @nikolauspschuetz in #6630
  • [provider/aws] cover repeated reconcile loops over the alias path by @thc1006 in #6640

Don't miss a new external-dns release

NewReleases is sending notifications on new releases.