CHANGES
=======

3.3.0
-----

* Version 3.3.0
* Make RPMs depend on python2-etcd3gw
* Make client auth setup compatible with mitaka and earlier

3.2.0
-----

* Version 3.2.0
* Add endpoint labels for project ID and name, and for SG names
* Handle connectivity loss when reading etcd snapshot
* Fix DHCP UT so that it works locally as well as in Zuul CI
* Update requirements handling
* Fix UT for Neutron DHCP agent code change

3.1.3
-----

* Version 3.1.3

3.1.2
-----

* Version 3.1.2
* Always send high-priority port statuses to Neutron

3.1.1
-----

* Version 3.1.1
* Use a priority queue for port status reports
* Improve logs around resyncs
* Stop updating port status when Felix times out
* Ignore tox/env directories when building debs

3.1.0
-----

* Version 3.1.0
* DHCP agent: take hostname from Neutron 'host' config
* Set default etcd port to 2379
* Chunk up etcd prefix reads into batches
* Monkey-patch etcd3gw's Watcher to avoid socket leak
* DHCP agent: watch endpoints for this host only
* Don't log warnings when it is expected for watch to timeout
* Try to trigger compaction during OpenStack CI run
* Implement periodic etcd compaction

2.0.0
-----

* Version 2.0.0
* DevStack: Fix git clone error
* Fix watch loops to handle compaction
* DHCP agent: Handle endpoint with no ipNetworks
* Initialize privsep infrastructure for Calico DHCP agent
* Change Calico policy and labels prefix
* Coexist with non-OpenStack-derived policy in 'openstack' namespace
* Ensure that all Calico driver/plugin code logs consistently
* Document possible effects of etcd compaction
* Model security groups as NetworkPolicy instead of Profiles
* Generate resource UIDs in same format as libcalico-go
* Generate creation timestamps in same format as libcalico-go
* Fixes needed to networking-calico etcdv3 usage
* Disambiguate DHCP agent's subnet lookup for an endpoint
* Transition remaining uses of etcdv2 to etcdv3
* Adapt for new Calico data model (v3)
* Zuul: Remove project name
* Move legacy jobs to project
* Use 'calico-2.6' PPA instead of 'master'

1.4.3
-----

* Version 1.4.3
* Fix networking-calico CI (interface.OPTS move)
* Remove old pep8 ignores that are no longer necessary
* Fix networking-calico CI (against master OpenStack)
* DevStack plugin: fix for recent neutron and devstack changes
* Fix Neutron common config import error
* Handle neutron.context move to neutron-lib
* Handle recent FloatingIP move

1.4.2
-----

* Version 1.4.2
* Get Felix from Calico master PPA
* Change \_log.warn (now somewhat deprecated) to \_log.warning
* Retry fill\_dhcp\_udp\_checksums() on failure
* Remove support for py34

1.4.1
-----

* Version 1.4.1
* Revert setup.py >=1.8 constraint for pbr
* Version 1.4.0
* Update networking-calico docs
* Fix floating IP interception for Kilo
* Correct enable\_plugin call in DevStack README
* Intercept floating IP creation (as well as update)
* DevStack: use Felix agent from Calico 2.0
* Monkey-patch eventlet before importing urllib3
* Document Calico's support for service IPs
* Add more detail to floating IP doc
* Use Felix 1.4.x for DevStack testing
* Removes unnecessary utf-8 coding
* Downgrade docutils version to 0.12
* Remove hardcoded path to networking-calico dir
* Handle recent removal of NeutronManager.get\_plugin()
* Show team and repo badges on README
* Replace basestring with six.string\_types
* DevStack plugin: Add Xenial support
* DevStack: Use 'calico-1.4' PPA instead of 'kilo-testing'
* Fix DHCPV6\_STATEFUL when running against Mitaka
* A suggested improvement
* Refactoring: Make code decomposition
* Refactoring: Organize imports
* Use Felix without pycparser pin
* Get more constants from neutron-lib
* Using assertIsNone() instead of assertEqual(None, ...)
* Fix unit test failures
* Don't include openstack/common in flake8 exclude list
* DevStack: use Felix 1.4 plus floating IP fix
* Use 'range' instead of 'xrange', for Py3 compatibility
* Replace assertEqual(None, \*) with assertIsNone
* Replace deprecated LOG.warn with LOG.warning
* Remove duplicate default=None for config options
* Inline python:Depends for networking-calico debian package
* DSVM CI test: run all Tempest scenario tests
* Update requirements to match OpenStack global requirements
* Debian packaging: remove pin on calico-felix < 1.5
* Pin kombu to < 4.0.0
* Support and document using Calico with Kuryr
* Get a minimal OpenStack CI DevStack/Tempest test passing
* Document Calico semantics and floating IP support
* Import constants from neutron-lib instead of neutron
* Default OS\_STDERR\_CAPTURE to 1, to see neutron-lib deprecation warnings
* Changed the home-page link
* DevStack: disable Neutron compute services on initial node
* DevStack: stop using Calico's python-etcd fork
* DevStack: change more 'calico's to 'calico-felix'

1.3.1
-----

* Version 1.3.1
* Restore RPM dependency on python-etcd
* Correctly handle etcd being stopped
* Import needed code from core Calico repo
* Add Python 3.5 classifier and venv
* Fix multiple interface prefixes support

1.3.0
-----

* Version 1.3.0
* Revert "DHCP agent: don't directly connect different subnets"
* Fix IPv6 router advertisements with multiple networks
* DevStack bootstrap: Provide Git user name/email config
* Enable usage reporting for Calico/OpenStack deployments
* DHCP agent log to /var/log/neutron instead of .../calico
* Fix order of arguments in assertEqual
* Support providing of custom etcd connection parameters for DHCP agent
* Avoid 'No handlers found' warnings in test run output
* Enable DeprecationWarning in test environments
* Host routes support
* Version 1.2.2
* Update CHANGES.md for new release
* DHCP agent: don't directly connect different subnets
* Ensure that log file directory exists

1.2.0
-----

* Ubuntu release 1:1.2.0-xenial
* Ubuntu release 1:1.2.0-trusty
* Version 1.2.0
* Add file handler for dhcp-agent log
* Gracefully handle absence of network\_device\_mtu option
* Use network MTU if network\_device\_mtu not set
* Fix NAT internal/external IP naming scheme
* Use proper interface of endpoint class from calico package
* Debian package version pinning
* Remove dependency on removed neutron.i18n module
* Prefix the profile IDs that we program into etcd
* Add systemd packaging for Calico DHCP agent on Ubuntu/Debian
* Rewrap all docs to 79 columns
* DevStack: Don't run calico-dhcp-agent with sudo
* Improve urllib3/requests unvendoring fix
* Use Neutron master for DevStack and testing, instead of Liberty
* Support master Neutron code (Mitaka) as well as previous releases
* DevStack script: better commenting of supported env. variables
* DevStack plugin: complete IPv6 support
* Adapt test code for recent change in common Calico code
* Update DevStack plugin settings for new Calico core plugin
* Add floating IP support in OpenStack plugin

1.1.3
-----

* Change default host for etcd connections from localhost to 127.0.0.1
* Make networking-calico RPM package depend on python-pbr
* Debian and RPM packaging for release
* Improve workaround for requests/urllib3 vendoring issue
* Debian and RPM packaging for release
* Don't automatically install and use Calico DHCP agent
* remove python 2.6 trove classifier
* py26/py33 are no longer supported by Infra's CI
* Add service framework around Calico DHCP agent
* Update test-requirements.txt to fix CI
* Fix handling of endpoint directory deletion
* Pass a string to delete\_onlink\_route instead of an IPNetwork
* New DHCP agent driven by etcd data instead of by Neutron RPC
* Python3: Keep compatibility with iteritems
* Update pbr requirement to match global-requirements
* Prevent concurrent initialisation of the mechanism driver
* Decouple status reporting from etcd polling
* Use standard logging in test code, instead of print
* Skip all ports in DHCP agents on different hosts
* Add TLS support to the Neutron driver's etcd connection
* Adjust tox and testr config to print coverage
* Fix deadlock in status reporting
* Reduce election refresh interval, handle EtcdEventIndexCleared
* Handle EtcdKeyNotFound in addition to EtcdCompareFailed
* Remove 'sqlalchemy' from requirements.txt
* Various leader election improvements:
* devstack/bootstrap.sh: Don't set SERVICE\_HOST
* Move Calico's mechanism driver to networking-calico
* Doc: add some implementation notes
* Doc: explain networking-calico, to an OpenStack-savvy audience

1.0.0
-----

* DevStack plugin doc: mention the bootstrap script
* DevStack bootstrap script: create a Calico network
* Add DevStack bootstrap script, and improve docs for first release
* DevStack plugin: support multiple nodes
* Remove python-etcd pin
* Improve README for using DevStack plugin
* Change ignore-errors to ignore\_errors
* Use Dnsmasq subclass to tweak dnsmasq options for IPv6
* Use 'master' branch of core Calico, instead of 'routed'
* Use vanilla upstream Neutron, now that DHCP patches are merged
* Devstack plugin: install new prerequisite: posix-spawn
* Modify interface driver to use 'bridged' instead of 'dnsmasq\_bind\_options'
* Removing unused dependency: discover
* Add Devstack plugin for networking-calico
* Fix 'networking-calico's that should be 'networking\_calico's
* Move interface.py to agent/linux/... position
* Add interface driver for DHCP for routed networking
* Initial Cookiecutter commit
* Added .gitreview
