Releases: ThePhaseless/Byparr
Release list
v3.0.4 Reimplement detection and solving logic, and fix tests
What's Changed
- fix: match a real browser's TLS and solve Cloudflare challenges again by @ThePhaseless in #400
Full Changelog: v3.0.3...v3.0.4
v3.0.3 Handle browser JSON viewer responses
What's Changed
- fix: /v1 must survive CSP-blocked evaluate (incl. Firefox JSON viewer) by @ThePhaseless in #395
Full Changelog: v3.0.2...v3.0.3
v3.0.2 Localized Challenge detection, BROWSER_LOCALE and proper non-root handling
What's Changed
- fix(ci): fix Docker cache reuse across jobs and architectures by @ThePhaseless in #387
- fix: detect localized Cloudflare interstitials (#385) by @ThePhaseless in #388
- feat: add BROWSER_LOCALE env to override browser language by @ThePhaseless in #390
- fix: keep uv Python out of tmpfs-mounted /tmp by @ThePhaseless in #391
- test(fake_dep): mock Playwright locator API faithfully by @ThePhaseless in #392
- chore: fix ruff lint findings and refactor read_item by @ThePhaseless in #393
Full Changelog: v3.0.1...v3.0.2
v3.0.1 Fix garbled responses from compressed pages
Fixes #385 β pages served with gzip/brotli/zstd content-encoding (e.g. uindex.org, 1337x.to) returned garbled Unicode in solution.response after the v3.0.0 CSP-stripping change.
Root cause: the CSP-strip route rewrites document responses via route.fetch() + route.fulfill(). route.fulfill re-serves the raw compressed bytes fetched over the wire while the forwarded headers no longer match β the browser renders compressed bytes as text.
Fix: fetch document bodies with accept-encoding: identity so the re-served body is plain text, and strip stale content-encoding/content-length headers alongside CSP.
Verified in CI (docker build --target test): 23 passed, 0 failed β including the real-site test_bypass suite.
v3.0.0 Use invisible-playwright, OpenWebUI support
What's Changed
- chore(config): migrate Renovate config by @renovate[bot] in #371
- chore(deps): update dependency ruff to ==0.16.* by @renovate[bot] in #377
- chore(deps): update dependency setuptools to v83 [security] by @renovate[bot] in #378
- Install invisible-playwright from PyPI rather than by git URL by @feder-cr in #381
- Handle networkidle timeouts after DOM load by @ThePhaseless in #383
- fix(deps): update dependency fastapi to ==0.141.* by @renovate[bot] in #380
- feat: add Open WebUI external web loader endpoint by @ThePhaseless in #384
New Contributors
Full Changelog: v2.1.0...v3.0.0
v2.1.0 Python 3.14, per-request proxy and stability fixes
This release improves proxy handling, startup behavior, and operational defaults while keeping the API stable.
Highlights
- Per-request proxy overrides via
X-Proxy-*headers. - Safer startup and runtime defaults for containerized and local runs.
- Health checks and init behaviors aligned with the service lifecycle.
Changes
- Request-level proxy selection is supported via headers, allowing per-request routing.
HOSTandPORTare now configurable with a default port of 8191.- Init mode is available for pre-warming and startup checks.
- Health check behavior is standardized for runtime monitoring.
New Contributors
- @oldwombat made their first contribution in #256
- @Thirawyn91 made their first contribution in #267
- @luismco made their first contribution in #290
Full Changelog: v2.0.1...v2.1.0
Fix Timeouts
What's Changed
- Fixed timeouting the challenge even if bypassed successfully
- Added better timeouting from request param with timer
- chore(deps): update dependency ruff to ==0.13.* by @renovate[bot] in #239
Full Changelog: v2.0.0...v2.0.1
v2.0.0 Rewrite in Camoufox
What's Changed
- fix(deps): update dependency seleniumbase to v4.39.3 by @renovate[bot] in #195
- fix(deps): update dependency seleniumbase to v4.39.4 by @renovate[bot] in #198
- fix(deps): update dependency pydantic to v2.11.6 by @renovate[bot] in #199
- fix(deps): update dependency pydantic to v2.11.7 by @renovate[bot] in #200
- fix(deps): update dependency fastapi to v0.115.13 by @renovate[bot] in #201
- chore(deps): update dependency ruff to v0.12.0 by @renovate[bot] in #202
- fix(deps): update dependency seleniumbase to v4.39.5 by @renovate[bot] in #203
- chore(deps): update dependency ruff to v0.12.1 by @renovate[bot] in #206
- fix(deps): update dependency fastapi to v0.115.14 by @renovate[bot] in #205
- fix(deps): update dependency uvicorn to v0.35.0 by @renovate[bot] in #207
- fix(deps): update dependency seleniumbase to v4.39.6 by @renovate[bot] in #208
- chore(deps): update dependency ruff to v0.12.2 by @renovate[bot] in #209
- fix(deps): update dependency seleniumbase to v4.40.0 by @renovate[bot] in #210
- fix(deps): update dependency seleniumbase to v4.40.7 by @renovate[bot] in #212
- chore(deps): update dependency deptry to v0.23.1 by @renovate[bot] in #219
- chore(deps): update dependency ruff to v0.12.7 by @renovate[bot] in #213
- chore(deps): update dependency pytest-asyncio to v1.1.0 by @renovate[bot] in #215
- fix(deps): update dependency fastapi to v0.116.1 by @renovate[bot] in #211
- fix(deps): update dependency seleniumbase to v4.40.8 by @renovate[bot] in #222
- feat(docker): add support for HOST env by @mdallaire in #221
- chore(deps): update dependency ruff to v0.12.8 by @renovate[bot] in #224
- Fix Cloudfare errors by @ThePhaseless in #228
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #225
- chore(deps): update dependency seleniumbase to v4.41.1 by @renovate[bot] in #226
- fix(deps): update dependency seleniumbase to v4.41.2 by @renovate[bot] in #233
- fix(deps): update dependency seleniumbase to v4.41.3 by @renovate[bot] in #234
- Migrate to camoufox by @ThePhaseless in #235
New Contributors
- @mdallaire made their first contribution in #221
Full Changelog: v1.2.1...v2.0.0
v1.2.1 Fix zombie/defunct processes
What's Changed
- Update dependency pydantic to v2.11.5 by @renovate in #177
- Update dependency ruff to v0.11.11 by @renovate in #178
- Update dependency seleniumbase to v4.38.3 by @renovate in #179
- Update dependency seleniumbase to v4.39.0 by @renovate in #180
- Update dependency ruff to v0.11.12 by @renovate in #185
- Update dependency uvicorn to v0.34.3 by @renovate in #190
- fix: handle zombie processes by @LeviSnoot in #193
- chore(deps): update dependency pytest-asyncio to v1 by @renovate in #182
- fix(deps): update dependency seleniumbase to v4.39.2 by @renovate in #184
- chore(deps): update dependency ruff to v0.11.13 by @renovate in #194
New Contributors
- @LeviSnoot made their first contribution in #193
Full Changelog: v1.2.0...v1.2.1
v1.2.0 Bump debian, fix RPi 5 and CPU usage
What's Changed
- Update dependency uvicorn to v0.34.1 by @renovate in #149
- Update dependency ruff to v0.11.6 by @renovate in #153
- Update dependency uvicorn to v0.34.2 by @renovate in #154
- Update dependency seleniumbase to v4.37.3 by @renovate in #155
- Update dependency seleniumbase to v4.37.4 by @renovate in #156
- Update dependency seleniumbase to v4.37.5 by @renovate in #157
- Update dependency seleniumbase to v4.37.6 by @renovate in #158
- Update dependency ruff to v0.11.7 by @renovate in #159
- Update dependency seleniumbase to v4.37.7 by @renovate in #160
- Update dependency seleniumbase to v4.37.9 by @renovate in #164
- Update dependency seleniumbase to v4.37.10 by @renovate in #165
- Update dependency pydantic to v2.11.4 by @renovate in #166
- Update dependency seleniumbase to v4.37.12 by @renovate in #167
- Update dependency ruff to v0.11.8 by @renovate in #168
- Update dependency ruff to v0.11.9 by @renovate in #171
- Update dependency seleniumbase to v4.38.0 by @renovate in #169
- Update dependency seleniumbase to v4.38.2 by @renovate in #173
- Update dependency ruff to v0.11.10 by @renovate in #174
Full Changelog: v1.1.2...v1.2.0