🚀 Features
- feat: add new flags to allow migration of OwnerID by @troll-os in #4823
- feat(annotations): add custom annotation prefix support for split horizon DNS by @lexfrei in #5889
- feat(aws): add ap-southeast-6 region by @rhysmdnz in #5812
- feat(chart): Release for v0.19.0 by @stevehipwell in #5819
- feat(cli): add Cobra binder and backend switch by @TobyTheHutt in #5820
- feat(cli): migrate kingpin to cobra - dual parity by @TobyTheHutt in #5836
- feat(coredns): add annotations for groups by @farodin91 in #5842
- feat(coredns): pass context to etcd client by @farodin91 in #5915
- feat(provider/cloudflare): add support for tags by @nkhl99 in #5862
- feat(source): add min-ttl support by @ivankatliarchuk in #5641
- feat(source/f5-virtual-server): add host aliases support for Virtual … by @shkarface in #5745
🐛 Bug fixes
- fix(cloudflare): infinite reconciliation loop with cloudflare-record-comment flag by @vflaux in #5828
- fix: cloudflare softError failedZones by @nissessenap in #5899
- fix(controller): panic in OCI provider build by @vflaux in #5877
- fix(coredns): debug message on labels update by @bachorp in #5789
- fix(deps): bump openshift with gateway-api by @ivankatliarchuk in #5942
- fix(endpoint): debug message when owner label is missing by @bachorp in #5788
- fix(endpoint): deduplicate targets by @ivankatliarchuk in #5805
- fix(endpoint/source) Allow '.' in TXT Records by @onelapahead in #5844
- fix(gen/metrics): deduplicate generated in metrics.md by @vflaux in #5837
- fix(service): rollback nodeinformer for addevent handler by @ivankatliarchuk in #5941
- fix(txt-register): reset existingTXTs even when ApplyChanges is skipped to avoid stale TXT records by @u-kai in #5897
📝 Documentation
- docs(advanced): configuration precedence by @ivankatliarchuk in #5871
- docs(aws): add missing supported DNS record types in Route53 ABAC by @TobyTheHutt in #5839
- docs(aws): scoping the IAM policy to explicitely defined Route53 zones by @crtr109 in #5663
- docs(ci): improve release note template by @mloiseleur in #5791
- docs: clarify hostname annotation behavior by @PseudoResonance in #5912
- docs(contributing): add reference to developer documentation by @lexfrei in #5923
- docs(core-dns): update tutorial by @ivankatliarchuk in #5926
- docs: fix mkdocs build by @mloiseleur in #5795
- docs(gateway-api): clarify annotation placement for sources by @lexfrei in #5918
- docs(myra): add info about protection option and docker image by @armaaar in #5879
- docs(release): update release docs by @ivankatliarchuk in #5893
- docs(tutorials): import existing DNS records into ExternalDNS by @naavveenn in #5811
- docs(txt-registry): improve formatting and examples for apex record by @u-kai in #5863
- docs(webhook): add volcengine provider to readme by @firemiles in #5866
📦 Others
- Build(tool) remove vacuum by @szuecs in #5955
- chore(ci): fix releaser script by @mloiseleur in #5953
- chore(ci): speed-up & coveralls by @mloiseleur in #5870
- chore(cloudflare): migrate
DeleteCustomHostname()to new lib by @vflaux in #5880 - chore(cloudflare): migrate DeleteDNSRecord() to new lib by @vflaux in #5780
- chore(cloudflare): migrate ListRecords() to new lib by @vflaux in #5778
- chore(cloudflare): migrate UpdateDNSRecord() to new lib by @vflaux in #5781
- chore(controller-gen): move tools under go tools by @ivankatliarchuk in #5878
- chore(deps): bump renovatebot/github-action from 43.0.10 to 43.0.11 in the dev-dependencies group by @app/dependabot in #5823
- chore(deps): bump renovatebot/github-action from 43.0.11 to 43.0.12 in the dev-dependencies group by @app/dependabot in #5840
- chore(deps): bump renovatebot/github-action from 43.0.12 to 43.0.13 in the dev-dependencies group by @app/dependabot in #5856
- chore(deps): bump renovatebot/github-action from 43.0.13 to 43.0.14 in the dev-dependencies group by @app/dependabot in #5874
- chore(deps): bump renovatebot/github-action from 43.0.14 to 43.0.15 in the dev-dependencies group by @app/dependabot in #5890
- chore(deps): bump renovatebot/github-action from 43.0.9 to 43.0.10 in the dev-dependencies group by @app/dependabot in #5797
- chore(deps): bump the dev-dependencies group across 1 directory with 15 updates by @app/dependabot in #5952
- chore(deps): bump the dev-dependencies group across 1 directory with 36 updates by @app/dependabot in #5943
- chore(deps): bump the dev-dependencies group across 1 directory with 5 updates by @app/dependabot in #5940
- chore(deps): bump the dev-dependencies group across 1 directory with 9 updates by @app/dependabot in #5949
- chore(deps): bump the dev-dependencies group with 2 updates by @app/dependabot in #5895
- chore(deps): bump the dev-dependencies group with 2 updates by @app/dependabot in #5946
- chore(deps): bump the dev-dependencies group with 3 updates by @app/dependabot in #5806
- chore(lint): configure goconst linter by @lexfrei in #5929
- chore(owners): update reviewers by @mloiseleur in #5925
- chore(pihole): reduce cyclometic complexity of TestListRecords by @AndrewCharlesHay in #5802
- chore(release): updates kustomize & docs with v0.19.0 by @mloiseleur in #5792
- chore: upgrade ExternalDNS to go v1.25 and golangci-lint v2.5 by @mloiseleur in #5869
- ci(linter): add gochecknoinits by @ivankatliarchuk in #5911
- ci(linter): add go-critic by @PascalBourdier in #5875
- doc(tutorials/rfc2136): fix RBAC by @vflaux in #5827
- refactor(annotations): modernize ProviderSpecificAnnotation by @ivankatliarchuk in #5813
- refactor(pihole): reduce cyclomatic complexity of TestProvider by @AndrewCharlesHay in #5865
- refactor(pihole): reduce cyclomatic complexity of TestProviderV6 by @AndrewCharlesHay in #5876
- refactor(service): reduce cyclomatic complexity of extractHeadlessEndpoints by @AndrewCharlesHay in #5822
- refactor(source/nat64): optional source & early prefixes parsing by @vflaux in #5810
- refactor(source/wrappers): move wrappers logic away from execute file by @ivankatliarchuk in #5888
- test(cloudflare): clear environment variables before setting test values by @u-kai in #5851
- test(cloudflare): improve coverage of zoneService by @vflaux in #5800
- test(cloudflare): mock provider for cf change tests by @vflaux in #5852
- test(cloudflare): modernize zoneDomainFilter test by @vflaux in #5853
- test(controller): improve code coverage by @TobyTheHutt in #5816
- test(source): fqdn for source/service/nodeport/srv records by @ivankatliarchuk in #5554
- test(source/service): add serviceTypeFilter edge case by @ivankatliarchuk in #5872
- test(source/wrappers): fix race condition by @vflaux in #5841
- test: update goversion label to 1.25 in metrics test by @AndrewCharlesHay in #5886
- update test certs used for pdns by @Raffo in #5902
📦 Docker Image
docker pull registry.k8s.io/external-dns/external-dns:v0.20.0