+
Skip to content

Releases: libdns/libdns

v1.1.0

17 May 04:13
6be5766
Compare
Choose a tag to compare

libdns v1.1.0 loosens the required semantics of some operations; the previous semantics remain valid, and this release adds no new user-facing features, so providers are under no obligation to upgrade.

Previously, providers were required to apply the changes in SetRecords atomically (unless documented otherwise); now, atomic updates are optional (but still recommended). For providers who still wish to adhere to the more stringent requirements, they may signal this by returning libdns.AtomicErr, which will indicate that SetRecords failed and that no changes were applied. Returning any other error value indicates that an indeterminate number of the requested changes (between 0 and n - 1) were applied.

What's Changed

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

28 Apr 16:38
v1.0.0
9b97177
Compare
Choose a tag to compare

After 5 years, libdns v1 is here! This is a breaking change from versions prior to the 1.0 betas that introduces a more flexible, capable Record abstraction and clarifies a lot of semantics regarding how the APIs should be expected to work. We've defined more types and helper functions as well. This should help eliminate confusion regarding use, and provide more consistency across providers and with more diverse record types (RR-types).

Please read the new godoc for details!

The core interfaces (AppendRecords(), DeleteRecords(), etc.) are actually unchanged in terms of signature. The main changes in 1.0 are:

  • Record is now an interface, not a struct type.
  • RR is a new struct type that is similar to what Record was, but is a generic representation of a "Resource Record".
  • Many new types corresponding to DNS RR types, such as TXT, MX, Address (for A/AAAA), CNAME, and more, all which implement the Record interface.
  • Calling RR.Parse() returns the corresponding RR-type-specific struct with parsed fields.
  • Provider-specific data can be included in ProviderData fields, but should not be relied upon for correctness.
  • Much more explicit documentation regarding specific behaviors and edge cases, considering a variety of record types.

⚠️ Provider packages will need to update to conform with the new APIs and semantics, but based on feedback from early adopters, the changes are generally straightforward. We just ask that you document what you do and do not support, if your package cannot be fully compliant with the APIs for one reason or another.

Thank you to all who contributed to make this possible! It definitely was a community effort. We hope you enjoy the new clarified, stabilized APIs.

What's Changed

New Contributors

Full Changelog: https://github.com/libdns/libdns/commits/v1.0.0-beta.1

What's Changed

Full Changelog: v0.2.3...v1.0.0

v1.0.0-beta.1

07 Apr 03:37
v1.0.0-beta.1
2f73319
Compare
Choose a tag to compare
v1.0.0-beta.1 Pre-release
Pre-release

After 5 years, libdns v1 is almost here! We've clarified a lot of semantics regarding how the APIs should be expected to work and added more types and helper functions. This should help eliminate confusion regarding use, and provide more consistency across providers and with more diverse record types (RR-types).

Please see the new godoc for details!

The core interfaces are actually unchanged in terms of signature. The main changes are:

  • Record is now an interface, not a struct type.
  • RR is a new struct type that is similar to what Record was, but is a generic representation of a "Resource Record".
  • Many new types corresponding to DNS RR types, such as TXT, MX, Address (for A/AAAA), CNAME, and more, all which implement the Record interface.
  • Calling RR.Parse() returns the corresponding RR type struct.
  • Much more explicit documentation regarding specific behaviors and edge cases, considering a variety of record types.

⚠️ Provider packages will eventually need to update to conform with the new APIs and semantics, but based on feedback from a few pilots, the changes are generally straightforward. We just ask that you document what you do and do not support, if your package cannot be fully compliant with the APIs for one reason or another.

What's Changed

New Contributors

Full Changelog: https://github.com/libdns/libdns/commits/v1.0.0-beta.1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载