github kubernetes-sigs/external-dns v0.24.0

3 hours ago

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

Action required before upgrade

  • ⚠️ gateway-tcproute source now watches TCPRoute v1 (#6755).
    • Requires Gateway API CRDs >= v1.6.0.
  • ⚠️ skipper-routegroup source now uses informers (#6714): the RouteGroup CRD must be installed.
    • ℹ️ .Metadata in --fqdn-template is deprecated: use {{.Name}} instead of {{.Metadata.Name}}.
  • ⚠️ DNSEndpoint and DNSRecord CRDs are now validated at admission (#6620).
    • Re-apply the CRDs. Existing objects violating the new rules cannot be updated until fixed.
  • ⚠️ Packagers: version ldflags moved to sigs.k8s.io/external-dns/pkg/version.{Version,GitCommit} (#6774).
    • The old path builds fine but reports version unknown.

Important

  • ℹ️ gateway-httproute: a hostname from annotation or FQDN template now suppresses the listener hostname fallback (#6746).
    • With --policy=sync, wildcard or listener records previously created this way get deleted.
  • ℹ️ scaleway: ALIAS records are now read back, and apex CNAME are created as ALIAS (#6543).
    • With --registry=noop and --policy=sync, pre-existing ALIAS records may be updated or deleted.
  • ℹ️ --namespace accepts multiple values (--namespace=a,b) for service and crd sources (#6763, #6764).
    • Config.Namespace is now Config.Namespaces []string for importers of pkg/apis/externaldns.
  • ℹ️ $KUBECONFIG is now honored, and --server is no longer ignored in-cluster (#6736).
  • ℹ️ Endpoints without targets are now skipped instead of crashing providers (#6752).
  • ℹ️ coredns: deleting a record now also deletes its TXT registry entry (#6747).
    • TXT entries orphaned by earlier versions remain in etcd; remove them manually.

⚠️ Breaking Changes

  • [config] accept multiple values in --namespace by @mloiseleur in #6763
  • [gateway] let a hostname annotation suppress the listener fallback by @KR-Ravindra in #6746
  • [pkg] move version info into leaf pkg/version by @mrueg in #6774
  • [scaleway] support ALIAS records for zone apex and alias annotation by @vdhpieter in #6543
  • [source] migrate TCPRoute source to Gateway API v1 by @pratikwayal01 in #6755
  • [source] skipper-routegroup refactored to use client-go informers by @szuecs in #6714

🚀 Features

🐛 Bug fixes

  • [coredns] delete endpoint should also delete the registry TXT entry by @mloiseleur in #6747
  • [endpoint] reject endpoints without targets by @mloiseleur in #6752
  • [gateway] stop applying --annotation-filter to ListenerSets by @cyril-corbon in #6794
  • [mx] keep null MX and strip trailing dot by @mloiseleur in #6661
  • [source] keep RefObjects on endpoints built from --default-targets by @mloiseleur in #6765
  • [targetfiltersource] skip network address filtering for non-address records by @castorw in #6366

📝 Documentation

📦 Docker Image

# This pull command only works when it's released
docker pull registry.k8s.io/external-dns/external-dns:v0.24.0

📦 Others

chore
ci
deps
  • [go] remove dependabot ignore by @ivankatliarchuk in #6742
  • bump gitpython from 3.1.60 to 3.1.62 in /docs/scripts by @app/dependabot in #6782
  • bump mkdocs-git-revision-date-localized-plugin from 1.5.4 to 1.6.0 in /docs/scripts in the mkdocs-deps group by @app/dependabot in #6743
  • bump the dev-dependencies group across 1 directory with 11 updates by @app/dependabot in #6831
  • bump the dev-dependencies group with 18 updates by @app/dependabot in #6784
  • bump the dev-dependencies group with 19 updates by @app/dependabot in #6813
  • bump the dev-dependencies group with 3 updates by @app/dependabot in #6744
  • bump the dev-dependencies group with 5 updates by @app/dependabot in #6745
  • bump the dev-dependencies group with 5 updates by @app/dependabot in #6779
  • bump the dev-dependencies group with 7 updates by @app/dependabot in #6756
  • bump the dev-dependencies group with 7 updates by @app/dependabot in #6795
  • bump urllib3 from 2.7.0 to 2.8.0 in /docs/scripts by @app/dependabot in #6781
perf
  • [registry] compute only the TXT name when checking for missing records by @spicysharkco in #6805
refactor
test

Don't miss a new external-dns release

NewReleases is sending notifications on new releases.