mirror of https://github.com/docker/docker-py.git
465 lines
14 KiB
Markdown
465 lines
14 KiB
Markdown
Change Log
|
|
==========
|
|
|
|
0.7.3
|
|
-----
|
|
|
|
### Features
|
|
|
|
* Added support for `stats` API.
|
|
|
|
|
|
0.7.2
|
|
-----
|
|
|
|
### Features
|
|
|
|
* Added support for `mac_address` in `Client.create_container`
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug where streaming responses (`pull`, `push`, `logs`, etc.) were
|
|
unreliable (#300)
|
|
* Fixed a bug where resolve_authconfig wouldn't properly resolve configuration
|
|
for private repositories (#468)
|
|
* Fixed a bug where some errors wouldn't be properly constructed in
|
|
`client.py`, leading to unhelpful exceptions bubbling up (#466)
|
|
* Fixed a bug where `Client.build` would try to close context when externally
|
|
provided (`custom_context == True`) (#458)
|
|
* Fixed an issue in `create_host_config` where empty sequences wouldn't be
|
|
interpreted properly (#462)
|
|
|
|
### Miscellaneous
|
|
|
|
* Added `resolve_authconfig` tests.
|
|
|
|
0.7.1
|
|
-----
|
|
|
|
### Bugfixes
|
|
|
|
* `setup.py` now indicates a maximum version of requests to work around the
|
|
boot2docker / `assert_hostname` bug.
|
|
* Removed invalid exception when using the Registry Hub's FQDN when pulling.
|
|
* Fixed an issue where early HTTP errors weren't handled properly in streaming
|
|
responses.
|
|
* Fixed a bug where sockets would close unexpectedly using Python 3.x
|
|
* Various fixes for integration tests.
|
|
|
|
### Miscellaneous
|
|
|
|
* Small doc fixes
|
|
|
|
0.7.0
|
|
-----
|
|
|
|
### Breaking changes
|
|
|
|
* Passing `dns` or `volumes_from` in `Client.start` with API version < 1.10
|
|
will now raise an exception (previously only triggered a warning)
|
|
|
|
### Features
|
|
|
|
* Added support for `host_config` in `Client.create_container`
|
|
* Added utility method `docker.utils.create_host_config` to help build a
|
|
proper `HostConfig` dictionary.
|
|
* Added support for the `pull` parameter in `Client.build`
|
|
* Added support for the `forcerm` parameter in `Client.build`
|
|
* Added support for `extra_hosts` in `Client.start`
|
|
* Added support for a custom `timeout` in `Client.wait`
|
|
* Added support for custom `.dockercfg` loading in `Client.login`
|
|
(`dockercfg_path` argument)
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug where some output wouldn't be streamed properly in streaming
|
|
chunked responses
|
|
* Fixed a bug where the `devices` param didn't recognize the proper delimiter
|
|
* `Client.login` now properly expands the `registry` URL if provided.
|
|
* Fixed a bug where unicode characters in passed for `environment` in
|
|
`create_container` would break.
|
|
|
|
### Miscellaneous
|
|
|
|
* Several unit tests and integration tests improvements.
|
|
* `Client` constructor now enforces passing the `version` parameter as a
|
|
string.
|
|
* Build context files are now ordered by filename when creating the archive
|
|
(for consistency with docker mainline behavior)
|
|
|
|
0.6.0
|
|
-----
|
|
* **This version introduces breaking changes!**
|
|
|
|
### Breaking changes
|
|
|
|
* The default SSL protocol is now the highest TLS v1.x (was SSL v2.3 before)
|
|
(Poodle fix)
|
|
* The `history` command now returns a dict instead of a raw JSON string.
|
|
|
|
### Features
|
|
|
|
* Added the `execute` command.
|
|
* Added `pause` and `unpause` commands.
|
|
* Added support fo the `cpuset` param in `create_container`
|
|
* Added support for host devices (`devices` param in `start`)
|
|
* Added support for the `tail` param in `logs`.
|
|
* Added support for the `filters` param in `images` and `containers`
|
|
* The `kwargs_from_env` method is now available in the `docker.utils`
|
|
module. This should make it easier for boot2docker user to connect
|
|
to their daemon.
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug where empty directories weren't correctly included when
|
|
providing a context to `Client.build`.
|
|
* Fixed a bug where UNIX socket connections weren't properly cleaned up,
|
|
causing `ResourceWarning`s to appear in some cases.
|
|
* Fixed a bug where docker-py would crash if the docker daemon was stopped
|
|
while reading a streaming response
|
|
* Fixed a bug with streaming responses in Python 3
|
|
* `remove_image` now supports a dict containing an `Id` key as its `id`
|
|
parameter (similar to other methods requiring a resource ID)
|
|
|
|
### Documentation
|
|
|
|
* Added new MkDocs documentation. Currently hosted on
|
|
[ReadTheDocs](http://docker-py.readthedocs.org/en/latest/)
|
|
|
|
### Miscellaneous
|
|
|
|
* Added tests to sdist
|
|
* Added a Makefile for running tests in Docker
|
|
* Updated Dockerfile
|
|
|
|
0.5.3
|
|
-----
|
|
|
|
* Fixed attaching when connecting to the daemon over a UNIX socket.
|
|
|
|
0.5.2
|
|
-----
|
|
|
|
* Fixed a bug where sockets were closed immediately when attaching over
|
|
TLS.
|
|
|
|
0.5.1
|
|
-----
|
|
|
|
* Added a `assert_hostname` option to `TLSConfig` which can be used to
|
|
disable verification of hostnames.
|
|
* Fixed SSL not working due to an incorrect version comparison
|
|
* Fixed streams not working on Windows
|
|
|
|
0.5.0
|
|
-----
|
|
|
|
* **This version introduces breaking changes!**
|
|
* Added `insecure_registry` parameter in `Client.push` and `Client.pull`.
|
|
*It defaults to False and code pushing to non-HTTPS private registries
|
|
might break as a result.*
|
|
* Added support for adding and dropping capabilities
|
|
* Added support for restart policy
|
|
* Added support for string values in `Client.create_container`'s `mem_limit`
|
|
* Added support for `.dockerignore` file in `Client.build`
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed timeout behavior in `Client.stop`
|
|
|
|
### Miscellaneous
|
|
|
|
* `Client.create_container` provides better validation of the `volumes`
|
|
parameter
|
|
* Improved integration tests
|
|
|
|
0.4.0
|
|
-----
|
|
|
|
* **This version introduces breaking changes!**
|
|
* The `base_url` parameter in the `Client` constructor should now allow most
|
|
of the `DOCKER_HOST` environment values (except for the fd:// protocol)
|
|
* As a result, URLs that don't specify a port are now invalid (similar
|
|
to the official client's behavior)
|
|
* Added TLS support (see [documentation](https://github.com/dotcloud/docker-py#connection-to-daemon-using-https))
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed an issue with `Client.build` streamed logs in Python 3
|
|
|
|
### Miscellaneous
|
|
|
|
* Added unit tests coverage
|
|
* Various integration tests fixes
|
|
|
|
0.3.2
|
|
-----
|
|
|
|
* Default API version is now 1.12 (support for docker 1.0)
|
|
* Added new methods `Client.get_image` and `Client.load_image`
|
|
(`docker save` and `docker load`)
|
|
* Added new method `Client.ping`
|
|
* Added new method `Client.resize`
|
|
* `Client.build` can now be provided with a custom context using the
|
|
`custom_context` parameter.
|
|
* Added support for `memswap_limit` parameter in `create_container`
|
|
* Added support for `force` parameter in `remove_container`
|
|
* Added support for `force` and `noprune` parameters in `remove_image`
|
|
* Added support for `timestamps` parameter in `logs`
|
|
* Added support for `dns_search` parameter in `start`
|
|
* Added support for `network_mode` parameter in `start`
|
|
* Added support for `size` parameter in `containers`
|
|
* Added support for `volumes_from` and `dns` parameters in `start`. As of
|
|
API version >= 1.10, these parameters no longer belong to `create_container`
|
|
* `Client.logs` now uses the logs endpoint when API version is sufficient
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug in pull where the `repo:tag` notation wasn't interpreted
|
|
properly
|
|
* Fixed a bug in streaming methods with python 3 (unicode, bytes/str related)
|
|
* Fixed a bug in `Client.start` where legacy notation for volumes wasn't
|
|
supported anymore.
|
|
|
|
### Miscellaneous
|
|
|
|
* The client now raises `DockerException`s when appropriate. You can import
|
|
`DockerException` (and its subclasses) from the `docker.errors` module to
|
|
catch them if needed.
|
|
* `docker.APIError` has been moved to the new `docker.errors` module as well.
|
|
* `Client.insert` is deprecated in API version > 1.11
|
|
* Improved integration tests should now run much faster.
|
|
* There is now a single source of truth for the docker-py version number.
|
|
|
|
0.3.1
|
|
-----
|
|
|
|
* Default API version is now 1.9
|
|
* Streaming responses no longer yield blank lines.
|
|
* `Client.create_container` now supports the `domainname` parameter.
|
|
* `volumes_from` parameter in `Client.create_container` now supports
|
|
iterables.
|
|
* Auth credentials are provided to the docker daemon when using `Client.build`
|
|
(new feature in API version 1.9)
|
|
|
|
|
|
### Bugfixes
|
|
|
|
* Various fixes for response streams (`logs`, `pull`, etc.).
|
|
* Fixed a bug with `Client.push` when using API version < 1.5
|
|
* Fixed a bug with API version checks.
|
|
|
|
### Miscellaneous
|
|
|
|
* `mock` has been removed from the runtime requirements.
|
|
* Added installation instructions in the README.
|
|
|
|
0.3.0
|
|
-----
|
|
|
|
* **This version introduces breaking changes!**
|
|
* Support for API version 1.7 through 1.9 (Docker 0.8.0+)
|
|
* Default API version is now 1.8
|
|
* The client has been updated to support Requests 2.x. `requests==2.2.1`
|
|
is now the recommended version.
|
|
* Links can now be specified as tuples in `Client.start` (see docs for
|
|
more information)
|
|
* Added support for various options in `Client.create_container`
|
|
(`network_disabled`, `cpu_shares`, `working_dir` and `entrypoint`)
|
|
* `Client.attach` has been reworked to work similarly to `Client.logs`
|
|
minus the historical data.
|
|
* Logs can now be streamed using the `stream` parameter.
|
|
* Added support for `tcp://` URLs as client `base_url`.
|
|
* Various auth improvements.
|
|
* Added support for custom `Client.build` timeout.
|
|
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug where determining the protocol of a private registry
|
|
would sometimes yield the wrong result.
|
|
* Fixed a bug where `Client.copy` wouldn't accept a dict as argument.
|
|
* Fixed several streaming bugs.
|
|
* Removed unused parameter in `Client.import_image`.
|
|
* The client's `base_url` now tolerates trailing slashes.
|
|
|
|
#### Miscellaneous
|
|
|
|
* Updated integration tests
|
|
* Small doc fixes
|
|
|
|
0.2.3
|
|
-----
|
|
|
|
* Support for API version 1.6
|
|
* Added support for links
|
|
* Added support for global request timeout
|
|
* Added `signal` parameter in `Client.kill`
|
|
* Added support for `publish_all_ports` in `Client.start`
|
|
* `Client.pull`, `Client.push` and `Client.build` can be streamed now
|
|
* Added support for websockets in `Client.attach`
|
|
* Fixed ports for Docker 0.6.5+
|
|
* Added `Client.events` method (access to the `/events` endpoint)
|
|
* Changed the way the ports and volumes are provided in `Client.start` and
|
|
`Client.create_container̀` to make them simpler and more intuitive.
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug where private registries on HTTPS weren't handled properly
|
|
* Fixed a bug where auth would break with Python 3
|
|
|
|
### Miscellaneous
|
|
|
|
* Test improvements
|
|
* Slight doc improvements
|
|
|
|
|
|
0.2.2
|
|
-----
|
|
|
|
* Added support for the `rm` parameter in `Client.build`
|
|
* Added support for tarball imports in `Client.import_image` through `data`
|
|
parameter.
|
|
* The `command` parameter in `Client.create_container` is now optional (for
|
|
containers that include a default run command)
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed Python 3 support
|
|
* Fixed a bug where anonymous push/pull would break when no authconfig is
|
|
present
|
|
* Fixed a bug where the `quiet` parameter wouldn't be taken into account in
|
|
`Client.containers`
|
|
* Fixed a bug where `Client.push` would break when pushing to private
|
|
registries.
|
|
* Removed unused `registry` parameter in `Client.pull`.
|
|
* Removed obsolete custom error message in `Client.create_container`.
|
|
|
|
### Miscellaneous
|
|
|
|
* docker-py is now unit-tested, and Travis-CI has been enabled on the
|
|
source repository.
|
|
|
|
0.2.1
|
|
-----
|
|
|
|
* Improvements to the `tox.ini` file
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug where the package would fail with an `ImportError` if requests
|
|
was installed using `apt-get`
|
|
* Fixed a bug where `Client.build` would fail if given a `path` parameter.
|
|
* Fixed several bugs in `Client.login`. It should now work with API versions
|
|
1.4, 1.5.
|
|
* Please note that `Client.login` currently doesn't write auth to the
|
|
`.dockercfg` file, thus **auth is not persistent when using this method.**
|
|
|
|
0.2.0
|
|
-----
|
|
|
|
* **This version introduces breaking changes!**
|
|
* `Client.kill`, `Client.remove_container`, `Client.remove_image`,
|
|
`Client.restart`, `Client.start`, `Client.stop` and `Client.wait` don't support
|
|
varargs anymore.
|
|
* Added commands `Client.top` and `Client.copy`
|
|
* Added `lxc_conf` parameter to `Client.start`
|
|
* Added support for authentication in `Client.pull` (API version >=1.5)
|
|
* Added support for privileged containers.
|
|
* Error management overhaul. The new version should be more consistent and
|
|
* All methods that expected a container ID as argument now also support a dict
|
|
containing an `Id` key.
|
|
* Added license header to python files.
|
|
* Several `README.md` updates.
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed several bugs with auth config parsing.
|
|
* Fixed a bug in `Client.push` where it would raise an exception if
|
|
the auth config wasn't loaded.
|
|
* Fixed a bug in `Client.pull` where private registry images wouldn't be parsed
|
|
properly if it contained port information.
|
|
|
|
|
|
0.1.5
|
|
-----
|
|
|
|
* `Client.build` now uses tempfiles to store build context instead of storing
|
|
it in memory
|
|
* Added `nocache` option to `Client.build`
|
|
* `Client.remove_container` now raises an exception when trying to remove a
|
|
running container
|
|
* `Client.create_container` now accepts dicts for the `environment` parameter
|
|
|
|
### Bugfixes
|
|
|
|
* Fixed a bug in `Client.create_container` on Python 2.6 where unicode
|
|
commands would fail to be parsed
|
|
* Fixed a bug in `Client.build` where the `tag` parameter would not be taken
|
|
into account
|
|
|
|
0.1.4
|
|
-----
|
|
|
|
* Added support for API connection through UNIX socket (default for docker 0.5.2+)
|
|
|
|
0.1.3
|
|
-----
|
|
|
|
* The client now tries to load the auth config from `~/.dockercfg`. This is necessary to use the push command if API version is >1.0
|
|
|
|
0.1.2
|
|
-----
|
|
|
|
* Added a `quiet parameter` to `Client.build` (mirrors the `q` parameter in the API)
|
|
|
|
0.1.1
|
|
-----
|
|
|
|
* Fixed a bug where the build command would list tar contents before sending the request
|
|
* Fixed a bug in `Client.port`
|
|
|
|
|
|
0.1.0
|
|
-----
|
|
* **This version introduces breaking changes!**
|
|
* Switched to server side build system
|
|
* Removed the BuilderClient
|
|
* Added support for contextual builds
|
|
* Added support for remote URL builds
|
|
* Added python 3 support
|
|
* Added bind mounts support
|
|
* Added API version support
|
|
* Fixed a bug where `Client.port` would fail if provided with a port of type number
|
|
* Fixed a bug where `Client._post_json` wouldn't set the Content-Type header to `application/json`
|
|
|
|
0.0.6
|
|
-----
|
|
* Added support for custom loggers in `Client.build`
|
|
* Added `Client.attach` command
|
|
* Added support for `ADD` command in builder
|
|
* Fixed a bug in `Client.logs`
|
|
* Improved unit tests
|
|
|
|
|
|
0.0.5
|
|
-----
|
|
* Added tag support for the builder
|
|
* Use `shlex` to parse plain string commands when creating a container
|
|
* Fixed several bugs in the builder
|
|
* Fixed the `quiet` option in `Client.images`
|
|
* Unit tests
|
|
|
|
0.0.4
|
|
-----
|
|
* Improved error reporting
|
|
|
|
0.0.3
|
|
-----
|
|
* Fixed a bug in `Client.tag`
|
|
* Fixed a bug where generated images would be removed after a successful build
|
|
|
|
0.0.2
|
|
-----
|
|
* Implemented first version of the builder client
|