octoDNS v0.9.17 Release Notes

Release Date: 2022-04-02 // about 2 years ago
  • Noteworthy changes
    • The changes in plans are now ordered based on change type prior to considering the record name and type as was previously done. The chosen order is: deletes, creates, updates. The reason for that many providers make changes one at a time. When changing the type of a record, e.g. from A to CNAME of vice versa this is done by deleting the old and creating the new. If the CNAME create happens before the A delete it will often violate rules against having typed records live at the same node as a CNAME. Several providers have always handled this by sorting the changes themselves. This just standardizes what they are doing as many other providers appear to need to do so, but weren't. There was an ordering before, but it was essentially arbitrarily picked.
    • Record.register_type added so that providers can register custom record types, see [docs/records.md](docs/records.md) for more information
    • ๐Ÿ†• New octodns-versions command which will log out the version of octodns and any provider/processor/plan_output modules you are using.
    Stuff
    • ๐ŸŒฒ Manager includes the octoDNS version in its init log line
    • ๐Ÿš€ Non-official release installs will now include a bit of the sha to indicate specifically what revision is being used, e.g. 0.9.17+abcdef12, these roughly follow PEP440 guidelines

Previous changes from v0.9.16

  • Noteworthy changes
    • ๐Ÿ‘ Foundational support for root NS record management.
      • YamlProvider has it enabled and in general everyone should add root NS records that match what is in their provider(s) as of this release if they aren't already there.
      • Other providers will add root NS support over time following this release once they have had the chance to investigate the functionality and implement management if possible with whatever accomidations are required.
      • Watch your providers README.md and CHANGELOG.md for support and more information.
      • Root NS record changes will always require --force indicating that they are impactful changes that need a careful :eyes:
    Stuff
    • ๐Ÿ‘ _AggregateTarget has more complete handling of SUPPORTS* functionality, mostly applicable for the compare operation.
    • ๐Ÿ›  Fix null MX record validation error introduced in 0.9.15, . is again allowed as a valid exchange value.