From b68a4fb9400d950b2f3c2c030931deef6e203ba4 Mon Sep 17 00:00:00 2001 From: Jake Writer Date: Mon, 31 Aug 2026 19:10:27 -0600 Subject: [PATCH] chore(release): mark pythonlib 0.5.6 as a pre-release (0.5.6b1) Pairs the library with the browser: v152.0.4-beta.30 is published as a GitHub pre-release, so the library that requires it should be one too. PEP 440 puts 0.5.6b1 after 0.5.5 and before 0.5.6, and pip skips pre-releases by default -- so `pip install camoufox` still resolves 0.5.5, and only `pip install --pre camoufox` or an explicit pin picks this up. That is what makes the conditional browser floor safe to exercise in the wild: the users who opt in are the ones who get moved to beta.30. Verified against the live release: with Playwright 1.61 installed the effective floor resolves to beta.30 and the fetcher selects the real published asset (camoufox-152.0.4-beta.30-lin.x86_64.zip). 172 tests pass, the 3.8 vermin gate holds, and the package builds as camoufox-0.5.6b1. Known wrinkle, not introduced here: _parse_semver() does int("6b1"), fails, and substitutes 0, so 0.5.6b1 parses to (0, 5, 0). The browser constraint still resolves correctly because repos.yml's only entry is min 0.5.0 / max 1, but a future entry gating on a patch version would silently miss a pre-release install. Worth making that parser PEP 440-aware separately. Co-Authored-By: Claude Opus 5 (1M context) --- pythonlib/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pythonlib/pyproject.toml b/pythonlib/pyproject.toml index c65f19d..1fbf0e1 100644 --- a/pythonlib/pyproject.toml +++ b/pythonlib/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "camoufox" -version = "0.5.6" +version = "0.5.6b1" description = "Wrapper around Playwright to help launch Camoufox" authors = ["daijro "] license = "MIT"