Octodns

Latest version: v1.10.0

Safety actively analyzes 675368 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 10

0.9.14

Noteworthy changes

* Provider `strict_supports` param added, currently defaults to `false`, along
with Provider._process_desired_zone this forms the foundations of a new
"supports" system where providers will warn or error (depending on the value
of `strict_supports`) during planning about their inability to do what
they're being asked. When `false` they will warn and "adjust" the desired
records. When true they will abort with an error indicating the problem. Over
time it is expected that all "supports" checking/handling will move into this
paradigm and `strict_supports` will likely be changed to default to `true`.
* Zone shallow copy support, reworking of Processors (alpha) semantics
* NS1 NA target now includes `SX` and `UM`. If `NA` continent is in use in
dynamic records care must be taken to upgrade/downgrade to v0.9.13.
* Ns1Provider now supports a new parameter, shared_notifylist, which results in
all dynamic record monitors using a shared notify list named 'octoDNS NS1
Notify List'. Only newly created record values will use the shared notify
list. It should be safe to enable this functionality, but existing records
will not be converted. Note: Once this option is enabled downgrades to
previous versions of octoDNS are discouraged and may result in undefined
behavior and broken records. See https://github.com/octodns/octodns/pull/749
for related discussion.
* TransipProvider removed as it currently relies on `suds` which is broken in
new python versions and hasn't seen a release since 2010. May return with
https://github.com/octodns/octodns/pull/762

Stuff

* Fully remove python 2.7 support & sims
* Dynamic record pool status flag: up/down/obey added w/provider support as
possible.
* Support for multi-value PTRs where providers allow them
* Normalize IPv6 addresses to avoid false changes and simplify providers
* Include pure-python wheel distirubtions in release builds
* Improvements and updates to AzureProvider, especially w/respect to dynamic
records.
* NS1Provider support for IPv6 monitors and general caching/performance
improvements
* Route53Provider.get_zones_by_name option to avoid paging through huge lists
and hitting rate limits
* Misc Route53Provider
* Ensure no network access during testing (helps with runtime)
* Sped up the long pole unit tests
* Misc. ConstellixProvider, DigitalOceanProvider, GCoreProvider, and
Route53Provider fixes & improvements

0.9.13

Noteworthy changes

* Alpha support for Processors has been added. Processors allow for hooking
into the source, target, and planing process to make nearly arbitrary changes
to data. See the [octodns/processor/](/octodns/processor) directory for
examples. The change has been designed to have no impact on the process
unless the `processors` key is present in zone configs.
* Fixes NS1 provider's geotarget limitation of using `NA` continent. Now, when
`NA` is used in geos it considers **all** the countries of `North America`
instead of just `us-east`, `us-west` and `us-central` regions
* `SX' & 'UM` country support added to NS1Provider, not yet in the North
America list for backwards compatibility reasons. They will be added in the
next releaser.

Stuff

* Lots of progress on the partial/beta support for dynamic records in Azure,
still not production ready.
* NS1 fix for when a pool only exists as a fallback
* Zone level lenient flag
* Validate weight makes sense for pools with a single record
* UltraDNS support for aliases and general fixes/improvements
* Misc doc fixes and improvements

0.9.12

Noteworthy changes

* Formal Python 2.7 support removed, deps and tooling were becoming
unmaintainable
* octodns/octodns move, from github/octodns, more to come

Stuff

* ZoneFileSource supports specifying an extension & no files end in . to better
support Windows
* LOC record type support added
* Support for pre-release versions of PowerDNS
* PowerDNS delete before create which allows A <-> CNAME etc.
* Improved validation of fqdn's in ALIAS, CNAME, etc.
* Transip support for NS records
* Support for sending plan output to a file
* DNSimple uses zone api rather than domain to support non-registered stuff,
e.g. reverse zones.
* Support for fallback-only dynamic pools and related fixes to NS1 provider
* Initial Hetzner provider

0.9.11

Noteworthy changes

* ALIAS records only allowed at the root of zones - see `leient` in record docs
for work-arounds if you really need them.

New Providers

* Gandi LiveDNS
* UltraDNS
* easyDNS

Stuff

* Add support for zones aliases
* octodns-compare: Prefix filtering and status code on on mismatch
* Implement octodns-sync --source
* Adding environment variable record injection
* Add support for wildcard SRV records, as shown in RFC 2782
* Add healthcheck option 'request_interval' for Route53 provider
* NS1 georegion, country, and catchall need to be separate groups
* Add the ability to mark a zone as lenient
* Add support for geo-targeting of CA provinces
* Update geo_data to pick up a couple renames
* Cloudflare: Add PTR Support, update rate-limit handling and pagination
* Support PowerDNS 4.3.x
* Added support for TCP health checking of dynamic records

0.9.10

* Added support for dynamic records to Ns1Provider, updated client and rate
limiting implementation
* Moved CI to use GitHub Actions
* Set up dependabot to automatically PR requirements updates
* Pass at bumping all of the requirements and Dependabot them going forward
* Enhanced `dynamic` pool validation rules
* Delegation set support for Route53 and fix for CNAME/A ordering issues
* DNSimple sandbox support
* OVHProvider support for CAA
* Akamai rename FastDNS to EdgeDNS
* Transip bumped to 2.1.2 which should get away from its SOAP api which is EOLd

v0.9.9 - 2019-11-04 - Python 3.7 Support

* 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
* Validate Record name & fqdn length

0.9.8

* No material changes

Page 6 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.