Skip to content

Releases: libdns/route53

v1.6.2

26 Apr 14:06

Choose a tag to compare

Fixed

  • Concurrent AppendRecords calls targeting the same (name, type) no longer lose values. The provider now serializes the read-merge-UPSERT cycle per (zone, name, type). Previously, two goroutines (e.g. ACME challenges for example.com and *.example.com sharing _acme-challenge.example.com TXT) could both observe pre-write state and the later UPSERT would clobber the earlier — causing dropped tokens and validation failures.
  • SetRecords with multiple input records sharing the same (name, type) now keeps all values. The previous per-record loop UPSERTed each independently, leaving only the last value.
  • Pre-existing filter bug in the AppendRecords / DeleteRecords merge path: getRecords returns relative names but the filter compared against libdns.AbsoluteName(...), so existing values were never matched. The merge silently treated the set as empty, which (combined with UPSERT replacing the entire RecordSet) could overwrite data. Fixed.

Added

  • Regression tests in libdnstest/: TestAppendRecords_Concurrent (10 goroutines into one shared name) and TestSetRecords_MultiValue.

Internal

  • Provider.init now uses sync.Once for AWS client construction (was a non-atomic nil check).
  • Removed dead code: createRecord, changeRecord, updateRecord (orphaned by #294 and the SetRecords rewrite).
  • quote.go: address gosec G115 and staticcheck QF1012 warnings.

Note on multi-process deployments

The lock is in-process. Multiple processes writing to the same RecordSet still need external coordination — certmagic's per-identifier storage lock does not cover this case because racing identifiers (e.g. foo.example.com vs *.foo.example.com) share a common parent RecordSet.

v1.6.1

26 Apr 12:40

Choose a tag to compare

Fixed

  • AppendRecords no longer fails when the target ResourceRecordSet already exists. Single-record appends now merge with existing values via UPSERT, matching the multi-record path. Resolves stale ACME challenge TXT failures (#294, thanks @andrewseddon).

Added

  • Provider.Logger *slog.Logger for structured logging. Defaults to a discard handler. Wrappers (e.g. caddy-dns/route53) can adapt their own logger via slog.Handler — for zap, see go.uber.org/zap/exp/zapslog. Events are Debug-level except ambiguous zone resolution (Warn).

Internal

  • Bumped actions/checkout to v6 (#293) and golangci/golangci-lint-action to v9 (#292).
  • Fixed libdnstest module to require github.com/libdns/libdns@v1.2.0-alpha.1 (the version that ships the libdnstest subpackage).

v1.6.0-beta.3

12 Oct 06:38

Choose a tag to compare

Beta 3 further refines the API and adds support for skipping Route53 synchronization waits during delete operations. Since upstream introduced breaking changes, we used this opportunity to perform related cleanup and simplifications. All breaking changes are documented in BREAKING.md.

What's Changed

New Contributors

Full Changelog: v1.5.1...v1.6.0-beta.2

v1.6.0

18 Oct 05:14

Choose a tag to compare

This release is identical to Beta 3. The library now uses libdns 1.0 APIs, required by Caddy. Tests run on libdnstest with expanded DNS record coverage. The API was cleaned up and made consistent. Deprecated APIs were removed. Route53 delete operations can skip synchronization waits. Internal code was simplified to match upstream libdns changes.

All breaking changes are listed in BREAKING.md.

What's Changed

  • Documentation update
  • API cleanup
  • Linter fixes
  • sync with new api by @theAeon in #286
  • Implement libdnstest-based tests and fix related issues by @AndrianBdn in #289
  • Fix GitHub Actions; Update dependencies by @AndrianBdn in #290
  • Add: golangci-lint and related code cleanup by @AndrianBdn in #291

New Contributors

Full Changelog: v1.5.1...v1.6.0

v1.6.0-beta.2

05 Oct 06:41

Choose a tag to compare

The second beta refines the API and removes inconsistent behavior. MaxWaitDuration is no longer scaled by time.Second, fixing incorrect duration handling. Deprecated APIs were dropped, as 1.6 already includes breaking changes from upstream libdns updates.

What's Changed

New Contributors

Full Changelog: v1.5.1...v1.6.0-beta.2

v1.6.0-beta.1

28 Sep 09:13

Choose a tag to compare

v1.6.0-beta.1 Pre-release
Pre-release

The main change in this beta release is the adoption of libdns 1.0 APIs, which are required by Caddy. End-to-end tests are now implemented using the libdnstest framework, and the library includes coverage for a significantly larger set of DNS records.

What's Changed

New Contributors

Full Changelog: v1.5.0...v2.0.0-beta.1

v1.5.0

01 Aug 13:20
5032265

Choose a tag to compare

What's Changed

  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.21 to 1.17.27 by @dependabot in #259
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.27.21 to 1.27.27 by @dependabot in #260
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.41.1 to 1.42.3 by @dependabot in #257
  • feat: add option to specify hosted zone ID by @andrew-d in #261

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0

24 Jun 18:01
v1.4.0
5afde8b

Choose a tag to compare

What's Changed

  • feat(deps): bump github.com/aws/aws-sdk-go-v2 from 1.17.8 to 1.18.0 by @dependabot in #50
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.27.7 to 1.28.0 by @dependabot in #47
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.21 to 1.18.22 by @dependabot in #49
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.21 to 1.13.22 by @dependabot in #53
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.28.0 to 1.28.1 by @dependabot in #52
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.22 to 1.18.23 by @dependabot in #51
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.22 to 1.13.23 by @dependabot in #54
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.23 to 1.18.24 by @dependabot in #55
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.24 to 1.18.25 by @dependabot in #57
  • feat(deps): bump github.com/aws/aws-sdk-go-v2 from 1.18.0 to 1.18.1 by @dependabot in #62
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.28.1 to 1.28.2 by @dependabot in #60
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.25 to 1.18.26 by @dependabot in #59
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.26 to 1.18.27 by @dependabot in #65
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.28.2 to 1.28.3 by @dependabot in #63
  • feat(deps): bump github.com/aws/aws-sdk-go-v2 from 1.18.1 to 1.19.0 by @dependabot in #69
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.26 to 1.13.27 by @dependabot in #68
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.28.3 to 1.28.4 by @dependabot in #67
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.27 to 1.18.28 by @dependabot in #70
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.28.4 to 1.28.5 by @dependabot in #73
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.28 to 1.18.29 by @dependabot in #71
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.29 to 1.18.30 by @dependabot in #77
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.28.5 to 1.28.6 by @dependabot in #74
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.28.6 to 1.29.1 by @dependabot in #84
  • feat(deps): bump github.com/aws/aws-sdk-go-v2 from 1.19.1 to 1.20.0 by @dependabot in #79
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.29 to 1.13.31 by @dependabot in #82
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.30 to 1.18.32 by @dependabot in #83
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.32 to 1.18.33 by @dependabot in #88
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.29.1 to 1.29.2 by @dependabot in #85
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.32 to 1.13.34 by @dependabot in #93
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.34 to 1.13.35 by @dependabot in #100
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.29.2 to 1.29.5 by @dependabot in #99
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.33 to 1.18.36 by @dependabot in #97
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.36 to 1.18.37 by @dependabot in #101
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.35 to 1.13.38 by @dependabot in #107
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.37 to 1.18.40 by @dependabot in #106
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.38 to 1.13.41 by @dependabot in #112
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.40 to 1.18.43 by @dependabot in #113
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.43 to 1.18.44 by @dependabot in #116
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.29.5 to 1.30.1 by @dependabot in #115
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.30.1 to 1.37.0 by @dependabot in #194
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.44 to 1.26.3 by @dependabot in #193
  • feat(deps): bump github.com/libdns/libdns from 0.2.1 to 0.2.2 by @dependabot in #232
  • feat(deps): bump github.com/aws/aws-sdk-go-v2 from 1.24.1 to 1.26.1 by @dependabot in #238
  • fix: fetching more than 300 records resulted in duplicates by @yarelm in #126
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.37.0 to 1.41.1 by @dependabot in #242
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.16.14 to 1.17.21 by @dependabot in #243
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.26.3 to 1.27.21 by @dependabot in #244
  • fix: use environment variables to initialize provider by @aymanbagabas in #46

New Contributors

Full Changelog: v1.3.3...v1.4.0

Fix TXT/SPF issues

21 Apr 21:38

Choose a tag to compare

What's Changed

Full Changelog: v1.3.2...v1.3.3

v1.3.2

11 Apr 13:39

Choose a tag to compare

Only select public zones #19

What's Changed

  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.15 to 1.18.18 by @dependabot in #33
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.27.3 to 1.27.4 by @dependabot in #30
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.18 to 1.18.20 by @dependabot in #38
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.27.4 to 1.27.6 by @dependabot in #40
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.19 to 1.13.20 by @dependabot in #42
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.27.6 to 1.27.7 by @dependabot in #44
  • feat(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.20 to 1.18.21 by @dependabot in #43
  • Only select public zones by @devjack in #19

New Contributors

Full Changelog: v1.3.1...v1.3.2