Docker Py Versions Save

A Python library for the Docker Engine API

7.0.0

5 months ago

Upgrade Notes (from 6.x) ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • Python 3.7+ supports TLSv1.3 by default
  • Websocket support is no longer included by default (#3123)
    • Use pip install docker[websockets] to include websocket-client dependency
    • By default, docker-py hijacks the TCP connection and does not use Websockets
    • Websocket client is only required to use attach_socket(container, ws=True)
  • Python 3.7 no longer supported (reached end-of-life June 2023) (#3187)

Features ✨

  • Python 3.12 support (#3185)
  • Full networking_config support for containers.create() (#3121)
    • Replaces network_driver_opt (added in 6.1.0)
  • Add health() property to container that returns status (e.g. unhealthy) (#3147)
  • Add pause option to container.commit() (#3159)
  • Add support for bind mount propagation (e.g. rshared, private) (#3164)
  • Add support for filters, keep_storage, and all in prune_builds() on API v1.39+ (#3192)

Bugfixes πŸ›

  • Consistently return docker.errors.NotFound on 404 responses (#3156)
  • Validate tag format before push (#3191)

Miscellaneous πŸ”§

  • Upgraded urllib3 version in requirements.txt (used for development/tests) (#3183)
  • Documentation typo fixes & formatting improvements (#3130)
  • Fixed integration test compatibility for newer Moby engine versions (#3165, #3166, #3145, #3169, #3170)
  • Switch to ruff for linting (#3126)

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.3...7.0.0

7.0.0b3

5 months ago

ℹ️ See 7.0.0b2 for full release notes

Upgrade Notes (from 6.x) ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • Python 3.7+ supports TLSv1.3 by default
  • Websocket support is no longer included by default (#3123)
    • Use pip install docker[websockets] to include websocket-client dependency
    • By default, docker-py hijacks the TCP connection and does not use Websockets
    • Websocket client is only required to use attach_socket(container, ws=True)
  • Python 3.7 no longer supported (reached end-of-life June 2023) (#3187)

Features ✨

  • Add support for filters, keep_storage, and all in prune_builds() on API v1.39+ (#3192)

Bugfixes πŸ›

  • Validate tag format before push (#3191)

Full Changelog

Commit Log: https://github.com/docker/docker-py/compare/7.0.0b2...7.0.0b3

New Contributors

7.0.0b2

5 months ago

ℹ️ This is identical to 7.0.0b1, which was not correctly released due to a CI pipeline issue.

Upgrade Notes ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • Python 3.7+ supports TLSv1.3 by default
  • Websocket support is no longer included by default (#3123)
    • Use pip install docker[websockets] to include websocket-client dependency
    • By default, docker-py hijacks the TCP connection and does not use Websockets
    • Websocket client is only required to use attach_socket(container, ws=True)
  • Python 3.7 no longer supported (reached end-of-life June 2023) (#3187)

Features ✨

  • Python 3.12 support (#3185)
  • Full networking_config support for containers.create() (#3121)
    • Replaces network_driver_opt (added in 6.1.0)
  • Add health() property to container that returns status (e.g. unhealthy) (#3147)
  • Add pause option to container.commit() (#3159)
  • Add support for bind mount propagation (e.g. rshared, private) (#3164)

Bugfixes πŸ›

  • Consistently return docker.errors.NotFound on 404 responses (#3156)

Miscellaneous πŸ”§

  • Upgraded urllib3 version in requirements.txt (used for development/tests) (#3183)
  • Documentation typo fixes & formatting improvements (#3130)
  • Fixed integration test compatibility for newer Moby engine versions (#3165, #3166, #3145, #3169, #3170)
  • Switch to ruff for linting (#3126)

Full Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.3...7.0.0b2

7.0.0b1

5 months ago

Upgrade Notes ⚠️

  • Removed SSL version (ssl_version) and explicit hostname check (assert_hostname) options (#3185)
    • assert_hostname has not been used since Python 3.6 and was removed in 3.12
    • Python 3.7+ supports TLSv1.3 by default
  • Websocket support is no longer included by default (#3123)
    • Use pip install docker[websockets] to include websocket-client dependency
    • By default, docker-py hijacks the TCP connection and does not use Websockets
    • Websocket client is only required to use attach_socket(container, ws=True)
  • Python 3.7 no longer supported (reached end-of-life June 2023) (#3187)

Features ✨

  • Python 3.12 support (#3185)
  • Full networking_config support for containers.create() (#3121)
    • Replaces network_driver_opt (added in 6.1.0)
  • Add health() property to container that returns status (e.g. unhealthy) (#3147)
  • Add pause option to container.commit() (#3159)
  • Add support for bind mount propagation (e.g. rshared, private) (#3164)

Bugfixes πŸ›

  • Consistently return docker.errors.NotFound on 404 responses (#3156)

Miscellaneous πŸ”§

  • Upgraded urllib3 version in requirements.txt (used for development/tests) (#3183)
  • Documentation typo fixes & formatting improvements (#3130)
  • Fixed integration test compatibility for newer Moby engine versions (#3165, #3166, #3145, #3169, #3170)
  • Switch to ruff for linting (#3126)

Full Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.3...7.0.0b1

6.1.3

11 months ago

πŸ› Bugfixes

  • Fix eventlet compatibility (#3132)

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.2...6.1.3

6.1.2

1 year ago

πŸ› Bugfixes

  • Fix for socket timeouts on long docker exec calls (#3125)
  • Respect timeout param on Windows (#3112)

Full Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.1...6.1.2

6.1.1

1 year ago

ℹ️ Upgrade Notes (6.1.x)

  • Errors are no longer returned during client initialization if the credential helper cannot be found. A warning will be emitted instead, and an error is returned if the credential helper is used.

πŸ› Bugfixes

  • Fix containers.stats() hanging with stream=True
  • Correct return type in docs for containers.diff() method

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.1.0...6.1.1

6.1.0

1 year ago

ℹ️ Upgrade Notes

  • Errors are no longer returned during client initialization if the credential helper cannot be found. A warning will be emitted instead, and an error is returned if the credential helper is used.

✨ Features

  • Python 3.11 support
  • Use poll() instead of select() on non-Windows platforms
  • New API fields
    • network_driver_opt on container run / create
    • one-shot on container stats
    • status on services list

πŸ› Bugfixes

  • Support for requests 2.29.0+ and urllib3 2.x
  • Do not strip characters from volume names
  • Fix connection leak on container.exec_* operations
  • Fix errors closing named pipes on Windows

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.0.1...6.1.0

6.0.1

1 year ago

⚠️ Notice

This version is not compatible with requests 2.29+ or urllib3 2.x. Either add requests < 2.29 and urllib3 < 2 to your requirements or upgrade to to the latest docker-py release.

πŸ› Bugfixes

  • Fix for The pipe has been ended errors on Windows (#3056)
  • Support floats for timestamps in Docker logs (since / until) (#3031)

What's Changed

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/6.0.0...6.0.1

6.0.0

1 year ago

ℹ️ Upgrade Notes

  • Minimum supported Python version is 3.7+
  • When installing with pip, the docker[tls] extra is deprecated and a no-op, use docker for same functionality (TLS support is always available now)
  • Native Python SSH client (used by default / use_ssh_client=False) will now reject unknown host keys with paramiko.ssh_exception.SSHException
  • Short IDs are now 12 characters instead of 10 characters (same as Docker CLI)
  • Version metadata is now exposed as __version__

✨ Features

  • Python 3.10 support
  • Automatically negotiate most secure TLS version
  • Add platform (e.g. linux/amd64, darwin/arm64) to container create & run
  • Add support for GlobalJob and ReplicatedJobs for Swarm
  • Add remove() method on Image
  • Add force param to disable() on Plugin

πŸ› Bugfixes

  • Fix install issues on Windows related to pywin32
  • Do not accept unknown SSH host keys in native Python SSH mode
  • Use 12 character short IDs for consistency with Docker CLI
  • Ignore trailing whitespace in .dockerignore files
  • Fix IPv6 host parsing when explicit port specified
  • Fix ProxyCommand option for SSH connections
  • Do not spawn extra subshell when launching external SSH client
  • Improve exception semantics to preserve context
  • Documentation improvements (formatting, examples, typos, missing params)

πŸ”§ Miscellaneous

  • Upgrade dependencies in requirements.txt to latest versions
  • Remove extraneous transitive dependencies
  • Eliminate usages of deprecated functions/methods
  • Test suite reliability improvements
  • GitHub Actions workflows for linting, unit tests, integration tests, and publishing releases

Changelog

New Contributors

Full Changelog: https://github.com/docker/docker-py/compare/5.0.3...6.0.0