Skip to content

Releases: docker/docker-py

2.6.0

07 Nov 23:37
Compare
Choose a tag to compare

List of PRs / issues for this release

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

23 Aug 00:01
Compare
Choose a tag to compare

List of PRs / issues for this release

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

17 Aug 20:49
Compare
Choose a tag to compare

List of PRs / issues for this release

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 dicts.
  • 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

17 Aug 20:48
Compare
Choose a tag to compare

List of issues / PRs for this release

Bugfixes

  • Fixed a bug where the split_port utility would raise an exception when
    passed a non-string argument.

2.4.0

28 Jun 00:58
Compare
Choose a tag to compare

List of PRs / issues for this release

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

17 May 00:14
Compare
Choose a tag to compare

2.3.0

List of PRs / issues for this release

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

28 Mar 22:56
Compare
Choose a tag to compare

2.2.1

List of PRs / issues for this release

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

21 Mar 19:14
Compare
Choose a tag to compare

2.2.0

List of PRs / issues for this release

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

17 Feb 00:48
Compare
Choose a tag to compare

2.1.0

List of PRs / issues for this release

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

20 Jan 02:14
Compare
Choose a tag to compare

2.0.2

List of PRs / issues for this release

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.