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 includewebsocket-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)
- Use
- Python 3.7 no longer supported (reached end-of-life June 2023) (#3187)
Features ✨
- Python 3.12 support (#3185)
- Full
networking_config
support forcontainers.create()
(#3121)- Replaces
network_driver_opt
(added in 6.1.0)
- Replaces
- Add
health()
property to container that returns status (e.g.unhealthy
) (#3147) - Add
pause
option tocontainer.commit()
(#3159) - Add support for bind mount propagation (e.g.
rshared
,private
) (#3164) - Add support for
filters
,keep_storage
, andall
inprune_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 inclient.containers.run
andclient.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
- @Longin-Yu made their first contribution in #3130
- @mndeveci made their first contribution in #3156
- @VincentLeeMax made their first contribution in #3159
- @akerouanton made their first contribution in #3169
- @TurnrDev made their first contribution in #3147
- @LombardiDaniel made their first contribution in #3191
- @emranbm made their first contribution in #3192
Full Changelog: 6.1.3...7.0.0