* Thu May 03 2018 email@example.com
- Fix package building for SLE15 (bsc#1091663)
* Thu Nov 09 2017 firstname.lastname@example.org
- update to version 2.6.1:
+ Fixed a bug on Python 3 installations preventing the use of the
attach and exec_run methods.
- changes from version 2.6.0:
+ Added support for mounts in APIClient.create_host_config and
+ 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:
o In APIClient: create_config, inspect_config, remove_config,
o In DockerClient: configs.create, configs.get, configs.list
and the Config model.
o 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
+ 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
+ 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
+ Fixed a bug that would cause some data at the beginning of an
upgraded connection stream (attach, exec_run) to disappear.
* Wed Oct 04 2017 email@example.com
* added obsoletes %oldpython
- update to version 2.5.1:
+ 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
- changes from version 2.5.0:
+ Added support for the squash parameter in APIClient.build and
+ When using API version 1.23 or above, load_image will now return
a generator of progress as JSON dicts.
+ remove_image now returns the content of the API's response.
+ 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
+ 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
+ DockerClient.containers.run will no longer attempt to stream
logs if the log driver doesn't support the operation.
+ Added extra requirements for better TLS support on some
platforms. These can be installed or required through the
* Fri Sep 29 2017 firstname.lastname@example.org
- update to 2.4.2:
* Add 'verbose' option for network inspect api
* Fix misleading build method docs
* Add support for ContainerSpec.TTY
* Standardize handling of verbose param in inspect_network
* Fix volume path passed by run to create_container
* Only pull the 'latest' tag when testing images
* Fix test cases for ``runtime`` config
* Update image create error parsing
* Improve robustness of remove_network integration test
* Bump 2.2.0, update changelog
* fix: Missing exception handling in split_port when no container port
* Replace erroneous networks argument in containers.run with singular
* Fix passing volumes to run with no host path
* Update check_resource decorator to account for new resource names
* Include tag in images.get after pulling if provided separately
* Fix APIError status_code property for client/server errors
* Ensure default timeout is used by API Client
* Add prune_containers method
* Add xfail mark to storageopt test
* APIClient implementation of plugin methods
* Add support for max_failure_ratio and monitor in UpdateConfig
* Add appveyor.yml config
* excludes requests 2.18.0 from compatible versions
* Add prune_volumes method
* fix #1625 where ImageCollection.build() could return early with incorrect
image_id depending on docer build output
* Ignore socket files in utils.tar
* Add `target` argument to image building
* Sorts model attributes in api docs alphabetically
* Rewrite the split_port function using re
* Add stop_timeout to create_container
* Move reload_config func into the APIClient
* Fix ImageNotFound detection
* Update dockerVersions
* Add missing support for `CpusetMems` parameter to HostConfig.
* Implement cachefrom
* Fix typo s/CpuSetCpus/CpusetCpus/
* Add upgrade_plugin method
* Handle multiple success messages during image building.
* Add support for start_period in Healthcheck spec
* Bump 2.0.2
* removed duplicate mem_limit arg desc; type now consistent accross
* added integration test for #1625 for ImageCollection.build() that verfies
that the build method uses the last success message for extracting the image id
* Allow events daemon command to read config.json
* update docker-py test status code from 500 to 400
* Adds a 'labels' property to the container model
* Add support for recursive wildcard pattern in .dockerignore
* Add missing secrets doc
* init_path removed in Engine 17.05
* Add prune_images method
* Set infinite timeout for the `events` method
* check NoneType before using
* Add attributes for pickling
* Allow configuring API version for integration test with env var
* Correct the description of dns_opt option of create_container
* Add support for ingress in create_network
* DockerClient.secrets should be a @property
* Adds a 'labels' property to the image model
* Raise an error when passing an empty string to split_port
* fix can't get a dict when Containers is None
* new integration task linting for #1625
* Adds an 'image' property to the container model
* Add service_logs command to APIClient and logs command to models.Service
* Fixed events command related unit tests by passing a timeout value
* Compose 1.14.0 hack
* Add service_logs integration test
* Network model functions 'connect' and 'disconnect' did not accept or
passthrough keyword arguments.
* Modernize exec_api.py
* Fix docstring of ImageCollection.get
* removed unused/typoed param from models.containers.list docstring
* Bump version 2.1.0
* Plugins API documentation
* Move default `timeout` into `from_env`
* Fix _post_json behavior
* Add prune_networks method
* Allow port range like 8000-8010:80
* Bump 2.3.0
* Reference new methods in docs
* Use experimental engine for testing in Jenkins/Makefile
* update swarm remove test status code from 500 to >= 400
* Bump dev version
* Update services.py
* Add support for volume_driver in HostConfig
* Add support for auto_remove in HostConfig
* Add 'force' parameter in remove_volume
* passing flake8 test
* Add a reload_config function to the DaemonApiMixin
* Closes #1588, image.tag does not return anything
* Add df method
* Convert mode argument to valid structure in create_service
* Fix test issues
* Add cpu_count, cpu_percent, cpus parameters to container HostConfig.
* Add cachefrom to build docstring
* Improve build result detection
* Documentation fixes for login func
* Add integration tests
* Add ContainerSpec mounts test
* Add create_plugin implementation
* Remove integration test for APIClient.search method
* Make sure data is written in prune test so space can be reclaimed
* Add ability to set 'Hostname' on a Service.
* fix type checking for nano_cpus
* Remove duplicate line in exec_run documentation
* Optional name on VolumeCollection.create
* Raising error in case of invalid value of since kwarg on Container.logs
* Add support for force_update in TaskTemplate
* Change "Remote API" to "Engine API"
* Better error handling, itterate on json stream directly.
* Add support for storage_opt in host_config
* Add a specific unit test for splitting port with IPv6
* Add support for secrets in ContainerSpec
* Add init parameter to container HostConfig
* dev version
* exec: add support for `Env`
* Update mentions of the default API version in docs
* Remove unsupported --experimental flag from Jenkinsfile
* Add License to PyPi metadata
* documentation change
* Support credHelpers section in config.json
* Add plugin API implementation to DockerClient
* Flake8: Fix indent.
* Implement secrets API
* Fix Swarm model init to correctly pass arguments through to init_swarm
* Move LinksTest to appropriate file
* Docstring fixes for init and init_path
* Fix the way the list of mounts is made for service.
* docs renames: cpu_group->cpu_period, cpu_period->cpu_quota
* Adjust tests and add newest engine version to Jenkinsfile
* split_port should not break when passed a non-string argument
* Add network_mode support to Client.build
* Add init_path parameter to container HostConfig
* Add support for placement preferences and platforms in TaskTemplate
* Makes docs builds faster and ensures proper ownership
* Add support for ``runtime`` in container create and run API
* Fix milestone link
* Add Plugin.upgrade to documentation
* Rename cachefrom -> cache_from
* Add 17.04 (CE) RC1 to list of engine versions to be tested
* Fix if replicas is set to 0, Fixes #1572
* cpus renamed to nano_cpus. Type and scale of nano_cpus are changed.
Comments for new parameters are changed.
* Bump test engine version
* Minor typo correction
* Update assert in test_create_with_restart_policy
* Add reload() in docs for Container and Secret classes
* Add tests for secret API implementation
* Bump default API version to 1.26
- python-docker-py got renamed to python-docker.
* Thu Aug 03 2017 email@example.com
- Implement singlespec version
- Fix source URL
- Merge tests into main package.
- Remove hide_py_pckgmgmt.patch
Tests aren't being implemented that way
* Thu Jun 08 2017 firstname.lastname@example.org
- remove lint style dependencies from the unit test subpackage
* Wed Feb 08 2017 email@example.com
- Update to version 1.10.6
Fixed an issue where setting a NpipeSocket instance to blocking mode would put it in non-blocking mode and vice-versa.
- Update to version 1.10.5
Fixed an issue where concurrent attempts to access to a named pipe by the client would sometimes cause recoverable exceptions to be raised.
* Wed Oct 26 2016 firstname.lastname@example.org
- add python-dockerpycreds dependency in the spec file
add fix-requirements.patch: fix dependencies so that they match the
ones we have packaged
* Mon Oct 24 2016 email@example.com
- Update to version 1.10.4
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.
Adjusted version requirements for the requests library.
It is now possible to run the docker-py test suite on Windows.
- Update to 1.10.3
Fixed an issue where identity tokens in configuration files weren't handled by the library.
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.
- Update to 1.10.2
Updated the docker-pycreds dependency as it was causing issues for some users with dependency resolution in applications using docker-py.
- Update to 1.10.1
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.
- Update to 1.10.0
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.
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.
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.
- Update to 1.9.0
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.
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.
* Tue Sep 27 2016 firstname.lastname@example.org
- Remove useless python-flake8 and python-coverage BuildRequires.
* Wed Jul 27 2016 email@example.com
- Update runtime requirements according to requirements.txt
* Mon Jul 25 2016 firstname.lastname@example.org
- Updated runtime and test deps matching setup.py and test-requirements.txt
- update to 1.8.1:
* 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.
- update to 1.8.0:
* Added Client.update_container method (Update resource configs of a
* 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 now supports an optional environment parameter. If present,
values will be fetched from this dictionary instead of os.environ
* 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
* 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
* Default API version is now 1.22 (introduced in Docker 1.10.0)
* Sun Feb 28 2016 email@example.com
- update to 1.7.2:
* Added support for the since param in Client.logs (introduced in API version
* Added support for the DOCKER_CONFIG environment variable when looking up
* 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
* Added support for build arguments in Client.build through the buildargs
* 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
* Fixed a bug where TLS verification was improperly executed when providing a
custom CA certificate.
* Added support for shm_size in Client.create_host_config
- drop dockpyTest_pathAdd.patch: tests are disabled anyway
* Sat Nov 14 2015 firstname.lastname@example.org
- Use version 1.5.0 in SLE 12 (bnc#954486,bnc#954690)
+ A bit of clean up of the changes file as well, no wrapping comments
* Wed Oct 21 2015 email@example.com
- update to 1.5.0:
* Added support for the networking API introduced in Docker 1.9.0
* Added support for the volumes API introduced in Docker 1.9.0
* Added support for the group_add parameter in create_host_config.
* Added support for the CPU CFS (cpu_quota and cpu_period) parameteres
* Added support for the archive API endpoint (Client.get_archive,
* Added support for ps_args parameter in Client.top.
* Added utils.parse_env_file to support env-files. See docs for usage.
* Added support for arbitrary log drivers
* Added support for URL paths in the docker host URL (base_url)
* 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
* Fri Aug 14 2015 firstname.lastname@example.org
- Get source tarball from pypi.python.org as in previuos versions
and as it is in the spec file
* Mon Jul 27 2015 email@example.com
- Update to version 1.3.1. Detailed changelog:
* Mon May 04 2015 firstname.lastname@example.org
- update to version 1.2.1:
* Fixed a bug where the check_resource decorator would break with
some argument-passing methods. (#573)
- additional changes from version 1.2.0:
* 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
* Added exec_create, exec_start, exec_inspect and exec_resize to
client, accurately mirroring the Exec API
* 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
* Added a version_info attribute to the docker package.
* Fixed a bug in Client.port where absence of a certain key in
the container's JSON would raise an error (now just returns
* 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
* Fixed pushing / pulling to v2 registries
* Fixed a bug where passing a container dictionary to
Client.commit would fail
* Default API version has been bumped to 1.18 (Docker Engine
* Several testing coverage improvements
* Docs fixes and improvements
- point the source URL to pypi
- add a dependency between the test sub-package and
* Thu Apr 09 2015 email@example.com
- Updated to 1.1.0
* 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.
* 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
* 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
* Bumped `requests` version requirement, which should fix most of the SSL
issues encountered recently.
* Several integration test improvements.
* Fixed some unclosed resources in unit tests.
* Several docs improvements.
- Version 1.0.0
* 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).
* Fixed a bug that caused `Client.build` to crash when the provided source was
a remote source.
* 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
- Version 0.7.2
* Added support for `mac_address` in `Client.create_container`
* Fixed a bug where streaming responses (`pull`, `push`, `logs`, etc.) were
* 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)
* Added `resolve_authconfig` tests.
- Version 0.7.1
* `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
* Fixed a bug where sockets would close unexpectedly using Python 3.x
* Various fixes for integration tests.
* Small doc fixes
- Version 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)
* 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`
* Fixed a bug where some output wouldn't be streamed properly in streaming
* 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.
* Several unit tests and integration tests improvements.
* `Client` constructor now enforces passing the `version` parameter as a
* Build context files are now ordered by filename when creating the archive
(for consistency with docker mainline behavior)
- Version 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)
* The `history` command now returns a dict instead of a raw JSON string.
* 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.
* 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)
* Added new MkDocs documentation. Currently hosted on
* Added tests to sdist
* Added a Makefile for running tests in Docker
* Updated Dockerfile
* Wed Mar 04 2015 firstname.lastname@example.org
- Use updated version in SLES 12 in support of bnc#915479