deps: restore the Playwright floor to 1.55, bump 0.3.5

Revert the 0.3.4 drop to 1.40. Keep the conservative CI-tested floor (1.55) with
the tested upper cap (1.61.0): >=1.55,<=1.61.0.
This commit is contained in:
feder-cr 2026-07-24 18:43:35 +02:00
parent 44afe950b3
commit 7a8693c6b4
2 changed files with 4 additions and 4 deletions

View file

@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
## [Unreleased]
### Changed
- Playwright pin is now `>=1.40,<=1.61.0` (was `>=1.55,<1.56`). The `firefox-18` binary rebases onto Firefox 151, which is what the latest Playwright (1.61) pairs with, so 1.61 now drives the binary natively - no more pinning to an older client. The range is bounded by real tests against the shipped binary, not guesses: the upper bound is the exact latest tested version (1.61.0), capped rather than left open (`<1.62`) so a Playwright we have not validated cannot be pulled in and break a fresh install; the floor is `1.40` because the binary was smoke-tested (launch, context, navigate, evaluate, click) and passed on 1.40, 1.45, 1.50 and 1.54, so anyone on an older client keeps working. Both bounds move forward on purpose, once a newer version is validated. `scripts/playwright_pin.txt` -> 1.61.0.
- Playwright pin is now `>=1.55,<=1.61.0` (was `>=1.55,<1.56`). The `firefox-18` binary rebases onto Firefox 151, which is what the latest Playwright (1.61) pairs with, so 1.61 now drives the binary natively - no more pinning to an older client. The upper bound is capped at the exact latest tested version (1.61.0) rather than an open `<1.62`, so a Playwright release we have not validated against this binary cannot be pulled in and break a fresh install; the floor stays at the CI-tested `1.55`. The cap moves forward on purpose, once a newer version is validated. `scripts/playwright_pin.txt` -> 1.61.0.
### Added
- `timezone="auto"`: the browser timezone is auto-derived from the egress IP. By default (no explicit timezone) it ALWAYS resolves — from the proxy egress when a proxy is set, otherwise from the host's own public IP — so the zone can never disagree with the IP (the classic `timezone_mismatch` signal). An explicit `"Area/City"` is the only way to force a specific zone. On failure: with a proxy the launch raises (no silent host-TZ fallback behind a foreign proxy); without a proxy it falls back to the host TZ so a transient lookup can't break the launch.

View file

@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project]
name = "invisible-playwright"
version = "0.3.4"
version = "0.3.5"
description = "Playwright wrapper for a patched Firefox with deterministic stealth profile."
readme = "README.md"
requires-python = ">=3.11"
@ -27,11 +27,11 @@ dependencies = [
# Pinned to the Juggler client we actually test against (scripts/playwright_pin.txt,
# 1.55.x). Playwright 1.61 added an isMobile field to Browser.setDefaultViewport that
# the FF150 Juggler does not accept, which breaks the session (issue #48).
"playwright>=1.40,<=1.61.0",
"playwright>=1.55,<=1.61.0",
]
[project.optional-dependencies]
dev = ["pytest>=7", "pytest-mock>=3", "responses>=0.24", "build>=1", "pytest-rerunfailures>=14", "playwright>=1.40,<=1.61.0"]
dev = ["pytest>=7", "pytest-mock>=3", "responses>=0.24", "build>=1", "pytest-rerunfailures>=14", "playwright>=1.55,<=1.61.0"]
[tool.pytest.ini_options]
markers = [