octoDNS v0.9.9 Release Notes
Release Date: 2019-11-04 // over 4 years ago-
- 👍 Extensive pass through the whole codebase to support Python 3
- Tons of updates to replace
def __cmp__
with__eq__
and friends to preserve custom equality and ordering behaviors that are essential to octoDNS's processes. - Quite a few objects required the addition of
__eq__
and friends so that they're sortable in Python 3 now that those things are more strict. A few places this required jumping through hoops of sorts. Thankfully our tests are pretty thorough and caught a lot of issues and hopefully the whole plan, review, apply process will backstop that. - Explicit ordering of changes by (name, type) to address inconsistent ordering for a number of providers that just convert changes into API calls as they come. Python 2 sets ordered consistently, Python 3 they do not. https://github.com/octodns/octodns/pull/384/commits/7958233fccf9ea22d95e2fd06c48d7d0a4529e26
- Route53
_mod_keyer
ordering wasn't 100% complete and thus unreliable and random in Python 3. This has been addressed and may result in value reordering on next plan, no actual changes in behavior should occur. incf.countryutils
(in pypi) was last released in 2009 is not python 3 compatible (it's country data is also pretty stale.)pycountry_convert
appears to have the functionality required to replace its usage so it has been removed as a dependency/requirement.- Bunch of additional unit tests and supporting config to exercise new code and verify things that were run into during the Python 3 work
- lots of
six
ing of things
- Tons of updates to replace
- Validate Record name & fqdn length
- 👍 Extensive pass through the whole codebase to support Python 3