CHANGES
=======

2.1.0
-----

* zone_name is null in zone trasfer request response
* Infoblox: Reverse lookup zone creation fails
* Resolve description parameter in v2:set floating ip
* Fix for the exception on creating secondary zone
* Use upper constraints for all jobs in tox.ini
* Fix SSHFP validation for ECDSA, ED25519, and SHA256
* Infoblox backend:Fixed sslverify value from option
* Fix ZTA API to prevent HTTP 500 upon empty body
* Don't hardcode options we pass to oslo.context
* Change bind -> bind9 in docs, sample configs
* Updated from global requirements
* Catch duplicate db inserts in powerdns plugin
* Ensure HTTP 204 responses have 0 Content-Length
* Updated from global requirements
* Updated from global requirements
* Make registering error handlers compliant with Flask 0.11
* DevStack: Support setting default quotas
* Ensure L to M DB migrations correctly inspect current DB state
* Use upper-constraints.txt for tox tests
* DevStack: Set tempest nameservers config option correctly
* DevStack: Allow disabling of API versions
* Add Tempest Plugin to DevStack Plugin
* Force the devstack plugin to use the mitaka version of devstack
* Updated from global requirements
* Trivalfix of option name in designate.conf.sample
* Support both olso.m v4 and v5
* Updated from global requirements
* Handle async Tooz calls appropriately
* Updated from global requirements

2.0.0
-----

* Adding v2 namespaced event to zone manager
* Do not log pool-manager-caches SQL transactions
* Added "view" option to bind9 rndc options
* Partitoner references invalid exception class
* devstack: compile message catalogs during stack.sh
* Update .gitreview for stable/mitaka

2.0.0.0rc1
----------

* Enable use of Pools YAML
* Add New Pools DB Tables and Code
* Default to not logging all SQL Quries made during a test run
* DevStack: Explicitly install libcap2-bin and don't fail without AA
* Documentation changes for Admin API Quotas page
* Add release note for not allowing .json on urls
* Avoid logging tracebacks for EAGAIN errors
* Add scheduler for pools
* Switch get_serial_number logging to debug
* Do not allow GET /resource.json
* Fix _find_masters + unit tests
* Replace deprecated LOG.warn with LOG.warning
* Strip "\n" character from result
* Move zone masters to a new table
* Cleanup unused Oslo Incubator _i18n
* Added "expected" to OverQuota Exceptions
* Add warning to devstack/README.rst
* Updated from global requirements
* Fix for TCP connections not sending full content
* Moved CORS middleware configuration into set_defaults
* Updated from global requirements

2.0.0.0b3
---------

* Use a single recordset validation method
* Ensure the zone records quota is enforced
* Use assertGreater()
* Improve error handling for TCP connections
* Use lazy properties in services
* Fixed typos in docstrings
* Add syntax highlighting to backend docs
* Updated from global requirements
* Move SOA refresh interval into unit tests
* Update README to RST
* Set Ubuntu as primary Vagrantfile VM
* Update PoolAlsoNotify object name
* Fix bug where building validators for ListObjects fails
* Add AttributeListObjectMixin class
* Set InvalidRecordSetName and InvalidRecordSetLocation as expected
* Stop using WritableLogger() which is deprecated
* Add an on-demand single-target sync method
* Update Bind 9 backend and other documentation
* Cleanup after enable files refactor
* Randomize SOA refresh interval
* Allow to use project_name in handler formats
* Updated from global requirements
* Syntax, grammar, and typo fixes
* Fix a missing '\' in doc
* Minor unicode test fixes
* Add delayed NOTIFY
* Actually poll for zone deletes
* Improve performance and utility of Recovery
* A request hook interface for the functional test client
* Ensure ZoneManager emits valid objects
* Update numbering of dashboard enable files
* Updated from global requirements
* Functional tests for MX, TXT, SPF, SSHFP validation
* Use "# noqa" instead of "#flake8: noqa"
* Simplify NeutronFloatingHandler process_notification
* Change the name of the test_create_wildcard_NS test
* Updated from global requirements
* Switch "managed" fields from unicode to string
* Minor test cleanup
* Use unicode strings in description fields
* Fix misspellings
* Make supported record type configurable
* Log stacktraces of MultipleExceptions in functionaltests
* Added Keystone and RequestID headers to CORS middleware
* Remove outdated pot files
* Fix wildcard NS record
* Updated from global requirements
* Update functional test TLDCLient
* Policy.json still has references to domain
* Add docs for PATCH and DELETE call of Zone transfer request
* Switch to mock fixtures, minor cleanup
* Add validation for MX, TXT, and SSHFP records
* Do not create /dev/shm/designate
* Fix integration doc that example config not formatted
* Fix order of installation in Devstack
* Fix _assert_exception()
* Ensure mocks are stopped after use
* Fixes wording of exceptions for delete
* Fix the python34 check job
* Rename zone > domain for errors in V1
* Updated from global requirements
* Replace assertEqual(None, *) with assertIsNone in tests
* test: make enforce_type=True in CONF.set_override
* Update the link to CLI Reference
* Add retry logic on periodic_sync
* Skip possible heisenbug test_init_no_pool_targets
* Fix V1 Quotas API Extension
* Use tmpfs on /dev/shm for database if available
* Update unit test execution syntax Closes-Bug: #1532802
* Document that keystone auth can use memcached
* Added bandit to designate
* Updated from global requirements

2.0.0.0b2
---------

* Update email addresses hp.com to hpe.com
* Add FloatingIPs reverse endpoint
* Improve unit testing
* Added doc for /v2/tsigkeys endpoint
* Updated from global requirements
* Update periodic-sync-seconds help
* Retry Coordinator start indefinitely
* Fix CI Tempest jobs
* [docs] Create installing Liberty on Ubuntu
* Add UniqueConstraint for pool_id + hostname
* Tox: ignore Rope dirs
* Replace deprecated LOG.warn with LOG.warning
* Add Pool Manager tests
* Move to [oslo_messaging_rabbit]
* Add test of BIND9 backend
* Remove unused comments in create zone
* Improve logging in designate.zone_manager
* Update Devstack docs
* Improve logging in designate.notification_handler
* Improve logging in designate.agent
* Fix tox ValueError: No closing quotation
* Use keystoneauth instead of keystoneclient
* Add documentation for Limits
* Deprecated tox -downloadcache option removed
* Describe how to install Designate client
* Set zone in ERROR status on periodic sync fail
* Remove iso8601 dependency
* Object model: require "priority" field
* Emit notification on update_status() on a zone
* Removes MANIFEST.in as it is not needed explicitely by PBR
* Use git.openstack.org as Git repository
* Switch devstack to use local.conf
* pass environment variables of proxy to tox
* Fix NO_DOMAIN handling with The Big Rename
* Remove version from setup.cfg

2.0.0.0b1
---------

* Remove py26 support from designate
* Updated from global requirements
* Check TXT record length limit
* Remove deprecated devstack in contrib
* Updated from global requirements
* Migrate existing Devstack integration into a Devstack plugin
* Another improvement of info level log messages
* Improving info level log messages
* Test database schema and indexes
* Replaces map() with six.moves.map() to provide py2/3 compatibility
* Added HTTP_X_FORWARDED_PROTO/HOST support to API
* Updated from global requirements
* Ensure designate-manage reads config before policy
* Adds api_export_size attribute to admin API
* Add Reno for release notes tracking
* Add mdns unit tests for main service handler
* Hide zones flagged for deletion in API v1
* Rename all references of Domain to Zone
* Added placeholder migrations for stable/liberty
* Improve logging in designate.network_api
* Add support for interface and service
* Handle NO_DOMAIN status
* remove default=None for config options
* Fix argument order in assertEqual to (expect, obs)
* Switch to oslo.reports
* Use oslo_config PortOpt type for port options
* Removes zone files when a zone is deleted
* Use assertIn and assertNotIn
* Use assertTrue/False instead of assertEqual(T/F)
* Uses assertIsNone instead of assertEqual(None, ***)
* Use oslo_config IPOpt support
* Updated from global requirements
* Fixes Output for zone type filter
* Added CORS support to Designate
* Fix order of argument in assertEqual
* Updated api-export-size attribute in quota update docs
* Add functional tests for TLDs
* Fix typos in sample config files
* Block oslo.messaging 2.6.0 release
* retry creates/deletes in the pool manager
* Use assertFalse instead of assertEqual(False, ***)

1.0.0
-----

* Fix handling of Pool NS changes
* Fix order of arguments in assertEqual
* Functional tests: optionally disable ssl cert validation
* Functional tests: Use a configurable url pattern
* Fix order of argument in assertEqual
* Functional tests: optionally skip admin actions in setups
* Added test cases for records
* Fix handling of Pool NS changes
* Clear out pyc files before a tox run
* Fix order of argument in assertEqual
* Fix order of argument in assertEqual
* Fix order of argument in assertEqual
* Unauthed tests for Pools (Security)
* Unauthed tests for Blacklists (Security)
* Unauthed tests for Zones (Security)
* Cleanup of Translations
* Cleanup of Translations
* Added test cases for tsigkeys extention for V1 api
* Functional tests: configure putting the version in the url
* Open Mitaka development

1.0.0.0rc1
----------

* Add zone type specific validators
* Ensure recordset name checking accounts for child domains
* Ensure blacklists complete in a reasonable time
* Fix unhandled exceptions in adapters parsing
* Add Kilo upgrade nodes
* Fix #1494799 handle limit=max on v2 and Admin APIs
* Ensure unique records when listing recordsets
* Fix race condition in V1 Records API
* Fix Vagrantfile for Rally repo changes
* Correct a possible DNSService connection leak
* Ensure API workers > 1 starts correctly
* Updated from global requirements
* Change ignore-errors to ignore_errors
* A functional test to check CNAME recordsets allow only 1 record
* Unauthed tests for RecordSets (Security)
* Ensure CNAME RRSets only have one record
* Remove functional-tests.log, update .gitignore
* Updated from global requirements
* Imported Translations from Zanata
* Add backend for Designate using SECONDARY zones
* [zm] Periodic Secondary zone refresh task
* Replace request.request_mac with request.mac
* Handling Forbidden Exception
* Check the contents of a zone export in the functional tests
* Cleanup data created in the functional tests
* Agent - If no allow_notify hosts are specified, allow all
* Change ip->host in the agent
* Updated from global requirements
* Modify centrals 'purge_domains' arguments
* Implement deleted zone purging
* Fix AXFR / Secondary zone functionality
* Activate pep8 check that _ is imported
* Fix typos in comments

1.0.0.0b3
---------

* Updated from global requirements
* Updated from global requirements
* Correct generated links when behind an SSL terminating proxy
* Correct pool_target options in sample config
* The address for cloning designate is corrected
* Asynchronous Zone Export
* Add a service catalog override url for the functional tests
* Refactor Zone Import Internals
* Remove unused dependency: discover
* Add functional tests that query for wildcard records
* Grammar mistakes have been corrected
* Show functional test request logging
* Update docs for the functional tests
* Fixes bug 1484332 git url was wrong. Modified to proper url
* Add DomainMaster Object to designate objects
* Add functional tests for wildcard records
* Updated from global requirements
* Refactor notify logic into backends
* Replaces str to byte to provide py3 compatibility
* Replaces x.keys() with six.iterkeys(x)
* Export Zones
* Provide error messages on CRUD actions
* Verify DNS changes when updating RRSet
* Fixing datagen random_pool_data
* Move iteration code to base task
* Updated from global requirements
* Fix zone transfer requests + add tempest tests
* Cleaning up add_filters
* Add a iteritems = items on DictObjectMixin
* Remove auth* related param keys in middleware
* Convert str to byte for py3 compatibility
* Added 'add_filters' to ClientMixin for GET vars
* Updated from global requirements
* Imported Translations from Transifex
* Updated from global requirements
* Fix eleven typos on designate documentation
* Implement test timeout helper. Minor fixes
* Install dnspython3 on py3
* Added some unit tests to test_domains.py
* Added some unit tests in test_servers.py
* Add __str__() methods to DesignateObjects
* Wildcard records
* Fixed a test case name
* Enable filter on get pools
* Add support for Host header in REST queries
* Increase unit tests coverage
* Updated from global requirements
* Add tests for limits api in V1 api
* Imported Translations from Transifex
* Replace assertTrue(a in b) with assertIn(a, b)

1.0.0.0b2
---------

* Ensure RecordSet quotas are enforced
* Ensure a single RRSet over max_packet_size doesn't loop forever
* Introduce a Production Guidelines document
* Fix the incorrect JSON format in v1 REST API doc
* Updated from global requirements
* Reject invalid filters
* Add unit testing for pool
* Imported Translations from Transifex
* Fixes designate-manage tld's command by passing the correct params
* Fixed timeout variable scope issues
* Updated from global requirements
* Fix test in test_coordination.py for py3 compatibility
* Fixup v2 API Validation
* Remove unused V2 schemas
* Fix duplicate domain error handling
* Only print flake8 table if there is results
* Create unit tests dir, move objects tests there
* Replacing dict.iteritems() with dict.items()
* Replaced print with print() to provide py 2/3 compatibility
* Updated from global requirements
* Modify UT in test_limits.py
* Add some UTs to test_pools.py
* Add some UTs to test_zones.py
* Allow multiple reader/writers to UDP DNS Sockets
* Add some UTs to test_tsigkeys.py
* Add some UTs to test_recordsets.py
* DevStack: Support installing client at released versions
* Added some UTs to test_tlds.py
* Correct exists event field names
* Add functional tox env
* Add some UTs to test_records.py for record update
* Fix the displayed error message in V2 API
* Add Zone Manager Service options to sample config
* Add some UTs to test_records.py
* Fix iteritems > items to avoid recursion loops
* Add some missing UTs to test_domains.py
* Pass configration of what tasks are enabled
* Update ubuntu-dev guide
* Add some basic missing UTs to test_utils.py
* Fix broken UTs due to PY3 in test_import_export
* Convert old style class to new style class
* Refactor mDNS packet finalization
* Add __pycache__ to ST2 Ignore
* Correct sample coord URL
* Default to memcache for PM cache
* Ensure only one pool-manager performs periodic tasks
* Implement support for LeaderElections
* Standup coordination during start
* Increase coverage of RRset tests
* Handle unhandled exception in dnsutils.py for py3
* Imported Translations from Transifex
* Fix for ttl values
* Test - add nicer formating to flake8 output
* Functional tests for Blacklists
* Enable filter on blacklists & tlds
* Switch from MySQL-python to PyMySQL
* Error message for database config
* Correct 'DESIGNATE_SQL_DEBUG' export behaviour
* Add tasks and periodic emits
* Resolve one py3 compatibility issue
* Add support for BETWEEN and add tests
* Fixed broken UTs in notification_handler module
* Fix broken UTs for python3
* Ensure test_find_zone_imports waits for all imports
* Ensure validations account for trailing newlines
* Fix broken UTs in test_mdns.test_handler
* Updated from global requirements
* Fix broken UTs in test_coordination for py34
* Add v1 API deprecation warnings
* Designate Dashboard now has it's own repo
* Replace Exception.message with six.text_type(Exception)
* Fix broken UTs due to py3
* Updated from global requirements
* Add zone filter for TTL, description, & status
* Use released versions of tempest-lib
* DevStack: Keystone V3 Service/Endpoint Creation
* DevStack: Keystone V3 User Creation
* Return the correct recordsets total_count
* Use six.iterkeys(x) instead of x.keys()
* Replace dict.items() with list(dict.items())
* fix broken UTs for python3 compatibility
* Standardize API service launcher
* Add DevStack support for coordination URL
* Rename coordination tests to match established naming pattern
* Silence some DEBUG logs
* oslo.service triggers shutdown
* Replace dict.iterkeys() with six.iterkeys(dict)
* Remove 'L' from long int
* Add shard and domain_shard to tables
* Enable designate-zone-manager in DSVM gates
* Replace dict.iteritems() with dict.items()
* Update urllib/urlparse to use six.moves
* Use six.moves.map/zip in place of map/zip
* Allow logging hookpoint intialization
* Add Zone Manager service shim
* Remove leftover print statement in tests
* Add a couple of new hacking checks
* Add base for coordination as a mixin / tooz
* Updated from global requirements
* Add py3 compatibility related changes
* Ensure quotas ext doesn't mutate dict during iteration
* Re-arrange default log levels and add iso8601
* Updated from global requirements

1.0.0.0b1
---------

* port to oslo.service
* Edits to dev guide, juno guide, and kilo guide
* Updated from global requirements
* Asynchronous Zone Import
* Fix incorrect status code on Pool update
* Updated from global requirements
* Enable random hash seeds
* Update version for Liberty
* Updated from global requirements

1.0.0a0
-------

* Added expected=True to InvalidDomainName
* Eventlet+DNSPython breaks /etc/hosts resolution
* Add Tempest tests for V2 Pools
* Add utility code for negative testing
* Updated from global requirements
* Add tempest-lib from git for gate devstack
* Reset check_for_tlds after deleting the last TLD
* Updated from global requirements
* Updated from global requirements
* Sync with oslo-incubator 61f4461f91
* Correcting missing import for dashboard messaging
* Changes in rally-jobs/README.rst
* Updated from global requirements
* Enforce usage of project scoped token
* Agent: Optional middleware to rate limit NOTIFYs
* Mark Infoblox as Release Compatible
* Give a nicer error upon 401 from Akamai
* Add domain record detail screen
* Add .eggs to .gitignore
* Updated from global requirements
* Add the Hook Point API
* Fix exceptions on pep8 check due to missing tempest.conf
* Pin python version to 2.7
* Add filter for status on recordsets
* Fix the v2 XFR task API
* Add Backend grading, and associated docs page
* Fix designate-manage pool show_config command
* Imported Translations from Transifex
* Drop incubating theme from docs
* Updating cmd/manage.py get_arg_string() argument parser
* Infoblox Backend
* Update Dashboard requirements
* Drop use of 'oslo' namespace package
* Disable recursive queries with bind in Devstack
* DevStack: Attempt to cleanup stale domains
* DevStack: Remove SOA/NS checks
* Add some more settings to the sample conf file
* Add NSD4 backend
* Add tests for dynect
* Add Akamai Management comamnds
* Fix check+set race condition in APIv1/Sink
* Remove unnecessary RestController usage
* Set cfg.pool_target.options as secret
* Allow sink to create multiple entries per instance
* updating tox pep8 issues
* Add quota check for domain create
* Moved RecordSet lookup to a custom join query
* Add support for settings wsgi MAX_HEADER_LINE
* Switch pip-missing-reqs for pip-check-reqs
* Add suds-jurko to requirements.txt
* Utility script to help create n+ records at a time
* Updated from global requirements
* Ensure Sink Handlers encode UTF8 names
* Add docs for X-Auth-Sudo-Tenant-ID api header
* Drop use of 'oslo' namespace package
* Updated from global requirements
* Improve UX of create and update record screen
* Vagrant: NFS should only be used for libvirt
* Fixed SO_REUSEPORT not supported by Linux <3.9
* Fix a wrong obj_reset_changes field
* Imported Translations from Transifex
* Updated from global requirements
* Drop use of 'oslo' namespace package
* Updated from global requirements

2015.1.0
--------

* Remove duplicated index on table 'records' of pDNS backend
* central.update_status should be transactional
* Add an index to speed up update_status
* Add the /v2/zones/<id>/nameservers endpoint back
* Add the /v2/zones/<id>/nameservers endpoint back
* Update JSON in howtos examples to match the API
* Service ThreadPool size should be configurable
* Handle socket.error's in mDNS
* Move the Central rpcapi update_status to cast
* PM: Ensure only one periodic task runs per host
* Ensure addition of TSIG do not trigger a TooBig exception
* Simplify designate.api.versions
* Allow to use network label in nova_fixed handler format
* Denominator Agent
* Imported Translations from Transifex
* Minor fixes: pep8 and redundant code
* central.update_status should be transactional
* Include README.rst in dashboard sdist
* Functional tests to check recordset ownership
* Zone ownership tests
* Rally is now openstack/rally
* Handle socket.error's in mDNS
* Remove duplicated index on table 'records' of pDNS backend
* Imported Translations from Transifex
* PM: Ensure only one periodic task runs per host
* Functional tests: minus tempest, plus noauth support
* Service ThreadPool size should be configurable
* Ensure addition of TSIG do not trigger a TooBig exception
* Release Import of Translations from Transifex
* Correct designate-dashboard domain detail screen
* Update PM pooling defaults
* Add policy support to designatedashboard
* update .gitreview for stable/kilo
* Correct mDNS TCP/UDP socket flags
* Move the Central rpcapi update_status to cast
* Shuffle of the order of BIND9 masters
* Updated from global requirements
* Update JSON in howtos examples to match the API
* Shuffle of the order of BIND9 masters
* Correct mDNS TCP/UDP socket flags
* Imported Translations from Transifex

2015.1.0rc1
-----------

* Fix missing '/' in self link after zone import
* Reduce excessive stacktraces in logs
* Move Zone Import / Export to /admin API
* Ensure mDNS TCP/UDP threads service unhandled exceptions
* Correct the max_zone_name_length name
* Add validation of RRSet Type
* Change rackspace.com > example.com in docs
* Remove unused pool view
* Refactored BaseAddressHandler
* Switch to API v2 as the new CURRENT
* Add stable/kilo placeholder migrations
* DevStack: Reduce periodic intervals in the gate
* Open Liberty development
* Restrict editing of managed records to policy based ACL
* Imported Translations from Transifex
* Added tenant impersonation to API
* Fixup DevStack Horizon install
* Validate SRV records have the correct name on the recordset
* Fixed sort key to not sort by an un-indexed field by default
* Fix Record Object conversions
* Fix handling of filtering params
* Add Ceilometer support to DevStack plugin
* DevStack: Akamai/Dyn Support for Jenkins Credentials and Exercises
* Split out Optional OpenStack services in localrc
* Support Vagrant Libvirt
* First Tempest tests for recordsets
* Remove zone wrapper object in Tempest tests
* Add global limits to V2 limits endpoint
* Fix min_ttl config to be an IntOpt
* Implement default and max page size for V2 API
* Fix output of errors on base recordset properties
* Correct min-ttl default config value
* Update periodic sync defaults
* Ensure mDNS can AXFR zones over 65k
* Fixup updates in the agent backend
* Fix support for PostgreSQL
* Imported Translations from Transifex
* Akamai: mDNS must run on port 53
* Agent Pool Manager Backend
* Add Akamai EDNS Backend
* DynECT: Convert to a Pool Backend
* Add also-notifies support to Pool Manager
* Implement Pool Targets
* Reduce the # of SQL queries during AXFRs
* Add code to allow triggering of AXFR from API
* Fix 'zone' link in transfer_accepts
* Imported Translations from Transifex
* Enable Record Data Validation in v2 API
* Sync up FIP behaviour to match latest PoolManager
* Fix ownership issue with Zone's created on set fip
* Fixed rootwrap file installation
* Add _to_string() methods on RRData Objects
* Add Schema to RRData Objects
* Replace API_v2 views with Adapters
* RFC1996 Requires NOTIFY packets have the AA flag set
* Ensure mDNS originated queries are non-blocking
* Unwind mDNS XFRMixin from NotifyEndpoint and Handler
* Correct Pool Object
* Add API_v2 Adapter Objects
* Support mDNS response up to 65k
* Install etc/designate/* files
* forgot missing __init__.py file
* Allow for duplicate domains in different pools
* Remove usage of relative_path in ValidationError Objects
* Fix handling of wildcards in api / storage
* Reduce the # of records loaded by Central.update_status
* improving designatedashboard packaging
* Imported Translations from Transifex
* Fixed misspellings in central
* Validation Error Middleware does translation of keys to new format
* Added FloatingIP object to DesignateObjects
* Omit deleting zones from mass ns record updates
* Imported Translations from Transifex
* Archive non-pool backends
* Combine Backend and PoolBackend
* Refacor function for parsing host:port strings
* Spelling & formatting doc fixes
* Updated from global requirements
* Revert "Disable tempest in the gate, for now"
* Retry serial number check in one more case
* Move Pool NS Records to their own table
* Imported Translations from Transifex
* Don't allow updates to zones that are being deleted

2015.1.0b3
----------

* Imported Translations from Transifex
* Remove "Including all tenants items" debug log
* Disable tempest in the gate, for now
* Fix the use of private symbols from oslo.messaging
* Ensure Quotas can be updated concurrently
* Only attempt XFR if zone.type is SECONDARY
* Add Admin API and add extensions
* Add DESIGNATE_SQL_DEBUG toggle
* Move the DesignateAdapter to return non-wrapped objects
* Imported Translations from Transifex
* Added ValidationErrorMiddleware
* Added Schemas to DesignateObjects
* MDNS part of Secondary zones
* Support secondary zones
* Add iPythonNotebook files to git ignore
* Implement TSIG Support in mDNS
* Imported Translations from Transifex
* Add Tempest zone tests
* Enable Tempest Functional Tests
* Use the oslo.policy package
* Smarter Create/Delete in BIND9/Agent
* Imported Translations from Transifex
* Send the correct domain object to update_domain
* Update localrc docs sample
* Fix DesignateObjects ListObjectMixin interactions
* Introduce Guru Meditation Reports into Designate
* Call central's update_status correctly
* Initial Pool API docs
* Fixed ssl.PROTOCOL_SSLv3 not supported by Python 2.7.9
* Agent configuration and BIND9 improvements
* Validate SSHFP records
* Create DesignateAdapter and surrounding infrastructure
* Imported Translations from Transifex
* Updated from global requirements
* Updated from global requirements
* Fix exception handling
* Imported Translations from Transifex
* Add initial code for tempest tests
* Updated from global requirements
* devstack/install.sh shouldn't rely on exact paths
* Add designate-agent to DevStack
* Updated from global requirements
* Rename _retrieve_from_cache to _retrieve_statuses
* Updated from global requirements
* Imported Translations from Transifex
* Updated from global requirements
* Implement Scoped TSIG Key Support
* Service Class Cleanup - Part 3/3
* Service Class Cleanup - Part 2/3
* Service Class Cleanup - Part 1/3
* Fixed _is_superdomain check in central
* Imported Translations from Transifex
* Add Developer Guidelines docs page
* Update default managed_resource_email
* Update tests to use Object.from_dict() method
* Sync with oslo-incubator
* Remove explicit thread-local update in context
* Ensure pool_manager cache keys are strings
* Remove bulk actions from records page
* Add python-memcached>=1.48 to requirements.txt
* Add error state transition for creation of domains
* Modifications for Resilient Pool Manager Cache
* Ensure DNSPython modules are imported correctly
* Add howto for creating PTR records
* Imported Translations from Transifex
* A small intro to the REST API
* Implement an Object.from_dict() method
* Updated from global requirements
* Deprecate designate-sink non managed mode
* Retry transactions on database deadlocks
* Correct PoolAttribute module name
* Set PYTHONDONTWRITEBYTECODE=1 in tox.ini
* Use fully qualified domain names in the mx record examples
* Workaround eventlet 0.17's broken monkeypatching
* Pass SSL CA Cert to client
* Pass ssl no verify to client
* Assume a new developer won't create a "designate" user in the dev guide
* Add noop cache support to Pool Manager
* Allow MiniDNS to Send Everything Over TCP
* Replace nova with designate in pybasedir help
* Updated from global requirements
* Add memcache support to Pool Manager
* Get on an abandon zone returns 405
* Ensure count record/recordsets respect deleted domains
* Deleting a recordset returns 202
* Fix up links in Ubuntu Dev Environment
* Imported Translations from Transifex
* Docs: Top level Install Guides section
* Docs: Automate How To Index
* Fix Production Arch docs
* Update Designate Architecture Docs
* Docs: Howto Create and Manage Domains
* Added docs env to tox
* Updated Sample Config and Documentation Page
* Update Getting Started Guide
* Doc sprint: Update glossary
* Doc sprint: Update Getting Involved
* Update zone status when recordsets are changed
* DevStack: Sync function rename with DevStack
* Updated from global requirements
* Return correct response codes for v2 recordset api
* Fix a reference link in the doc
* Doc: fix the designate-manage powerdns sync command
* Fix some typos in 6 files
* Nameservers added via /v2/pools are not validated
* Imported Translations from Transifex
* Return a status field from the recordsets API
* Remove dead server code in storage and add tests

2015.1.0b2
----------

* Updated from global requirements
* Add pretty_tox subunit wrapper
* Add a new API for abandoning a zone from storage
* Allow Periodic Sync to be restricted to a subset of zones
* Add pool_manager migrate.cfg in MANIFEST.in
* Updated from global requirements
* Cleanup use of oslo.messaging's ConfFixture
* Add a debug tox environment
* Imported Translations from Transifex
* Extract fixtures into their own module
* Updated from global requirements
* Agent cleanup/refactoring
* Imported Translations from Transifex
* The New Agent
* Imported Translations from Transifex
* Refactor RecordSet Relation Loads
* Ensure Pool Manager Cache is Cleared
* Move some methods from mdns to dnsutils
* Switch to oslo.log
* Imported Translations from Transifex
* Fix v2 api update_recordset
* Fix sink neutron_floatingip handler passing payload
* Temporary fix for bad _dispatch() invocation
* Server Pool Storage Clean Up
* Call the Correct Pool Manager Instance for the Domain
* Clean requirements
* Periodic sync and recover Timers Throw Descriptive Errors
* Updated from global requirements
* Imported Translations from Transifex
* Move PM warning log inside the correct if block
* Update mDNS to accept server object
* Pool Manager should reuse the existing threadgroup
* Pool Manager Throws An Error When No Servers are Defined
* Add Unit Tests for Pool Manager
* Ensure Pool Manager Works for Multiple Backend Servers
* Add more tests to the central service
* Add more unit tests to mdns service
* Add more unit tests to Base Object class
* Add Unit Tests for v2 API Reports
* PowerDNS Backend Tests
* Updated from global requirements
* Moved to oslo_utils namespace
* Remove dead designate.wsgi
* Remove dead SQLAlchemy code
* Add .coveragerc configuration file
* Update Vagrantfile with new Ubuntu box
* Moved to oslo_db namespace
* Imported Translations from Transifex
* Fix powerdns db table records missing column disabled
* Update README.md doc build instructions
* Switch to oslo_middleware namespace
* Imported Translations from Transifex
* Updated from global requirements
* Updated from global requirements
* Allow Domain to Be Created on More Than One Server
* Better Logging for Pool Manager
* Separate Periodic Recovery from Periodic Sync
* Domain Creation Includes Zone Transfer For Proper Status
* Updated from global requirements
* Migrate Server table
* Updated from global requirements
* Pool_Attribute Storage Tests
* Change SLA check for Designate
* Adds negative unittests to test_domains.py and test_records.py
* Adds negative tests to test_records.py
* Imported Translations from Transifex

2015.1.0b1
----------

* Remove duplicate fields from ZoneTransferRequest object
* Documentation, comments, and extraneous code fixes
* Post-pool merge cleanup
* Adds negative tests to test_records.py
* Imported Translations from Transifex
* Added smart update of Records Objects in v2
* Changed oslo.messaging's default log level
* Fixed the syntax of obj_reset_changes in SQLA
* Pool Manager Integration with Central
* Remove the agent service and old-style backend tests
* Remove the non-pools bind9 backend
* Convert PowerDNS to a Pools Backend
* Pools Config Changes
* Add Werkzeug>=0.7 to requirements.txt
* Adds "domain-servers-list" to test_domains.py
* Cleanup validation regex's
* Adds negative tests to test_servers.py
* Updated from global requirements
* Imported Translations from Transifex
* Switch to oslo.context and sync from incubator
* Standardize creation of rpcapi client instances
* Updated from global requirements
* rename oslo.concurrency to oslo_concurrency
* Updated from global requirements
* Imported Translations from Transifex
* Workflow documentation is now in infra-manual
* Updated from global requirements
* Add DynECT DevStack plugin
* Handle multi-packet TCP queries
* Allow DevStack to retry DNS queries to handle async CRUD
* Handle priority the same way as when create_record
* Correct RRSet delete notification
* Pool Manager
* Add docs for MX, SSHFP, SPF and SRV record set types
* Add metadata, totalcount fields to zones/recordsets collections
* Add bashate tox env for DevStack plugin
* Update DevStack PORT vars for naming consistency
* Update gate_hook to support multiple drivers
* Added designate-dashboard code to contrib/designate-dashboard
* Rename rally-scenarios/ to rally-jobs/
* Imported Translations from Transifex
* Updated from global requirements
* Added functionality to allow for zone ownership transfers
* Updated from global requirements
* Add Rally to Vagrant VM
* Move Central notifications to a decorator
* Add a reverse name columns to domains/recordsets
* Updated from global requirements
* Fix rally job readme file
* Add synchronized_domain decorator
* Add some helpful SQL indices
* Return the correct RRSet object in Central.create_recordset
* Updated from global requirements
* Detect CPU on OSX as well
* Fix rally gates
* Can't Access Default Pool through API
* Add tox check for missing pip requirements
* Add rally job related files
* Updated from global requirements
* Support Nested/Recursive Object Validations
* Add basic validation functionality to DesignateObjects
* Updated from global requirements
* Move import code to dnsutils
* Add a new field type 'relation' to objects
* Imported Translations from Transifex
* Missing Unique Constraint on Pool Attributes table
* Add ability to configure extensions via local.conf
* Move from incubator to o.concurrency
* Fixed API v1 issue with horizon
* Add Symantec's nova and neutron plugins to docs
* Add pool_id column to Domains Table
* Imported Translations from Transifex
* Pool Manager - Central/Storage Changes
* Pool Manager - BIND9 Pool Backend Driver Fixes
* Updated from global requirements
* Pool Manager - Pool Manager Proxy Backend and Devstack
* Imported Translations from Transifex
* Imported Translations from Transifex
* Support for server pools in minidns
* Initial documentation for v2 API record sets
* Move rec.priority into rec.data
* Imported Translations from Transifex
* API for pools
* Server Pools Storage
* Updated from global requirements
* Pool Manager Service Changes
* Ensure version column is correctly incremented
* Updated from global requirements
* Updated from global requirements
* Implement a DesignateObject Registry
* Correct int datatypes during zone import
* Enforce all Object attributes are private or well defined
* Add a UUID Schema format checker
* Convert Object FIELDS from list to dict
* Reduce SQLAlchemy loglevel during tests
* Updated from global requirements
* Imported Translations from Transifex
* Imported Translations from Transifex
* Updated from global requirements
* Add a new PowerDNS backend based on MiniDNS
* Ensure mDNS sends NOTIFYs on all zone changes
* PowerDNS schema should cascade domain deletes
* Add Jinja2 to requirements.txt
* Switch to oslo.middleware and remove deprecated incubator
* Sync oslo-incubator and remove json|str utils
* Imported Translations from Transifex
* Multi backend attepts to read a deleted domain
* Bind a random port for MDNS tests
* Open Kilo development

2014.2.rc1
----------

* Use devstack's new way of doing things
* Updated from global requirements
* Fixes missing Module Index in Sphinx-build
* Make use of SQLA Core in PowerDNS
* Prevent update/delete of managed records in v1 API
* Fixes minor errors and warning in Sphinx build
* Fixes docstring typos
* Updated from global requirements
* Notif handlers:remove double check of event type
* Imported Translations from Transifex
* Missing Tests for Blacklist storage layer methods
* Fix example response for reports/tenant
* Update oslosphinx requirement
* Fix issues with timeout and if a domain exists
* Add v1 missing api docs
* Backends need to implement c/u/d_recordset
* Updated from global requirements
* Missing tests for TLD storage layer methods
* Updating README
* Removing *.shapes files from Desginate diagrams
* Add png for `Designate-PowerDNS-Detail`
* Adding Dia file for `Designate-PowerDNS-Detail`
* Adding Dia file for `Designate-MultiZone`
* Adding Dia file for `Designate-Simple`
* Bind9 zone file should end with a new line
* Correct Vagrant+DevStack paths
* Use non-deprecated notification_driver
* Split Vagrant out of contrib/devstack
* Fixed the logging of powerdns metadata addition / removals
* Updated from global requirements
* Fix warnings made by keystone_authtoken
* Devstack Integration : Coding style fix
* Getting deleted recordsets returns a 404
* Devstack setup : use get_or_create_* helpers
* Updated from global requirements
* Downgrade in 039 does not delete NS recordsets
* Add index on powerdns.records.designate_record_id
* Updated from global requirements
* Support filtering on Zone/RecordSet status
* _find_recordsets returns active recordsets only
* Ensure designate-api has policy initialized
* Ensure designate-sink has policy initialized
* Rollback master backend on all exceptions in multi backend
* Delete SOA records correctly on a downgrade
* Call _handle_query_error correctly
* Updated from global requirements
* Update README.md doc links

2014.2.b3
---------

* warn against sorting requirements
* Creating a Recordset doesn't increment the serial number
* Support the same api versions format as keystone
* Imported Translations from Transifex
* Fixed policy loading in agent service
* Imported Translations from Transifex
* Implement mDNS Middleware
* Squash Icehouse DB Migrations
* Move DNS packet serialization into mDNS service
* Update default notification-topics for nova/neutron
* Received notifications context is not a DesignateContext
* Add support for AXFR requests
* Expose SOA and NS records
* Fix get_record_id to return only the requested id
* Fix DevStack xtrace output
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Imported Translations from Transifex
* Validate that no parent zones are created in another tenant
* Issue one SQL statement per execute() call
* Added policy checking for all all_tenent=True contexts
* Add two more hacking checks
* Updated from global requirements
* Imported Translations from Transifex
* V2 Report Uses 'Domains'
* Ensure Object change lists are sorted during to_primitive
* Reimplement Filtering by Record Data
* API v1 for creating domains ignore some attributes now
* Fixes a typo in the binary name for test's service fixture
* Designate API tests for Tempest Framework
* Add proxy support to dynect client
* Add instructions on installing Designate with MySQL backend
* Imported Translations from Transifex
* Migrate to SQLAlchemy Core
* Update testr config for better logging
* Remove obsolete methods from Storage
* Empty RecordSets can be re-provisioned
* Install only the necessary files during a DevStack gate run
* devstack exercise for deletion, dns checking
* Set python hash seed to 0 in tox.ini
* Add quotas documentation
* Imported Translations from Transifex
* Switchover to oslo.i18n package
* Remove the Priority Field in V2
* Moved the thread storage to a per instance level, vs global
* Update from oslo-incubator
* Use auth_token from keystonemiddleware
* Move oslotest into test-requirements.txt
* Imported Translations from Transifex
* Updated from global requirements

2014.2.b2
---------

* Revert o.m and o.c 1.4.0 alpha updates
* Add a minimal gate_hook.sh script
* Moved v2 API errors to separate controller
* Enable X-Auth-Project flag in HTTP headers
* Cleaning up index.rst file
* Imported Translations from Transifex
* Handle tcp requests correctly in mdns
* Modify Recordset API
* Clear out junk from Vagrant+DevStack configs
* Correct JSON Syntax is v2 Collections Docs
* Ensure o.c.local is populated with the current Context
* DevStack: Enable V2 API
* DevStack: Correct the key's passed to setup_colorized_logging
* PowerDNS: Ensure each greenthread uses it's own Session instance
* Ensure eventlet monkey patching happens as early as possible
* Attach records to RecordSet objects
* Ensure each greenthread uses it's own Session instance
* Add docs for links, pagination, filtering
* Enable hacking check H104
* Add validate_log_translations flake8 check
* Imported Translations from Transifex
* Avoid logging "Expected" exceptions returned over RPC
* Fixed issue with elevated contexts modifying the original context
* Imported Translations from Transifex
* Port Report Extensions from v1 to v2
* Added proper handling for 405 errors
* Fixed D701 Hacking check
* Implement a ListObjectMixin class
* Implement equality methods on DesignateObject
* Updated from global requirements
* Answer dns record queries
* Iterator methods should be on DictObjectMixin
* Added oslosphinx theme & enabled the incubating theme
* Enabled hacking check H401
* Update's should use objects
* Provide a standard method for populating an object from a model
* Expand Zones Documentation
* Updated from global requirements
* Don't create new objects when doing a create_*
* Track the original/persisted values in Objects
* Object fields should not be marked changed if the value has not changed
* Ensure RPC serializes all types to primitives
* Setup for translation
* Implement DesignateObject.__deepcopy__
* Change API filter wildcard from '%' to '*'
* Updated from global requirements
* Ensure contrib/devstack/install.sh works from any path
* Ensure we always accept trailing /'s in URLs
* Updated from global requirements
* Change logging level AUDIT to INFO
* Ensure DesignateObject.from_sqla does not trigger change tracking
* Update stackforge references to openstack
* Support recursive object serialization
* Revert "Added olso sphinx, and enabled it for building docs"
* Update .gitreview for repository move
* Specify minimum and maximum correctly in schemas
* Add Extensions to the v2 API
* Added olso sphinx, and enabled it for building docs
* Don't monkeypatch pecan.core.Request in newer versions of pecan
* mdns: Add support for NOTIFY's
* Implement change tracking in DesignateObjects
* Ensure that 404's are returned as JSON
* Change log string format to '%' for consistency
* Objects should have a concrete list of their fields
* Added all fields to limits endpoint, and corrected casing
* Fixes default content type on /v2/zones endpoint
* Unify Storage vs Rest of World fixture creation
* Switch to oslo.db and fix cmd.manage
* Added *.sqlite3 to gitignore
* Remove the StorageAPI class
* Indent lines for readability
* Switch to oslotest library
* Finalize tox.ini codes
* Fix style errors H305 and H307
* Fix style error E265
* Fix style error E251
* Fix style error E111
* Fix style error H236
* Update hacking package, fix I18n style issues
* Sync with global-requirements
* Sync in o.middleware and replace our own
* DevStack: PowerDNS and Bind9 should listen on SERVICE_HOST
* DevStack: Fix Bind9 Apparmor profile
* Change log statements to meet I18n guidelines
* DevStack: Additional exercises for records and domain-servers-list
* DevStack/Vagrant: Specify the minimum supported Vagrant version
* DevStack Gate: Enable Designate exercises
* DevStack: Sync up our logging options
* DevStack: Sync up our service startup commands
* DevStack/Vagrant: Set # of CPU's to # of physical cores
* DevStack/Vagrant: Don't configure LOGFILE by default
* DevStack: Support configuring bind host/port
* DevStack: Migrate from keystone CLI to OpenStack CLI
* DevStack: Support PowerDNS on Fedora
* DevStack: Support devstack with bind9 backend on Fedora
* DevStack: Split backends out into plugins
* DevStack: Use a timeout rather than hard sleep
* DevStack: Support running with bind9 as non-root user
* DevStack: Default to PowerDNS rather than the fake backend
* DevStack: Ensure PowerDNS is configured correctly
* Add DevStack Vagrantfile
* Sync test-requirements with global-requirements
* Partial sync with global-requirements
* Add pre/post dsvm test hooks
* Added detection of powerdns package name to devstack script
* Wait a little after starting Designate
* Revert "add sink support to designate devstack"
* Bug #1261894: Deleting Record With BIND 9 Driver Fails
* Ensure we configure all keystone middleware options
* Ensure our DevStack plugin cleans up services it starts
* Switch stop_designate to use screen_stop rather than `kill`
* Ensure designte-sink does not exit when no handlers are enabled
* Implement mDNS Service
* API now passes objects to central
* Ability to pass along multiple endpoints
* Fix FreeIPA tests mock's
* Adding custom flake8 check for mutable default arguments
* DynECT backend exceptions should be added to allowed exmods
* Create missing domains during Bind9Backend start
* Update DevStack docs for the contrib/devstack plugin
* Correct DESIGNATE_TEST_NSREC default value
* Correct typo in DynECT backend
* set default auth_strategy to keystone
* Allow Roles to be Passed When Using Noauth Middleware
* add support for FreeIPA backend - phase 6 - devstack
* add support for FreeIPA backend - phase 5 - requirements
* add support for FreeIPA backend - phase 4 - migration
* add support for FreeIPA backend - phase 3 - live tests
* add support for FreeIPA backend - phase 2 - tests
* add support for FreeIPA backend - phase 1
* Ensure objects are passed over RPC
* add sink support to designate devstack
* Update oslo.policy
* only call sink handlers for supported event types
* Print versions
* Raise correct exception on blocked operation
* Ignore 404 on deletion
* Remove redundant setup.cfg entry points
* Correct DynECT backend config option types
* Fixed the self link returned for floating IPs
* sink crashes due to a missing _get_handler_event_types
* Update Record object with structured RRdata
* Post oslo.messaging fixes
* DynECT support
* Remove leftover bin/* files
* Set a Configurable Minimum TTL
* Allow targeting of specific agent
* Update Storage layer to return objects
* Update install_venv from Oslo
* Sync with openstack/oslo-incubator
* Sync with openstack/requirements
* Sync up openstack-common.conf
* Switch to oslo.messaging
* v1 api does not allow priority of 0
* WIP - Implement Capture the Notification Context in Designate Sink
* Sync requirements with openstack/requirements
* Open Juno development

2014.1
------

* Read the Docs needs a single requirements file
* Remove designate-manage dependancy on cliff
* Fix sync functionality in V1 / central
* Provide a production like guide for Ubuntu
* Blacklists API Documentation
* Document the PowerDNS backend

2014.1.b3
---------

* Ensure that request body in v2 contains valid fields
* Remove JSONSchema 1.3 compatibility code
* Support more record types
* create_server fails if server is not unique
* Sync with global-requirements repo
* V2 API zone import/export documentation
* Return 404 for empty parameters in URLs
* Ensure that URL is valid while validating UUID
* Return 400 for invalid Json for api v2
* Introduce nameservers endpoint for zones
* Standardize doc requirements
* Ensure Storage Implementions match the Interface
* Ensure that wanted API calls returns exceptions
* Fill in missing Records tests for V2 api
* UUID changes to api / utils
* Remove use of uuidutils.generate_uuid
* Fixes filtering in delete and update in PowerDNS
* Register as a endpoint without version
* Handle invalid pagination parameters
* Add the handler plugin example to the contrib folder
* Add Bind9 Support to the DevStack Plugin
* Correct misspelled words

2014.1.b2
---------

* DevStack: Set the correct state_path
* Disabled paging by default
* Don't install designate packages twice with Devstack
* Add support for paging in V2 api for collections
* Add RMQ+Other options to sample config
* Switch to oslo.rootwrap
* Sync with oslo-incubator 9a7f2f85
* Sync with global-requirements
* Blacklists mysql error
* Add paging to Central rpcapi and service
* Adds support for paging in the storage layer
* Shouldn't pass items to get_collection_href here
* Ensure default DB connection strings use unique defaults
* Fix arguments in get_collection_href
* Default state-path to /var/lib/designate
* Adds a setting for the location of the nzf files
* Stop abusing state_path in find_config
* Add a new ExtensionPlugin class
* Add Unit Tests for Blacklists V2
* Update notification_driver documentation
* Import TLDs to Designate
* Prevent Schema regex's from capturing input
* General Plugin Cleanups
* Create API calls to Manage Blacklisted Domains
* Fix TLD Delete From Storage
* Sync with oslo-incubator rev fa785cea
* Sync with openstack/requirements rev 661e6bad
* Various small fixes to documentation
* Keep the DevStack plugin in-tree
* Add TLD Api documentation
* Make Database Interactions More Transactional
* Remote Designate Agent Calls Fail
* Remove dnsmasq backend
* Replace os.exists with os.path.exists
* Validate name during v2 zone create
* Sink - Delete record on floatingip.delete event
* Check if RS belongs in childzone
* Add APIs for managing TLDs
* provide designate getting started instructions for Fedora 19
* Update setup.cfg for the Neutron -> Quantum handler rename
* Remove dependencies on pep8, pyflakes and flake8
* Sync with global requirements
* Ensure APIv2 list respose formats are correct
* FloatingIP PTR record functionality
* Moved Limits API endpoint to a RESTController
* Return a HTTP 405 for unsupported HTTP methods
* six is now a requirement of many of the oslo-incubator modules
* Made Pecan HTML debugging an option for v2 API
* PowerDNS backend tests
* Ensure Flask uses our JSON Encoder
* Add support for specifying tenant/user/token in the NoAuthMiddleware
* Removing Docs about the old Sudo mechanismn
* Designate requires Babel during runtime now
* Cleanup API v2 Link Generation and Views
* Ensure migrations run on PostgreSQL
* Switch out designate.notifier for oslo's version
* Reinstate RecordSet placement validation
* Sync with oslo-incubator
* The default port is not 0.0.0.0, it is 9001
* Ensure JSON Schema format validators operate only on strings
* Database fixture
* Ensure SQLite has the correct unique_record index
* Docs spelling/capitalization fixes
* Specify column names during the PowerDNS backends InsertFromSelect's
* Do not try to update records if there are none
* Introduce RecordSets concept to core, and add initial RRSet API to v2
* Provide support for "All Tenants" access
* Correct migration 33
* Fixed bug where sync_all could not be run
* Use % when printing keyfile/certfile errors
* Make sure that certfile and keyfile are readable
* BUG# 1258262 Added secret parameter to options for sensitive data
* Bug #1257888: Remote Designate Agent Call Fails
* Denormalize tenant_id into the records table
* Multi-backend
* Put test resources into own folder
* Backend tests restructure
* Ensure logs are captured and displayed when tests fail
* Fix typo in config and rename Quantrum > Neutron everywhere
* Multiple testing fixes
* Allow a context to be elevated to admin status
* Don't require domain_id in find_record* methods
* Pass the service-catalog if any to the context
* Add placeholder migrations to allow backports to Havana
* Added a check for HTTP_X_IDENTITY_STATUS
* Add SLDs that act like TLDs
* Support building wheels (PEP-427)
* Add .testrepository to ST2 project ignore
* nsd4slave backend
* Update notifications towards oslo.messaging
* Switch to testr / testtools / fixtures, remove nose
* Update PPA URL
* Expose touch_domain via an API extension
* Update TLD list per IANA list version 2013110700
* Fix inconsistent dnspython imports bug
* Domain Import/Export
* Update setup.cfg for Icehouse development cycle

2013.2
------

* Ensure we're compatible with JSONSchema 1.3.0 through 2.2.0
* Sync requirements with stable/havana requirements
* Zoneextractor tool
* Ensure all FakeBackend methods use info level logs
* Abstract quota enforcement in central service
* Minor tox.ini changes, should speed things up
* Add status fields for domains and records
* Correct JSONSchemas for min/max TTLs
* Added info on flake8 to docs
* Update domains when servers are created, modified or deleted
* Add rudimentary migration testing
* docs: Correct errors in the Create Record examples
* BIND9 Plugin Cleanup
* Ensure beta versions are not downloaded from pypi
* Correct PowerDNS migration 006
* Monkeypatch WebTest to support HTTP PATCH
* Give more meaningful error message when no servers are configured
* Add initial BIND9 backend docs
* Ensure default TTL is respected by PowerDNS backend
* Allow default SOA values to be configured
* Ensure tables are InnoDB and UTF8
* Cleaned up fake backend backend
* Central RPCAPI should call the correct sync methods
* Add APIv2 Zones Controller
* Fixed broken links in README.md
* Fixup CNAME placement validation
* PowerDNS - Correctly quote TXT and SPF record
* Fix utils.render_temaplate_to_file() test case name
* Revert "PowerDNS - Ensure SPF records are quoted correctly"
* docs: Add 'description' field to domains
* Cleanup v2 schema links
* Add description field to v2 schemas
* Minor v1 records schema corrections
* Add "Invalid TLD" error message
* Correct V2 limits schema
* Switch to EntryPoints for the binaries
* Add API v2 /limits endpoint
* Update Getting Started Guide
* Sync doc/requirements.txt with openstack/requirements
* API Version 2 - Initial Framework
* Sync requirements with openstack/requirements
* Add more API documentation for record types
* Bug 1206849: Add more logging to the API Layer
* PowerDNS - Ensure SPF records are quoted correctly
* Add Description Field to Domains/Records
* Update PBR to 0.5.21
* Fixup incorrect exception handler
* Update PBR
* Restore JSONSchema 1.1.0 compatibility
* Fix a minor doc build warning
* Ensure all errors raised from netaddr are caught
* Internal SQLA Storage Consistency Cleanup
* Ensure the deleted column is not truncated
* Update 'Getting Started' Doc
* Reduce logspam from amqp
* Ensure backend resources are always deletable
* Refactor JSONSchema handling code
* Remove out of date TODOs from README
* Move doc/examples to doc/source/examples
* Move Keystone config to main designate config
* re-org docs & add details on production architecture
* Ensure Code Coverage only includes designate
* better ipv4 validation
* Replace missing indexes for SQLite
* Ensure StorageAPI always re-raises exceptions appropriately
* corrected event details in Nova Handler notes
* Logging & docs improvement for notification_handler
* Remove unnecessary default criterion value
* find_record should take a domain_id argument
* find_records does not need to perform an is_admin check
* Sync requirements with openstack/requirements
* Remove openstack.common.cfg
* Remove invalid entrypoints
* Accept trailing /'s on URLs
* Add 'Getting Started' Doc
* Implement a Quota management API extension
* bug# 1198890 internal api tidy
* Update docs links from moniker.rtfd.org to designate.rtfd.org
* Add DevStack documentation page
* Override default config values correctly
* Middlewares should tell you they have started
* Sync with oslo-incubator stable/grizzly
* Update link to designate-cookbook
* Add doc link to sample plugin repo
* Add a related links page to the docs
* Remove comments from *requirements.txt (workaround pbr bug)
* bug# 1198849 - from blallau
* Update the outdated install document
* Ensure sphinx and sphinxcontrib-httpdomain are installed for doc builds
* Ensure RTD builds install all the necessary deps
* bug# 1198885 - report 'latest' instead 'None' on database-sync
* Ensure central cleans up storage if the backend fails
* Add the Request-ID as a HTTP reponse header
* Carry oslo-incubator review #34949
* Sync with oslo stable/grizzly c7862b5239822d701b7fb155faa4607eff602627
* Ensure all backend methods respect deleted domains
* quota-domain-records sould be an IntOpt
* Ensure the unique index on domains.name is correctly dropped
* Bug #1194889 - Fix migration 16 on SQLite
* Added notes on setting up a designate dev environment
* bug/1195284 - correct ttl checks to match RFC
* Add simple Maintenance Mode WSGI middleware
* Update jsonschema dependancy
* Sync requirements with openstack/requirements (except jsonschema)
* Keep deleted domains in the DB
* Ensure domains that fail to create are cleaned
* Ensure request media-types are sane
* Ensure records are unique, per RFC2181 Sec 5.0
* Add LICENSE file
* Rename to designate in .gitreview
* Rename keystone-setup script for designate
* Correct some overzealous s/moniker/designate/'s
* Bump version to 2013.2
* Correct a few links broken during the s/moniker/designate/
* Rename Moniker -> Designate
* Switch to Flake8 and add Hacking checks
* Sync requirements with openstack/requirements. (Except jsonschema)
* Fix pyflakes error
* Guard against deletion of a parent domain
* Remove unused SQLA utils code
* Ensure record placement validation does not prevent updates
* Validate UUID URL parameters
* Add request-id to the API's fault responses
* Switch to PBR
* Helper utilities
* The utils module in oslo is no more
* Ensure create domain/record records call the correct count_* methods
* Ensure our quotas/limits are consistent with other OpenStack projects
* Implement Quota Support
* Ensure two PTR records cannot have the same name
* Update import of oslo's processutils
* Extend reports API extension with more information
* Cleanup method/varible ordering in the various places they are defined
* Update report API ext method names to match URLs
* Remove unnecessary try/catches from API extensions
* Ensure all error responses are JSON
* Ensure API calls fail when junk/unexpected properties are supplied
* Add tests to ensure domain notifications are sent correctly
* Removing unused test helpers
* Add periodic_task from Oslo
* Correct the service name used in notifications
* Add a "force" option to context sudo
* Add Central.find_*() methods
* Show log level in moniker-manage output
* Commands should extend our Base Command, rather than cliff.Command
* Remove un-used base CLI command classes
* Update to the latest loopingcall from oslo
* Convert openstack-common.conf to the new format
* Ensure X-Moniker-Sudo-Tenant-ID values are either a UUID or int
* Prefix all Moniker notifications with "dns."
* Add a test case for email addr's with a trailing period
* 0.0.0.0 is an invalid IPv4 address
* Cleanup PowerDNS database schema
* Support all valid (per RFC1035) email addresses
* Implement support for RPC Versioning
* Remove redundant moniker-manage commands
* Ensure record changes trigger a backend serial increment
* Abstract API exception handling
* Tighten up TTL and Priority acceptable value ranges
* Added /reports, /reports/domains, /reports/records & /reports/tenants
* A domain may not have a NULL TTL
* Ensure supplied email addresses are valid for use in the SOA RNAME field
* Add support for specifying custom domain/record name max lengths
* Validate SRV record format
* Add localhost, localdomain and local and remove com, net, org from default blacklist
* Set the default value for accepted TLD's to match the IANA TLD list
* Quick fix to oslo-wsgi for wsgi.Service compat with service.ProcessLauncher
* Domain name's should not be accepted with wildcards
* Add 'accepted_tld_list' config option
* Add ability to "touch" a domain via the API
* Allow for record create/update/delete's and domain updates's without incrementing the serial number
* Add a simple profiling decorator
* Prevent is_subrecord iterating past the domain name itself
* Revert "A domain's TTL must not be null."
* A domain's TTL must not be null
* Use the 'fake' backend by default
* Make Diagnostics and Sync API's optional
* Separate notification handling from the central service
* Remove base Plugin testcase
* API tests should tearDown in the correct order
* Refactor DNSMasq plugin for easier transition to the upcoming transactional changes
* Remove the distinction between a storage engine and connection
* Add Also-Notify support to PowerDNS backend
* Wrap backend interactions in try/catch blocks
* Add a base 'Backend' exception class for backend specific exceptions to extend from
* Fetching a domain's list of authoritative name servers should not be filtered by tenant_id
* Ensure database-sync works when no version is specified
* Rename sync-all to the more accurate "sync-domains"
* Ensure we enforce the various rules for CNAME records
* Add novalocal to the default domain name blacklist
* Fixup migration #12 and support a target version when doing a database-sync
* Ensure migrate.cfg's are included in the sdist tarball
* Saner default values for SOA
* Ensure serial number does not go backwards
* Pin to jsonschema less than 1.0
* Rename the X-Moniker-Tenant-ID header to X-Moniker-Sudo-Tenant-ID to make more clear its meaning and use
* Support SSHFP records
* Correct migration #10
* Massively improve hostname validation
* Move diagnostics API resource under /v1/ and split out the sync methods
* Add support for plugin provided API resources
* Add 'servers' link to domain schema
* Drop the ipv4 and ipv6 columns from servers. It's never been used and makes little sense
* Add ability to fetch the list of nameservers hosting a particular domain
* Consistently use try/except/else
* Ensure doc examples use valid JSON
* Correct Context-Type -> Content-Type typo in docs
* Attach context to local.store a little earlier
* Ensure tools/* is included in sdist
* Remove unnecessary test api-paste and policy.json
* Ensure resources are included in dist packages
* Ensure we attach the context object to oslo-local for oslo-log to find
* Simple implementation of DNSMasq backend
* PowerDNS: Allow domain type to be configured
* Ensure PowerDNS backup updates the SOA serial when necessary
* Add ordername/auth cols to PowerDNS Record model
* Set the auth field correctly for PowerDNS
* Allow Context properties to be passed through get_admin_context()
* Fixup moniker-manage sync commands
* Add moniker-manage CLI commands to trigger sync's
* Allow admin context's to retrieve domains from all tenants
* PowerDNS currently only supports hmac-md5 TSIG
* Calls to get_servers from backends should use an admin context
* Add moniker-manage commands for maintaining servers and TSIG keys
* Use a dash as the command separater in moniker-manage
* Fix incorrect column name used when updating a TSIG key
* Add support for TSIG to PowerDNS backend
* Add tests for incorrect domain_id checks
* Ensure records belong to the domain_id supplied in the URL
* Pass TSIG Key Create/Update/Delete to backend implementations
* Fixup a rebase gone wrong.
* Provide initial support for TSIG
* Pass an instance of the central service, or the central_api proxy to backends
* Add initial PowerDNS migration repo
* Fixup bug in bind9 backend
* Domain Sync should not attempt to delete records after deleting the domain
* Prevent renaming of a domain, and ensure records are contained in their parent domain
* Add SPF to type ENUM in Records Table
* Update REST API docs to remove links
* Remove some magic from the RPC Backend API
* Add naive domain/record synchronization implementations

2013.1.alpha1
-------------

* Ensure config files are included in sdist tarball
* Rename moniker-api-paste.ini -> api-paste.ini
* Cleanup and simplify Tenant "Sudo" Code
* Cleanup Blacklist code, Protect from sub-domain hijacking. Upgrade to pyflakes 0.6.1
* Override the format for records
* Replace reserved domain suffixes with regex based domain name blacklist
* Use Policy enforcement to record an Audit trail
* Update to JSONSchema 0.8 final
* Re-add version.py
* Initial Diagnostics API endpoint
* Sync with Oslo 30a50c8a
* Move config files from 'etc/' to 'etc/moniker/' to match what oslo's update.py expects
* Allow Moniker Services to Spawn N processes each
* Add sample config entry for reserved_domain_suffixes
* Change to rootwrapper - bug #1075120
* A Domain's TTL should be optional
* Sanitize content field for certain record types
* Pass server list from central -> backend for domain operations
* Add sample PowerDNS backend config
* Minor doc cleanup's
* Update Docs with GetRecord call
* PowerDNS Backend Driver
* Fix bug #1075268 - Support multiple notification handlers listening to the same notification type
* Log messages produced by the Keystone Auth Token middleware
* Add support for a "sudo" like mechanism in the API
* Add dummy versions list endpoint
* Add support for admin-reserved DNS domain name suffixes
* Add support for PTR records
* *Really* cleanup the sample config this time
* Sync with oslo a8973c52
* Add tests for API 409 Handling (Duplicates / Conflicts)
* Add tests for API 404 Handling
* Handle RPC timeout's appropriately in the API
* Updated Docs with recent API changes, particularly records
* Cleanup sample config file
* Add tests for KeystoneContextMiddleware and NoAuthMiddleware
* Allow wildcard DNS records using a *
* Update MANIFEST.in to ensure only sample configs are included
* Ensure `moniker-manage --version` reports the correct version number
* Sync with oslo-incubator ad93e4e3
* Fix coverage output folder
* Switch to a single config file, using a config group per service
* Fixup default policy.json
* Allow configuration file to be specified via --config-file
* Add more happy path API tests for servers/domains/records
* Ensure Schema handle datetime objects appropriately
* Centralize argv slicing
* Use consistent base class name for moniker.backend tests
* Remove dead code from moniker.storage
* Fixup hostname regex + add some tests for valid host names
* Provide sample logdir config option
* Sync with oslo 8888ad01
* Ensure bin/moniker-manage is executable
* Ensure MANIFEST.in is correct - No longer include *.pyc
* Exclude ST2 project file from sdist
* Ditch pre_version argument to oslo-version
* Added generic SQLOPTS
* Record TTL should default to, and accept, NULL values
* Remove unnecessary if/else block from the bind9 zone template
* Move database_connection sample config to the correct section
* Remove unnecessary steps from the install guide
* Ensure partial API updates are validated correctly
* Include setup-requires in tox.ini
* Sync with Oslo e6c576d9
* Fixup sample moniker-api.conf
* moniker-manage CLI should read DB connection string from correct config group
* Minor install doc corrections
* Ensure Plugin config declarations are compatible with oslo-config's `import_opt` method
* Partial fix for bug #1074093
* Correctly raise Duplicate exceptions with MySQL
* Fixup migration #3 for MySQL
* Add /bind9 to .gitignore
* Fixup bind9 zone template
* bug #1086467, fixed by using moniker record ID in dns_domains column
* Fixup final pyflakes error + enable pyflakes check by default
* Fixup Server JSONSchema
* Allow the central and agent services to have separate defaults for the backend_driver config option
* cfg.CONF is a global, let's not pass it around unnecessarily
* Add backend_driver default to moniker-central.conf
* Switch to plain .json schemas and improve Schema handling
* Added central backend changes and rpc plugin. Added write_database flag to mysqlbind agent
* Fix inconsistencies in use of IPAddr and UUID instances
* Fixup API after breakage in change Ie65b6d25
* Cleanup use of Flask Blueprint's in the API
* Sync with Oslo-Incubator 1fd7694e
* Move SQLA types to shared location
* Add empty testcase for the MySQL Bind9 backend
* Working mysqlbind agent. Thank you to Endre and Kiall for the help!
* Fixed a single-letter typo in docs
* Move out session from the sqlalchemy impl to a more re-usable place
* Keystone helper
* Change the use of self.conf to cfg.CONF[self.name]
* Fixup sample agent config
* Tests cleanup and add helpers
* Add more test helpers
* More install doc corrections
* Install doc corrections
* POST helper for API tests
* Do teardown properly
* Abstract test functionality a bit more - make more use of get_*_fixture
* Fixup config access in bind9 backend
* Add DB init commands to README.md
* Add first API test for listing servers
* The PyFlakes tox env should not run by default
* Process only events with handlers - skip the rest
* Fixes bug #1081525
* Typo fix in install docs
* Move fixtures to be available to all tests
* Move docs where they belong (RTFD)
* Add cliff to pip-requires and ensure all bin/ files are checked with pep8
* Make us client library independent for server side operations
* Fix so it invokes on load
* Generalize tests of plugins take 2, bug #1080415
* Add Quantum handlers for floating ip with tests
* Fixes bug #1080467
* Generalize testcases for handlers, bug #1080415
* Fix broken version for migrate.
* Implemented deltetion in the bind9 agent, fixed deletion in the backend, added migrate for foreign key changes
* Cleanup tox / test deps
* Fix most issues identified by PyFlakes
* Add PyFlakes tox env
* Update readme a bit
* Add Quantum samples
* Minor test cleanups
* Remove `get_config_overrides` method from tests
* Add policy checks for all resource create/update/delete/get/list actions
* Pull Keystone middleware from the keystone client package
* Restrict the Servers resource to admin users
* Parse roles from Keystone into the Context
* Track plugin name and type within records
* Update the docs to use virtualenv's --no-site-packages flag
* Update docs according to latest plugin change
* Abstract out functionality into plugins
* Fixed bind9 agent backend to handle new domains properly
* Add *.egg to .gitignore
* Subclass OS-Common's Context class
* Added fix to zone template to append dot to end of data for various records that require it
* Add utils.resource_string() method
* Ensure Agent service calls the backends register_opts() method
* Be consistent with sample state_path configuration value
* Switch bind9 agent to a driver based implementation
* Sync up notification handler test naming
* Remove backported unittest assertions in favour of unittest2
* Ensure database-connection config variable is defined correctly
* Minor sample config file fixes
* Make notification handler config option name consistent
* Add nosexcover and nosehtmloutput Nosetests plugins to tools/test-requires
* Document state-path configuration option
* Fix bug #1075595 - Ensure a missing configuration file raises an error
* Ensure the bind9 agent logs an error when there are no servers configured
* Provide a sane sample database_connection config value
* Ensure we depend on SQLAlchemy 7.x
* Added moniker API documentation
* Re-order tox.ini sections
* Fixup broken migration
* Cleanup UnitTest assert backports
* Add initial support for handling notifications from other OpenStack services
* Add filtering to the storage layers get_* methods
* Split on "+" to determine driver.
* Update requirements for monikerclient -> python-monikerclient
* Add pypi trove classifiers
* Import and make use of openstack.common.version module
* Sync with OS-Common 3d6c2368a5de16d875341426db8ddc9888213264
* Remove duplicated line from docs
* Update docs a little
* Add requirements for RTD
* Cache pip downloads on Jenkins
* Remove Travis CI config, now that Moniker is on Gerrit
* Fixup deps and tox.ini for Stackforge+Gerrit
* Update docs for Servers API
* Hide autogenated doc files in Sublime Text 2 project
* Add sample API call to the sphinx docs (It's not necessarily accurate!)
* Add sphinx doc skeleton
* Update MANIFEST.in
* Ensure CLI only loads local file if it exists
* Move optional dep's to their own file
* Use a local config file only when it exists
* Sync with OS Common aca1805d911caefe14a73edb6ced281cf54e7ad2
* Update default config files
* Remove DB migrations from TODO list
* Move SQLA dep in pip-requires to indicate it is optional (kinda)
* Complete Skipped storage tests
* Ensure we use a single Service instance per test case
* Ensure tearDown is performed in the reverse order of setUp
* Switch from Query.filter() -> Query.get() for single record fetches
* Add Storage test for get_record/get_records
* Minor cleanup
* Lower the default SQL debug level
* NULL is an acceptable value for tenant_id
* Ensure `moniker database` commands read the moniker-central config file
* Cleanup SQLA migrate changes + "Un-Abstract" the type definitions
* Migrate scripts now work! Also re-coded the tenant_id NULL fix
* Found a bug that allows insertion into domains with NULL tenant_id
* Changes to get sqlalchemy migrate to work. Still not there
* Move create/destroy DB hacks to the tests themselves, and ensure they respect the storage driver choice
* Update DB CLI commands for database -> storage changes
* Fixup previous commit
* Saner default values for Path+DB configs
* Ensure the SQLA tests actually use the SQLA driver
* Remove unnecessary hack inherited from ceilometer
* Rename "sqla" to "impl_sqlalchemy"
* Fix license headers and skip setting engine before connection
* Attempt to make backends more driver based like in Ceilometer
* Switch from git:// to GubHub tarball via https for python-monikerclient dep
* Rename sql_connection to the more generic database_connection
* PEP8 Fix
* Add database init + sync commands
* Backport a few of assert methods not present in Py26. Fixes the tests on Py26
* Remove pypi from travis-ci config
* Add openstack.nose_plugin as a test dep
* Add Openstack-Nose test dep
* Fixup Travis-CI and tox config
* Two newlines needed for zone files that have more than one RR to have one newline at end
* Add Travis-CI config file
* Final fixes for migrations addition
* Add tests policy.json
* Ensure utils.find_config() raises correctly on failure to find config
* Policy implementation (part 1)
* Add Database driver server method tests
* Ensure agents recieve the correct params for delete_domain calls
* Handle `exceptions.Forbidden` appropriately in the API
* Correct handling of duplicates
* Fixup PEP8 errors in previous merge + remove license info from empty files
* Add SQLAlchemy Migrate dep
* Add some missing deps required by OS-Common
* Delete duplicated schemas.py
* Include newer bin/ files on tox pep8 checks
* Use the latest version of PEP8
* Re-creating changes, this time with Git identity set! * Changes to models.py to set column width * Added initial migration scripts
* Add PasteDeploy dep to tools/pip-requires
* Remove duplicate requirement on setuptools-git
* Extract setup-requires from setup.py
* Add tests_require to setup.py
* Move TODO's to the bottom on the readme
* Move some dep's from test-requires to pip-requires
* Add some *really* basic instructions
* Add .venv to gitignore file
* Ensure all bin/ files are as "dumb" as possible
* Add Moniker Central tests for domains and records
* Remove temporary keystone config options
* Remove Debug API endpoint + Remove some unneeded imports
* Switch from Flask's WSGI Server to OpenStack Commons + Use PasteDeploy for easier Keystone integration
* Add OpenStack Common WSGI module
* Ensuring fitering a empty collection works
* Move API app from __init__.py -> app.py
* Use fake RPC backend for testing
* Add Moniker Central server management tests
* Remove some un-used imports
* Move create schema hack into into it's own method
* Add tox and venv to ST2 folder ignores
* Fix another missing license header
* Add skeleton test framework
* Fix license headers
* Make use of OpenStack Common setup module
* Ensure the bind9 agent's output path is created, if necessary
* Ensure delete's are flushed to the DB immediately
* Ensure moniker's exceptions are re-raised over RPC
* Reapply WIP openstack common patch from https://review.openstack.org/#/c/13953/
* Ensure the RNDC call only supplies a config file option if one has been explicitly set
* Remove leftover config file
* Sync with OpenStack Common rev f182936b
* Add some temp config vars to disable keystone and use a default tenant/user instead
* Lots of changes:
* Add utils and exception modules from openstack-common
* Switch default sql_connection to an in-memory sqlite DB
* Sync to openstack-common rev 974989d9
* Remove leftover file
* Add TODO note
* Rename TODO list
* Initial Public Commit
