octoDNS v0.8.4 Release Notes

Release Date: 2017-06-28 // almost 7 years ago
  • โšก๏ธ Lots of updates based on our internal use, needs, and feedback & suggestions ๐Ÿš€ from our OSS users. There's too much to list out since the previous release was cut, but I'll try to cover the highlights/important bits and promise to do ๐Ÿ‘ better in the future :fingers_crossed:

    Major:

    • ๐Ÿ‘ Complete rework of record validation with lenient mode support added to octodns-dump so that data with validation problems can be dumped to config files as a starting point. octoDNS now also ignores validation errors when pulling the current state from a provider before planning changes. In both cases this is best effort.
    • Naming of record keys are based on RFC-1035 and friends, previous names have been kept for backwards compatibility until the 1.0 release.
    • ๐Ÿ‘ Provider record type support is now explicit, i.e. opt-in, rather than opt-out. This prevents bugs/oversights in record handling where providers don't support (new) record types and didn't correctly ignore them.
    • ๐Ÿ‘ ALIAS support for DNSimple, Dyn, NS1, PowerDNS
    • ๐Ÿ‘ Ignored record support added, octodns:\n ignored: True
    • Ns1Provider added

    Miscellaneous

    • ๐Ÿ‘‰ Use a 3rd party lib for natural sorting of keys, rather than my old implementation. Sorting can be disabled in the YamlProvider with enforce_order: False.
    • ๐Ÿ›  Semi-colon/escaping fixes and improvements.
    • ๐Ÿ‘ Meta record support, TXT octodns-meta.<zone>. For now just provider=<provider-id>. Optionally turned on with include_meta manager config val.
    • Validations check for CNAMEs co-existing with other records and error out if found. Was a common mistaken/unknown issue and this surfaces the problem early.
    • ๐Ÿ”จ Sizeable refactor in the way Route53 record translation works to make it cleaner/less hacky
    • ๐Ÿ›  Lots of docs type-o fixes
    • ๐Ÿ›  Fixed some pretty major bugs in DnsimpleProvider
    • ๐Ÿ˜Œ Relax UnsafePlan checks a bit, more to come here
    • Set User-Agent header on Dyn health checks