github kubernetes-sigs/external-dns v0.21.0

pre-release7 hours ago

⚠️ Breaking Changes

🚀 Features

🐛 Bug fixes

📝 Documentation

📦 Others

  • benchmark(endpoint): endpoint benchmarks by @ivankatliarchuk in #6156
  • chore: add Simply webhook provider to README by @uozalp in #5979
  • chore(aws): document and test behavior for ALB and NLB by @ivankatliarchuk in #6063
  • chore(chart): release for v0.20.0 by @vflaux in #6005
  • chore: cloudbild instance type bump by @ivankatliarchuk in #6340
  • chore(cloudflare): improve tests by @vflaux in #6150
  • chore(cloudflare): migrate customhostname to v5 by @AndrewCharlesHay in #5891
  • chore(cloudflare): move custom hostnames logic to dedicated files by @vflaux in #6114
  • chore(deps): bump github.com/aws/smithy-go from 1.23.2 to 1.24.0 in the dev-dependencies group by @app/dependabot in #5987
  • chore(deps): bump github.com/cloudflare/cloudflare-go from v5 to v6 by @vflaux in #6324
  • chore(deps): bump github.com/digitalocean/godo from 1.168.0 to 1.169.0 in the dev-dependencies group by @app/dependabot in #5956
  • chore(deps): bump github.com/goccy/go-yaml from 1.18.0 to 1.19.0 in the dev-dependencies group by @app/dependabot in #5985
  • chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 by @app/dependabot in #5969
  • chore(deps): bump go-linter version by @ivankatliarchuk in #6036
  • chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 by @app/dependabot in #6296
  • chore(deps): bump mkdocs by @ivankatliarchuk in #6058
  • chore(deps): bump mkdocs-git-revision-date-localized-plugin from 1.5.0 to 1.5.1 in /docs/scripts in the mkdocs-deps group by @app/dependabot in #6161
  • chore(deps): bump mkdocs-material from 9.7.1 to 9.7.3 in /docs/scripts in the mkdocs-deps group by @app/dependabot in #6237
  • chore(deps): bump pre-commit and fix markdown docs by @ivankatliarchuk in #6241
  • chore(deps): bump renovatebot/github-action from 44.0.1 to 44.0.2 in the dev-dependencies group by @app/dependabot in #5950
  • chore(deps): bump renovatebot/github-action from 44.0.5 to 44.1.0 in the dev-dependencies group by @app/dependabot in #6027
  • chore(deps): bump renovatebot/github-action from 44.1.0 to 44.2.0 in the dev-dependencies group by @app/dependabot in #6029
  • chore(deps): bump renovatebot/github-action from 44.2.0 to 44.2.1 in the dev-dependencies group by @app/dependabot in #6051
  • chore(deps): bump renovatebot/github-action from 44.2.1 to 44.2.2 in the dev-dependencies group by @app/dependabot in #6064
  • chore(deps): bump renovatebot/github-action from 44.2.2 to 44.2.3 in the dev-dependencies group by @app/dependabot in #6080
  • chore(deps): bump renovatebot/github-action from 46.1.2 to 46.1.3 in the dev-dependencies group by @app/dependabot in #6243
  • chore(deps): bump the dev-dependencies group across 1 directory with 10 updates by @app/dependabot in #5970
  • chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by @app/dependabot in #6116
  • chore(deps): bump the dev-dependencies group across 1 directory with 39 updates by @app/dependabot in #6259
  • chore(deps): bump the dev-dependencies group across 1 directory with 3 updates by @app/dependabot in #6226
  • chore(deps): bump the dev-dependencies group across 1 directory with 4 updates by @app/dependabot in #5994
  • chore(deps): bump the dev-dependencies group across 1 directory with 4 updates by @app/dependabot in #6018
  • chore(deps): bump the dev-dependencies group across 1 directory with 9 updates by @app/dependabot in #5976
  • chore(deps): bump the dev-dependencies group with 10 updates by @app/dependabot in #5990
  • chore(deps): bump the dev-dependencies group with 10 updates by @app/dependabot in #6010
  • chore(deps): bump the dev-dependencies group with 12 updates by @app/dependabot in #6001
  • chore(deps): bump the dev-dependencies group with 13 updates by @app/dependabot in #6311
  • chore(deps): bump the dev-dependencies group with 2 updates by @app/dependabot in #5962
  • chore(deps): bump the dev-dependencies group with 5 updates by @app/dependabot in #6298
  • chore(deps): bump the dev-dependencies group with 5 updates by @app/dependabot in #6330
  • chore(deps): bump the dev-dependencies group with 7 updates by @app/dependabot in #6267
  • chore(deps): bump the dev-dependencies group with 9 updates by @app/dependabot in #6274
  • chore(deps): bump the dev-dependencies group with 9 updates by @app/dependabot in #6343
  • chore(deps): bump the mkdocs-deps group in /docs/scripts with 2 updates by @app/dependabot in #6273
  • chore(deps): bump the mkdocs-deps group in /docs/scripts with 3 updates by @app/dependabot in #6331
  • chore(deps): bump the mkdocs-deps group in /docs/scripts with 4 updates by @app/dependabot in #6071
  • chore(deps): configure dependabot for mkdocs deps by @ivankatliarchuk in #6067
  • chore(deps): tools bump and process in contributor docs by @ivankatliarchuk in #6118
  • chore(doc): Adding EKS Pod Identity Associations section for AWS by @sw360cab in #6084
  • chore(e2e): remove call to get latest kubectl by @Raffo in #6148
  • chore(endpoint): added empty checks by @ivankatliarchuk in #6157
  • chore(endpoint): harden AES-GCM encryption and remove sensitive data from logs by @ivankatliarchuk in #6197
  • chore(go): upgrade to go1.26 by @vflaux in #6314
  • chore(ingress): added tests to cover specific behaviour by @ivankatliarchuk in #6060
  • chore(ingress): clarify that both IP and Hostname are collected from LoadBalancer status by @ivankatliarchuk in #6138
  • chore(lint): configure modernize linter by @ivankatliarchuk in #6035
  • chore(linter): enable unparam by @ivankatliarchuk in #6160
  • chore(linter): unused params and functions linter by @ivankatliarchuk in #6142
  • chore(lint): update golanci-lint by @vflaux in #6320
  • (chore) Minimize GitHub Actions workflow permissions by @Raffo in #6319
  • chore: modernize code by @vflaux in #6313
  • chore(node): remove warning msg by @ivankatliarchuk in #6070
  • chore(provider): zone cache provider interface by @ivankatliarchuk in #6120
  • chore(registry): move registries to packages by @ivankatliarchuk in #6066
  • chore(release): updates kustomize & docs with v0.20.0 by @mloiseleur in #5958
  • chore(set-identifier): expand annotation docs and add test coverage by @ivankatliarchuk in #6230
  • chore(source): standardize source fields with sources.Config by @ivankatliarchuk in #6073
  • chore(source): standardize sources by @ivankatliarchuk in #6089
  • chore(source): standardize sources with merge endpionts and deduplication by @ivankatliarchuk in #6174
  • chore(store): Added RESTConfig() to ClientGenerator by @ivankatliarchuk in #6177
  • chore(tests): Add YAML-driven integration test framework for sources by @ivankatliarchuk in #6158
  • chore(tools): CRD generation script moved and add validation workflow by @ivankatliarchuk in #6079
  • chore: update to go 1.25.5 for CVE-2025-61729 and CVE-2025-61727 by @goat-ssh in #6000
  • chore(wrapper): centralized endpoint validation by @ivankatliarchuk in #6041
  • ci: finish gha pinning by @mloiseleur in #6327
  • ci: fix revision label by @ivankatliarchuk in #6332
  • ci: read golangci-lint version from scripts/install-tools.sh in lint workflow by @ivankatliarchuk in #6347
  • ci: validate Go version consistency across cloudbuild.yaml, go.mod, and go.tool.mod by @ivankatliarchuk in #6323
  • deps(dependabot): change frequency by @ivankatliarchuk in #6268
  • deps(go): bump go from 1.25.5 -> 1.25.7. CVE fixes by @ivankatliarchuk in #6175
  • deps(go): bump go from 1.25.7 -> 1.25.8 by @aibaars in #6305
  • linter(goimports): Mixed import groups (internal before external) by @ivankatliarchuk in #6238
  • linter(usetesting): enable usetesting by @ivankatliarchuk in #6266
  • perf(controller): optimize metrics counting by @ivankatliarchuk in #6124
  • perf(source/istio): replace API calls with indexed informer cache for gateway and virtualservice sources by @ivankatliarchuk in #6303
  • Pin all GitHub Actions to commit SHAs per Kubernetes policy by @Raffo in #6316
  • refactor(annotation): rationalize filtering by @ivankatliarchuk in #6065
  • refactor(api): deduplicate addKnownTypes by @ivankatliarchuk in #6087
  • refactor(aws): abstract provider-specific boolean parsing by @u-kai in #6078
  • refactor(aws): extract and restructure alias-handling logic to enable safe upcoming fixes by @u-kai in #6021
  • refactor(controller): controller no longer responsible for SingletonClientGenerator creation by @ivankatliarchuk in #6077
  • refactor(controller): reduce coupling for registry and controller by @ivankatliarchuk in #6047
  • refactor(docs): documentation generators by @ivankatliarchuk in #6221
  • refactor(domainfilter): introduce functional options pattern by @ivankatliarchuk in #6055
  • refactore(source): move EndpointsForHostname to endpoints package by @ivankatliarchuk in #6248
  • refactor(fqdn): encapsulate FQDN template logic into TemplateEngine by @ivankatliarchuk in #6292
  • refactor(informers): unify cache sync functions using generics by @ivankatliarchuk in #6102
  • refactor(kubeclient): consolidate duplicate code by @ivankatliarchuk in #6076
  • refactor(lint): replace with NewSoftErrorf when possible by @vflaux in #6061
  • refactor(plan): cleanup and modernize plan package by @ivankatliarchuk in #6294
  • refactor(plan): extract normalizeDNSName to idna package for reuse by @u-kai in #6043
  • refactor(plan): reduce Calculate() cyclomatic complexity by @vflaux in #5961
  • refactor(provider): introduce factory with uniform New constructor by @ivankatliarchuk in #6276
  • refactor(registry): introduce factory with uniform New constructors by @ivankatliarchuk in #6277
  • refactor(source/crd): migrate CRD source to controller-runtime cache by @ivankatliarchuk in #6312
  • refactor(source): handle context in similar way by @ivankatliarchuk in #6049
  • refactor(source): inline label selector matching, remove MatchesServiceSelector by @ivankatliarchuk in #6304
  • refactor(source): move SuitableType to endpoint package by @ivankatliarchuk in #6239
  • refactor(source): standardize FQDN template accross sources by @ivankatliarchuk in #6093
  • refactor(source): use less memory on deduplication by @mloiseleur in #6020
  • refactor(test): deduplicate endpoint assertion helpers across source by @ivankatliarchuk in #6299
  • refactor(testutils): extract log test helpers into subpackage to fix circular import by @u-kai in #6236
  • refactor(wrappers): introduce wrapper.Build as single entry point for source pipeline by @ivankatliarchuk in #6300
  • Revert "chore(deps): bump github.com/cloudflare/cloudflare-go from v5 to v6" by @ivankatliarchuk in #6338
  • test: cover pkg/events/fake package by @hritz220 in #6096
  • test: fix typos in code & comment by @dongjiang1989 in #6011
  • test(fqdn): cover sources without any fqdn tests by @ivankatliarchuk in #6094
  • test: improve code coverage by @ivankatliarchuk in #6321
  • test: improve code coverage on aws, cloudfoundry & nat64 source by @ivankatliarchuk in #6045
  • test(provider): improved the test coverage for exoscale provider by @upsaurav12 in #6112

📦 Docker Image

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

Don't miss a new external-dns release

NewReleases is sending notifications on new releases.