Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docker to 7.1.0 #349

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates docker from 4.2.2 to 7.1.0.

Changelog

7.1.0

-----
Upgrade Notes
- Bumped minimum engine API version to 1.24
- Bumped default engine API version to 1.44 (Moby 25.0)

Bugfixes
- Fixed issue with tag parsing when the registry address includes ports that resulted in `invalid tag format` errors
- Fixed issue preventing creating new configs (`ConfigCollection`), which failed with a `KeyError` due to the `name` field
- Fixed an issue due to an update in the [requests](https://github.com/psf/requests) package breaking `docker-py` by applying the [suggested fix](https://github.com/psf/requests/pull/6710)

Miscellaneous
- Documentation improvements
- Updated Ruff (linter) and fixed minor linting issues
- Packaging/CI updates
- Started using hatch for packaging (https://github.com/pypa/hatch)
- Updated `setup-python` github action
- Updated tests
- Stopped checking for deprecated container and image related fields (`Container` and `ContainerConfig`)
- Updated tests that check `NetworkSettings.Networks.<network>.Aliases` due to engine changes

7.0.0

-----
Upgrade Notes
- Removed SSL version (`ssl_version`) and explicit hostname check (`assert_hostname`) options
- `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
- 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 officially supported (reached end-of-life June 2023)

Features
- Python 3.12 support
- Full `networking_config` support for `containers.create()`
 - Replaces `network_driver_opt` (added in 6.1.0)
- Add `health()` property to container that returns status (e.g. `unhealthy`)
- Add `pause` option to `container.commit()`
- Add support for bind mount propagation (e.g. `rshared`, `private`)
- Add `filters`, `keep_storage`, and `all` parameters to `prune_builds()` (requires API v1.39+)

Bugfixes
- Consistently return `docker.errors.NotFound` on 404 responses
- Validate tag format before image push

Miscellaneous
- Upgraded urllib3 version in `requirements.txt` (used for development/tests)
- Documentation typo fixes & formatting improvements
- Fixed integration test compatibility for newer Moby engine versions
- Switch to [ruff](https://github.com/astral-sh/ruff) for linting

6.1.3

-----
Bugfixes
- Fix compatibility with [`eventlet/eventlet`](https://github.com/eventlet/eventlet)

6.1.2

-----

Bugfixes
- Fix for socket timeouts on long `docker exec` calls

6.1.1

-----

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

6.1.0

-----

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

6.0.1

-----

Bugfixes
- Fix for `The pipe has been ended errors` on Windows
- Support floats for container log filtering by timestamp (`since` / `until`)

6.0.0

-----

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)

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

5.0.3

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/76?closed=1)

Features
- Add `cap_add` and `cap_drop` parameters to service create and ContainerSpec
- Add `templating` parameter to config create

Bugfixes
- Fix getting a read timeout for logs/attach with a tty and slow output

Miscellaneous
- Fix documentation examples

5.0.2

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/75?closed=1)

Bugfixes
- Fix `disable_buffering` regression

5.0.1

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/74?closed=1)

Bugfixes
- Bring back support for ssh identity file
- Cleanup remaining python-2 dependencies
- Fix image save example in docs

Miscellaneous
- Bump urllib3 to 1.26.5
- Bump requests to 2.26.0

5.0.0

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/70?closed=1)

Breaking changes
- Remove support for Python 2.7
- Make Python 3.6 the minimum version supported

Features
- Add `limit` parameter to image search endpoint

Bugfixes
- Fix `KeyError` exception on secret create
- Verify TLS keys loaded from docker contexts
- Update PORT_SPEC regex to allow square brackets for IPv6 addresses
- Fix containers and images documentation examples

4.4.4

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/73?closed=1)

Bugfixes
- Remove `LD_LIBRARY_PATH` and `SSL_CERT_FILE` environment variables when shelling out to the ssh client

4.4.3

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/72?closed=1)

Features
- Add support for docker.types.Placement.MaxReplicas

Bugfixes
- Fix SSH port parsing when shelling out to the ssh client

4.4.2

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/71?closed=1)

Bugfixes
- Fix SSH connection bug where the hostname was incorrectly trimmed and the error was hidden
- Fix docs example

Miscellaneous
- Add Python3.8 and 3.9 in setup.py classifier list

4.4.1

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/69?closed=1)

Bugfixes
- Avoid setting unsuported parameter for subprocess.Popen on Windows
- Replace use of deprecated "filter" argument on ""docker/api/image"

4.4.0

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/67?closed=1)

Features
- Add an alternative SSH connection to the paramiko one, based on shelling out to the SSh client. Similar to the behaviour of Docker cli
- Default image tag to `latest` on `pull`

Bugfixes
- Fix plugin model upgrade
- Fix examples URL in ulimits

Miscellaneous
- Improve exception messages for server and client errors
- Bump cryptography from 2.3 to 3.2

4.3.1

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/68?closed=1)

Miscellaneous
- Set default API version to `auto`
- Fix conversion to bytes for `float`
- Support OpenSSH `identityfile` option

4.3.0

-----

[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/64?closed=1)

Features
- Add `DeviceRequest` type to expose host resources such as GPUs
- Add support for `DriverOpts` in EndpointConfig
- Disable compression by default when using container.get_archive method

Miscellaneous
- Update default API version to v1.39
- Update test engine version to 19.03.12
Links

@pyup-bot pyup-bot mentioned this pull request May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant