CHANGES
=======

2.0.7
-----

* Bump version to 2.0.7 for next point release
* Fix Operation class to allow unknown attributes

2.0.6
-----

* Require pyOpenSSL for older Python releases
* bump version to 2.0.6 prior to merge
* Fix up pep8 issues on cherry-pick 5904292b0
* Make models resilient to new attributes in LXD
* Support older versions of LXD
* Removing tox envs from travis cache
* Fix broken CI testing

2.0.5
-----

* Bump to 2.0.5
* Make ws4py an optional library

2.0.4
-----

* Warn but don't raise exception on unknown attributes
* Fix traceback when using when LXD 2.1
* Revert "Fix traceback when using when LXD 2.1"
* Fix traceback when using when LXD 2.1
* Add images.create\_from\_\* tests
* Add image.create\_from\_simplestreams and image.create\_from\_url
* Make auto\_update optional, fixes #165
* Add images.copy()
* Add a testcase for deleting aliases which are not in the current image
* Don't return self on image alias operations
* Add image aliases support
* Quote the path of unix endpoints
* Remove silly bit
* Third time's the charm
* Ugh. Missed the proper exception
* Add test for operation wait errors
* Also ignore sublime files
* Add the update\_source attribute images, fixes #158
* Bump version to 2.0.4
* Add support for container and snapshot publish

2.0.3
-----

* Add the ability to get an image by its alias (fixes #152)
* Add new docs
* Fix lint
* Fix for 2.0.3
* Remove unneeded/useless exceptions
* Add more tests for model (and fix a bug)
* Keep a list of all dirty attributes
* Remove \_\_dirty\_\_; opt for attributes keeping track of state
* Make migration work
* Fix broken merge
* Add rename support to Profile (fixes #148)
* Convert tests to use async
* Only \`wait\` if the response is async
* Update deprecated API calls in tests
* Fix unit and integration tests
* Fix integration test issues
* Remove calls to \`update\`, opting for \`save\`
* Convert Snapshot to the model API
* Update Container to the model api
* Update Image to the model api
* Convert the Profile to the model api
* Update Certificate to use the model code
* Explore sorting the certificate issue
* Don't if. It's a standard PEM format
* Fix the cert handling
* Fix lint
* Fix tests
* Fix busybox.obfuscate (closes #143)
* \`delete\` and \`save\` are not allowed in networks
* sync should be covered by test coverage
* Add support for /1.0/networks
* Add the model
* Add coverage (why wasn't it already there?)
* Fix lint
* Remove deprecated codepaths from the integration tests
* Pin ws4py to not use 0.3.5
* Add explanatory note for the req-unixsockets version dependency
* Revert "Add integration test for HTTP\_PROXY environment variable"
* Require latest version of requests-unixsocket
* Add integration test for HTTP\_PROXY environment variable
* Remove stale comment
* Add stub for migration
* Add Authentication doc to index
* Add docs for how authentication works with LXD
* Move Client.authenticated to Client.trusted
* Fix lint
* Whitespace..
* Add support for certificate authentication
* Bump version

2.0.2
-----

* Add license
* Add test coverage for Operation
* Fix lint
* Oops. Forgot to remove references to Waitable
* Remove Waitable entirely
* Remove Waitable.get\_operation
* Fix lint
* Use Operation
* Remove XXX comment
* Fix execute
* Unify the websocket url logic
* Add integration test
* Fix lint
* Add tests for websocket events
* Add documentation for websocket events support
* Add websocket events support
* Add more tests for container state
* Increase test coverage for pylxd.image
* Add image export support with accompanying tests
* Update client back to 100% coverage
* Fix lint
* More test coverage, specific to the patch
* Add test coverage (to satisfy codecov)
* Update client tests for more coverage
* Fix lint
* Fix the unit tests
* Add response assertions for lxd
* Fix container test to be able to run in parallel
* Fix lint
* Update mock\_lxd to look more like lxd
* Fix profile integration tests
* Fix test\_images integration tests
* Fix the container integration tests
* Update host cache based on feedback
* Cache LXD host info
* Add coverage exclusions
* Add a manager-esque FilesManager to namespace files
* Update the mock service to be more strict
* Don't run coverage on a method that raises an exception
* Refactor the manager protocol to be a little cleaner
* Use the new deprecated decorator
* Add documentation for the snapshots manager
* Don't worry about coverage in \`deprecated\`
* Change all internal instances of \`Container.reload\` to \`Container.fetch\`
* Fix pep8
* Add a deprecated decorator
* Fix pep8
* Update for future development
* Add Container.snapshots manager API
* Remove HACKING (it's unneeded)
* Add more changes based on a local build of the docs
* Add documentation for the other objects
* Update usage docs for containers
* Update installation doc
* Update skeleton copyright (not OpenStack Foundation)
* Update contributing document
* Update README.rst

2.0.1
-----

* Release of pylxd 2.0.1
* Remove \`Profile.rename\` code; add a test
* Add Image.fetch and impartial image state knowledge to Image
* Implement ObjectIncomplete exception on \`Container.update\`
* Implement fetch for Profile
* Add test for issue #110
* Add certificate handling for LXD over https
* Delete redundant tests
* Fix https connection
* Removed some duplicated logic
* Don't regress on test coverage
* Consolidate ContainerState into pylxd.container
* Use python 3.5
* Fix travis run
* Add coverage report to tox
* Small typo fixed
* Add some stinkin' badges
* Add codecov.io integration
* Fix pep8
* Add data to the exceptions, so they can be explored better
* Allow specification of devices in a profile
* Add new exceptions to Profile and Image
* Add CreateFailed exception to Container
* Raise NotFound when the container isn't found, rather than NameError
* Add \`pylxd.client.Client\` to \`pylxd.Client\`
* Add validation to the \`pylxd.Client\` creation
* Make architecture a string type
* status is a string now
* Documentation improvements
* Travis.yml update
* Remove module that breaks autodoc
* Update tests and code for issues found in updating example
* Update api example for PyLXD 2.0 API
* Add new pylxd unittests
* Add more coverage settings
* Fix the DEFAULT\_TLS\_VERSION holes
* Add tests for pylxd.client
* Fix a bug with LXD\_DIR in the lxd client
* Update README to display instructions of installing
* Add basic API documentation
* Fix documentation
* No py34, just py3
* python3: Fix use of iteritems
* python3: Fix use of urllib quote
* Tag 2.0.0
* Container methods fixed for freeze, unfreeze and restart
* Fix six.PY34 into six.PY3
* Fix pep8
* Add host config API call
* Grab the certificate of the host
* Fix container migration

2.0.0b2
-------

* Bump to 2.0.0b2
* Fix formatting file for travis
* Add state function on container to return state with network. ex: container.state().network['eth0']
* Fix change "creation\_date" to "created\_at"

2.0.0b1
-------

* Bump version 2.0.0b
* Move pylxd.tests to pylxd.deprecated.tests
* Move pylxd.profiles pylxd.profile
* Move pylxd.profiles.LXDProfile to pylxd.deprecated.profiles
* Move pylxd.operation.LXDOperation to pylxd.deprecated.operation
* Move pylxd.image.LXDImage to pylxd.deprecated.image
* Move pylxd.network import pylxd.deprecated.network
* Move pylxd.hosts to pylxd.deprecated.hosts
* Move pylxd.exceptions to pylxd.deprecated.exceptions
* Move pylxd.utils to pylxd.deprecated.utils
* Move pylxd.connection import pylxd.deprecated.connection
* Move pylxd.certificate to pylxd.deprecated.certificate
* Move pylxd.container.LXDContainer to pylxd.deprecated.container
* Move base to deprecated
* API now raises a DeprecationWarning
* Move api to the deprecated module
* Add docstrings
* We support python 3 lol
* Head and shoulders
* Fixed the APINode tests
* Cleanup the convenience/wrapper classes in Client
* Move Operation to its final place
* Move Image to its final spot
* Move Profile to its final spot
* Move Container to its final spot
* Fix the integration tests
* Add tests and functionality for profiles
* Update the create\_image use for multiple return values
* Add support for updating/deleting images
* Get the basic Images skeleton working
* Change the way that test objects are named
* Fully functional Container class
* Remove redundant tests
* Get the first of the integration tests working
* Fix integration tests
* Move \_APINode
* Initial skeleton for 2.0 api
* Add more integration tests
* Add integration tests for containers
* Support python 3.4+
* Update requests to not conflict
* Ugh. So many things, but just remove openstack junk
* No pypy
* Upgrade pypy
* Update travis config
* Upgrade ostestr
* Blacklist with travis as well..
* Blacklist the integration tests
* Fix lint
* Add integration tests
* Add support for unix sockets and post
* Add better docs for APINode
* Add APINode class, with accompanying tests
* Add requests library to dependencies
* Update timeout usage
* Remove override of close() in WebSocketClient
* Start next release

0.19
----

* Bump to v0.19
* Remove get\_ws() method stub with real websocket implementation
* Update requirements
* Detect SSL TLS version
* Add pyopenssl to requirements
* Refactor LXDConnection http requests
* Fix issue in LXDContainer.container\_running() method
* faster behavior for determining if a container is defined
* update version to keep tox happy
* refer to the operation by its URL always

0.18
----

* Bump to 0.18
* Bump the version
* Automatically populate container\_migrate metadata
* Use os-testr for test suite execution
* Update the docs, add travis status indicator
* Switch to using get\_object in image\_upload
* Container state
* Bump to 0.17
* fix pep8
* Fix tests for python34
* fix syntax typo
* fix operation\_test
* Fixup failing container migration test
* Fixup test failures due to passing {} for default headers
* Revert "Use object rather than status."
* Ensure that an empty dict is passed by default
* Tidy all pep8 warnings and errors
* Revert from using eventlet directly, avoiding hard link to async framework
* Use correct octal literal (not hex)
* weak ordering of parameters in expected test results
* Revert "Return metadata for container\_state"
* Add force attribue to test\_container\_actions
* Add missing dependency to requirements.txt on eventlet, fixup py3 syntax
* Ensure TLS 1.2 protocol is enforced when communicating with LXD over HTTPS
* Add container sync
* wire up local move
* Fix requirements
* Add container move local
* Add container\_local\_copy
* Fix bad merge
* Use eventlet green for httplib and socket
* switch to eventlet patcher
* fix typo
* add websocket stream
* Return metadata for container\_state
* Add container\_info
* Add websocket support
* Removed unnecessary file close
* Add .travis.yml
* Implement container file upload
* Use object rather than status
* Tag 0.16
* Fix more typos
* Fix typo
* Add image headers
* Container copy doesnt send criu
* Force the container action
* Update container migration
* fix up CONTRIBUTING.rst
* Add tests for info, config and migrate calls
* Fix typo
* Fix coveragerc
* Fix typo
* Add container\_migrate
* Add container\_info
* Fix spelling typo
* Add support for 'lxc info'
* tag 0.13
* Sync requirements
* Fix test\_https\_proxy\_connection assertion
* Fix certificates list
* Refactor profiles tests to reduce copypasta
* Refactor operation tests to reduce copypasta
* Refactor network tests to reduce copypasta
* Refactor image alias tests to reduce copypasta
* Refactor host tests to reduce copypasta
* Refactor container tests to reduce copypasta
* Refactor certificate test to use LXDAPITestBase
* Fix image test rename
* Refactor image tests to reduce copypasta
* Use \_once\_ and add asserts to container tests
* Fix image size calculation in py3
* API.profile\_rename is implemented, in fact
* Refactor image alias tests
* Fix LXDAlias.alias\_{update,rename}
* Fix LXDAlias.alias\_defined
* Refactor alias tests
* Add image export fail test and add a call assert
* Add file upload test
* Add failed image operations tests
* Fix image\_{update,rename} calls
* Refactor image operations tests
* Drop image\_defined function
* Fix get\_image\_size
* Add image info tests
* Refactor image date tests
* Refactor and improve image info test
* Fix LXDImage.image\_defined
* Refactor base image tests
* Refactor and complete host test
* Add LXDConnection.get\_ tests
* Add base connection tests
* Fix host\_ping tests
* Introduce base exceptions.PyLXDException
* Fix test\_container\_run\_command
* Use six.moves.urllib for urlencode
* Make operation tests timezone-aware
* Fix network list
* Add network tests
* Add operation tests
* Fix LXDProfile.profile\_rename raise
* Add profile tests
* Add certificate API tests
* Add container\_run\_command test
* Fix typos in LXDContainer.container\_snapshot\_\*
* Add container snapshots tests
* Fix LXDContainer.put\_container\_file() raise
* Add container file operations tests
* Fix LXDContainer.container\_running
* Add container api tests
* Add annotated\_data decorator
* Add missing alias tests
* Add missing image tests
* Improve api coverage
* Use absolute imports for py3 compatibility
* Use six.moves.http\_client for py3 compatibility
* Fix PEP8 errors
* Fix test\_image mocks to use get\_object
* Fix test\_image\_alias fake data
* Fix test\_image\_upload\_date for timezone difference
* tag 0.12
* Fi alias listing
* Fix contianer -> container
* Fix enviorn -> environ
* fix alias list
* Add more tests
* Remove functional tests
* Update tests
* Fix image\_defined
* Add more hosts tests
* Add more host tests
* Add missing file
* Re-do unittests
* fix container status
* Add container\_update
* Fix get\_status
* Improve error checking
* Add alias existance
* raise more useful exception
* Add certificate unit tests
* Drop unused imports
* Fix typo
* Check for existance
* Fix image\_defined
* Various fixes
* Update profile usage
* Fix up hosts
* Fix some bugs add lxd\_version
* fix image export; allow image upload from blob
* add support for connecting to remote LXD hosts
* fix typo in run\_command
* fix date parsing and typo
* Add exec support
* Add snapshot support
* Add support for contiainer\_running
* container\_defined
* Add container timeout
* Add container defined
* Fix typo in operations
* update requiremets.txt to fix a bug. Fixes #3
* remove oslo\_utils and calculate the size directly. Fixes #4
* Fix get\_status
* Changes the old print to the new print compatible with py2 and py3 and changes the error messages to reflect the actual error

0.1
---

* Add missing example
* Update Readme
* Add example and various fix ups for example
* wire up more containers
* Add version and container support
* fix typos
* Wire up certificates
* Fix up pep8 warnings
* Wire up profiles
* rename client to API
* wire up operation
* wire up network
* Wire up image alias
* Wire up images
* Wire up hosts
* Fix warnings and pep8 issues
* Refactor pylxd connection
* image updates
* fix typos
* add kernel and lxc version
* more refactoring
* more refactoring
* refactor hosts again
* fix typo
* add trust info
* break out host info
* start wiring up host\_info
* fix exception handling
* more smarts for host\_up
* Fix host ping
* fix typo
* wire up a bit harder
* Wire up ping
* Fix typo
* Fix hosts
* Add host\_ping example
* Add skeleton
* Update connections info
* Initial commit
* Initial Cookiecutter Commit
