| Change log |
| ========== |
| |
| 4.4.3 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/72?closed=1) |
| |
| ### Bugfixes |
| - Fix SSH port parsing when shelling out to the ssh client |
| |
| 4.4.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/71?closed=1) |
| |
| ### Bugfixes |
| - Fix SSH connection bug where the hostname was incorrectly trimmed and the error was hidden |
| - Fix docs example |
| |
| ### Miscellaneous |
| - Add Python3.8 and 3.9 in setup.py classifier list |
| |
| 4.4.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/69?closed=1) |
| |
| ### Bugfixes |
| - Avoid setting unsuported parameter for subprocess.Popen on Windows |
| - Replace use of deprecated "filter" argument on ""docker/api/image" |
| |
| 4.4.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/67?closed=1) |
| |
| ### Features |
| - Add an alternative SSH connection to the paramiko one, based on shelling out to the SSh client. Similar to the behaviour of Docker cli |
| - Default image tag to `latest` on `pull` |
| |
| ### Bugfixes |
| - Fix plugin model upgrade |
| - Fix examples URL in ulimits |
| |
| ### Miscellaneous |
| - Improve exception messages for server and client errors |
| - Bump cryptography from 2.3 to 3.2 |
| |
| 4.3.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/68?closed=1) |
| |
| ### Miscellaneous |
| - Set default API version to `auto` |
| - Fix conversion to bytes for `float` |
| - Support OpenSSH `identityfile` option |
| |
| 4.3.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/64?closed=1) |
| |
| ### Features |
| - Add `DeviceRequest` type to expose host resources such as GPUs |
| - Add support for `DriverOpts` in EndpointConfig |
| - Disable compression by default when using container.get_archive method |
| |
| ### Miscellaneous |
| - Update default API version to v1.39 |
| - Update test engine version to 19.03.12 |
| |
| 4.2.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/66?closed=1) |
| |
| ### Bugfixes |
| |
| - Fix context load for non-docker endpoints |
| |
| 4.2.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/65?closed=1) |
| |
| ### Features |
| |
| - Add option on when to use `tls` on Context constructor |
| - Make context orchestrator field optional |
| |
| 4.2.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/63?closed=1) |
| |
| ### Bugfixes |
| |
| - Fix `win32pipe.WaitNamedPipe` throw exception in Windows containers |
| - Use `Hostname`, `Username`, `Port` and `ProxyCommand` settings from `.ssh/config` when on SSH |
| - Set host key policy for ssh transport to `paramiko.WarningPolicy()` |
| - Set logging level of `paramiko` to warn |
| |
| ### Features |
| |
| - Add support for docker contexts through `docker.ContextAPI` |
| |
| 4.1.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/61?closed=1) |
| |
| ### Bugfixes |
| |
| - Correct `INDEX_URL` logic in build.py _set_auth_headers |
| - Fix for empty auth keys in config.json |
| |
| ### Features |
| |
| - Add `NetworkAttachmentConfig` for service create/update |
| |
| ### Miscellaneous |
| |
| - Bump pytest to 4.3.1 |
| - Adjust `--platform` tests for changes in docker engine |
| - Update credentials-helpers to v0.6.3 |
| |
| 4.0.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/62?closed=1) |
| |
| ### Bugfixes |
| |
| - Unified the way `HealthCheck` is created/configured |
| |
| ### Miscellaneous |
| |
| - Bumped version of websocket-client |
| |
| 4.0.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/60?closed=1) |
| |
| ### Bugfixes |
| |
| - Fixed an obsolete import in the `credentials` subpackage that caused import errors in |
| Python 3.7 |
| |
| ### Miscellaneous |
| |
| - Docs building has been repaired |
| |
| 4.0.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/57?closed=1) |
| |
| ### Breaking changes |
| |
| - Support for Python 3.3 and Python 3.4 has been dropped |
| - `APIClient.update_service`, `APIClient.init_swarm`, and |
| `DockerClient.swarm.init` now return a `dict` from the API's response body |
| - In `APIClient.build` and `DockerClient.images.build`, the `use_config_proxy` |
| parameter now defaults to True |
| - `init_path` is no longer a valid parameter for `HostConfig` |
| |
| ### Features |
| |
| - It is now possible to provide `SCTP` ports for port mappings |
| - `ContainerSpec`s now support the `init` parameter |
| - `DockerClient.swarm.init` and `APIClient.init_swarm` now support the |
| `data_path_addr` parameter |
| - `APIClient.update_swarm` and `DockerClient.swarm.update` now support the |
| `rotate_manager_unlock_key` parameter |
| - `APIClient.update_service` returns the API's response body as a `dict` |
| - `APIClient.init_swarm`, and `DockerClient.swarm.init` now return the API's |
| response body as a `dict` |
| |
| ### Bugfixes |
| |
| - Fixed `PlacementPreference` instances to produce a valid API type |
| - Fixed a bug where not setting a value for `buildargs` in `build` could cause |
| the library to attempt accessing attributes of a `None` value |
| - Fixed a bug where setting the `volume_driver` parameter in |
| `DockerClient.containers.create` would result in an error |
| - `APIClient.inspect_distribution` now correctly sets the authentication |
| headers on the request, allowing it to be used with private repositories |
| This change also applies to `DockerClient.get_registry_data` |
| |
| 3.7.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/59?closed=1) |
| |
| ### Bugfixes |
| |
| * Fix base_url to keep TCP protocol on utils.py by letting the responsibility of changing the |
| protocol to `parse_host` afterwards, letting `base_url` with the original value. |
| * XFAIL test_attach_stream_and_cancel on TLS |
| |
| 3.7.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/58?closed=1) |
| |
| ### Bugfixes |
| |
| * Set a different default number (which is now 9) for SSH pools |
| * Adds a BaseHTTPAdapter with a close method to ensure that the |
| pools is clean on close() |
| * Makes SSHHTTPAdapter reopen a closed connection when needed |
| like the others |
| |
| 3.7.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/56?closed=1) |
| |
| ### Features |
| |
| * Added support for multiplexed streams (for `attach` and `exec_start`). Learn |
| more at https://docker-py.readthedocs.io/en/stable/user_guides/multiplex.html |
| * Added the `use_config_proxy` parameter to the following methods: |
| `APIClient.build`, `APIClient.create_container`, `DockerClient.images.build` |
| and `DockerClient.containers.run` (`False` by default). **This parameter** |
| **will become `True` by default in the 4.0.0 release.** |
| * Placement preferences for Swarm services are better validated on the client |
| and documentation has been updated accordingly |
| |
| ### Bugfixes |
| |
| * Fixed a bug where credential stores weren't queried for relevant registry |
| credentials with certain variations of the `config.json` file. |
| * `DockerClient.swarm.init` now returns a boolean value as advertised. |
| |
| 3.6.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone=55?closed=1) |
| |
| ### Features |
| |
| * Added support for connecting to the Docker Engine over SSH. Additional |
| dependencies for this feature can be installed with |
| `pip install "docker[ssh]"` |
| * Added support for the `named` parameter in `Image.save`, which may be |
| used to ensure the resulting tarball retains the image's name on save. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where builds on Windows with a context path using the `\\?\` |
| prefix would fail with some relative Dockerfile paths. |
| * Fixed an issue where pulls made with the `DockerClient` would fail when |
| setting the `stream` parameter to `True`. |
| |
| ### Miscellaneous |
| |
| * The minimum requirement for the `requests` dependency has been bumped |
| to 2.20.0 |
| |
| 3.5.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/54?closed=1) |
| |
| ### Miscellaneous |
| |
| * Bumped version of `pyOpenSSL` in `requirements.txt` and `setup.py` to prevent |
| installation of a vulnerable version |
| |
| * Docs fixes |
| |
| 3.5.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/53?closed=1) |
| |
| ### Deprecation warning |
| |
| * Support for Python 3.3 will be dropped in the 4.0.0 release |
| |
| ### Features |
| |
| * Updated dependencies to ensure support for Python 3.7 environments |
| * Added support for the `uts_mode` parameter in `HostConfig` |
| * The `UpdateConfig` constructor now allows `rollback` as a valid |
| value for `failure_action` |
| * Added support for `rollback_config` in `APIClient.create_service`, |
| `APIClient.update_service`, `DockerClient.services.create` and |
| `Service.update`. |
| |
| ### Bugfixes |
| |
| * Credential helpers are now properly leveraged by the `build` method |
| * Fixed a bug that caused placement preferences to be ignored when provided |
| to `DockerClient.services.create` |
| * Fixed a bug that caused a `user` value of `0` to be ignored in |
| `APIClient.create_container` and `DockerClient.containers.create` |
| |
| 3.4.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/52?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug that caused auth values in config files written using one of the |
| legacy formats to be ignored |
| * Fixed issues with handling of double-wildcard `**` patterns in |
| `.dockerignore` files |
| |
| 3.4.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/51?closed=1) |
| |
| ### Features |
| |
| * The `APIClient` and `DockerClient` constructors now accept a `credstore_env` |
| parameter. When set, values in this dictionary are added to the environment |
| when executing the credential store process. |
| |
| ### Bugfixes |
| |
| * `DockerClient.networks.prune` now properly returns the operation's result |
| * Fixed a bug that caused custom Dockerfile paths in a subfolder of the build |
| context to be invalidated, preventing these builds from working |
| * The `plugin_privileges` method can now be called for plugins requiring |
| authentication to access |
| * Fixed a bug that caused attempts to read a data stream over an unsecured TCP |
| socket to crash on Windows clients |
| * Fixed a bug where using the `read_only` parameter when creating a service using |
| the `DockerClient` was being ignored |
| * Fixed an issue where `Service.scale` would not properly update the service's |
| mode, causing the operation to fail silently |
| |
| 3.3.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/49?closed=1) |
| |
| ### Features |
| |
| * Added support for `prune_builds` in `APIClient` and `DockerClient.images` |
| * Added support for `ignore_removed` parameter in |
| `DockerClient.containers.list` |
| |
| ### Bugfixes |
| |
| * Fixed an issue that caused builds to fail when an in-context Dockerfile |
| would be specified using its absolute path |
| * Installation with pip 10.0.0 and above no longer fails |
| * Connection timeout for `stop` and `restart` now gets properly adjusted to |
| allow for the operation to finish in the specified time |
| * Improved docker credential store support on Windows |
| |
| 3.2.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/50?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug with builds not properly identifying Dockerfile paths relative |
| to the build context |
| * Fixed an issue where builds would raise a `ValueError` when attempting to |
| build with a Dockerfile on a different Windows drive. |
| |
| 3.2.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/45?closed=1) |
| |
| ### Features |
| |
| * Generators returned by `attach()`, `logs()` and `events()` now have a |
| `cancel()` method to let consumers stop the iteration client-side. |
| * `build()` methods can now handle Dockerfiles supplied outside of the |
| build context. |
| * Added `sparse` argument to `DockerClient.containers.list()` |
| * Added `isolation` parameter to `build()` methods. |
| * Added `close()` method to `DockerClient` |
| * Added `APIClient.inspect_distribution()` method and |
| `DockerClient.images.get_registry_data()` |
| * The latter returns an instance of the new `RegistryData` class |
| |
| 3.1.4 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/48?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where build contexts containing directory symlinks would produce |
| invalid tar archives |
| |
| 3.1.3 |
| ----- |
| |
| ### Bugfixes |
| |
| * Regenerated invalid wheel package |
| |
| 3.1.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/47?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug that led to a Dockerfile not being included in the build context |
| in some situations when the Dockerfile's path was prefixed with `./` |
| |
| 3.1.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/46?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug that caused costly DNS lookups on Mac OSX when connecting to the |
| engine through UNIX socket |
| * Fixed a bug that caused `.dockerignore` comments to be read as exclusion |
| patterns |
| |
| 3.1.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/44?closed=1) |
| |
| ### Features |
| |
| * Added support for `device_cgroup_rules` in host config |
| * Added support for `generic_resources` when creating a `Resources` |
| object. |
| * Added support for a configurable `chunk_size` parameter in `export`, |
| `get_archive` and `get_image` (`Image.save`) |
| * Added a `force_update` method to the `Service` class. |
| * In `Service.update`, when the `force_update` parameter is set to `True`, |
| the current `force_update` counter is incremented by one in the update |
| request. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where authentication through `login()` was being ignored if the |
| SDK was configured to use a credential store. |
| * Fixed a bug where download methods would use an absurdly small chunk size, |
| leading to slow data retrieval |
| * Fixed a bug where using `DockerClient.images.pull` to pull an image by digest |
| would lead to an exception being raised. |
| * `.dockerignore` rules should now be respected as defined by the spec, |
| including respect for last-line precedence and proper handling of absolute |
| paths |
| * The `pass` credential store is now properly supported. |
| |
| 3.0.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/43?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where `APIClient.login` didn't populate the `_auth_configs` |
| dictionary properly, causing subsequent `pull` and `push` operations to fail |
| * Fixed a bug where some build context files were incorrectly recognized as |
| being inaccessible. |
| * Fixed a bug where files with a negative mtime value would |
| cause errors when included in a build context |
| |
| 3.0.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/39?closed=1) |
| |
| ### Breaking changes |
| |
| * Support for API version < 1.21 has been removed. |
| * The following methods have been removed: |
| * `APIClient.copy` has been removed. Users should use `APIClient.get_archive` |
| instead. |
| * `APIClient.insert` has been removed. Users may use `APIClient.put_archive` |
| combined with `APIClient.commit` to replicate the method's behavior. |
| * `utils.ping_registry` and `utils.ping` have been removed. |
| * The following parameters have been removed: |
| * `stream` in `APIClient.build` |
| * `cpu_shares`, `cpuset`, `dns`, `mem_limit`, `memswap_limit`, |
| `volume_driver`, `volumes_from` in `APIClient.create_container`. These are |
| all replaced by their equivalent in `create_host_config` |
| * `insecure_registry` in `APIClient.login`, `APIClient.pull`, |
| `APIClient.push`, `DockerClient.images.push` and `DockerClient.images.pull` |
| * `viz` in `APIClient.images` |
| * The following parameters have been renamed: |
| * `endpoint_config` in `APIClient.create_service` and |
| `APIClient.update_service` is now `endpoint_spec` |
| * `name` in `DockerClient.images.pull` is now `repository` |
| * The return value for the following methods has changed: |
| * `APIClient.wait` and `Container.wait` now return a ``dict`` representing |
| the API's response instead of returning the status code directly. |
| * `DockerClient.images.load` now returns a list of `Image` objects that have |
| for the images that were loaded, instead of a log stream. |
| * `Container.exec_run` now returns a tuple of (exit_code, output) instead of |
| just the output. |
| * `DockerClient.images.build` now returns a tuple of (image, build_logs) |
| instead of just the image object. |
| * `APIClient.export`, `APIClient.get_archive` and `APIClient.get_image` now |
| return generators streaming the raw binary data from the server's response. |
| * When no tag is provided, `DockerClient.images.pull` now returns a list of |
| `Image`s associated to the pulled repository instead of just the `latest` |
| image. |
| |
| ### Features |
| |
| * The Docker Python SDK is now officially supported on Python 3.6 |
| * Added `scale` method to the `Service` model ; this method is a shorthand |
| that calls `update_service` with the required number of replicas |
| * Added support for the `platform` parameter in `APIClient.build`, |
| `DockerClient.images.build`, `APIClient.pull` and `DockerClient.images.pull` |
| * Added support for the `until` parameter in `APIClient.logs` and |
| `Container.logs` |
| * Added support for the `workdir` argument in `APIClient.exec_create` and |
| `Container.exec_run` |
| * Added support for the `condition` argument in `APIClient.wait` and |
| `Container.wait` |
| * Users can now specify a publish mode for ports in `EndpointSpec` using |
| the `{published_port: (target_port, protocol, publish_mode)}` syntax. |
| * Added support for the `isolation` parameter in `ContainerSpec`, |
| `DockerClient.services.create` and `Service.update` |
| * `APIClient.attach_socket`, `APIClient.exec_create` now allow specifying a |
| `detach_keys` combination. If unspecified, the value from the `config.json` |
| file will be used |
| * TLS connections now default to using the TLSv1.2 protocol when available |
| |
| |
| ### Bugfixes |
| |
| * Fixed a bug where whitespace-only lines in `.dockerignore` would break builds |
| on Windows |
| * Fixed a bug where broken symlinks inside a build context would cause the |
| build to fail |
| * Fixed a bug where specifying volumes with Windows drives would cause |
| incorrect parsing in `DockerClient.containers.run` |
| * Fixed a bug where the `networks` data provided to `create_service` and |
| `update_service` would be sent incorrectly to the Engine with API < 1.25 |
| * Pulling all tags from a repository with no `latest` tag using the |
| `DockerClient` will no longer raise a `NotFound` exception |
| |
| 2.7.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/41?closed=1) |
| |
| ### Features |
| |
| * Added `unlock_swarm` and `get_unlock_key` methods to the `APIClient`. |
| * Added `unlock` and `get_unlock_key` to `DockerClient.swarm`. |
| * Added a `greedy` parameter to `DockerClient.networks.list`, yielding |
| additional details about the listed networks. |
| * Added `cpu_rt_runtime` and `cpu_rt_period` as parameters to |
| `APIClient.create_host_config` and `DockerClient.containers.run`. |
| * Added the `order` argument to `UpdateConfig`. |
| * Added `fetch_current_spec` to `APIClient.update_service` and `Service.update` |
| that will retrieve the current configuration of the service and merge it with |
| the provided parameters to determine the new configuration. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where the `build` method tried to include inaccessible files |
| in the context, leading to obscure errors during the build phase |
| (inaccessible files inside the context now raise an `IOError` instead). |
| * Fixed a bug where the `build` method would try to read from FIFOs present |
| inside the build context, causing it to hang. |
| * `APIClient.stop` will no longer override the `stop_timeout` value present |
| in the container's configuration. |
| * Fixed a bug preventing removal of networks with names containing a space. |
| * Fixed a bug where `DockerClient.containers.run` would crash if the |
| `auto_remove` parameter was set to `True`. |
| * Changed the default value of `listen_addr` in `join_swarm` to match the |
| one in `init_swarm`. |
| * Fixed a bug where handling HTTP errors with no body would cause an unexpected |
| exception to be thrown while generating an `APIError` object. |
| |
| 2.6.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/40?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug on Python 3 installations preventing the use of the `attach` and |
| `exec_run` methods. |
| |
| |
| 2.6.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/38?closed=1) |
| |
| ### Features |
| |
| * Added support for `mounts` in `APIClient.create_host_config` and |
| `DockerClient.containers.run` |
| * Added support for `consistency`, `tmpfs_size` and `tmpfs_mode` when |
| creating mount objects. |
| * `Mount` objects now support the `tmpfs` and `npipe` types. |
| * Added support for `extra_hosts` in the `build` methods. |
| * Added support for the configs API: |
| * In `APIClient`: `create_config`, `inspect_config`, `remove_config`, |
| `configs` |
| * In `DockerClient`: `configs.create`, `configs.get`, `configs.list` and |
| the `Config` model. |
| * Added `configs` parameter to `ContainerSpec`. Each item in the `configs` |
| list must be a `docker.types.ConfigReference` instance. |
| * Added support for the following parameters when creating a `ContainerSpec` |
| object: `groups`, `open_stdin`, `read_only`, `stop_signal`, `helathcheck`, |
| `hosts`, `ns_config`, `configs`, `privileges`. |
| * Added the following configuration classes to `docker.types`: |
| `ConfigReference`, `DNSConfig`, `Privileges`, `SwarmExternalCA`. |
| * Added support for `driver` in `APIClient.create_secret` and |
| `DockerClient.secrets.create`. |
| * Added support for `scope` in `APIClient.inspect_network` and |
| `APIClient.create_network`, and their `DockerClient` equivalent. |
| * Added support for the following parameters to `create_swarm_spec`: |
| `external_cas`, `labels`, `signing_ca_cert`, `signing_ca_key`, |
| `ca_force_rotate`, `autolock_managers`, `log_driver`. These additions |
| also apply to `DockerClient.swarm.init`. |
| * Added support for `insert_defaults` in `APIClient.inspect_service` and |
| `DockerClient.services.get`. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where reading a 0-length frame in log streams would incorrectly |
| interrupt streaming. |
| * Fixed a bug where the `id` member on `Swarm` objects wasn't being populated. |
| * Fixed a bug that would cause some data at the beginning of an upgraded |
| connection stream (`attach`, `exec_run`) to disappear. |
| |
| 2.5.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/37?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where patterns ending with `**` in `.dockerignore` would |
| raise an exception |
| * Fixed a bug where using `attach` with the `stream` argument set to `False` |
| would raise an exception |
| |
| 2.5.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/34?closed=1) |
| |
| ### Features |
| |
| * Added support for the `squash` parameter in `APIClient.build` and |
| `DockerClient.images.build`. |
| * When using API version 1.23 or above, `load_image` will now return a |
| generator of progress as JSON `dict`s. |
| * `remove_image` now returns the content of the API's response. |
| |
| |
| ### Bugfixes |
| |
| * Fixed an issue where the `auto_remove` parameter in |
| `DockerClient.containers.run` was not taken into account. |
| * Fixed a bug where `.dockerignore` patterns starting with a slash |
| were ignored. |
| * Fixed an issue with the handling of `**` patterns in `.dockerignore` |
| * Fixed a bug where building `FROM` a private Docker Hub image when not |
| using a cred store would fail. |
| * Fixed a bug where calling `create_service` or `update_service` with |
| `task_template` as a `dict` would raise an exception. |
| * Fixed the handling of TTY-enabled containers in `attach` and `exec_run`. |
| * `DockerClient.containers.run` will no longer attempt to stream logs if the |
| log driver doesn't support the operation. |
| |
| ### Miscellaneous |
| |
| * Added extra requirements for better TLS support on some platforms. |
| These can be installed or required through the `docker[tls]` notation. |
| |
| 2.4.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/36?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where the `split_port` utility would raise an exception when |
| passed a non-string argument. |
| |
| 2.4.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/33?closed=1) |
| |
| ### Features |
| |
| * Added support for the `target` and `network_mode` parameters in |
| `APIClient.build` and `DockerClient.images.build`. |
| * Added support for the `runtime` parameter in `APIClient.create_container` |
| and `DockerClient.containers.run`. |
| * Added support for the `ingress` parameter in `APIClient.create_network` and |
| `DockerClient.networks.create`. |
| * Added support for `placement` configuration in `docker.types.TaskTemplate`. |
| * Added support for `tty` configuration in `docker.types.ContainerSpec`. |
| * Added support for `start_period` configuration in `docker.types.Healthcheck`. |
| * The `credHelpers` section in Docker's configuration file is now recognized. |
| * Port specifications including IPv6 endpoints are now supported. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where instantiating a `DockerClient` using `docker.from_env` |
| wouldn't correctly set the default timeout value. |
| * Fixed a bug where `DockerClient.secrets` was not accessible as a property. |
| * Fixed a bug where `DockerClient.build` would sometimes return the wrong |
| image. |
| * Fixed a bug where values for `HostConfig.nano_cpus` exceeding 2^32 would |
| raise a type error. |
| * `Image.tag` now properly returns `True` when the operation is successful. |
| * `APIClient.logs` and `Container.logs` now raise an exception if the `since` |
| argument uses an unsupported type instead of ignoring the value. |
| * Fixed a bug where some methods would raise a `NullResource` exception when |
| the resource ID was provided using a keyword argument. |
| |
| ### Miscellaneous |
| |
| * `APIClient` instances can now be pickled. |
| |
| 2.3.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/31?closed=1) |
| |
| ### Features |
| |
| * Added support for the following `HostConfig` parameters: `volume_driver`, |
| `cpu_count`, `cpu_percent`, `nano_cpus`, `cpuset_mems`. |
| * Added support for `verbose` parameter in `APIClient.inspect_network` and |
| `DockerClient.networks.get`. |
| * Added support for the `environment` parameter in `APIClient.exec_create` |
| and `Container.exec_run` |
| * Added `reload_config` method to `APIClient`, that lets the user reload |
| the `config.json` data from disk. |
| * Added `labels` property to the `Image` and `Container` classes. |
| * Added `image` property to the `Container` class. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where setting `replicas` to zero in `ServiceMode` would not |
| register as a valid entry. |
| * Fixed a bug where `DockerClient.images.build` would report a failure after |
| a successful build if a `tag` was set. |
| * Fixed an issue where `DockerClient.images.pull` would fail to return the |
| corresponding image object if a `tag` was set. |
| * Fixed a bug where a list of `mounts` provided to `APIClient.create_service` |
| would sometimes be parsed incorrectly. |
| * Fixed a bug where calling `Network.containers` would crash when no containers |
| were associated with the network. |
| * Fixed an issue where `Network.connect` and `Network.disconnect` would not |
| accept some of the documented parameters. |
| * Fixed a bug where the `cpuset_cpus` parameter would not be properly set in |
| `APIClient.create_host_config`. |
| |
| ### Miscellaneous |
| |
| * The invalid `networks` argument in `DockerClient.containers.run` has been |
| replaced with a (working) singular `network` argument. |
| |
| |
| 2.2.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/32?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where the `status_code` attribute of `APIError` exceptions would |
| not reflect the expected value. |
| * Fixed an issue where the `events` method would time out unexpectedly if no |
| data was sent by the engine for a given amount of time. |
| |
| |
| 2.2.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/30?closed=1) |
| |
| ### Features |
| |
| * Default API version has been bumped to `1.26` (Engine 1.13.1+) |
| * Upgrade plugin: |
| * Added the `upgrade_plugin` method to the `APIClient` class |
| * Added the `upgrade` method to the `Plugin` class |
| * Service logs: |
| * Added the `service_logs` method to the `APIClient` class |
| * Added the `logs` method to the `Service` class |
| * Added the `df` method to `APIClient` and `DockerClient` |
| * Added support for `init` and `init_path` parameters in `HostConfig` |
| and `DockerClient.containers.run` |
| * Added support for `hostname` parameter in `ContainerSpec` and |
| `DockerClient.service.create` |
| * Added support for port range to single port in port mappings |
| (e.g. `8000-8010:80`) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where a missing container port in a port mapping would raise |
| an unexpected `TypeError` |
| * Fixed a bug where the `events` method in `APIClient` and `DockerClient` |
| would not respect custom headers set in `config.json` |
| |
| |
| 2.1.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/27?closed=1) |
| |
| ### Features |
| |
| * Added the following pruning methods: |
| * In `APIClient`: `prune_containers`, `prune_images`, `prune_networks`, |
| `prune_volumes` |
| * In `DockerClient`: `containers.prune`, `images.prune`, `networks.prune`, |
| `volumes.prune` |
| * Added support for the plugins API: |
| * In `APIClient`: `configure_plugin`, `create_plugin`, `disable_plugin`, |
| `enable_plugin`, `inspect_plugin`, `pull_plugin`, `plugins`, |
| `plugin_privileges`, `push_plugin`, `remove_plugin` |
| * In `DockerClient`: `plugins.create`, `plugins.get`, `plugins.install`, |
| `plugins.list`, and the `Plugin` model. |
| * Added support for the secrets API: |
| * In `APIClient`: `create_secret`, `inspect_secret`, `remove_secret`, |
| `secrets` |
| * In `DockerClient`: `secret.create`, `secret.get`, `secret.list` and |
| the `Secret` model. |
| * Added `secrets` parameter to `ContainerSpec`. Each item in the `secrets` |
| list must be a `docker.types.SecretReference` instance. |
| * Added support for `cache_from` in `APIClient.build` and |
| `DockerClient.images.build`. |
| * Added support for `auto_remove` and `storage_opt` in |
| `APIClient.create_host_config` and `DockerClient.containers.run` |
| * Added support for `stop_timeout` in `APIClient.create_container` and |
| `DockerClient.containers.run` |
| * Added support for the `force` parameter in `APIClient.remove_volume` and |
| `Volume.remove` |
| * Added support for `max_failure_ratio` and `monitor` in `UpdateConfig` |
| * Added support for `force_update` in `TaskTemplate` |
| * Made `name` parameter optional in `APIClient.create_volume` and |
| `DockerClient.volumes.create` |
| |
| ### Bugfixes |
| |
| * Fixed a bug where building from a directory containing socket-type files |
| would raise an unexpected `AttributeError`. |
| * Fixed an issue that was preventing the `DockerClient.swarm.init` method to |
| take into account arguments passed to it. |
| * `Image.tag` now correctly returns a boolean value upon completion. |
| * Fixed several issues related to passing `volumes` in |
| `DockerClient.containers.run` |
| * Fixed an issue where `DockerClient.image.build` wouldn't return an `Image` |
| object even when the build was successful |
| |
| |
| 2.0.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/29?closed=1) |
| |
| ### Bugfixes |
| |
| * Installation of the package now fails if the `docker-py` package is |
| installed in order to prevent obscure naming conflicts when both |
| packages co-exist. |
| * Added missing `filters` parameter to `APIClient.networks`. |
| * Resource objects generated by the `DockerClient` are now hashable. |
| * Fixed a bug where retrieving untagged images using `DockerClient` |
| would raise a `TypeError` exception. |
| * `mode` parameter in `create_service` is now properly converted to |
| a valid data type for the Engine API. Use `ServiceMode` for advanced |
| configurations. |
| * Fixed a bug where the decoded `APIClient.events` stream would sometimes raise |
| an exception when a container is stopped or restarted. |
| |
| 2.0.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/28?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where forward slashes in some .dockerignore patterns weren't |
| being parsed correctly on Windows |
| * Fixed a bug where `Mount.parse_mount_string` would never set the read_only |
| parameter on the resulting `Mount`. |
| * Fixed a bug where `Mount.parse_mount_string` would incorrectly mark host |
| binds as being of `volume` type. |
| |
| 2.0.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/22?closed=1) |
| |
| ### Breaking changes |
| |
| * Dropped support for Python 2.6 |
| * `docker.Client` has been renamed to `docker.APIClient` |
| * `docker.from_env` now creates a `DockerClient` instance instead of an |
| `APIClient` instance. |
| * Removed HostConfig parameters from `APIClient.start` |
| * The minimum supported API version is now 1.21 (Engine version 1.9.0+) |
| * The name of the `pip` package is now `docker` (was: `docker-py`). New |
| versions of this library will only be published as `docker` from now on. |
| * `docker.ssladapter` is now `docker.transport.ssladapter` |
| * The package structure has been flattened in certain cases, which may affect |
| import for `docker.auth` and `docker.utils.ports` |
| * `docker.utils.types` has been moved to `docker.types` |
| * `create_host_config`, `create_ipam_pool` and `create_ipam_config` have been |
| removed from `docker.utils`. They have been replaced by the following classes |
| in `docker.types`: `HostConfig`, `IPAMPool` and `IPAMCOnfig`. |
| |
| ### Features |
| |
| * Added a high-level, user-focused API as `docker.DockerClient`. See the |
| README and documentation for more information. |
| * Implemented `update_node` method in `APIClient`. |
| * Implemented `remove_node` method in `APIClient`. |
| * Added support for `restart_policy` in `update_container`. |
| * Added support for `labels` and `shmsize` in `build`. |
| * Added support for `attachable` in `create_network` |
| * Added support for `healthcheck` in `create_container`. |
| * Added support for `isolation` in `HostConfig`. |
| * Expanded support for `pid_mode` in `HostConfig` (now supports arbitrary |
| values for API version >= 1.24). |
| * Added support for `options` in `IPAMConfig` |
| * Added a `HealthCheck` class to `docker.types` to be used in |
| `create_container`. |
| * Added an `EndpointSpec` class to `docker.types` to be used in |
| `create_service` and `update_service`. |
| |
| |
| ### Bugfixes |
| |
| * Fixed a bug where auth information would not be properly passed to the engine |
| during a `build` if the client used a credentials store. |
| * Fixed an issue with some exclusion patterns in `build`. |
| * Fixed an issue where context files were bundled with the wrong permissions |
| when calling `build` on Windows. |
| * Fixed an issue where auth info would not be retrieved from its default location |
| on Windows. |
| * Fixed an issue where lists of `networks` in `create_service` and |
| `update_service` wouldn't be properly converted for the engine. |
| * Fixed an issue where `endpoint_config` in `create_service` and |
| `update_service` would be ignored. |
| * `endpoint_config` in `create_service` and `update_service` has been |
| deprecated in favor of `endpoint_spec` |
| * Fixed a bug where `constraints` in a `TaskTemplate` object wouldn't be |
| properly converted for the engine. |
| * Fixed an issue where providing a dictionary for `env` in `ContainerSpec` |
| would provoke an `APIError` when sent to the engine. |
| * Fixed a bug where providing an `env_file` containing empty lines in |
| `create_container`would raise an exception. |
| * Fixed a bug where `detach` was being ignored by `exec_start`. |
| |
| ### Documentation |
| |
| * Documentation for classes and methods is now included alongside the code as |
| docstrings. |
| |
| 1.10.6 |
| ------ |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/26?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed an issue where setting a `NpipeSocket` instance to blocking mode would |
| put it in non-blocking mode and vice-versa. |
| |
| |
| 1.10.5 |
| ------ |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/25?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed an issue where concurrent attempts to access to a named pipe by the |
| client would sometimes cause recoverable exceptions to be raised. |
| |
| |
| 1.10.4 |
| ------ |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/24?closed=1) |
| |
| ### Bugfixes |
| |
| * Fixed an issue where `RestartPolicy.condition_types.ON_FAILURE` would yield |
| an invalid value. |
| * Fixed an issue where the SSL connection adapter would receive an invalid |
| argument. |
| * Fixed an issue that caused the Client to fail to reach API endpoints when |
| the provided `base_url` had a trailing slash. |
| * Fixed a bug where some `environment` values in `create_container` |
| containing unicode characters would raise an encoding error. |
| * Fixed a number of issues tied with named pipe transport on Windows. |
| * Fixed a bug where inclusion patterns in `.dockerignore` would cause some |
| excluded files to appear in the build context on Windows. |
| |
| ### Miscellaneous |
| |
| * Adjusted version requirements for the `requests` library. |
| * It is now possible to run the docker-py test suite on Windows. |
| |
| |
| 1.10.3 |
| ------ |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.3+is%3Aclosed) |
| |
| ### Bugfixes |
| |
| * Fixed an issue where identity tokens in configuration files weren't handled |
| by the library. |
| |
| ### Miscellaneous |
| |
| * Increased the default number of connection pools from 10 to 25. This number |
| can now be configured using the `num_pools` parameter in the `Client` |
| constructor. |
| |
| |
| 1.10.2 |
| ------ |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed) |
| |
| ### Bugfixes |
| |
| * Updated the docker-pycreds dependency as it was causing issues for some |
| users with dependency resolution in applications using docker-py. |
| |
| |
| 1.10.1 |
| ------ |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed) |
| |
| ### Bugfixes |
| |
| * The docker.utils.types module was removed in favor of docker.types, but some |
| applications imported it explicitly. It has been re-added with an import |
| warning advising to use the new module path. |
| |
| 1.10.0 |
| ------ |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed) |
| |
| ### Features |
| |
| * Added swarm mode and service management methods. See the documentation for |
| details. |
| * Added support for IPv6 Docker host addresses in the `Client` constructor. |
| * Added (read-only) support for the Docker credentials store. |
| * Added support for custom `auth_config` in `Client.push`. |
| * Added support for `labels` in `Client.create_volume`. |
| * Added support for `labels` and `enable_ipv6` in `Client.create_network`. |
| * Added support for `force` param in |
| `Client.disconnect_container_from_network`. |
| * Added support for `pids_limit`, `sysctls`, `userns_mode`, `cpuset_cpus`, |
| `cpu_shares`, `mem_reservation` and `kernel_memory` parameters in |
| `Client.create_host_config`. |
| * Added support for `link_local_ips` in `create_endpoint_config`. |
| * Added support for a `changes` parameter in `Client.import_image`. |
| * Added support for a `version` parameter in `Client.from_env`. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where `Client.build` would crash if the `config.json` file |
| contained a `HttpHeaders` entry. |
| * Fixed a bug where passing `decode=True` in some streaming methods would |
| crash when the daemon's response had an unexpected format. |
| * Fixed a bug where `environment` values with unicode characters weren't |
| handled properly in `create_container`. |
| * Fixed a bug where using the `npipe` protocol would sometimes break with |
| `ValueError: buffer size must be strictly positive`. |
| |
| ### Miscellaneous |
| |
| * Fixed an issue where URL-quoting in docker-py was inconsistent with the |
| quoting done by the Docker CLI client. |
| * The client now sends TCP upgrade headers to hint potential proxies about |
| connection hijacking. |
| * The client now defaults to using the `npipe` protocol on Windows. |
| |
| |
| 1.9.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.9.0+is%3Aclosed) |
| |
| ### Features |
| |
| * Added **experimental** support for Windows named pipes (`npipe://` protocol). |
| * Added support for Block IO constraints in `Client.create_host_config`. This |
| includes parameters `blkio_weight`, `blkio_weight_device`, `device_read_bps`, |
| `device_write_bps`, `device_read_iops` and `device_write_iops`. |
| * Added support for the `internal` param in `Client.create_network`. |
| * Added support for `ipv4_address` and `ipv6_address` in utils function |
| `create_endpoint_config`. |
| * Added support for custom user agent setting in the `Client` constructor. |
| By default, docker-py now also declares itself in the `User-Agent` header. |
| |
| ### Bugfixes |
| |
| * Fixed an issue where the HTTP timeout on streaming responses would sometimes |
| be set incorrectly. |
| * Fixed an issue where explicit relative paths in `.dockerignore` files were |
| not being recognized. |
| |
| 1.8.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.8.1+is%3Aclosed) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where calling `login()` against the default registry would fail |
| with the 1.10.x engine |
| * Fixed a bug where values in environment files would be parsed incorrectly if |
| they contained an equal sign. |
| * Switched to a better supported backport of the `match_hostname` function, |
| fixing dependency issues in some environments. |
| |
| |
| 1.8.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.8.0+is%3Aclosed) |
| |
| ### Features |
| |
| * Added `Client.update_container` method (Update resource configs of a |
| container) |
| * Added support for gzipped context in `Client.build` |
| * Added ability to specify IP address when connecting a container to a |
| network |
| * Added `tmpfs` support to `Client.create_host_config` |
| * Added support for the `changes` param in `Client.commit` |
| * Added support for the `follow` param in `Client.logs` |
| * Added support for the `check_duplicate` param in `Client.create_network` |
| * Added support for the `decode` param in `Client.push` and `Client.pull` |
| * Added `docker.from_env` shortcut function. Instantiates a client with |
| `kwargs_from_env` |
| * `kwargs_from_env` now supports an optional `environment` parameter. |
| If present, values will be fetched from this dictionary instead of |
| `os.environ` |
| |
| |
| ### Bugfixes |
| |
| * Fixed a bug where TLS verification would fail when using IP addresses |
| in the certificate's `subjectAltName` fields |
| * Fixed an issue where the default TLS version in TLSConfig would |
| break in some environments. `docker-py` now uses TLSv1 by default |
| This setting can be overridden using the `ssl_version` param in |
| `kwargs_from_env` or the `TLSConfig` constructor |
| * Fixed a bug where `tcp` hosts would fail to connect to TLS-enabled |
| endpoints |
| * Fixed a bug where loading a valid docker configuration file would fail |
| * Fixed a bug where some environment variables specified through |
| `create_container` would be improperly formatted |
| * Fixed a bug where using the unix socket connection would raise |
| an error in some edge-case situations |
| |
| ### Miscellaneous |
| |
| * Default API version is now 1.22 (introduced in Docker 1.10.0) |
| |
| |
| 1.7.2 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.7.2+is%3Aclosed) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where TLS verification was improperly executed when providing |
| a custom CA certificate. |
| |
| 1.7.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.7.1+is%3Aclosed) |
| |
| ### Features |
| |
| * Added support for `shm_size` in `Client.create_host_config` |
| |
| ### Bugfixes |
| |
| * Fixed a bug where Dockerfile would sometimes be excluded from the build |
| context. |
| * Fixed a bug where a docker config file containing unknown keys would raise |
| an exception. |
| * Fixed an issue with SSL connections behaving improperly when pyOpenSSL |
| was installed in the same environment. |
| * Several TLS configuration improvements |
| |
| |
| 1.7.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.7.0+is%3Aclosed) |
| |
| ### Features |
| |
| * Added support for cusom IPAM configuration in `Client.create_network` |
| * Added input support to `Client.exec_create` |
| * Added support for `stop_signal` in `Client.create_host_config` |
| * Added support for custom HTTP headers in Docker config file. |
| * Added support for unspecified transfer protocol in `base_url` when TLS is |
| enabled. |
| |
| |
| ### Bugfixes |
| |
| * Fixed a bug where the `filters` parameter in `Client.volumes` would not be |
| applied properly. |
| * Fixed a bug where memory limits would parse to incorrect values. |
| * Fixed a bug where the `devices` parameter in `Client.create_host_config` |
| would sometimes be misinterpreted. |
| * Fixed a bug where instantiating a `Client` object would sometimes crash if |
| `base_url` was unspecified. |
| * Fixed a bug where an error message related to TLS configuration would link |
| to a non-existent (outdated) docs page. |
| |
| |
| ### Miscellaneous |
| |
| * Processing of `.dockerignore` has been made significantly faster. |
| * Dropped explicit support for Python 3.2 |
| |
| 1.6.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.6.0+is%3Aclosed) |
| |
| ### Features |
| |
| * Added support for the `since` param in `Client.logs` (introduced in API |
| version 1.19) |
| * Added support for the `DOCKER_CONFIG` environment variable when looking up |
| auth config |
| * Added support for the `stream` param in `Client.stats` (when set to `False`, |
| allows user to retrieve a single snapshot instead of a constant data stream) |
| * Added support for the `mem_swappiness`, `oom_kill_disable` params |
| in `Client.create_host_config` |
| * Added support for build arguments in `Client.build` through the `buildargs` |
| param. |
| |
| |
| ### Bugfixes |
| |
| * Fixed a bug where streaming data over HTTPS would sometimes behave |
| incorrectly with Python 3.x |
| * Fixed a bug where commands containing unicode characters would be incorrectly |
| handled by `Client.create_container`. |
| * Fixed a bug where auth config credentials containing unicode characters would |
| cause failures when pushing / pulling images. |
| * Setting `tail=0` in `Client.logs` no longer shows past logs. |
| * Fixed a bug where `Client.pull` and `Client.push` couldn't handle image names |
| containing a dot. |
| |
| |
| ### Miscellaneous |
| |
| * Default API version is now 1.21 (introduced in Docker 1.9.0) |
| * Several test improvements and cleanup that should make the suite easier to |
| expand and maintain moving forward. |
| |
| |
| 1.5.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.5.0+is%3Aclosed) |
| |
| ### Features |
| |
| * Added support for the networking API introduced in Docker 1.9.0 |
| (`Client.networks`, `Client.create_network`, `Client.remove_network`, |
| `Client.inspect_network`, `Client.connect_container_to_network`, |
| `Client.disconnect_container_from_network`). |
| * Added support for the volumes API introduced in Docker 1.9.0 |
| (`Client.volumes`, `Client.create_volume`, `Client.inspect_volume`, |
| `Client.remove_volume`). |
| * Added support for the `group_add` parameter in `create_host_config`. |
| * Added support for the CPU CFS (`cpu_quota` and `cpu_period`) parameters |
| in `create_host_config`. |
| * Added support for the archive API endpoint (`Client.get_archive`, |
| `Client.put_archive`). |
| * Added support for `ps_args` parameter in `Client.top`. |
| |
| |
| ### Bugfixes |
| |
| * Fixed a bug where specifying volume binds with unicode characters would |
| fail. |
| * Fixed a bug where providing an explicit protocol in `Client.port` would fail |
| to yield the expected result. |
| * Fixed a bug where the priority protocol returned by `Client.port` would be UDP |
| instead of the expected TCP. |
| |
| ### Miscellaneous |
| |
| * Broke up Client code into several files to facilitate maintenance and |
| contribution. |
| * Added contributing guidelines to the repository. |
| |
| 1.4.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.4.0+is%3Aclosed) |
| |
| ### Deprecation warning |
| |
| * `docker.utils.create_host_config` is deprecated in favor of |
| `Client.create_host_config`. |
| |
| ### Features |
| |
| * Added `utils.parse_env_file` to support env-files. |
| See [docs](https://docker-py.readthedocs.io/en/latest/api/#create_container) |
| for usage. |
| * Added support for arbitrary log drivers |
| * Added support for URL paths in the docker host URL (`base_url`) |
| * Drastically improved support for .dockerignore syntax |
| |
| ### Bugfixes |
| |
| * Fixed a bug where exec_inspect would allow invocation when the API version |
| was too low. |
| * Fixed a bug where `docker.utils.ports.split_port` would break if an open |
| range was provided. |
| * Fixed a bug where invalid image IDs / container IDs could be provided to |
| bypass or reroute request URLs |
| * Default `base_url` now adapts depending on the OS (better Windows support) |
| * Fixed a bug where using an integer as the user param in |
| `Client.create_container` would result in a failure. |
| |
| ### Miscellaneous |
| |
| * Docs fixes |
| * Integration tests are now run as part of our continuous integration. |
| * Updated dependency on `six` library |
| |
| 1.3.1 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.3.1+is%3Aclosed) |
| |
| ### Bugfixes |
| |
| * Fixed a bug where empty chunks in streams was misinterpreted as EOF. |
| * `datetime` arguments passed to `Client.events` parameters `since` and |
| `until` are now always considered to be UTC. |
| * Fixed a bug with Docker 1.7.x where the wrong auth headers were being passed |
| in `Client.build`, failing builds that depended on private images. |
| * `Client.exec_create` can now retrieve the `Id` key from a dictionary for its |
| container param. |
| |
| ### Miscellaneous |
| |
| * 404 API status now raises `docker.errors.NotFound`. This exception inherits |
| `APIError` which was used previously. |
| * Docs fixes |
| * Test fixes |
| |
| 1.3.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.3.0+is%3Aclosed) |
| |
| ### Deprecation warning |
| |
| * As announced in the 1.2.0 release, `Client.execute` has been removed in favor |
| of `Client.exec_create` and `Client.exec_start`. |
| |
| ### Features |
| |
| * `extra_hosts` parameter in host config can now also be provided as a list. |
| * Added support for `memory_limit` and `memswap_limit` in host config to |
| comply with recent deprecations. |
| * Added support for `volume_driver` in `Client.create_container` |
| * Added support for advanced modes in volume binds (using the `mode` key) |
| * Added support for `decode` in `Client.build` (decodes JSON stream on the fly) |
| * docker-py will now look for login configuration under the new config path, |
| and fall back to the old `~/.dockercfg` path if not present. |
| |
| ### Bugfixes |
| |
| * Configuration file lookup now also work on platforms that don't define a |
| `$HOME` environment variable. |
| * Fixed an issue where pinging a v2 private registry wasn't working properly, |
| preventing users from pushing and pulling. |
| * `pull` parameter in `Client.build` now defaults to `False`. Fixes a bug where |
| the default options would try to force a pull of non-remote images. |
| * Fixed a bug where getting logs from tty-enabled containers wasn't working |
| properly with more recent versions of Docker |
| * `Client.push` and `Client.pull` will now raise exceptions if the HTTP |
| status indicates an error. |
| * Fixed a bug with adapter lookup when using the Unix socket adapter |
| (this affected some weird edge cases, see issue #647 for details) |
| * Fixed a bug where providing `timeout=None` to `Client.stop` would result |
| in an exception despite the usecase being valid. |
| * Added `git@` to the list of valid prefixes for remote build paths. |
| |
| ### Dependencies |
| |
| * The websocket-client dependency has been updated to a more recent version. |
| This new version also supports Python 3.x, making `attach_socket` available |
| on those versions as well. |
| |
| ### Documentation |
| |
| * Various fixes |
| |
| 1.2.3 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.2.3+is%3Aclosed) |
| |
| ### Deprecation warning |
| |
| * Passing host config in the `Client.start` method is now deprecated. Please |
| use the `host_config` in `Client.create_container` instead. |
| |
| ### Features |
| |
| * Added support for `privileged` param in `Client.exec_create` |
| (only available in API >= 1.19) |
| * Volume binds can now also be specified as a list of strings. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where the `read_only` param in host_config wasn't handled |
| properly. |
| * Fixed a bug in `Client.execute` (this method is still deprecated). |
| * The `cpuset` param in `Client.create_container` is also passed as |
| the `CpusetCpus` param (`Cpuset` deprecated in recent versions of the API) |
| * Fixed an issue with integration tests being run inside a container |
| (`make integration-test`) |
| * Fixed a bug where an empty string would be considered a valid container ID |
| or image ID. |
| * Fixed a bug in `Client.insert` |
| |
| |
| ### Documentation |
| |
| * Various fixes |
| |
| 1.2.2 |
| ----- |
| |
| ### Bugfixes |
| |
| * Fixed a bug where parameters passed to `Client.exec_resize` would be ignored (#576) |
| * Fixed a bug where auth config wouldn't be resolved properly in `Client.pull` (#577) |
| |
| 1.2.1 |
| ----- |
| |
| ### Bugfixes |
| |
| * Fixed a bug where the check_resource decorator would break with some |
| argument-passing methods. (#573) |
| |
| 1.2.0 |
| ----- |
| |
| [List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.2.0+is%3Aclosed) |
| |
| ### Deprecation warning |
| |
| * `Client.execute` is being deprecated in favor of the more dev-friendly |
| `Client.exec_start` and `Client.exec_create`. **It will be removed in 1.3.0** |
| |
| ### Features |
| |
| * Added `exec_create`, `exec_start`, `exec_inspect` and `exec_resize` to |
| client, accurately mirroring the |
| [Exec API](https://docs.docker.com/reference/api/docker_remote_api_v1.18/#exec-create) |
| * Added `auth_config` param to `Client.pull` (allows to use one-off credentials |
| for this pull request) |
| * Added support for `ipc_mode` in host config. |
| * Added support for the `log_config` param in host config. |
| * Added support for the `ulimit` param in host config. |
| * Added support for container resource limits in `Client.build`. |
| * When a resource identifier (image or container ID) is passed to a Client |
| method, we now check for `None` values to avoid crashing |
| (now raises `docker.errors.NullResource`) |
| * Added tools to parse port ranges inside the new `docker.utils.ports` package. |
| * Added a `version_info` attribute to the `docker` package. |
| |
| ### Bugfixes |
| |
| * Fixed a bug in `Client.port` where absence of a certain key in the |
| container's JSON would raise an error (now just returns `None`) |
| * Fixed a bug with the `trunc` parameter in `Client.containers` having no |
| effect (moved functionality to the client) |
| * Several improvements have been made to the `Client.import_image` method. |
| * Fixed pushing / pulling to |
| [v2 registries](https://github.com/docker/distribution) |
| * Fixed a bug where passing a container dictionary to `Client.commit` |
| would fail |
| |
| ### Miscellaneous |
| |
| * Default API version has been bumped to 1.18 (Docker Engine 1.6.0) |
| * Several testing coverage improvements |
| * Docs fixes and improvements |
| |
| 1.1.0 |
| ----- |
| |
| ### Features |
| |
| * Added `dockerfile` param support to `Client.build` (mirrors |
| `docker build -f` behavior) |
| * Added the ability to specify `'auto'` as `version` in `Client.__init__`, |
| allowing the constructor to autodetect the daemon's API version. |
| |
| ### Bugfixes |
| |
| * Fixed a bug where decoding a result stream using the `decode` parameter |
| would break when using Python 3.x |
| * Fixed a bug where some files in `.dockerignore` weren't being handled |
| properly |
| * Fixed `resolve_authconfig` issues by bringing it closer to Docker Engine's |
| behavior. This should fix all issues encountered with private registry auth |
| * Fixed an issue where passwords containing a colon weren't being handled |
| properly. |
| * Bumped `requests` version requirement, which should fix most of the SSL |
| issues encountered recently. |
| |
| ### Miscellaneous |
| |
| * Several integration test improvements. |
| * Fixed some unclosed resources in unit tests. |
| * Several docs improvements. |
| |
| 1.0.0 |
| ----- |
| |
| ### Features |
| |
| * Added new `Client.rename` method (`docker rename`) |
| * Added now `Client.stats` method (`docker stats`) |
| * Added `read_only` param support to `utils.create_host_config` and |
| `Client.start` (`docker run --read-only`) |
| * Added `pid_mode` param support to `utils.create_host_config` and |
| `Client.start` (`docker run --pid='host'`) |
| * Added `since`, `until` and `filters` params to `Client.events`. |
| * Added `decode` parameter to `Client.stats` and `Client.events` to decode |
| JSON objects on the fly (False by default). |
| |
| ### Bugfixes |
| |
| * Fixed a bug that caused `Client.build` to crash when the provided source was |
| a remote source. |
| |
| ### Miscellaneous |
| |
| * Default API version has been bumped to 1.17 (Docker Engine 1.5.0) |
| * `Client.timeout` is now a public attribute, and users are encouraged to use it |
| when request timeouts need to be changed at runtime. |
| * Added `Client.api_version` as a read-only property. |
| * The `memswap_limit` argument in `Client.create_container` now accepts string |
| type values similar to `mem_limit` ('6g', '120000k', etc.) |
| * Improved documentation |
| |
| 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](https://docker-py.readthedocs.io/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 |