v0.17.0
Global information
ℹ️ On Pi Hole, support for v6 has been added. Pi Hole v5 support is deprecated and will be removed in a future version
ℹ️ On OVH, the provider has been heavily rewritten. New ACLs are need. See documentation and PR #5143 for details.
ℹ️ On IPv6, the proposal 002 has been implemented, thanks to @hjoshi123
⚠️ In the next release, the default of this newexpose-internal-ipv6
flag will be set to false
ℹ️ The legacy txt-format will be removed in the next minor version (#5172)
⚠️ There is currently no migration script to clean old style txt records. If you need it, if you think you can do it, PRs are welcome.
ℹ️ A new Nomad source may be added to external-dns (#5284)
- This PR can be merged only after a review and test from real Nomad users
🚀 Features
- feat: additional template functions by @matkam in #3949
- feat(banner): standardize user agent and output by @ivankatliarchuk in #5154
- feat(chart): Update image to v0.16.1 by @stevehipwell in #5201
- feat(cloudflare): multiple custom hostnames support by @mrozentsvayg in #5239
- feat(helm): allow extraArgs to also be a map enabling overrides of individual values by @frittentheke in #5293
- feat: IDNA awareness in the zone finder by @lexisother in #5147
- feat(ovh): major rewriting of the provider by @rbeuque74 in #5143
- feat(pihole): add optional support for v6 by @tJouve in #5226
- feat(pihole): add support for IPv6 Dual format by @tJouve in #5253
- feat(source): optional exclusion of unschedulable nodes by @Hayajiro in #5045
- feat(source): optional expose of nodes internal ipv6 by @hjoshi123 in #5192
🐛 Bug fixes
- fix(aws): typo on route53 IAM by @tico24 in #5197
- fix(chart): add missing types for empty values by @t3mi in #5207
- fix(cloudflare): custom hostnames edge-cases causing duplicates by @mrozentsvayg in #5183
- fix(cloudflare): regional hostnames by @vflaux in #5175
- fix(Gateway API): ensure generation match by @davidwin93 in #5241
- fix(gateway-api): ensure to use only latest generation with HTTPRoutes by @kashalls in #5349
- fix(helm): added missing schema values by @ivankatliarchuk in #5228
- fix(helm): update helm schema by @semnell in #5297
- fix(log testing): re-use logger library testing functionality by @ivankatliarchuk in #5368
- fix(node): logger test fixed by @ivankatliarchuk in #5232
- fix(ovh): handling capitalized DNS records + prevent panic by @rbeuque74 in #5390
- fix(webhook): api json object plan.Changes case by @ivankatliarchuk in #5355
- fix(zonefinder): handle underscores in dns records by @arthlr in #5281
📝 Documentation
- docs(contributing): add conventional commits by @mloiseleur in #5333
- docs(proposal): externaldns api graduation to beta by @ivankatliarchuk in #5079
- docs(rfc2136): fix env variable in the guideline by @riupie in #5352
- docs(tutorials): add IONOS Cloud setup tutorial for ExternalDNS by @smilutinovic-ionos in #5364
- docs(typo): grcp → grpc by @octo in #5231
- docs: update link to Anexia webhook provider by @mloiseleur in #5244
- docs: update rfc2136 by @BasJ93 in #5325
📦 Others
- Add Yandex Cloud Webhook by @ismailbaskin in #5190
- chore: add se for nlb, alb in thailand region by @xshot9011 in #5200
- chore: fix typo on txtOwnerId comment/description by @lanandra in #5351
- chore(ci): fix random data race failure on source/node test by @mloiseleur in #5268
- chore(ci): improve release script by @mloiseleur in #5394
- chore(ci): update linter to v2.0.2 by @mloiseleur in #5246
- chore(code-cleanup): move logic away from main.go add tests by @ivankatliarchuk in #5222
- chore(code): improve some tests + re-order sources flags CLI by @mloiseleur in #5288
- chore(code-quality): added lint checks by @ivankatliarchuk in #5318
- chore(code-quality): providers linter warnings fixes by @ivankatliarchuk in #5320
- chore(code-quality): refactoring and linter fixes by @ivankatliarchuk in #5374
- chore(code-quality): webhook increase code coverage by @ivankatliarchuk in #5337
- chore(crd): use conventional paths and update controller-gen to v0.17.2 by @mloiseleur in #5287
- chore(dependencies): update toools versions by @ivankatliarchuk in #5252
- chore(deps): build with go 1.24.2 by @mloiseleur in #5306
- chore(deps): bump renovatebot/github-action from 41.0.14 to 41.0.16 in the dev-dependencies group by @app/dependabot in #5188
- chore(deps): bump renovatebot/github-action from 41.0.16 to 41.0.17 in the dev-dependencies group by @app/dependabot in #5210
- chore(deps): bump the dev-dependencies group across 1 directory with 14 updates by @app/dependabot in #5346
- chore(deps): bump the dev-dependencies group across 1 directory with 14 updates by @app/dependabot in #5382
- chore(deps): bump the dev-dependencies group across 1 directory with 17 updates by @app/dependabot in #5238
- chore(deps): bump the dev-dependencies group across 1 directory with 19 updates by @app/dependabot in #5262
- chore(deps): bump the dev-dependencies group across 1 directory with 20 updates by @app/dependabot in #5211
- chore(deps): bump the dev-dependencies group across 1 directory with 21 updates by @mloiseleur in #5313
- chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by @app/dependabot in #5247
- chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by @app/dependabot in #5301
- chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by @app/dependabot in #5323
- chore(deps): code cleanup, pkg/errors is archived by @ivankatliarchuk in #5335
- chore(deps): switch to goccy yaml by @Raffo in #5292
- chore(deps): update linter to v2.1.x by @mloiseleur in #5366
- chore(fqdn-template): fqdn templating move to specific folder and update documentation by @ivankatliarchuk in #5354
- chore(github): add a release template by @ivankatliarchuk in #5324
- chore(helm): add validation for prefix and suffix and capture regression by @ivankatliarchuk in #5250
- chore(openstack designate)!: remove in-tree provider by @mloiseleur in #5126
- chore(providers): rename custom TTL constants to defaultTTL by @ivankatliarchuk in #5312
- chore: Release Helm chart v1.16.1 by @stevehipwell in #5270
- chore(release): updates kustomize & docs with v0.16.1 by @mloiseleur in #5184
- chore(source): code cleanup by @ivankatliarchuk in #5304
- chore(webhook): bump cenkalti/backoff version by @ivankatliarchuk in #5342
- test: add tests for cloudflare provider by @natitomattis in #5248
- test(log): execute on multiple platforms by @ivankatliarchuk in #5370
- test(log): fix random race detection by @ivankatliarchuk in #5273
- test(source): cover unhappy paths by @linoleparquet in #5369
- test(source): fix data race on node_test by @mloiseleur in #5334
- test(source/pod): improve code coverage by @ivankatliarchuk in #5378
- test(tlsconfig): add unit tests by @linoleparquet in #5381
- test(zone_filter): improve coverage from 66.7% to 100% by @upsaurav12 in #5388
📦 Docker Image
docker pull registry.k8s.io/external-dns/external-dns:v0.17.0
New Contributors
- @ismailbaskin made their first contribution in #5190
- @lexisother made their first contribution in #5147
- @tico24 made their first contribution in #5197
- @t3mi made their first contribution in #5207
- @octo made their first contribution in #5231
- @xshot9011 made their first contribution in #5200
- @tJouve made their first contribution in #5226
- @Hayajiro made their first contribution in #5045
- @davidwin93 made their first contribution in #5241
- @vflaux made their first contribution in #5175
- @arthlr made their first contribution in #5281
- @semnell made their first contribution in #5297
- @BasJ93 made their first contribution in #5325
- @natitomattis made their first contribution in #5248
- @riupie made their first contribution in #5352
- @lanandra made their first contribution in #5351
- @smilutinovic-ionos made their first contribution in #5364
- @linoleparquet made their first contribution in #5369
- @kashalls made their first contribution in #5349
- @matkam made their first contribution in #3949
- @upsaurav12 made their first contribution in #5388
Full Changelog: v0.16.1...v0.17.0