Skip to content

Releases: docker/docker-py

7.0.0

08 Dec 20:47
7d8a161
Compare
Choose a tag to compare

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

  • fix user_guides/multiplex.rst by @Longin-Yu in #3130
  • tests/integration: fix flake8 failures (E721 do not compare types), and fix Dockerfile for debian "bookworm" by @thaJeztah in #3166
  • tests/integration: update some tests for updated error-messages by @thaJeztah in #3165
  • README: fix link for CI status badge by @thaJeztah in #3167
  • fix: use response.text to get string rather than bytes by @mndeveci in #3156
  • feat: add pause option to commit api by @VincentLeeMax in #3159
  • build(deps): Bump requests from 2.28.1 to 2.31.0 by @dependabot in #3136
  • test: remove APT_MIRROR from Dockerfile by @thaJeztah in #3145
  • Switch linting to ruff, use f-strings, fix lint errors and possible bugs by @akx in #3126
  • integration: Fix bad subnet declaration by @akerouanton in #3169
  • integration: Remove test_create_check_duplicate by @akerouanton in #3170
  • Support all Network.connect parameters in client.containers.run and client.containers.create by @Skazza94 in #3121
  • feat: move websocket-client to extra dependency by @akx in #3123
  • Add health property to Containers model by @TurnrDev in #3147
  • build(deps): Bump urllib3 from 1.26.11 to 1.26.18 by @dependabot in #3183
  • breaking: Python 3.12 compatibility & remove custom SSL adapter by @milas in #3185
  • chore: add changelog for 7.0.0 by @milas in #3186
  • chore: remove support for Python 3.7 by @milas in #3187
  • chore: update MAINTAINERS and remove CODEOWNERS by @milas in #3188
  • chore: fix missing setuptools in CI by @milas in #3189
  • Fix #3153 - Validate tag before build using OCI regex by @LombardiDaniel in #3191
  • feat: accept filters and keep_storage in prune_builds by @emranbm in #3192
  • chore: update changelog and maintainer by @milas in #3193

New Contributors

Full Changelog: 6.1.3...7.0.0

7.0.0b3

05 Dec 19:17
3d0a3f1
Compare
Choose a tag to compare
7.0.0b3 Pre-release
Pre-release

ℹ️ 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: 7.0.0b2...7.0.0b3

New Contributors

7.0.0b2

27 Nov 23:27
cb8f2c6
Compare
Choose a tag to compare
7.0.0b2 Pre-release
Pre-release

ℹ️ 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

  • fix user_guides/multiplex.rst by @Longin-Yu in #3130
  • tests/integration: fix flake8 failures (E721 do not compare types), and fix Dockerfile for debian "bookworm" by @thaJeztah in #3166
  • tests/integration: update some tests for updated error-messages by @thaJeztah in #3165
  • README: fix link for CI status badge by @thaJeztah in #3167
  • fix: use response.text to get string rather than bytes by @mndeveci in #3156
  • feat: add pause option to commit api by @VincentLeeMax in #3159
  • build(deps): Bump requests from 2.28.1 to 2.31.0 by @dependabot in #3136
  • test: remove APT_MIRROR from Dockerfile by @thaJeztah in #3145
  • Switch linting to ruff, use f-strings, fix lint errors and possible bugs by @akx in #3126
  • integration: Fix bad subnet declaration by @akerouanton in #3169
  • integration: Remove test_create_check_duplicate by @akerouanton in #3170
  • Support all Network.connect parameters in client.containers.run and client.containers.create by @Skazza94 in #3121
  • feat: move websocket-client to extra dependency by @akx in #3123
  • Add health property to Containers model by @TurnrDev in #3147
  • build(deps): Bump urllib3 from 1.26.11 to 1.26.18 by @dependabot in #3183
  • breaking: Python 3.12 compatibility & remove custom SSL adapter by @milas in #3185
  • chore: add changelog for 7.0.0 by @milas in #3186
  • chore: remove support for Python 3.7 by @milas in #3187
  • chore: update MAINTAINERS and remove CODEOWNERS by @milas in #3188

New Contributors

Full Changelog: 6.1.3...7.0.0b2

7.0.0b1

21 Nov 17:26
7140969
Compare
Choose a tag to compare
7.0.0b1 Pre-release
Pre-release

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

  • fix user_guides/multiplex.rst by @Longin-Yu in #3130
  • tests/integration: fix flake8 failures (E721 do not compare types), and fix Dockerfile for debian "bookworm" by @thaJeztah in #3166
  • tests/integration: update some tests for updated error-messages by @thaJeztah in #3165
  • README: fix link for CI status badge by @thaJeztah in #3167
  • fix: use response.text to get string rather than bytes by @mndeveci in #3156
  • feat: add pause option to commit api by @VincentLeeMax in #3159
  • build(deps): Bump requests from 2.28.1 to 2.31.0 by @dependabot in #3136
  • test: remove APT_MIRROR from Dockerfile by @thaJeztah in #3145
  • Switch linting to ruff, use f-strings, fix lint errors and possible bugs by @akx in #3126
  • integration: Fix bad subnet declaration by @akerouanton in #3169
  • integration: Remove test_create_check_duplicate by @akerouanton in #3170
  • Support all Network.connect parameters in client.containers.run and client.containers.create by @Skazza94 in #3121
  • feat: move websocket-client to extra dependency by @akx in #3123
  • Add health property to Containers model by @TurnrDev in #3147
  • build(deps): Bump urllib3 from 1.26.11 to 1.26.18 by @dependabot in #3183
  • breaking: Python 3.12 compatibility & remove custom SSL adapter by @milas in #3185
  • chore: add changelog for 7.0.0 by @milas in #3186
  • chore: remove support for Python 3.7 by @milas in #3187
  • chore: update MAINTAINERS and remove CODEOWNERS by @milas in #3188

New Contributors

Full Changelog: 6.1.3...7.0.0b1

6.1.3

01 Jun 14:27
78439eb
Compare
Choose a tag to compare

🐛 Bugfixes

  • Fix eventlet compatibility (#3132)

What's Changed

New Contributors

Full Changelog: 6.1.2...6.1.3

6.1.2

11 May 20:18
14e8d07
Compare
Choose a tag to compare

🐛 Bugfixes

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

Full Changelog

New Contributors

Full Changelog: 6.1.1...6.1.2

6.1.1

08 May 00:02
443a353
Compare
Choose a tag to compare

ℹ️ 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: 6.1.0...6.1.1

6.1.0

05 May 16:06
3178c8d
Compare
Choose a tag to compare

ℹ️ 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: 6.0.1...6.1.0

6.0.1

02 Nov 19:44
3002298
Compare
Choose a tag to compare

⚠️ 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: 6.0.0...6.0.1

6.0.0

18 Aug 20:04
e901eac
Compare
Choose a tag to compare

ℹ️ 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

Read more