diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1cb1204 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,44 @@ + +## v0.8.4 - 2017-03-14 - It's been too long + +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 nautrual 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.`. For now just + `provider=`. 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 + +## v0.8.0 - 2017-03-14 - First public release diff --git a/octodns/__init__.py b/octodns/__init__.py index 4806766..b6287e5 100644 --- a/octodns/__init__.py +++ b/octodns/__init__.py @@ -5,4 +5,4 @@ OctoDNS: DNS as code - Tools for managing DNS across multiple providers from __future__ import absolute_import, division, print_function, \ unicode_literals -__VERSION__ = '0.8.0' +__VERSION__ = '0.8.4' diff --git a/octodns/record.py b/octodns/record.py index 23bfd45..6ee9dff 100644 --- a/octodns/record.py +++ b/octodns/record.py @@ -254,9 +254,10 @@ class _ValuesMixin(object): return ret def __repr__(self): + values = "['{}']".format("', '".join([str(v) for v in self.values])) return '<{} {} {}, {}, {}>'.format(self.__class__.__name__, self._type, self.ttl, - self.fqdn, self.values) + self.fqdn, values) class _GeoMixin(_ValuesMixin): diff --git a/script/release b/script/release new file mode 100755 index 0000000..16e7641 --- /dev/null +++ b/script/release @@ -0,0 +1,12 @@ +#!/bin/bash + +set -e + +cd "$(dirname $0)"/.. +ROOT=$(pwd) + +VERSION=$(grep __VERSION__ $ROOT/octodns/__init__.py | sed -e "s/.* = '//" -e "s/'$//") + +git tag -s v$VERSION -m "Release $VERSION" +python setup.py sdist upload +echo "Updloaded $VERSION"