🚀 Features
🐛 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
📦 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