Octodns

Latest version: v1.11.0

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

Scan your dependencies

Page 4 of 11

1.0.0.rc1

* Record and Zone validation now ensures there's no whitespace in names
* OwnershipProcessor managed records always add w/lenient=True, this allows
ownership to be marked in the same zone for delegation NS records.
* octodns-report access --lenient flag to allow running reports with records
sourced from providers with non-compliant record data.
* Correctly handle FQDNs in TinyDNS config files that end with trailing .'s
* Complete rewrite of TinyDnsBaseSource to fully implement the spec and the ipv6
extensions

1.0.0.rc0

Noteworthy changes

* 1.x Deprecation removals
* Provider, Source, and Processor shims removed, they've been warnings for >
1yr. Everything should be using and referring to provider-specific
modules now.
* Provider.strict_supports defaults to true, can be returned to the old
behavior by setting strict_supports=False in your provider params.
* octodns.record has been broken up into multiple files/modules. Most of the
primary things that were available at that module path still will be, but if
you are importing things like idna_encode/decode that actually live elsewhere
from octodns.record you'll need to update and pull them from their actual
home. Classes beginning with _ are not exported from octodns.record any
longer as they were considered private/protected.
* Beta support for auto-arpa has been added, See the
[auto-arpa documentation](/docs/auto_arpa.md) for more information.
* Support for subnet targeting in dynamic records, see
[this section](/docs/dynamic_records.mdsubnets) of dynamic records
documentation for more information.
* Enhanced validations on dynamic rules to encourage best practices
* The last rule must be a catch-all w/o any targeted geos or subnets
* Geos must not be repeated in multiple rules
* Geos in rules and subsequent rules must be ordered most to least specific,
e.g. NA-US-TN must come before NA-US, which must occur before NA
* Similarly, subnets must not be repeated in multiple rules, and various
subnet rules must be ordered such that most specific subnets appear before
less specific ones; e.g. 10.1.1.0/24 must appear before 10.1.0.0/16.
* Subnet targeting is considered to be more specific than geo targeting, so
subnet-only rules must appear before any subnet+geo rules, followed by
geo-only rules (and catch-all rule w/o any geos/subnets in the end)

Stuff

* Added new DsRecord type (provider support will be added over time)
* Added simple IgnoreRootNsFilter
* Minor refactor on YamlProvider to add get_filenames making it a bit easier to
create specialized providers inheriting from it
* Fixed bug in OwnershipProcessor when all changes were removed from plans

0.99.3

Changes

* Add supporting DNAME and CAA records in `SelectelProvider`

0.99.2

Changes

* Add escaping semicolon for TXT records in `SelectelProvider` and `SelectelProviderLegacy`

0.99.1

Changes

* Make v1 and v2 directories into modules for correct distribution

0.99.0

Changes

* Move existing provider and related tests to separate directories `v1`
* Rename public name from `SelectelProvider` to `SelectelProviderLegacy`
* Add `list_zones()` method to support "*" for planning
* Fix SSHFP parsing bug, caused by trailing dot in fingerprint which lead to constant re-update of record
* Move version varible to separate file, since now it is utilized by two providers. Storing it in `__init__.py` causes cycling imports
* Update `script/release` and `setup.py` to parse version from another location
* Update `readme.md` with focus on new provider

New

* Add new `SelectelProvider` class to support v2 API
* Isolate API calls into separate class
* Add tests for SelectelProvider

Page 4 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.