From 968792504057654b9a2889eb511505856a9abac4 Mon Sep 17 00:00:00 2001 From: jehrr <79864894+jehrr@users.noreply.github.com> Date: Thu, 15 Oct 2026 22:36:43 +0000 Subject: [PATCH] v1.1.0 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 30 +++++++++++++++--------------- pyproject.toml | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a730e2c..5fa3319 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ When it does, the release notes lead with it. ## [Unreleased] +## [1.1.0] — 2026-10-15 + > **Behaviour change:** `--retries 0` is now a usage error (exit 2). It used > to be accepted and made the page-load loop unreachable, so nothing was > fetched and the engine reported the browser's own blank page as a result: @@ -41,6 +43,17 @@ When it does, the release notes lead with it. > through a temporary file and renamed, keeping the mode `open()` would give > a new file and the existing mode of a file being replaced. +> **Correction to v1.0.1.** Its README billed the Managed Challenge solve to +> the wrong product. It read "**Captcha solving** (`--twocaptcha-key`) — for +> the Managed Challenge only" with a table marking that challenge +> **solvable**. The challenge is indeed solvable, but not by anything a +> `--twocaptcha-key` buys here: `captcha_solver.py` builds `RecaptchaV2Task`, +> `RecaptchaV2TaskProxyless` and `RecaptchaV3TaskProxyless` and no Turnstile +> task at all. What actually clears it is `Captcha.setAutoSolve` over +> `--cdp-endpoint`, which is the Scraping Browser API — a separately billed +> product. A reader following the old README would have set a key, met the +> challenge anyway, and had no way to tell why. + ### Fixed - **The Selenium and pyppeteer engines crashed on a block with no proxy.** @@ -153,21 +166,6 @@ When it does, the release notes lead with it. listing modes run without an account (profile mode needs a residential exit). -## [1.0.2] — 2026-09-16 - -> **Correction to v1.0.1.** Its README billed the Managed Challenge solve to -> the wrong product. It read "**Captcha solving** (`--twocaptcha-key`) — for -> the Managed Challenge only" with a table marking that challenge -> **solvable**. The challenge is indeed solvable, but not by anything a -> `--twocaptcha-key` buys here: `captcha_solver.py` builds `RecaptchaV2Task`, -> `RecaptchaV2TaskProxyless` and `RecaptchaV3TaskProxyless` and no Turnstile -> task at all. What actually clears it is `Captcha.setAutoSolve` over -> `--cdp-endpoint`, which is the Scraping Browser API — a separately billed -> product. A reader following the old README would have set a key, met the -> challenge anyway, and had no way to tell why. - -### Fixed - - **The README now names the product that clears each refusal**, and says in those words that **this repo does not implement `TurnstileTaskProxyless`** — nor the init script that captures `sitekey`, `action`, `cData` and @@ -228,6 +226,8 @@ When it does, the release notes lead with it. in the SAME block — and across the eighteen repos of this family it found six real problems and zero false positives. Verified by control. +[1.1.0]: https://github.com/2scraper/bbb-scraper/releases/tag/v1.1.0 + ## [1.0.1] — 2026-09-16 > **A marker was wrong, and it was one that could have cost money.** diff --git a/pyproject.toml b/pyproject.toml index 29a5aeb..184c1eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "bbb-scraper" -version = "1.0.2" +version = "1.1.0" description = "Better Business Bureau (bbb.org) scraper: keyword searches, category listings and business profiles." readme = "README.md" license = "MIT"