Skip to content

Releases: Jc2k/pytest-docker-tools

v3.1.9

16 Mar 13:47

Choose a tag to compare

v3.1.9 (2025-03-16)

Chore

  • chore: update Dockerfile (08c3cfc)

Fix

  • fix: pyproject.toml typo (3517840)

Unknown

v3.1.8

16 Mar 13:37

Choose a tag to compare

v3.1.8 (2025-03-16)

Fix

  • fix: create MANIFEST.in (16aa09d)

v3.1.7

15 Mar 12:32

Choose a tag to compare

v3.1.7 (2025-03-15)

Fix

  • fix: container.ready() race condition, when exposed ports is not available yet (#49) (7c847d8)

v3.1.6

14 Mar 14:10

Choose a tag to compare

v3.1.6 (2025-03-14)

Fix

  • fix: include missing Dockerfile (8995902)

v3.1.5

14 Mar 14:00

Choose a tag to compare

v3.1.5 (2025-03-14)

Fix

  • fix: use setuptools to find correct package/module files (70cb74b)

Unknown

  • Merge pull request #43 from maltevesper/feature/safeDocstringTemplate

fix: make docstring escape sequence proof (80ed237)

v3.1.4

14 Mar 12:12

Choose a tag to compare

v3.1.4 (2025-03-14)

Chore

  • chore: add codespell for ci lint (89e5369)

Fix

  • fix: correct classifiers (78318e9)

  • fix: version number must be preset (46363d2)

  • fix: don't check in version number (1b5adf1)

  • fix: get all lints passing (7556579)

  • fix: pre-commit settings (f50ebf1)

  • fix: explicit build backend (2cb886b)

  • fix: drop unsupported pythons (9310ce2)

  • fix: run pre-commit under uv (ba17370)

  • fix: add pre-commit deps (d48cfa6)

  • fix: make sure ci runs pytest (4ad0141)

  • fix: setuptools configuration was wrong (d4e85dc)

  • fix: modernize ci (b00c4f9)

Unknown

v3.1.3

14 Mar 11:59

Choose a tag to compare

Version bump

3.1.3

17 Feb 13:07

Choose a tag to compare

3.1.3

3.1.0

23 Jul 06:37

Choose a tag to compare

3.1.0

3.0.0

03 Jun 10:27

Choose a tag to compare

Reusable Containers

Previously reusable containers were never replaced. Once they existed, that was it. So if you changed the fixture in code you had to manually clean up the previous fixture before continuing. This becomes even more annoying if you want to use this feature in your CI environment. This release tracks how stale a docker fixture is and replaces it if it becomes stale. This automatically handles the following cases:

  • Your co-worker has bumped a tag in a fetch() fixture, for example to use postgres 14 and its new JSON syntax. You git pull and your tests start failing. Sometimes this might not be obvious and the breakage might be some time after the root cause.
  • You make a change to some code that triggers a build() fixture. Right now the build will still run, but the old container with the old image will be used.

In these sorts of situations instead of reusable containers saving you time, they cost time. And if the root cause isn't obvious, it might be a lot of time.

pytest-docker-tools now tags fixtures it makes with the label pytest-docker-tools.signature. This is a hash of the parameters used to create the fixture. When this signature changes, pytest-docker-tools knows the fixture is stale and replaces it.

⚠️ This is a breaking change. No code changes are needed to use 3.0.0, but existing reusable containers may be deleted and recreated automatically as they will be considered stale by the new code.