blob: 3396394fb6c39564130033153b20b2f2d67b0e57 [file] [log] [blame] [view]
Ben Firshmanc7a3aa72016-11-08 02:07:001Change log
micahhausler77d2f422014-10-28 14:42:192==========
3
aiordache9acb9422021-02-18 14:26:0744.4.3
5-----
6
7[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/72?closed=1)
8
9### Bugfixes
10- Fix SSH port parsing when shelling out to the ssh client
11
aiordachee6689e02021-02-18 09:23:20124.4.2
13-----
14
15[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/71?closed=1)
16
17### Bugfixes
18- Fix SSH connection bug where the hostname was incorrectly trimmed and the error was hidden
19- Fix docs example
20
21### Miscellaneous
22- Add Python3.8 and 3.9 in setup.py classifier list
23
Ulysses Souza2f3e0f92020-12-22 20:19:24244.4.1
25-----
26
27[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/69?closed=1)
28
29### Bugfixes
30- Avoid setting unsuported parameter for subprocess.Popen on Windows
31- Replace use of deprecated "filter" argument on ""docker/api/image"
32
aiordache990ef492020-11-23 12:16:23334.4.0
34-----
35
36[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/67?closed=1)
37
38### Features
39- Add an alternative SSH connection to the paramiko one, based on shelling out to the SSh client. Similar to the behaviour of Docker cli
40- Default image tag to `latest` on `pull`
41
42### Bugfixes
43- Fix plugin model upgrade
44- Fix examples URL in ulimits
45
46### Miscellaneous
47- Improve exception messages for server and client errors
48- Bump cryptography from 2.3 to 3.2
49
aiordacheed46fb02020-08-21 08:43:12504.3.1
51-----
52
53[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/68?closed=1)
54
55### Miscellaneous
56- Set default API version to `auto`
57- Fix conversion to bytes for `float`
58- Support OpenSSH `identityfile` option
59
aiordache746a2502020-08-10 13:29:34604.3.0
61-----
62
aiordache9579b7a2020-08-10 16:21:5763[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/64?closed=1)
aiordache746a2502020-08-10 13:29:3464
65### Features
66- Add `DeviceRequest` type to expose host resources such as GPUs
67- Add support for `DriverOpts` in EndpointConfig
68- Disable compression by default when using container.get_archive method
69
70### Miscellaneous
71- Update default API version to v1.39
72- Update test engine version to 19.03.12
73
Ulysses Souzae18a64b2020-06-30 15:22:00744.2.2
75-----
76
77[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/66?closed=1)
78
79### Bugfixes
80
81- Fix context load for non-docker endpoints
82
Ulysses Souza99237462020-06-02 13:47:10834.2.1
84-----
85
86[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/65?closed=1)
87
88### Features
89
90- Add option on when to use `tls` on Context constructor
91- Make context orchestrator field optional
92
Ulysses Souza7c4194c2020-02-07 00:00:18934.2.0
94-----
95
96[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/63?closed=1)
97
98### Bugfixes
99
100- Fix `win32pipe.WaitNamedPipe` throw exception in Windows containers
101- Use `Hostname`, `Username`, `Port` and `ProxyCommand` settings from `.ssh/config` when on SSH
102- Set host key policy for ssh transport to `paramiko.WarningPolicy()`
103- Set logging level of `paramiko` to warn
104
105### Features
106
107- Add support for docker contexts through `docker.ContextAPI`
108
Christopher Cronec81200a2019-10-03 13:44:271094.1.0
110-----
111
112[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/61?closed=1)
113
114### Bugfixes
115
116- Correct `INDEX_URL` logic in build.py _set_auth_headers
117- Fix for empty auth keys in config.json
118
119### Features
120
121- Add `NetworkAttachmentConfig` for service create/update
122
123### Miscellaneous
124
125- Bump pytest to 4.3.1
126- Adjust `--platform` tests for changes in docker engine
127- Update credentials-helpers to v0.6.3
128
Djordje Lukic46fdeff2019-06-20 10:58:091294.0.2
130-----
131
132[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/62?closed=1)
133
134### Bugfixes
135
136- Unified the way `HealthCheck` is created/configured
137
138### Miscellaneous
139
140- Bumped version of websocket-client
141
Joffrey F48281382019-05-19 02:53:531424.0.1
143-----
144
145[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/60?closed=1)
146
147### Bugfixes
148
149- Fixed an obsolete import in the `credentials` subpackage that caused import errors in
150 Python 3.7
151
152### Miscellaneous
153
154- Docs building has been repaired
155
Joffrey Fb406bfb2019-05-02 03:38:331564.0.0
157-----
158
159[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/57?closed=1)
160
161### Breaking changes
162
163- Support for Python 3.3 and Python 3.4 has been dropped
164- `APIClient.update_service`, `APIClient.init_swarm`, and
165 `DockerClient.swarm.init` now return a `dict` from the API's response body
166- In `APIClient.build` and `DockerClient.images.build`, the `use_config_proxy`
167 parameter now defaults to True
168- `init_path` is no longer a valid parameter for `HostConfig`
169
170### Features
171
172- It is now possible to provide `SCTP` ports for port mappings
173- `ContainerSpec`s now support the `init` parameter
174- `DockerClient.swarm.init` and `APIClient.init_swarm` now support the
175 `data_path_addr` parameter
176- `APIClient.update_swarm` and `DockerClient.swarm.update` now support the
177 `rotate_manager_unlock_key` parameter
178- `APIClient.update_service` returns the API's response body as a `dict`
179- `APIClient.init_swarm`, and `DockerClient.swarm.init` now return the API's
180 response body as a `dict`
181
182### Bugfixes
183
184- Fixed `PlacementPreference` instances to produce a valid API type
185- Fixed a bug where not setting a value for `buildargs` in `build` could cause
186 the library to attempt accessing attributes of a `None` value
187- Fixed a bug where setting the `volume_driver` parameter in
188 `DockerClient.containers.create` would result in an error
189- `APIClient.inspect_distribution` now correctly sets the authentication
190 headers on the request, allowing it to be used with private repositories
191 This change also applies to `DockerClient.get_registry_data`
192
Ulysses Souzaefdac342019-03-28 13:23:191933.7.2
194-----
195
196[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/59?closed=1)
197
198### Bugfixes
199
Ville Skyttä631abd12020-08-07 12:33:19200* Fix base_url to keep TCP protocol on utils.py by letting the responsibility of changing the
Ulysses Souzaefdac342019-03-28 13:23:19201protocol to `parse_host` afterwards, letting `base_url` with the original value.
202* XFAIL test_attach_stream_and_cancel on TLS
203
Ulysses Souza963818a2019-03-20 10:56:242043.7.1
205-----
206
207[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/58?closed=1)
208
209### Bugfixes
210
211* Set a different default number (which is now 9) for SSH pools
212* Adds a BaseHTTPAdapter with a close method to ensure that the
213pools is clean on close()
214* Makes SSHHTTPAdapter reopen a closed connection when needed
215like the others
216
Ulysses Souzae6783d82019-01-10 16:58:392173.7.0
218-----
219
220[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/56?closed=1)
221
222### Features
223
224* Added support for multiplexed streams (for `attach` and `exec_start`). Learn
225 more at https://docker-py.readthedocs.io/en/stable/user_guides/multiplex.html
226* Added the `use_config_proxy` parameter to the following methods:
227 `APIClient.build`, `APIClient.create_container`, `DockerClient.images.build`
228 and `DockerClient.containers.run` (`False` by default). **This parameter**
229 **will become `True` by default in the 4.0.0 release.**
230* Placement preferences for Swarm services are better validated on the client
231 and documentation has been updated accordingly
232
233### Bugfixes
234
235* Fixed a bug where credential stores weren't queried for relevant registry
236 credentials with certain variations of the `config.json` file.
237* `DockerClient.swarm.init` now returns a boolean value as advertised.
238
Joffrey F24ed2f32018-11-28 19:48:152393.6.0
240-----
241
242[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone=55?closed=1)
243
244### Features
245
246* Added support for connecting to the Docker Engine over SSH. Additional
247 dependencies for this feature can be installed with
248 `pip install "docker[ssh]"`
249* Added support for the `named` parameter in `Image.save`, which may be
250 used to ensure the resulting tarball retains the image's name on save.
251
252### Bugfixes
253
254* Fixed a bug where builds on Windows with a context path using the `\\?\`
255 prefix would fail with some relative Dockerfile paths.
256* Fixed an issue where pulls made with the `DockerClient` would fail when
257 setting the `stream` parameter to `True`.
258
259### Miscellaneous
260
261* The minimum requirement for the `requests` dependency has been bumped
262 to 2.20.0
263
Joffrey Ff097ea52018-10-17 21:38:022643.5.1
265-----
266
267[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/54?closed=1)
268
269### Miscellaneous
270
271* Bumped version of `pyOpenSSL` in `requirements.txt` and `setup.py` to prevent
272 installation of a vulnerable version
273
274* Docs fixes
275
Joffrey F05fa0be2018-08-10 00:10:072763.5.0
277-----
278
Joffrey Ff097ea52018-10-17 21:38:02279[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/53?closed=1)
Joffrey F05fa0be2018-08-10 00:10:07280
281### Deprecation warning
282
283* Support for Python 3.3 will be dropped in the 4.0.0 release
284
285### Features
286
287* Updated dependencies to ensure support for Python 3.7 environments
288* Added support for the `uts_mode` parameter in `HostConfig`
289* The `UpdateConfig` constructor now allows `rollback` as a valid
290 value for `failure_action`
291* Added support for `rollback_config` in `APIClient.create_service`,
292 `APIClient.update_service`, `DockerClient.services.create` and
293 `Service.update`.
294
295### Bugfixes
296
297* Credential helpers are now properly leveraged by the `build` method
298* Fixed a bug that caused placement preferences to be ignored when provided
299 to `DockerClient.services.create`
300* Fixed a bug that caused a `user` value of `0` to be ignored in
301 `APIClient.create_container` and `DockerClient.containers.create`
302
Joffrey Fbc28fd02018-06-29 18:50:423033.4.1
304-----
305
306[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/52?closed=1)
307
308### Bugfixes
309
310* Fixed a bug that caused auth values in config files written using one of the
311 legacy formats to be ignored
312* Fixed issues with handling of double-wildcard `**` patterns in
313 `.dockerignore` files
314
Joffrey Fe5f56242018-06-18 22:11:123153.4.0
316-----
317
318[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/51?closed=1)
319
320### Features
321
322* The `APIClient` and `DockerClient` constructors now accept a `credstore_env`
323 parameter. When set, values in this dictionary are added to the environment
324 when executing the credential store process.
325
326### Bugfixes
327
328* `DockerClient.networks.prune` now properly returns the operation's result
329* Fixed a bug that caused custom Dockerfile paths in a subfolder of the build
330 context to be invalidated, preventing these builds from working
331* The `plugin_privileges` method can now be called for plugins requiring
332 authentication to access
333* Fixed a bug that caused attempts to read a data stream over an unsecured TCP
334 socket to crash on Windows clients
335* Fixed a bug where using the `read_only` parameter when creating a service using
336 the `DockerClient` was being ignored
337* Fixed an issue where `Service.scale` would not properly update the service's
338 mode, causing the operation to fail silently
339
Joffrey Fe88751c2018-04-26 00:35:113403.3.0
341-----
342
343[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/49?closed=1)
344
345### Features
346
347* Added support for `prune_builds` in `APIClient` and `DockerClient.images`
348* Added support for `ignore_removed` parameter in
349 `DockerClient.containers.list`
350
351### Bugfixes
352
353* Fixed an issue that caused builds to fail when an in-context Dockerfile
354 would be specified using its absolute path
355* Installation with pip 10.0.0 and above no longer fails
356* Connection timeout for `stop` and `restart` now gets properly adjusted to
357 allow for the operation to finish in the specified time
358* Improved docker credential store support on Windows
359
Joffrey Fd2d99822018-03-30 18:07:163603.2.1
361-----
362
363[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/50?closed=1)
364
365### Bugfixes
366
367* Fixed a bug with builds not properly identifying Dockerfile paths relative
368 to the build context
369* Fixed an issue where builds would raise a `ValueError` when attempting to
370 build with a Dockerfile on a different Windows drive.
371
Joffrey F2ecc3ad2018-03-29 22:58:423723.2.0
373-----
374
Joffrey Fe88751c2018-04-26 00:35:11375[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/45?closed=1)
Joffrey F2ecc3ad2018-03-29 22:58:42376
377### Features
378
379* Generators returned by `attach()`, `logs()` and `events()` now have a
380 `cancel()` method to let consumers stop the iteration client-side.
381* `build()` methods can now handle Dockerfiles supplied outside of the
382 build context.
383* Added `sparse` argument to `DockerClient.containers.list()`
384* Added `isolation` parameter to `build()` methods.
385* Added `close()` method to `DockerClient`
386* Added `APIClient.inspect_distribution()` method and
387 `DockerClient.images.get_registry_data()`
388 * The latter returns an instance of the new `RegistryData` class
389
Joffrey Fea682a62018-03-21 13:23:233903.1.4
391-----
392
393[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/48?closed=1)
394
Joffrey F2ecc3ad2018-03-29 22:58:42395### Bugfixes
Joffrey Fea682a62018-03-21 13:23:23396
397* Fixed a bug where build contexts containing directory symlinks would produce
398 invalid tar archives
399
Joffrey Faf674152018-03-20 10:57:104003.1.3
401-----
402
403### Bugfixes
404
405* Regenerated invalid wheel package
406
Joffrey F791de782018-03-20 08:55:054073.1.2
408-----
409
410[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/47?closed=1)
411
412### Bugfixes
413
414* Fixed a bug that led to a Dockerfile not being included in the build context
415 in some situations when the Dockerfile's path was prefixed with `./`
416
Joffrey F52c3d522018-03-05 23:15:374173.1.1
418-----
419
420[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/46?closed=1)
421
422### Bugfixes
423
424* Fixed a bug that caused costly DNS lookups on Mac OSX when connecting to the
425 engine through UNIX socket
426* Fixed a bug that caused `.dockerignore` comments to be read as exclusion
427 patterns
428
Joffrey F1d858182018-02-22 21:52:444293.1.0
430-----
431
432[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/44?closed=1)
433
434### Features
435
436* Added support for `device_cgroup_rules` in host config
437* Added support for `generic_resources` when creating a `Resources`
438 object.
439* Added support for a configurable `chunk_size` parameter in `export`,
440 `get_archive` and `get_image` (`Image.save`)
441* Added a `force_update` method to the `Service` class.
442* In `Service.update`, when the `force_update` parameter is set to `True`,
443 the current `force_update` counter is incremented by one in the update
444 request.
445
446### Bugfixes
447
448* Fixed a bug where authentication through `login()` was being ignored if the
449 SDK was configured to use a credential store.
450* Fixed a bug where download methods would use an absurdly small chunk size,
451 leading to slow data retrieval
452* Fixed a bug where using `DockerClient.images.pull` to pull an image by digest
453 would lead to an exception being raised.
454* `.dockerignore` rules should now be respected as defined by the spec,
455 including respect for last-line precedence and proper handling of absolute
456 paths
457* The `pass` credential store is now properly supported.
458
Joffrey F8649f482018-02-05 21:44:574593.0.1
460-----
461
462[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/43?closed=1)
463
464### Bugfixes
465
466* Fixed a bug where `APIClient.login` didn't populate the `_auth_configs`
467 dictionary properly, causing subsequent `pull` and `push` operations to fail
468* Fixed a bug where some build context files were incorrectly recognized as
469 being inaccessible.
470* Fixed a bug where files with a negative mtime value would
471 cause errors when included in a build context
472
Joffrey F7fabcda2018-02-01 00:39:394733.0.0
474-----
475
476[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/39?closed=1)
477
478### Breaking changes
479
480* Support for API version < 1.21 has been removed.
481* The following methods have been removed:
482 * `APIClient.copy` has been removed. Users should use `APIClient.get_archive`
483 instead.
484 * `APIClient.insert` has been removed. Users may use `APIClient.put_archive`
485 combined with `APIClient.commit` to replicate the method's behavior.
486 * `utils.ping_registry` and `utils.ping` have been removed.
487* The following parameters have been removed:
488 * `stream` in `APIClient.build`
489 * `cpu_shares`, `cpuset`, `dns`, `mem_limit`, `memswap_limit`,
490 `volume_driver`, `volumes_from` in `APIClient.create_container`. These are
491 all replaced by their equivalent in `create_host_config`
492 * `insecure_registry` in `APIClient.login`, `APIClient.pull`,
493 `APIClient.push`, `DockerClient.images.push` and `DockerClient.images.pull`
494 * `viz` in `APIClient.images`
495* The following parameters have been renamed:
496 * `endpoint_config` in `APIClient.create_service` and
497 `APIClient.update_service` is now `endpoint_spec`
498 * `name` in `DockerClient.images.pull` is now `repository`
499* The return value for the following methods has changed:
500 * `APIClient.wait` and `Container.wait` now return a ``dict`` representing
501 the API's response instead of returning the status code directly.
502 * `DockerClient.images.load` now returns a list of `Image` objects that have
503 for the images that were loaded, instead of a log stream.
504 * `Container.exec_run` now returns a tuple of (exit_code, output) instead of
505 just the output.
506 * `DockerClient.images.build` now returns a tuple of (image, build_logs)
507 instead of just the image object.
508 * `APIClient.export`, `APIClient.get_archive` and `APIClient.get_image` now
509 return generators streaming the raw binary data from the server's response.
510 * When no tag is provided, `DockerClient.images.pull` now returns a list of
511 `Image`s associated to the pulled repository instead of just the `latest`
512 image.
513
Joffrey F3aba34f2018-02-01 01:26:36514### Features
515
516* The Docker Python SDK is now officially supported on Python 3.6
517* Added `scale` method to the `Service` model ; this method is a shorthand
518 that calls `update_service` with the required number of replicas
519* Added support for the `platform` parameter in `APIClient.build`,
520 `DockerClient.images.build`, `APIClient.pull` and `DockerClient.images.pull`
521* Added support for the `until` parameter in `APIClient.logs` and
522 `Container.logs`
523* Added support for the `workdir` argument in `APIClient.exec_create` and
524 `Container.exec_run`
525* Added support for the `condition` argument in `APIClient.wait` and
526 `Container.wait`
527* Users can now specify a publish mode for ports in `EndpointSpec` using
528 the `{published_port: (target_port, protocol, publish_mode)}` syntax.
529* Added support for the `isolation` parameter in `ContainerSpec`,
530 `DockerClient.services.create` and `Service.update`
531* `APIClient.attach_socket`, `APIClient.exec_create` now allow specifying a
532 `detach_keys` combination. If unspecified, the value from the `config.json`
533 file will be used
534* TLS connections now default to using the TLSv1.2 protocol when available
535
536
537### Bugfixes
538
539* Fixed a bug where whitespace-only lines in `.dockerignore` would break builds
540 on Windows
541* Fixed a bug where broken symlinks inside a build context would cause the
542 build to fail
543* Fixed a bug where specifying volumes with Windows drives would cause
544 incorrect parsing in `DockerClient.containers.run`
545* Fixed a bug where the `networks` data provided to `create_service` and
546 `update_service` would be sent incorrectly to the Engine with API < 1.25
547* Pulling all tags from a repository with no `latest` tag using the
548 `DockerClient` will no longer raise a `NotFound` exception
549
Joffrey Ff10c0082017-12-19 02:21:515502.7.0
551-----
552
553[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/41?closed=1)
554
555### Features
556
557* Added `unlock_swarm` and `get_unlock_key` methods to the `APIClient`.
558 * Added `unlock` and `get_unlock_key` to `DockerClient.swarm`.
559* Added a `greedy` parameter to `DockerClient.networks.list`, yielding
560 additional details about the listed networks.
561* Added `cpu_rt_runtime` and `cpu_rt_period` as parameters to
562 `APIClient.create_host_config` and `DockerClient.containers.run`.
563* Added the `order` argument to `UpdateConfig`.
564* Added `fetch_current_spec` to `APIClient.update_service` and `Service.update`
565 that will retrieve the current configuration of the service and merge it with
566 the provided parameters to determine the new configuration.
567
568### Bugfixes
569
570* Fixed a bug where the `build` method tried to include inaccessible files
571 in the context, leading to obscure errors during the build phase
572 (inaccessible files inside the context now raise an `IOError` instead).
573* Fixed a bug where the `build` method would try to read from FIFOs present
574 inside the build context, causing it to hang.
575* `APIClient.stop` will no longer override the `stop_timeout` value present
576 in the container's configuration.
577* Fixed a bug preventing removal of networks with names containing a space.
578* Fixed a bug where `DockerClient.containers.run` would crash if the
579 `auto_remove` parameter was set to `True`.
580* Changed the default value of `listen_addr` in `join_swarm` to match the
581 one in `init_swarm`.
582* Fixed a bug where handling HTTP errors with no body would cause an unexpected
583 exception to be thrown while generating an `APIError` object.
584
Joffrey F2008f522017-11-09 00:43:565852.6.1
586-----
587
588[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/40?closed=1)
589
590### Bugfixes
591
592* Fixed a bug on Python 3 installations preventing the use of the `attach` and
593 `exec_run` methods.
594
595
Joffrey F3bad0512017-11-07 03:13:195962.6.0
597-----
598
Joffrey F2008f522017-11-09 00:43:56599[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/38?closed=1)
Joffrey F3bad0512017-11-07 03:13:19600
601### Features
602
603* Added support for `mounts` in `APIClient.create_host_config` and
604 `DockerClient.containers.run`
605* Added support for `consistency`, `tmpfs_size` and `tmpfs_mode` when
606 creating mount objects.
607* `Mount` objects now support the `tmpfs` and `npipe` types.
608* Added support for `extra_hosts` in the `build` methods.
609* Added support for the configs API:
610 * In `APIClient`: `create_config`, `inspect_config`, `remove_config`,
611 `configs`
612 * In `DockerClient`: `configs.create`, `configs.get`, `configs.list` and
613 the `Config` model.
614 * Added `configs` parameter to `ContainerSpec`. Each item in the `configs`
615 list must be a `docker.types.ConfigReference` instance.
616* Added support for the following parameters when creating a `ContainerSpec`
617 object: `groups`, `open_stdin`, `read_only`, `stop_signal`, `helathcheck`,
618 `hosts`, `ns_config`, `configs`, `privileges`.
619* Added the following configuration classes to `docker.types`:
620 `ConfigReference`, `DNSConfig`, `Privileges`, `SwarmExternalCA`.
621* Added support for `driver` in `APIClient.create_secret` and
622 `DockerClient.secrets.create`.
623* Added support for `scope` in `APIClient.inspect_network` and
624 `APIClient.create_network`, and their `DockerClient` equivalent.
625* Added support for the following parameters to `create_swarm_spec`:
626 `external_cas`, `labels`, `signing_ca_cert`, `signing_ca_key`,
627 `ca_force_rotate`, `autolock_managers`, `log_driver`. These additions
628 also apply to `DockerClient.swarm.init`.
629* Added support for `insert_defaults` in `APIClient.inspect_service` and
630 `DockerClient.services.get`.
631
632### Bugfixes
633
634* Fixed a bug where reading a 0-length frame in log streams would incorrectly
635 interrupt streaming.
636* Fixed a bug where the `id` member on `Swarm` objects wasn't being populated.
637* Fixed a bug that would cause some data at the beginning of an upgraded
638 connection stream (`attach`, `exec_run`) to disappear.
639
Joffrey Fe9fe0772017-08-22 23:38:156402.5.1
641-----
642
643[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/37?closed=1)
644
645### Bugfixes
646
647* Fixed a bug where patterns ending with `**` in `.dockerignore` would
648 raise an exception
649* Fixed a bug where using `attach` with the `stream` argument set to `False`
650 would raise an exception
651
Joffrey F9b6ff332017-08-17 19:38:526522.5.0
653-----
654
Joffrey F8d147092017-08-17 20:50:20655[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/34?closed=1)
Joffrey F9b6ff332017-08-17 19:38:52656
657### Features
658
659* Added support for the `squash` parameter in `APIClient.build` and
660 `DockerClient.images.build`.
661* When using API version 1.23 or above, `load_image` will now return a
662 generator of progress as JSON `dict`s.
663* `remove_image` now returns the content of the API's response.
664
665
666### Bugfixes
667
668* Fixed an issue where the `auto_remove` parameter in
669 `DockerClient.containers.run` was not taken into account.
670* Fixed a bug where `.dockerignore` patterns starting with a slash
671 were ignored.
672* Fixed an issue with the handling of `**` patterns in `.dockerignore`
673* Fixed a bug where building `FROM` a private Docker Hub image when not
674 using a cred store would fail.
675* Fixed a bug where calling `create_service` or `update_service` with
676 `task_template` as a `dict` would raise an exception.
677* Fixed the handling of TTY-enabled containers in `attach` and `exec_run`.
678* `DockerClient.containers.run` will no longer attempt to stream logs if the
679 log driver doesn't support the operation.
680
681### Miscellaneous
682
683* Added extra requirements for better TLS support on some platforms.
684 These can be installed or required through the `docker[tls]` notation.
685
Joffrey F43f87e92017-06-28 20:32:186862.4.2
Joffrey F3d84dbe2017-06-28 19:25:10687-----
688
Joffrey F43f87e92017-06-28 20:32:18689[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/36?closed=1)
Joffrey F3d84dbe2017-06-28 19:25:10690
691### Bugfixes
692
693* Fixed a bug where the `split_port` utility would raise an exception when
694 passed a non-string argument.
695
Joffrey F1ad68592017-06-23 00:17:136962.4.0
697-----
698
699[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/33?closed=1)
700
701### Features
702
703* Added support for the `target` and `network_mode` parameters in
704 `APIClient.build` and `DockerClient.images.build`.
705* Added support for the `runtime` parameter in `APIClient.create_container`
706 and `DockerClient.containers.run`.
707* Added support for the `ingress` parameter in `APIClient.create_network` and
708 `DockerClient.networks.create`.
709* Added support for `placement` configuration in `docker.types.TaskTemplate`.
710* Added support for `tty` configuration in `docker.types.ContainerSpec`.
711* Added support for `start_period` configuration in `docker.types.Healthcheck`.
712* The `credHelpers` section in Docker's configuration file is now recognized.
713* Port specifications including IPv6 endpoints are now supported.
714
715### Bugfixes
716
717* Fixed a bug where instantiating a `DockerClient` using `docker.from_env`
718 wouldn't correctly set the default timeout value.
719* Fixed a bug where `DockerClient.secrets` was not accessible as a property.
720* Fixed a bug where `DockerClient.build` would sometimes return the wrong
721 image.
722* Fixed a bug where values for `HostConfig.nano_cpus` exceeding 2^32 would
723 raise a type error.
724* `Image.tag` now properly returns `True` when the operation is successful.
725* `APIClient.logs` and `Container.logs` now raise an exception if the `since`
726 argument uses an unsupported type instead of ignoring the value.
727* Fixed a bug where some methods would raise a `NullResource` exception when
728 the resource ID was provided using a keyword argument.
729
730### Miscellaneous
731
732* `APIClient` instances can now be pickled.
733
Joffrey Fba334f82017-05-16 21:53:417342.3.0
735-----
736
737[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/31?closed=1)
738
739### Features
740
741* Added support for the following `HostConfig` parameters: `volume_driver`,
742 `cpu_count`, `cpu_percent`, `nano_cpus`, `cpuset_mems`.
743* Added support for `verbose` parameter in `APIClient.inspect_network` and
744 `DockerClient.networks.get`.
745* Added support for the `environment` parameter in `APIClient.exec_create`
746 and `Container.exec_run`
747* Added `reload_config` method to `APIClient`, that lets the user reload
748 the `config.json` data from disk.
749* Added `labels` property to the `Image` and `Container` classes.
750* Added `image` property to the `Container` class.
751
752### Bugfixes
753
754* Fixed a bug where setting `replicas` to zero in `ServiceMode` would not
755 register as a valid entry.
756* Fixed a bug where `DockerClient.images.build` would report a failure after
757 a successful build if a `tag` was set.
758* Fixed an issue where `DockerClient.images.pull` would fail to return the
759 corresponding image object if a `tag` was set.
760* Fixed a bug where a list of `mounts` provided to `APIClient.create_service`
761 would sometimes be parsed incorrectly.
762* Fixed a bug where calling `Network.containers` would crash when no containers
763 were associated with the network.
764* Fixed an issue where `Network.connect` and `Network.disconnect` would not
765 accept some of the documented parameters.
766* Fixed a bug where the `cpuset_cpus` parameter would not be properly set in
767 `APIClient.create_host_config`.
768
769### Miscellaneous
770
771* The invalid `networks` argument in `DockerClient.containers.run` has been
772 replaced with a (working) singular `network` argument.
773
774
Joffrey F277a6e12017-03-28 22:04:057752.2.1
776-----
777
778[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/32?closed=1)
779
780### Bugfixes
781
782* Fixed a bug where the `status_code` attribute of `APIError` exceptions would
783 not reflect the expected value.
784* Fixed an issue where the `events` method would time out unexpectedly if no
785 data was sent by the engine for a given amount of time.
786
787
Joffrey F04c662b2017-03-18 02:04:367882.2.0
789-----
790
791[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/30?closed=1)
792
793### Features
794
795* Default API version has been bumped to `1.26` (Engine 1.13.1+)
796* Upgrade plugin:
797 * Added the `upgrade_plugin` method to the `APIClient` class
798 * Added the `upgrade` method to the `Plugin` class
799* Service logs:
800 * Added the `service_logs` method to the `APIClient` class
801 * Added the `logs` method to the `Service` class
802* Added the `df` method to `APIClient` and `DockerClient`
803* Added support for `init` and `init_path` parameters in `HostConfig`
804 and `DockerClient.containers.run`
805* Added support for `hostname` parameter in `ContainerSpec` and
806 `DockerClient.service.create`
807* Added support for port range to single port in port mappings
808 (e.g. `8000-8010:80`)
809
810### Bugfixes
811
812* Fixed a bug where a missing container port in a port mapping would raise
813 an unexpected `TypeError`
814* Fixed a bug where the `events` method in `APIClient` and `DockerClient`
815 would not respect custom headers set in `config.json`
816
817
Joffrey Fa90e3e42017-02-17 00:12:078182.1.0
819-----
820
821[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/27?closed=1)
822
823### Features
824
825* Added the following pruning methods:
826 * In `APIClient`: `prune_containers`, `prune_images`, `prune_networks`,
827 `prune_volumes`
828 * In `DockerClient`: `containers.prune`, `images.prune`, `networks.prune`,
829 `volumes.prune`
830* Added support for the plugins API:
831 * In `APIClient`: `configure_plugin`, `create_plugin`, `disable_plugin`,
832 `enable_plugin`, `inspect_plugin`, `pull_plugin`, `plugins`,
833 `plugin_privileges`, `push_plugin`, `remove_plugin`
834 * In `DockerClient`: `plugins.create`, `plugins.get`, `plugins.install`,
835 `plugins.list`, and the `Plugin` model.
836* Added support for the secrets API:
837 * In `APIClient`: `create_secret`, `inspect_secret`, `remove_secret`,
838 `secrets`
839 * In `DockerClient`: `secret.create`, `secret.get`, `secret.list` and
840 the `Secret` model.
841 * Added `secrets` parameter to `ContainerSpec`. Each item in the `secrets`
842 list must be a `docker.types.SecretReference` instance.
843* Added support for `cache_from` in `APIClient.build` and
844 `DockerClient.images.build`.
845* Added support for `auto_remove` and `storage_opt` in
846 `APIClient.create_host_config` and `DockerClient.containers.run`
847* Added support for `stop_timeout` in `APIClient.create_container` and
848 `DockerClient.containers.run`
849* Added support for the `force` parameter in `APIClient.remove_volume` and
850 `Volume.remove`
851* Added support for `max_failure_ratio` and `monitor` in `UpdateConfig`
852* Added support for `force_update` in `TaskTemplate`
853* Made `name` parameter optional in `APIClient.create_volume` and
854 `DockerClient.volumes.create`
855
856### Bugfixes
857
858* Fixed a bug where building from a directory containing socket-type files
859 would raise an unexpected `AttributeError`.
860* Fixed an issue that was preventing the `DockerClient.swarm.init` method to
861 take into account arguments passed to it.
862* `Image.tag` now correctly returns a boolean value upon completion.
863* Fixed several issues related to passing `volumes` in
864 `DockerClient.containers.run`
865* Fixed an issue where `DockerClient.image.build` wouldn't return an `Image`
866 object even when the build was successful
867
868
Joffrey F886e6ff2017-01-20 01:53:188692.0.2
870-----
871
Joffrey F8ca5b2b2017-01-20 22:07:54872[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/29?closed=1)
Joffrey F886e6ff2017-01-20 01:53:18873
874### Bugfixes
875
876* Installation of the package now fails if the `docker-py` package is
877 installed in order to prevent obscure naming conflicts when both
878 packages co-exist.
879* Added missing `filters` parameter to `APIClient.networks`.
880* Resource objects generated by the `DockerClient` are now hashable.
881* Fixed a bug where retrieving untagged images using `DockerClient`
882 would raise a `TypeError` exception.
883* `mode` parameter in `create_service` is now properly converted to
884 a valid data type for the Engine API. Use `ServiceMode` for advanced
885 configurations.
886* Fixed a bug where the decoded `APIClient.events` stream would sometimes raise
887 an exception when a container is stopped or restarted.
888
Joffrey F91a185d2017-01-09 23:22:228892.0.1
890-----
891
892[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/28?closed=1)
893
894### Bugfixes
895
896* Fixed a bug where forward slashes in some .dockerignore patterns weren't
897 being parsed correctly on Windows
898* Fixed a bug where `Mount.parse_mount_string` would never set the read_only
899 parameter on the resulting `Mount`.
900* Fixed a bug where `Mount.parse_mount_string` would incorrectly mark host
901 binds as being of `volume` type.
Joffrey F7b8809e2016-12-07 02:54:59902
9032.0.0
904-----
905
906[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/22?closed=1)
907
908### Breaking changes
909
910* Dropped support for Python 2.6
911* `docker.Client` has been renamed to `docker.APIClient`
912* `docker.from_env` now creates a `DockerClient` instance instead of an
913 `APIClient` instance.
914* Removed HostConfig parameters from `APIClient.start`
915* The minimum supported API version is now 1.21 (Engine version 1.9.0+)
916* The name of the `pip` package is now `docker` (was: `docker-py`). New
917 versions of this library will only be published as `docker` from now on.
918* `docker.ssladapter` is now `docker.transport.ssladapter`
919* The package structure has been flattened in certain cases, which may affect
920 import for `docker.auth` and `docker.utils.ports`
921* `docker.utils.types` has been moved to `docker.types`
922* `create_host_config`, `create_ipam_pool` and `create_ipam_config` have been
923 removed from `docker.utils`. They have been replaced by the following classes
924 in `docker.types`: `HostConfig`, `IPAMPool` and `IPAMCOnfig`.
925
926### Features
927
928* Added a high-level, user-focused API as `docker.DockerClient`. See the
929 README and documentation for more information.
930* Implemented `update_node` method in `APIClient`.
931* Implemented `remove_node` method in `APIClient`.
932* Added support for `restart_policy` in `update_container`.
933* Added support for `labels` and `shmsize` in `build`.
934* Added support for `attachable` in `create_network`
935* Added support for `healthcheck` in `create_container`.
936* Added support for `isolation` in `HostConfig`.
937* Expanded support for `pid_mode` in `HostConfig` (now supports arbitrary
938 values for API version >= 1.24).
939* Added support for `options` in `IPAMConfig`
940* Added a `HealthCheck` class to `docker.types` to be used in
941 `create_container`.
942* Added an `EndpointSpec` class to `docker.types` to be used in
943 `create_service` and `update_service`.
944
945
946### Bugfixes
947
948* Fixed a bug where auth information would not be properly passed to the engine
949 during a `build` if the client used a credentials store.
950* Fixed an issue with some exclusion patterns in `build`.
951* Fixed an issue where context files were bundled with the wrong permissions
952 when calling `build` on Windows.
953* Fixed an issue where auth info would not be retrieved from its default location
954 on Windows.
955* Fixed an issue where lists of `networks` in `create_service` and
956 `update_service` wouldn't be properly converted for the engine.
957* Fixed an issue where `endpoint_config` in `create_service` and
958 `update_service` would be ignored.
959* `endpoint_config` in `create_service` and `update_service` has been
960 deprecated in favor of `endpoint_spec`
961* Fixed a bug where `constraints` in a `TaskTemplate` object wouldn't be
962 properly converted for the engine.
963* Fixed an issue where providing a dictionary for `env` in `ContainerSpec`
964 would provoke an `APIError` when sent to the engine.
965* Fixed a bug where providing an `env_file` containing empty lines in
966 `create_container`would raise an exception.
967* Fixed a bug where `detach` was being ignored by `exec_start`.
968
969### Documentation
970
971* Documentation for classes and methods is now included alongside the code as
972 docstrings.
973
9741.10.6
975------
976
977[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/26?closed=1)
978
979### Bugfixes
980
981* Fixed an issue where setting a `NpipeSocket` instance to blocking mode would
982 put it in non-blocking mode and vice-versa.
983
984
9851.10.5
986------
987
988[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/25?closed=1)
989
990### Bugfixes
991
992* Fixed an issue where concurrent attempts to access to a named pipe by the
993 client would sometimes cause recoverable exceptions to be raised.
994
995
9961.10.4
997------
998
999[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/24?closed=1)
1000
1001### Bugfixes
1002
1003* Fixed an issue where `RestartPolicy.condition_types.ON_FAILURE` would yield
1004 an invalid value.
1005* Fixed an issue where the SSL connection adapter would receive an invalid
1006 argument.
1007* Fixed an issue that caused the Client to fail to reach API endpoints when
1008 the provided `base_url` had a trailing slash.
1009* Fixed a bug where some `environment` values in `create_container`
1010 containing unicode characters would raise an encoding error.
1011* Fixed a number of issues tied with named pipe transport on Windows.
1012* Fixed a bug where inclusion patterns in `.dockerignore` would cause some
1013 excluded files to appear in the build context on Windows.
1014
1015### Miscellaneous
1016
1017* Adjusted version requirements for the `requests` library.
1018* It is now possible to run the docker-py test suite on Windows.
1019
1020
Joffrey Fe4cf97b2016-09-16 18:54:0610211.10.3
1022------
1023
1024[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.3+is%3Aclosed)
1025
1026### Bugfixes
1027
1028* Fixed an issue where identity tokens in configuration files weren't handled
1029 by the library.
1030
1031### Miscellaneous
1032
1033* Increased the default number of connection pools from 10 to 25. This number
1034 can now be configured using the `num_pools` parameter in the `Client`
1035 constructor.
1036
1037
Joffrey F2ad403c2016-09-12 02:01:3910381.10.2
1039------
1040
1041[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed)
1042
1043### Bugfixes
1044
1045* Updated the docker-pycreds dependency as it was causing issues for some
1046 users with dependency resolution in applications using docker-py.
1047
1048
Joffrey F71671892016-09-09 23:55:1010491.10.1
1050------
1051
1052[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed)
1053
1054### Bugfixes
1055
1056* The docker.utils.types module was removed in favor of docker.types, but some
1057 applications imported it explicitly. It has been re-added with an import
1058 warning advising to use the new module path.
1059
Joffrey F3eb93f62016-09-08 00:42:4510601.10.0
1061------
1062
1063[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed)
1064
1065### Features
1066
1067* Added swarm mode and service management methods. See the documentation for
1068 details.
1069* Added support for IPv6 Docker host addresses in the `Client` constructor.
1070* Added (read-only) support for the Docker credentials store.
1071* Added support for custom `auth_config` in `Client.push`.
1072* Added support for `labels` in `Client.create_volume`.
1073* Added support for `labels` and `enable_ipv6` in `Client.create_network`.
1074* Added support for `force` param in
1075 `Client.disconnect_container_from_network`.
1076* Added support for `pids_limit`, `sysctls`, `userns_mode`, `cpuset_cpus`,
1077 `cpu_shares`, `mem_reservation` and `kernel_memory` parameters in
1078 `Client.create_host_config`.
1079* Added support for `link_local_ips` in `create_endpoint_config`.
1080* Added support for a `changes` parameter in `Client.import_image`.
1081* Added support for a `version` parameter in `Client.from_env`.
1082
1083### Bugfixes
1084
1085* Fixed a bug where `Client.build` would crash if the `config.json` file
1086 contained a `HttpHeaders` entry.
1087* Fixed a bug where passing `decode=True` in some streaming methods would
1088 crash when the daemon's response had an unexpected format.
1089* Fixed a bug where `environment` values with unicode characters weren't
1090 handled properly in `create_container`.
1091* Fixed a bug where using the `npipe` protocol would sometimes break with
1092 `ValueError: buffer size must be strictly positive`.
1093
1094### Miscellaneous
1095
1096* Fixed an issue where URL-quoting in docker-py was inconsistent with the
1097 quoting done by the Docker CLI client.
1098* The client now sends TCP upgrade headers to hint potential proxies about
1099 connection hijacking.
1100* The client now defaults to using the `npipe` protocol on Windows.
1101
1102
Joffrey Fa2160142016-06-16 19:46:4611031.9.0
1104-----
1105
1106[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.9.0+is%3Aclosed)
1107
1108### Features
1109
1110* Added **experimental** support for Windows named pipes (`npipe://` protocol).
1111* Added support for Block IO constraints in `Client.create_host_config`. This
1112 includes parameters `blkio_weight`, `blkio_weight_device`, `device_read_bps`,
1113 `device_write_bps`, `device_read_iops` and `device_write_iops`.
1114* Added support for the `internal` param in `Client.create_network`.
1115* Added support for `ipv4_address` and `ipv6_address` in utils function
1116 `create_endpoint_config`.
Joffrey F5b1e5562016-07-26 19:11:321117* Added support for custom user agent setting in the `Client` constructor.
1118 By default, docker-py now also declares itself in the `User-Agent` header.
Joffrey Fa2160142016-06-16 19:46:461119
1120### Bugfixes
1121
1122* Fixed an issue where the HTTP timeout on streaming responses would sometimes
1123 be set incorrectly.
1124* Fixed an issue where explicit relative paths in `.dockerignore` files were
1125 not being recognized.
1126
Joffrey Fd6e70e22016-04-29 00:15:2011271.8.1
1128-----
1129
Joffrey Fa2160142016-06-16 19:46:461130[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.8.1+is%3Aclosed)
Joffrey Fd6e70e22016-04-29 00:15:201131
1132### Bugfixes
1133
1134* Fixed a bug where calling `login()` against the default registry would fail
1135 with the 1.10.x engine
1136* Fixed a bug where values in environment files would be parsed incorrectly if
1137 they contained an equal sign.
1138* Switched to a better supported backport of the `match_hostname` function,
1139 fixing dependency issues in some environments.
1140
1141
Joffrey F84ed0ae2016-03-23 20:14:3411421.8.0
1143-----
1144
1145[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.8.0+is%3Aclosed)
1146
1147### Features
1148
1149* Added `Client.update_container` method (Update resource configs of a
1150 container)
1151* Added support for gzipped context in `Client.build`
1152* Added ability to specify IP address when connecting a container to a
1153 network
1154* Added `tmpfs` support to `Client.create_host_config`
1155* Added support for the `changes` param in `Client.commit`
1156* Added support for the `follow` param in `Client.logs`
1157* Added support for the `check_duplicate` param in `Client.create_network`
1158* Added support for the `decode` param in `Client.push` and `Client.pull`
1159* Added `docker.from_env` shortcut function. Instantiates a client with
1160 `kwargs_from_env`
1161* `kwargs_from_env` now supports an optional `environment` parameter.
1162 If present, values will be fetched from this dictionary instead of
1163 `os.environ`
1164
1165
1166### Bugfixes
1167
Joffrey F267bd342016-04-05 23:21:161168* Fixed a bug where TLS verification would fail when using IP addresses
1169 in the certificate's `subjectAltName` fields
Joffrey F84ed0ae2016-03-23 20:14:341170* Fixed an issue where the default TLS version in TLSConfig would
1171 break in some environments. `docker-py` now uses TLSv1 by default
1172 This setting can be overridden using the `ssl_version` param in
1173 `kwargs_from_env` or the `TLSConfig` constructor
Joffrey F267bd342016-04-05 23:21:161174* Fixed a bug where `tcp` hosts would fail to connect to TLS-enabled
1175 endpoints
1176* Fixed a bug where loading a valid docker configuration file would fail
1177* Fixed a bug where some environment variables specified through
1178 `create_container` would be improperly formatted
Joffrey F84ed0ae2016-03-23 20:14:341179* Fixed a bug where using the unix socket connection would raise
1180 an error in some edge-case situations
Joffrey F84ed0ae2016-03-23 20:14:341181
1182### Miscellaneous
1183
1184* Default API version is now 1.22 (introduced in Docker 1.10.0)
1185
1186
Joffrey F287ab932016-02-23 22:50:1211871.7.2
1188-----
1189
1190[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.7.2+is%3Aclosed)
1191
1192### Bugfixes
1193
1194* Fixed a bug where TLS verification was improperly executed when providing
1195 a custom CA certificate.
1196
Joffrey F498c7d42016-02-17 19:00:1911971.7.1
1198-----
1199
1200[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.7.1+is%3Aclosed)
1201
1202### Features
1203
1204* Added support for `shm_size` in `Client.create_host_config`
1205
1206### Bugfixes
1207
1208* Fixed a bug where Dockerfile would sometimes be excluded from the build
1209 context.
1210* Fixed a bug where a docker config file containing unknown keys would raise
1211 an exception.
1212* Fixed an issue with SSL connections behaving improperly when pyOpenSSL
1213 was installed in the same environment.
1214* Several TLS configuration improvements
1215
1216
Joffrey Fa11dc872016-02-04 17:39:0212171.7.0
1218-----
1219
1220[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.7.0+is%3Aclosed)
1221
1222### Features
1223
1224* Added support for cusom IPAM configuration in `Client.create_network`
1225* Added input support to `Client.exec_create`
1226* Added support for `stop_signal` in `Client.create_host_config`
1227* Added support for custom HTTP headers in Docker config file.
1228* Added support for unspecified transfer protocol in `base_url` when TLS is
1229 enabled.
1230
1231
1232### Bugfixes
1233
1234* Fixed a bug where the `filters` parameter in `Client.volumes` would not be
1235 applied properly.
1236* Fixed a bug where memory limits would parse to incorrect values.
1237* Fixed a bug where the `devices` parameter in `Client.create_host_config`
1238 would sometimes be misinterpreted.
1239* Fixed a bug where instantiating a `Client` object would sometimes crash if
1240 `base_url` was unspecified.
1241* Fixed a bug where an error message related to TLS configuration would link
1242 to a non-existent (outdated) docs page.
1243
1244
1245### Miscellaneous
1246
1247* Processing of `.dockerignore` has been made significantly faster.
1248* Dropped explicit support for Python 3.2
1249
Joffrey Faec48132015-11-23 23:30:1412501.6.0
1251-----
1252
1253[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.6.0+is%3Aclosed)
1254
1255### Features
1256
1257* Added support for the `since` param in `Client.logs` (introduced in API
1258 version 1.19)
1259* Added support for the `DOCKER_CONFIG` environment variable when looking up
1260 auth config
1261* Added support for the `stream` param in `Client.stats` (when set to `False`,
1262 allows user to retrieve a single snapshot instead of a constant data stream)
1263* Added support for the `mem_swappiness`, `oom_kill_disable` params
1264 in `Client.create_host_config`
1265* Added support for build arguments in `Client.build` through the `buildargs`
1266 param.
1267
1268
Joffrey Faec48132015-11-23 23:30:141269### Bugfixes
1270
1271* Fixed a bug where streaming data over HTTPS would sometimes behave
1272 incorrectly with Python 3.x
1273* Fixed a bug where commands containing unicode characters would be incorrectly
1274 handled by `Client.create_container`.
1275* Fixed a bug where auth config credentials containing unicode characters would
1276 cause failures when pushing / pulling images.
1277* Setting `tail=0` in `Client.logs` no longer shows past logs.
Joffrey Fa0c09722015-11-30 20:22:011278* Fixed a bug where `Client.pull` and `Client.push` couldn't handle image names
1279 containing a dot.
1280
Joffrey Faec48132015-11-23 23:30:141281
1282### Miscellaneous
1283
1284* Default API version is now 1.21 (introduced in Docker 1.9.0)
1285* Several test improvements and cleanup that should make the suite easier to
1286 expand and maintain moving forward.
1287
Joffrey Fa0c09722015-11-30 20:22:011288
Joffrey Fc8871472015-10-08 21:58:5412891.5.0
1290-----
1291
1292[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.5.0+is%3Aclosed)
1293
1294### Features
1295
1296* Added support for the networking API introduced in Docker 1.9.0
1297 (`Client.networks`, `Client.create_network`, `Client.remove_network`,
1298 `Client.inspect_network`, `Client.connect_container_to_network`,
1299 `Client.disconnect_container_from_network`).
1300* Added support for the volumes API introduced in Docker 1.9.0
1301 (`Client.volumes`, `Client.create_volume`, `Client.inspect_volume`,
1302 `Client.remove_volume`).
1303* Added support for the `group_add` parameter in `create_host_config`.
Ville Skyttä631abd12020-08-07 12:33:191304* Added support for the CPU CFS (`cpu_quota` and `cpu_period`) parameters
Joffrey Fc8871472015-10-08 21:58:541305 in `create_host_config`.
1306* Added support for the archive API endpoint (`Client.get_archive`,
1307 `Client.put_archive`).
1308* Added support for `ps_args` parameter in `Client.top`.
1309
1310
1311### Bugfixes
1312
1313* Fixed a bug where specifying volume binds with unicode characters would
1314 fail.
1315* Fixed a bug where providing an explicit protocol in `Client.port` would fail
1316 to yield the expected result.
1317* Fixed a bug where the priority protocol returned by `Client.port` would be UDP
1318 instead of the expected TCP.
1319
1320### Miscellaneous
1321
1322* Broke up Client code into several files to facilitate maintenance and
1323 contribution.
1324* Added contributing guidelines to the repository.
1325
Joffrey F9372ef22015-09-10 18:05:2513261.4.0
1327-----
1328
1329[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.4.0+is%3Aclosed)
1330
1331### Deprecation warning
1332
1333* `docker.utils.create_host_config` is deprecated in favor of
1334 `Client.create_host_config`.
1335
1336### Features
1337
1338* Added `utils.parse_env_file` to support env-files.
Adam Chainz7f255cd2016-06-08 02:46:561339 See [docs](https://docker-py.readthedocs.io/en/latest/api/#create_container)
Joffrey F9372ef22015-09-10 18:05:251340 for usage.
1341* Added support for arbitrary log drivers
1342* Added support for URL paths in the docker host URL (`base_url`)
1343* Drastically improved support for .dockerignore syntax
1344
1345### Bugfixes
1346
1347* Fixed a bug where exec_inspect would allow invocation when the API version
1348 was too low.
1349* Fixed a bug where `docker.utils.ports.split_port` would break if an open
1350 range was provided.
1351* Fixed a bug where invalid image IDs / container IDs could be provided to
1352 bypass or reroute request URLs
1353* Default `base_url` now adapts depending on the OS (better Windows support)
1354* Fixed a bug where using an integer as the user param in
1355 `Client.create_container` would result in a failure.
1356
1357### Miscellaneous
1358
1359* Docs fixes
1360* Integration tests are now run as part of our continuous integration.
1361* Updated dependency on `six` library
1362
Joffrey F57b86fe2015-07-22 18:23:5113631.3.1
1364-----
1365
1366[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.3.1+is%3Aclosed)
1367
1368### Bugfixes
1369
1370* Fixed a bug where empty chunks in streams was misinterpreted as EOF.
1371* `datetime` arguments passed to `Client.events` parameters `since` and
1372 `until` are now always considered to be UTC.
1373* Fixed a bug with Docker 1.7.x where the wrong auth headers were being passed
1374 in `Client.build`, failing builds that depended on private images.
1375* `Client.exec_create` can now retrieve the `Id` key from a dictionary for its
1376 container param.
1377
1378### Miscellaneous
1379
1380* 404 API status now raises `docker.errors.NotFound`. This exception inherits
1381 `APIError` which was used previously.
1382* Docs fixes
Alex Chan78ccfc82015-07-29 13:00:181383* Test fixes
Joffrey F57b86fe2015-07-22 18:23:511384
Joffrey Faa20f402015-07-08 22:08:4313851.3.0
1386-----
1387
1388[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.3.0+is%3Aclosed)
1389
1390### Deprecation warning
1391
Joffrey F9372ef22015-09-10 18:05:251392* As announced in the 1.2.0 release, `Client.execute` has been removed in favor
1393 of `Client.exec_create` and `Client.exec_start`.
Joffrey Faa20f402015-07-08 22:08:431394
1395### Features
1396
1397* `extra_hosts` parameter in host config can now also be provided as a list.
1398* Added support for `memory_limit` and `memswap_limit` in host config to
1399 comply with recent deprecations.
1400* Added support for `volume_driver` in `Client.create_container`
1401* Added support for advanced modes in volume binds (using the `mode` key)
1402* Added support for `decode` in `Client.build` (decodes JSON stream on the fly)
1403* docker-py will now look for login configuration under the new config path,
1404 and fall back to the old `~/.dockercfg` path if not present.
1405
1406### Bugfixes
1407
1408* Configuration file lookup now also work on platforms that don't define a
1409 `$HOME` environment variable.
1410* Fixed an issue where pinging a v2 private registry wasn't working properly,
1411 preventing users from pushing and pulling.
1412* `pull` parameter in `Client.build` now defaults to `False`. Fixes a bug where
1413 the default options would try to force a pull of non-remote images.
1414* Fixed a bug where getting logs from tty-enabled containers wasn't working
1415 properly with more recent versions of Docker
1416* `Client.push` and `Client.pull` will now raise exceptions if the HTTP
1417 status indicates an error.
1418* Fixed a bug with adapter lookup when using the Unix socket adapter
1419 (this affected some weird edge cases, see issue #647 for details)
1420* Fixed a bug where providing `timeout=None` to `Client.stop` would result
1421 in an exception despite the usecase being valid.
1422* Added `git@` to the list of valid prefixes for remote build paths.
1423
1424### Dependencies
1425
1426* The websocket-client dependency has been updated to a more recent version.
1427 This new version also supports Python 3.x, making `attach_socket` available
1428 on those versions as well.
1429
1430### Documentation
1431
1432* Various fixes
1433
Joffrey Fcf178ad2015-05-26 23:18:5514341.2.3
1435-----
1436
Joffrey Ff0a9c802015-06-16 21:44:391437[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.2.3+is%3Aclosed)
Joffrey Fcf178ad2015-05-26 23:18:551438
Joffrey Ff0a9c802015-06-16 21:44:391439### Deprecation warning
1440
Joffrey F9372ef22015-09-10 18:05:251441* Passing host config in the `Client.start` method is now deprecated. Please
1442 use the `host_config` in `Client.create_container` instead.
Joffrey Ff0a9c802015-06-16 21:44:391443
1444### Features
1445
1446* Added support for `privileged` param in `Client.exec_create`
1447 (only available in API >= 1.19)
Joffrey F6f343aa2015-06-18 17:50:311448* Volume binds can now also be specified as a list of strings.
Joffrey Ff0a9c802015-06-16 21:44:391449
1450### Bugfixes
1451
1452* Fixed a bug where the `read_only` param in host_config wasn't handled
1453 properly.
1454* Fixed a bug in `Client.execute` (this method is still deprecated).
1455* The `cpuset` param in `Client.create_container` is also passed as
1456 the `CpusetCpus` param (`Cpuset` deprecated in recent versions of the API)
1457* Fixed an issue with integration tests being run inside a container
1458 (`make integration-test`)
1459* Fixed a bug where an empty string would be considered a valid container ID
1460 or image ID.
1461* Fixed a bug in `Client.insert`
1462
1463
1464### Documentation
1465
1466* Various fixes
Joffrey Fcf178ad2015-05-26 23:18:551467
Joffrey Fb8e950c2015-05-04 18:47:1614681.2.2
1469-----
1470
1471### Bugfixes
1472
1473* Fixed a bug where parameters passed to `Client.exec_resize` would be ignored (#576)
1474* Fixed a bug where auth config wouldn't be resolved properly in `Client.pull` (#577)
1475
Joffrey Fe5ce67e2015-04-28 17:44:4614761.2.1
1477-----
1478
1479### Bugfixes
1480
1481* Fixed a bug where the check_resource decorator would break with some
1482 argument-passing methods. (#573)
1483
Joffrey F5b9d0882015-04-28 00:29:4514841.2.0
1485-----
1486
1487[List of PRs / issues for this release](https://github.com/docker/docker-py/issues?q=milestone%3A1.2.0+is%3Aclosed)
1488
1489### Deprecation warning
1490
1491* `Client.execute` is being deprecated in favor of the more dev-friendly
1492 `Client.exec_start` and `Client.exec_create`. **It will be removed in 1.3.0**
1493
1494### Features
1495
1496* Added `exec_create`, `exec_start`, `exec_inspect` and `exec_resize` to
1497 client, accurately mirroring the
1498 [Exec API](https://docs.docker.com/reference/api/docker_remote_api_v1.18/#exec-create)
1499* Added `auth_config` param to `Client.pull` (allows to use one-off credentials
1500 for this pull request)
1501* Added support for `ipc_mode` in host config.
1502* Added support for the `log_config` param in host config.
1503* Added support for the `ulimit` param in host config.
1504* Added support for container resource limits in `Client.build`.
1505* When a resource identifier (image or container ID) is passed to a Client
1506 method, we now check for `None` values to avoid crashing
1507 (now raises `docker.errors.NullResource`)
1508* Added tools to parse port ranges inside the new `docker.utils.ports` package.
1509* Added a `version_info` attribute to the `docker` package.
1510
1511### Bugfixes
1512
1513* Fixed a bug in `Client.port` where absence of a certain key in the
1514 container's JSON would raise an error (now just returns `None`)
1515* Fixed a bug with the `trunc` parameter in `Client.containers` having no
1516 effect (moved functionality to the client)
1517* Several improvements have been made to the `Client.import_image` method.
1518* Fixed pushing / pulling to
1519 [v2 registries](https://github.com/docker/distribution)
1520* Fixed a bug where passing a container dictionary to `Client.commit`
1521 would fail
1522
1523### Miscellaneous
1524
1525* Default API version has been bumped to 1.18 (Docker Engine 1.6.0)
1526* Several testing coverage improvements
1527* Docs fixes and improvements
1528
Joffrey F5ca24192015-03-11 00:29:2415291.1.0
1530-----
1531
1532### Features
1533
1534* Added `dockerfile` param support to `Client.build` (mirrors
1535 `docker build -f` behavior)
1536* Added the ability to specify `'auto'` as `version` in `Client.__init__`,
1537 allowing the constructor to autodetect the daemon's API version.
1538
1539### Bugfixes
1540
1541* Fixed a bug where decoding a result stream using the `decode` parameter
1542 would break when using Python 3.x
1543* Fixed a bug where some files in `.dockerignore` weren't being handled
1544 properly
1545* Fixed `resolve_authconfig` issues by bringing it closer to Docker Engine's
1546 behavior. This should fix all issues encountered with private registry auth
1547* Fixed an issue where passwords containing a colon weren't being handled
1548 properly.
1549* Bumped `requests` version requirement, which should fix most of the SSL
1550 issues encountered recently.
1551
1552### Miscellaneous
1553
1554* Several integration test improvements.
1555* Fixed some unclosed resources in unit tests.
1556* Several docs improvements.
1557
Joffrey F0f1bd812015-02-13 00:14:3015581.0.0
1559-----
1560
1561### Features
1562
1563* Added new `Client.rename` method (`docker rename`)
1564* Added now `Client.stats` method (`docker stats`)
1565* Added `read_only` param support to `utils.create_host_config` and
1566 `Client.start` (`docker run --read-only`)
1567* Added `pid_mode` param support to `utils.create_host_config` and
1568 `Client.start` (`docker run --pid='host'`)
1569* Added `since`, `until` and `filters` params to `Client.events`.
1570* Added `decode` parameter to `Client.stats` and `Client.events` to decode
1571 JSON objects on the fly (False by default).
1572
1573### Bugfixes
1574
1575* Fixed a bug that caused `Client.build` to crash when the provided source was
1576 a remote source.
1577
1578### Miscellaneous
1579
1580* Default API version has been bumped to 1.17 (Docker Engine 1.5.0)
1581* `Client.timeout` is now a public attribute, and users are encouraged to use it
1582 when request timeouts need to be changed at runtime.
1583* Added `Client.api_version` as a read-only property.
1584* The `memswap_limit` argument in `Client.create_container` now accepts string
1585 type values similar to `mem_limit` ('6g', '120000k', etc.)
1586* Improved documentation
nir0sf402af52015-02-11 20:04:321587
Joffrey F939bc9a2015-02-02 00:10:2015880.7.2
1589-----
1590
1591### Features
1592
1593* Added support for `mac_address` in `Client.create_container`
1594
1595### Bugfixes
1596
1597* Fixed a bug where streaming responses (`pull`, `push`, `logs`, etc.) were
1598 unreliable (#300)
1599* Fixed a bug where resolve_authconfig wouldn't properly resolve configuration
1600 for private repositories (#468)
1601* Fixed a bug where some errors wouldn't be properly constructed in
1602 `client.py`, leading to unhelpful exceptions bubbling up (#466)
1603* Fixed a bug where `Client.build` would try to close context when externally
1604 provided (`custom_context == True`) (#458)
1605* Fixed an issue in `create_host_config` where empty sequences wouldn't be
1606 interpreted properly (#462)
1607
1608### Miscellaneous
1609
1610* Added `resolve_authconfig` tests.
1611
Joffrey F53ef3c32015-01-12 22:16:4116120.7.1
1613-----
1614
1615### Bugfixes
1616
1617* `setup.py` now indicates a maximum version of requests to work around the
1618 boot2docker / `assert_hostname` bug.
1619* Removed invalid exception when using the Registry Hub's FQDN when pulling.
1620* Fixed an issue where early HTTP errors weren't handled properly in streaming
1621 responses.
1622* Fixed a bug where sockets would close unexpectedly using Python 3.x
1623* Various fixes for integration tests.
1624
1625### Miscellaneous
1626
1627* Small doc fixes
1628
Joffrey Ff2ad8882014-12-18 00:17:4016290.7.0
1630-----
1631
1632### Breaking changes
1633
1634* Passing `dns` or `volumes_from` in `Client.start` with API version < 1.10
1635 will now raise an exception (previously only triggered a warning)
1636
1637### Features
1638
1639* Added support for `host_config` in `Client.create_container`
1640* Added utility method `docker.utils.create_host_config` to help build a
1641 proper `HostConfig` dictionary.
1642* Added support for the `pull` parameter in `Client.build`
1643* Added support for the `forcerm` parameter in `Client.build`
1644* Added support for `extra_hosts` in `Client.start`
1645* Added support for a custom `timeout` in `Client.wait`
1646* Added support for custom `.dockercfg` loading in `Client.login`
1647 (`dockercfg_path` argument)
1648
1649### Bugfixes
1650
1651* Fixed a bug where some output wouldn't be streamed properly in streaming
1652 chunked responses
1653* Fixed a bug where the `devices` param didn't recognize the proper delimiter
1654* `Client.login` now properly expands the `registry` URL if provided.
1655* Fixed a bug where unicode characters in passed for `environment` in
1656 `create_container` would break.
1657
1658### Miscellaneous
1659
1660* Several unit tests and integration tests improvements.
1661* `Client` constructor now enforces passing the `version` parameter as a
1662 string.
1663* Build context files are now ordered by filename when creating the archive
1664 (for consistency with docker mainline behavior)
1665
Joffrey F8ea385e2014-11-03 19:39:4916660.6.0
micahhausler77d2f422014-10-28 14:42:191667-----
Joffrey F8ea385e2014-11-03 19:39:491668* **This version introduces breaking changes!**
micahhausler77d2f422014-10-28 14:42:191669
Joffrey F8bc20e62014-11-03 22:53:531670### Breaking changes
Joffrey F8ea385e2014-11-03 19:39:491671
1672* The default SSL protocol is now the highest TLS v1.x (was SSL v2.3 before)
1673 (Poodle fix)
1674* The `history` command now returns a dict instead of a raw JSON string.
1675
Joffrey F8bc20e62014-11-03 22:53:531676### Features
Joffrey F8ea385e2014-11-03 19:39:491677
Joffrey F079bf7e2014-11-03 22:02:141678* Added the `execute` command.
Joffrey F8ea385e2014-11-03 19:39:491679* Added `pause` and `unpause` commands.
1680* Added support fo the `cpuset` param in `create_container`
1681* Added support for host devices (`devices` param in `start`)
1682* Added support for the `tail` param in `logs`.
1683* Added support for the `filters` param in `images` and `containers`
1684* The `kwargs_from_env` method is now available in the `docker.utils`
1685 module. This should make it easier for boot2docker user to connect
1686 to their daemon.
1687
1688### Bugfixes
1689
1690* Fixed a bug where empty directories weren't correctly included when
1691 providing a context to `Client.build`.
1692* Fixed a bug where UNIX socket connections weren't properly cleaned up,
1693 causing `ResourceWarning`s to appear in some cases.
1694* Fixed a bug where docker-py would crash if the docker daemon was stopped
1695 while reading a streaming response
1696* Fixed a bug with streaming responses in Python 3
1697* `remove_image` now supports a dict containing an `Id` key as its `id`
1698 parameter (similar to other methods requiring a resource ID)
1699
1700### Documentation
1701
1702* Added new MkDocs documentation. Currently hosted on
Adam Chainz7f255cd2016-06-08 02:46:561703 [ReadTheDocs](https://docker-py.readthedocs.io/en/latest/)
Joffrey F8ea385e2014-11-03 19:39:491704
1705### Miscellaneous
1706
1707* Added tests to sdist
1708* Added a Makefile for running tests in Docker
1709* Updated Dockerfile
shin-f3c91c82013-07-05 17:07:071710
Ben Firshman5323c142014-10-16 17:03:5217110.5.3
1712-----
1713
1714* Fixed attaching when connecting to the daemon over a UNIX socket.
1715
Ben Firshmanbb5e1fd2014-10-16 13:14:5817160.5.2
1717-----
1718
1719* Fixed a bug where sockets were closed immediately when attaching over
1720 TLS.
1721
Ben Firshman04db8e52014-10-14 16:10:0217220.5.1
1723-----
1724
1725* Added a `assert_hostname` option to `TLSConfig` which can be used to
1726 disable verification of hostnames.
1727* Fixed SSL not working due to an incorrect version comparison
1728* Fixed streams not working on Windows
1729
Joffrey F1c754fb2014-09-08 15:38:4217300.5.0
1731-----
1732
1733* **This version introduces breaking changes!**
1734* Added `insecure_registry` parameter in `Client.push` and `Client.pull`.
1735 *It defaults to False and code pushing to non-HTTPS private registries
1736 might break as a result.*
1737* Added support for adding and dropping capabilities
1738* Added support for restart policy
1739* Added support for string values in `Client.create_container`'s `mem_limit`
1740* Added support for `.dockerignore` file in `Client.build`
1741
1742### Bugfixes
1743
1744* Fixed timeout behavior in `Client.stop`
1745
1746### Miscellaneous
1747
1748* `Client.create_container` provides better validation of the `volumes`
1749 parameter
1750* Improved integration tests
1751
Joffrey F429654b2014-07-22 12:23:3217520.4.0
1753-----
1754
1755* **This version introduces breaking changes!**
1756* The `base_url` parameter in the `Client` constructor should now allow most
1757 of the `DOCKER_HOST` environment values (except for the fd:// protocol)
1758 * As a result, URLs that don't specify a port are now invalid (similar
1759 to the official client's behavior)
1760* Added TLS support (see [documentation](https://github.com/dotcloud/docker-py#connection-to-daemon-using-https))
1761
1762### Bugfixes
1763
1764* Fixed an issue with `Client.build` streamed logs in Python 3
1765
1766### Miscellaneous
1767
1768* Added unit tests coverage
1769* Various integration tests fixes
1770
Maxime Petazzoni63f50ee2014-04-29 18:51:4017710.3.2
1772-----
1773
Joffrey F94218162014-06-21 00:16:531774* Default API version is now 1.12 (support for docker 1.0)
1775* Added new methods `Client.get_image` and `Client.load_image`
1776 (`docker save` and `docker load`)
1777* Added new method `Client.ping`
Joffrey Fb6239602014-06-23 17:20:581778* Added new method `Client.resize`
Joffrey F94218162014-06-21 00:16:531779* `Client.build` can now be provided with a custom context using the
1780 `custom_context` parameter.
1781* Added support for `memswap_limit` parameter in `create_container`
1782* Added support for `force` parameter in `remove_container`
1783* Added support for `force` and `noprune` parameters in `remove_image`
1784* Added support for `timestamps` parameter in `logs`
1785* Added support for `dns_search` parameter in `start`
1786* Added support for `network_mode` parameter in `start`
Joffrey Fb6239602014-06-23 17:20:581787* Added support for `size` parameter in `containers`
Joffrey F94218162014-06-21 00:16:531788* Added support for `volumes_from` and `dns` parameters in `start`. As of
1789 API version >= 1.10, these parameters no longer belong to `create_container`
1790* `Client.logs` now uses the logs endpoint when API version is sufficient
1791
1792### Bugfixes
1793
1794* Fixed a bug in pull where the `repo:tag` notation wasn't interpreted
1795 properly
1796* Fixed a bug in streaming methods with python 3 (unicode, bytes/str related)
1797* Fixed a bug in `Client.start` where legacy notation for volumes wasn't
1798 supported anymore.
1799
1800### Miscellaneous
1801
1802* The client now raises `DockerException`s when appropriate. You can import
1803 `DockerException` (and its subclasses) from the `docker.errors` module to
1804 catch them if needed.
1805* `docker.APIError` has been moved to the new `docker.errors` module as well.
1806* `Client.insert` is deprecated in API version > 1.11
1807* Improved integration tests should now run much faster.
1808* There is now a single source of truth for the docker-py version number.
Maxime Petazzoni63f50ee2014-04-29 18:51:401809
shin-7f55a102014-04-04 16:18:5818100.3.1
1811-----
1812
1813* Default API version is now 1.9
1814* Streaming responses no longer yield blank lines.
1815* `Client.create_container` now supports the `domainname` parameter.
1816* `volumes_from` parameter in `Client.create_container` now supports
1817 iterables.
1818* Auth credentials are provided to the docker daemon when using `Client.build`
1819 (new feature in API version 1.9)
1820
1821
1822### Bugfixes
1823
1824* Various fixes for response streams (`logs`, `pull`, etc.).
1825* Fixed a bug with `Client.push` when using API version < 1.5
1826* Fixed a bug with API version checks.
1827
1828### Miscellaneous
1829
1830* `mock` has been removed from the runtime requirements.
1831* Added installation instructions in the README.
1832
shin-f5942472014-02-24 14:52:1218330.3.0
1834-----
1835
1836* **This version introduces breaking changes!**
1837* Support for API version 1.7 through 1.9 (Docker 0.8.0+)
1838* Default API version is now 1.8
1839* The client has been updated to support Requests 2.x. `requests==2.2.1`
1840 is now the recommended version.
1841* Links can now be specified as tuples in `Client.start` (see docs for
1842 more information)
1843* Added support for various options in `Client.create_container`
1844 (`network_disabled`, `cpu_shares`, `working_dir` and `entrypoint`)
1845* `Client.attach` has been reworked to work similarly to `Client.logs`
1846 minus the historical data.
1847* Logs can now be streamed using the `stream` parameter.
1848* Added support for `tcp://` URLs as client `base_url`.
1849* Various auth improvements.
1850* Added support for custom `Client.build` timeout.
1851
1852
1853### Bugfixes
1854
1855* Fixed a bug where determining the protocol of a private registry
1856 would sometimes yield the wrong result.
1857* Fixed a bug where `Client.copy` wouldn't accept a dict as argument.
1858* Fixed several streaming bugs.
1859* Removed unused parameter in `Client.import_image`.
1860* The client's `base_url` now tolerates trailing slashes.
1861
1862#### Miscellaneous
1863
1864* Updated integration tests
1865* Small doc fixes
1866
shin-5e68ed12013-12-10 18:53:5818670.2.3
1868-----
1869
1870* Support for API version 1.6
1871* Added support for links
1872* Added support for global request timeout
1873* Added `signal` parameter in `Client.kill`
1874* Added support for `publish_all_ports` in `Client.start`
1875* `Client.pull`, `Client.push` and `Client.build` can be streamed now
1876* Added support for websockets in `Client.attach`
1877* Fixed ports for Docker 0.6.5+
1878* Added `Client.events` method (access to the `/events` endpoint)
1879* Changed the way the ports and volumes are provided in `Client.start` and
1880 `Client.create_container̀€` to make them simpler and more intuitive.
1881
1882### Bugfixes
1883
1884* Fixed a bug where private registries on HTTPS weren't handled properly
1885* Fixed a bug where auth would break with Python 3
1886
1887### Miscellaneous
1888
1889* Test improvements
1890* Slight doc improvements
1891
1892
Mathieu Le Marec - Pasquetb2c2a1b2013-09-29 14:50:4918930.2.2
1894-----
shin-28b26232013-10-24 16:36:371895
1896* Added support for the `rm` parameter in `Client.build`
1897* Added support for tarball imports in `Client.import_image` through `data`
1898 parameter.
1899* The `command` parameter in `Client.create_container` is now optional (for
1900 containers that include a default run command)
1901
1902### Bugfixes
1903
1904* Fixed Python 3 support
1905* Fixed a bug where anonymous push/pull would break when no authconfig is
1906 present
1907* Fixed a bug where the `quiet` parameter wouldn't be taken into account in
1908 `Client.containers`
1909* Fixed a bug where `Client.push` would break when pushing to private
1910 registries.
1911* Removed unused `registry` parameter in `Client.pull`.
1912* Removed obsolete custom error message in `Client.create_container`.
1913
1914### Miscellaneous
1915
1916* docker-py is now unit-tested, and Travis-CI has been enabled on the
1917 source repository.
Mathieu Le Marec - Pasquetb2c2a1b2013-09-29 14:50:491918
shin-3754edc2013-09-27 17:38:1619190.2.1
1920-----
1921
shin-28b26232013-10-24 16:36:371922* Improvements to the `tox.ini` file
1923
1924### Bugfixes
1925
Mathieu Le Marec - Pasquetb2c2a1b2013-09-29 14:50:491926* Fixed a bug where the package would fail with an `ImportError` if requests
shin-3754edc2013-09-27 17:38:161927 was installed using `apt-get`
1928* Fixed a bug where `Client.build` would fail if given a `path` parameter.
Mathieu Le Marec - Pasquetb2c2a1b2013-09-29 14:50:491929* Fixed several bugs in `Client.login`. It should now work with API versions
1930 1.4, 1.5.
shin-3754edc2013-09-27 17:38:161931* Please note that `Client.login` currently doesn't write auth to the
1932 `.dockercfg` file, thus **auth is not persistent when using this method.**
shin-3754edc2013-09-27 17:38:161933
shin-addecd42013-09-11 23:17:3419340.2.0
1935-----
1936
1937* **This version introduces breaking changes!**
1938* `Client.kill`, `Client.remove_container`, `Client.remove_image`,
1939`Client.restart`, `Client.start`, `Client.stop` and `Client.wait` don't support
1940varargs anymore.
1941* Added commands `Client.top` and `Client.copy`
1942* Added `lxc_conf` parameter to `Client.start`
1943* Added support for authentication in `Client.pull` (API version >=1.5)
1944* Added support for privileged containers.
Mathieu Le Marec - Pasquetb2c2a1b2013-09-29 14:50:491945* Error management overhaul. The new version should be more consistent and
shin-addecd42013-09-11 23:17:341946* All methods that expected a container ID as argument now also support a dict
1947containing an `Id` key.
1948* Added license header to python files.
1949* Several `README.md` updates.
1950
1951### Bugfixes
1952
1953* Fixed several bugs with auth config parsing.
1954* Fixed a bug in `Client.push` where it would raise an exception if
1955the auth config wasn't loaded.
1956* Fixed a bug in `Client.pull` where private registry images wouldn't be parsed
1957properly if it contained port information.
1958
1959
shin-3a8b40c2013-08-28 16:23:5519600.1.5
1961-----
1962
1963* `Client.build` now uses tempfiles to store build context instead of storing
1964it in memory
1965* Added `nocache` option to `Client.build`
1966* `Client.remove_container` now raises an exception when trying to remove a
1967running container
1968* `Client.create_container` now accepts dicts for the `environment` parameter
1969
1970### Bugfixes
1971
Mathieu Le Marec - Pasquetb2c2a1b2013-09-29 14:50:491972* Fixed a bug in `Client.create_container` on Python 2.6 where unicode
shin-3a8b40c2013-08-28 16:23:551973commands would fail to be parsed
1974* Fixed a bug in `Client.build` where the `tag` parameter would not be taken
1975into account
1976
shin-c31ce822013-08-13 18:05:1319770.1.4
1978-----
1979
1980* Added support for API connection through UNIX socket (default for docker 0.5.2+)
1981
shin-1b0af1d2013-08-06 18:00:4419820.1.3
1983-----
1984
1985* The client now tries to load the auth config from `~/.dockercfg`. This is necessary to use the push command if API version is >1.0
1986
shin-ebaa5ef2013-07-25 16:32:1319870.1.2
1988-----
1989
1990* Added a `quiet parameter` to `Client.build` (mirrors the `q` parameter in the API)
1991
19920.1.1
1993-----
1994
1995* Fixed a bug where the build command would list tar contents before sending the request
1996* Fixed a bug in `Client.port`
1997
1998
shin-5364ce72013-07-16 15:59:0719990.1.0
2000-----
2001* **This version introduces breaking changes!**
2002* Switched to server side build system
2003* Removed the BuilderClient
2004* Added support for contextual builds
2005* Added support for remote URL builds
2006* Added python 3 support
2007* Added bind mounts support
2008* Added API version support
2009* Fixed a bug where `Client.port` would fail if provided with a port of type number
2010* Fixed a bug where `Client._post_json` wouldn't set the Content-Type header to `application/json`
2011
shin-f3c91c82013-07-05 17:07:0720120.0.6
2013-----
2014* Added support for custom loggers in `Client.build`
2015* Added `Client.attach` command
2016* Added support for `ADD` command in builder
2017* Fixed a bug in `Client.logs`
2018* Improved unit tests
2019
2020
20210.0.5
2022-----
2023* Added tag support for the builder
2024* Use `shlex` to parse plain string commands when creating a container
2025* Fixed several bugs in the builder
2026* Fixed the `quiet` option in `Client.images`
2027* Unit tests
2028
20290.0.4
2030-----
2031* Improved error reporting
2032
20330.0.3
2034-----
2035* Fixed a bug in `Client.tag`
2036* Fixed a bug where generated images would be removed after a successful build
2037
20380.0.2
2039-----
Mathieu Le Marec - Pasquetb2c2a1b2013-09-29 14:50:492040* Implemented first version of the builder client