Download Latest Version external-dns-1.18.0.tgz (20.9 kB)
Email in envelope

Get an email when there's a new version of ExternalDNS

Home / v0.18.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-06-25 11.8 kB
v0.18.0 source code.tar.gz 2025-06-25 1.0 MB
v0.18.0 source code.zip 2025-06-25 1.3 MB
Totals: 3 Items   2.4 MB 0

General information

:warning: This release requires a RBAC update on endpointslices. It will be included in the next Chart release, see [#5493].

:warning: The exposed metrics has been significantly changed. You'll need to update your observability stack accordingly, see [#5516]

:information_source: This release remove in-tree support for ibmcloud, tencentcloud & ultradns. Users needing those providers can use a previous version of external-dns or create a webhook-based provider.

:information_source: The change on default-targets behavior provide a mitigation strategy, if you need it, see [#5316]

:warning: Breaking Changes

  • chore!: remove unmaintained providers by @mloiseleur in [#5463]
  • feat(controller)!: publish metrics for all supported endpoint types by @ivankatliarchuk in [#5516]
  • feat(source)!: introduce optional force-default-targets by @alen-z in [#5316]
  • feat(source): use EndpointSlices instead of Endpoints for Service by @vflaux in [#5493]

:rocket: Features

  • feat(chart): add missing changelog for [#5493] by @vflaux in [#5541]
  • feat(cloudflare): add support for MX records by @arthlr in [#5283]
  • feat(cloudflare): change defaultCA from google to empty string by @henryjarend in [#5453]
  • feat(cloudflare): improve cloudflare regional hostnames implementation by @vflaux in [#5309]
  • feat(cloudflare): Suppport DNS record comments by @7onn in [#5411]
  • feat(controller)!: publish metrics for all supported endpoint types by @ivankatliarchuk in [#5516]
  • feat(endpoint): IDNA aware in Plan and DomainFilter by @kimsondrup in [#5049]
  • feat(fqdn): improve ExecTemplate and add more functions by @ivankatliarchuk in [#5406]
  • feat(metrics): consecutiveSoftErrors by @AndrewCharlesHay in [#5502]
  • feat(source): add resouce labels for nodes by @ivankatliarchuk in [#5509]
  • feat(source)!: introduce optional force-default-targets by @alen-z in [#5316]
  • feat(source/node): fqdn support combineFQDNAnnotation by @ivankatliarchuk in [#5526]
  • feat(source/pod): add support for fqdn templating by @ivankatliarchuk in [#5512]
  • feat(source): support ttl annotation on pod by @ivankatliarchuk in [#5527]
  • feat(source): use EndpointSlices instead of Endpoints for Service by @vflaux in [#5493]
  • feat(txt-registry): deprecate legacy txt-format by @ivankatliarchuk in [#5172]

:bug: Bug fixes

  • fix(azure): enhance retry logic using azure SDK by @Reddyshruti26 in [#5361]
  • fix(chart): release chart process by @stevehipwell in [#5538]
  • fix(chart): release chart workflow by @Bartosz-lab in [#5533]
  • fix(chart): update schema with latest plugin release by @mloiseleur in [#5510]
  • fix(cloudflare): improve handling of rate limiting errors by @Hackatosh in [#5524]
  • fix: createRecord for alibabacloud provider by @zengyuxing007 in [#5432]
  • fix(docs): resolve broken links, add source description by @linoleparquet in [#5413]
  • fix(f5): validate virtualservers and transportservers based on IP only by @mikejoh in [#5532]
  • fix: ovh: correct handling of records deletion by @rbeuque74 in [#5450]
  • fix(provider): aws-sd provider null pointer by @ivankatliarchuk in [#5404]
  • fix(provider/coredns): errjson linter by @ivankatliarchuk in [#5506]
  • fix(rfc2136): collect existing records from all configured zones by @joshlreese in [#5426]
  • fix(rfc2136): credential and realm issue when using active directory by @Jeremy-Boyle in [#5385]
  • fix(source): expose internal ipv6 flag on headless service by @kevinvalk in [#5399]
  • fix(source/node): template expansion by @ivankatliarchuk in [#5498]
  • fix(source/pod): discrepancy between the documentation and the actual behavior by @foyerunix in [#5409]

:memo: Documentation

  • docs: add alibaba cloud provider reference by @zengyuxing007 in [#5431]
  • docs: add deSEC webhook by @michelangelomo in [#5460]
  • docs: add missing import by @lucasfcnunes in [#5500]
  • docs(cloudflare): add list of accepted values for regional host by @AndrewCharlesHay in [#5495]
  • docs(contributing): detail how to test a PR by @mloiseleur in [#5443]
  • docs(github): update pr template by @mloiseleur in [#5445]
  • docs(traefik): public and private routing by @ivankatliarchuk in [#5559]
  • docs: unbound webhook by @guillomep in [#5434]

:package: Others

  • add IONOS Cloud webhook reference by @smilutinovic-ionos in [#5475]
  • chore(ci): fix testify linter by @mloiseleur in [#5461]
  • chore(ci): rework labels in OWNERS by @mloiseleur in [#5481]
  • chore(cloudflare): move regional services logic to dedicated file by @vflaux in [#5329]
  • chore(cloudflare): remove unused funcs by @vflaux in [#5553]
  • chore(code): add pre-commit github action by @ivankatliarchuk in [#5414]
  • chore(codebase): add cyclop max by @AndrewCharlesHay in [#5427]
  • chore(codebase): add linters for json/yaml tags by @ivankatliarchuk in [#5418]
  • chore(codebase): add nilnil return check by @ivankatliarchuk in [#5415]
  • chore(codebase): enable copyloopvar by @ivankatliarchuk in [#5433]
  • chore(codebase): enable dupword linter by @ivankatliarchuk in [#5437]
  • chore(codebase): enable errorlint by @ivankatliarchuk in [#5439]
  • chore(codebase): enable linter recvcheck by @ivankatliarchuk in [#5522]
  • chore(codebase): enable testifylint by @ivankatliarchuk in [#5441]
  • chore(codebase): enable usestdlibvars for Go constants by @ivankatliarchuk in [#5438]
  • chore(code-quality): added linter errchkjson by @ivankatliarchuk in [#5448]
  • chore(code-quality): reduce cyclomatic complexity of podSource.Endpoints() by @vflaux in [#5470]
  • chore(code-quality): reduce cyclomatic complexity of validation.ValidateConfig by @vflaux in [#5451]
  • chore(crd): move code to apis/v1alpha1 by @mloiseleur in [#5446]
  • chore(deps): bump json-yaml-validate to v3.3.1 by @mloiseleur in [#5563]
  • chore(deps): bump renovatebot/github-action from 42.0.5 to 42.0.6 in the dev-dependencies group by @app/dependabot in [#5530]
  • chore(deps): bump renovatebot/github-action from 42.0.6 to 43.0.0 in the dev-dependencies group by @app/dependabot in [#5556]
  • chore(deps): bump renovatebot/github-action from 43.0.0 to 43.0.1 in the dev-dependencies group by @app/dependabot in [#5557]
  • chore(deps): bump the dev-dependencies group across 1 directory with 11 updates by @app/dependabot in [#5484]
  • chore(deps): bump the dev-dependencies group across 1 directory with 13 updates by @app/dependabot in [#5539]
  • chore(deps): bump the dev-dependencies group across 1 directory with 14 updates by @app/dependabot in [#5408]
  • chore(deps): bump the dev-dependencies group across 1 directory with 14 updates by @app/dependabot in [#5511]
  • chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by @app/dependabot in [#5531]
  • chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by @app/dependabot in [#5566]
  • chore(deps): bump the dev-dependencies group across 1 directory with 3 updates by @app/dependabot in [#5480]
  • chore(deps): bump the dev-dependencies group across 1 directory with 3 updates by @app/dependabot in [#5520]
  • chore(deps): bump the dev-dependencies group with 10 updates by @app/dependabot in [#5519]
  • chore(deps): bump the dev-dependencies group with 2 updates by @app/dependabot in [#5555]
  • chore(deps): bump the dev-dependencies group with 3 updates by @app/dependabot in [#5544]
  • chore(docs): add mkdocs-macros plugin by @ivankatliarchuk in [#5412]
  • chore(docs): document the default behavior of --[no-]combine-fqdn-annotation by @shapirus in [#5403]
  • chore(docs): fix documentation references by @ivankatliarchuk in [#5560]
  • chore(docs): update aws role requirements with conditions by @ivankatliarchuk in [#5353]
  • chore(domainfilter): use pointer receivers for DomainFilter by @u-kai in [#5546]
  • chore(provider/coredns): improve code coverage and reduce complexity by @ivankatliarchuk in [#5456]
  • chore(release): chart for v0.17.0 by @stevehipwell in [#5479]
  • chore(release): updates kustomize & docs with v0.17.0 by @mloiseleur in [#5396]
  • chore(source): code coverage and refactoring of traefik by @ivankatliarchuk in [#5380]
  • chore(source/crd): improve test coverage, fix deprecations by @ivankatliarchuk in [#5489]
  • chore(source/crd): optimize endpoint labels without looping over by @ivankatliarchuk in [#5492]
  • chore(source/ingress): add fqdn specific tests for ingress source by @ivankatliarchuk in [#5507]
  • chore(source): move cache informer to dedicated folder by @ivankatliarchuk in [#5466]
  • chore(source): reduce cyclomatic complexity of extractNodePortTargets by @linoleparquet in [#5444]
  • chore(source/service): add resource label without looping over by @ivankatliarchuk in [#5528]
  • chore(source/service): restructure code to make service type filters testable by @ivankatliarchuk in [#5485]
  • chore: update maintainers by @mloiseleur in [#5491]
  • perf(source): benchmarks on EndpointTargetsFromServices by @ivankatliarchuk in [#5536]
  • refactor(provider): replace switch with if for record type filtering by @u-kai in [#5548]
  • revert: fix on gateway-api that ensure to use only latest generation with HTTPRoutes by @mloiseleur in [#5490]
  • test(awssd): fix a flaky test by @vflaux in [#5552]
  • test(controller): increase timeout and refactor toggle registry test by @u-kai in [#5518]
  • test(controller): reduce complexity and improve code coverage by @ivankatliarchuk in [#5523]
  • test(endpoint): improve coverage from 76% to 95.9% by @upsaurav12 in [#5421]
  • test(metrics): replace random value with a static value by @u-kai in [#5462]
  • test(provider/civo): improved test coverage by @upsaurav12 in [#5455]
  • test(provider/gandi): bumped to 100% coverage by @upsaurav12 in [#5454]
  • test(source): add fqdn specific tests on service by @ivankatliarchuk in [#5529]
  • test(source): fix flakyness on pod_test.go by @mloiseleur in [#5514]
  • test(source): remove flaky log assertions from pod tests by @u-kai in [#5517]
  • test(testutils/endpoint): improved test coverage for testutils/endpoint by @upsaurav12 in [#5425]
  • test(tlsconfig): improve code coverage by @linoleparquet in [#5452]

New Contributors

Full Changelog: https://github.com/kubernetes-sigs/external-dns/compare/v0.17.0...v0.18.0

Source: README.md, updated 2025-06-25