Skip to content

release: promote pre/beta (2.2.0-beta.6) to main - #1128

Merged
VinciGit00 merged 27 commits into
mainfrom
pre/beta
Aug 19, 2026
Merged

release: promote pre/beta (2.2.0-beta.6) to main#1128
VinciGit00 merged 27 commits into
mainfrom
pre/beta

Conversation

@VinciGit00

@VinciGit00 VinciGit00 commented Aug 19, 2026

Copy link
Copy Markdown
Member

Promotion of pre/beta into main. Conflicts with main are resolved (see eed377cb), the branch is now conflict-free and the Test Suite is green.

What lands on main

Conflict resolution

File Resolution
scrapegraphai/helpers/models_tokens.py Keep main's MiniMax limits (M3 1000000, M2.7 / M2.7-highspeed 204800) from #1103, which supersede the values #1080 introduced on pre/beta.
tests/test_minimax_models.py Keep main's file: it asserts the corrected limits and adds the cost / endpoint fixtures.
pyproject.toml Keep the prerelease version (2.2.0b5 at merge time, now 2.2.0b6); semantic-release owns the bump.
CHANGELOG.md Keep both histories — main's stable entries (2.1.3 → 2.1.7) above the beta entries, in date order. Also removed two orphan ======= lines left over from older bad conflict resolutions.

🤖 Generated with Claude Code

MrAliHasan and others added 24 commits February 21, 2026 03:17
Add SmartScraperMultiBatchGraph that uses the OpenAI Batch API for LLM
calls, providing ~50% cost savings when real-time results aren't needed.

Key features:
- SmartScraperMultiBatchGraph: 3-phase pipeline (fetch/parse → batch
  submit → merge) that separates HTML fetching from LLM generation
- BatchGenerateAnswerNode: collects prompts from all URLs and submits
  them as a single OpenAI Batch API request
- utils/batch_api.py: helpers for creating, polling, and retrieving
  batch results with doc_id → URL mapping
- Per-document error handling: partial failures don't break the batch
- Configurable polling interval and max wait time
- OpenAI-only validation (rejects non-OpenAI providers gracefully)
- Results sorted by custom_id for consistent ordering
- 18 unit tests with 100% pass rate

Usage:
  graph = SmartScraperMultiBatchGraph(
      prompt='Extract key points',
      source=['https://url1.com', 'https://url2.com'],
      config={'llm': {'model': 'openai/gpt-4o-mini'}}
  )
  result = graph.run()

Closes #1036
## [1.60.0-beta.2](v1.60.0-beta.1...v1.60.0-beta.2) (2026-02-24)

### Features

* add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1))
- Replace removed ScrapeGraph with SmartScraperGraph in scrape_graph_test.py
- Replace renamed convert_to_csv/convert_to_json with export_to_csv/export_to_json in xml_scraper_openai_test.py
## [1.60.0-beta.3](v1.60.0-beta.2...v1.60.0-beta.3) (2026-03-15)

### Bug Fixes

* update broken test imports to match current API ([536e5ad](536e5ad))
Resolved conflicts in CHANGELOG.md, pyproject.toml, xml_scraper_openai_test.py,
and accepted deletion of scrape_graph_test.py from main.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## [1.76.0-beta.1](v1.75.1...v1.76.0-beta.1) (2026-04-07)

### Features

* add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1))

### Bug Fixes

* update broken test imports to match current API ([536e5ad](536e5ad))

### CI

* **release:** 1.60.0-beta.2 [skip ci] ([54d1473](54d1473)), closes [#1036](#1036)
* **release:** 1.60.0-beta.3 [skip ci] ([637c696](637c696))
* reduce GitHub Actions costs by ~85% on PRs ([403080a](403080a))
Resolve conflicts in CHANGELOG.md and pyproject.toml by keeping main's version.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
## [2.1.0-beta.1](v2.0.0...v2.1.0-beta.1) (2026-04-19)

### Features

* add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1))

### Bug Fixes

* update broken test imports to match current API ([536e5ad](536e5ad))

### CI

* **release:** 1.60.0-beta.2 [skip ci] ([54d1473](54d1473)), closes [#1036](#1036)
* **release:** 1.60.0-beta.3 [skip ci] ([637c696](637c696))
* **release:** 1.76.0-beta.1 [skip ci] ([35ec272](35ec272)), closes [#1036](#1036) [#1036](#1036)
langchain 1.x removed langchain.prompts; import from langchain_core
to fix ModuleNotFoundError causing all test collection to fail.
Resolves conflicts in CHANGELOG.md (combined entries) and
pyproject.toml (keep 2.1.1 from main; next release will bump).
## [2.2.0-beta.1](v2.1.1...v2.2.0-beta.1) (2026-05-16)

### Features

* add OpenAI Batch API support for SmartScraperMultiGraph ([#1036](#1036)) ([9d4eba1](9d4eba1))

### Bug Fixes

* update broken test imports to match current API ([536e5ad](536e5ad))
* **batch:** use langchain_core.prompts for PromptTemplate import ([24127da](24127da))

### CI

* **release:** 1.60.0-beta.2 [skip ci] ([54d1473](54d1473)), closes [#1036](#1036)
* **release:** 1.60.0-beta.3 [skip ci] ([637c696](637c696))
* **release:** 1.76.0-beta.1 [skip ci] ([35ec272](35ec272)), closes [#1036](#1036) [#1036](#1036)
* **release:** 2.1.0-beta.1 [skip ci] ([a2ea9eb](a2ea9eb)), closes [#1036](#1036) [#1036](#1036) [#1036](#1036) [#1036](#1036)
- Add MiniMax-M3 to the model selection list (524288 context window)
- Set MiniMax-M3 as the new default model (first in the dict)
- Retain MiniMax-M2.7 and MiniMax-M2.7-highspeed as legacy options
- Remove deprecated older versions (M2.5 / M2.5-highspeed / M2 / M1 / M1-40k)
- Update unit tests to reflect the new default and removed models
## [2.2.0-beta.2](v2.2.0-beta.1...v2.2.0-beta.2) (2026-06-01)

### Features

* upgrade MiniMax default model to M3 ([#1080](#1080)) ([1b16c26](1b16c26))
Resolve conflicts:
- pyproject.toml: keep beta version 2.2.0b2
- CHANGELOG.md: keep both 2.2.0-beta.2 and 2.1.2 release entries
- README.md: adopt main's standardized relative doc links (#1074)
- docs/italian.md: adopt main's standardized version for consistency

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
## [2.2.0-beta.3](v2.2.0-beta.2...v2.2.0-beta.3) (2026-06-01)

### Bug Fixes

* **nodes:** update outdated ChatOllama import path to langchain_ollama ([#1076](#1076)) ([e6054cb](e6054cb))

### Docs

* 📚 Standardize and fix links across translated READMEs ([#1074](#1074)) ([458d36a](458d36a))

### CI

* **release:** 2.1.2 [skip ci] ([210c992](210c992)), closes [#1076](#1076) [#1074](#1074)
…eek (#1085)

The default GenerateAnswerNode format_instructions show the expected shape as
{{"content": ...}} (LangChain's escaped braces). Strongly instruction-following
models emit single braces, but some models (notably DeepSeek) copy the doubled
braces verbatim, yielding {{"content": ...}} which JsonOutputParser rejects with
'Invalid json output'.

Add TolerantJsonOutputParser, a JsonOutputParser subclass that retries once with a
single layer of wrapping braces removed, only on the parse-failure path. Behaviour
is unchanged for any model already returning valid JSON. Use it in the schema-less
branch of GenerateAnswerNode. Adds unit tests.
## [2.2.0-beta.4](v2.2.0-beta.3...v2.2.0-beta.4) (2026-06-11)

### Bug Fixes

* **nodes:** tolerate doubled-brace JSON output from models like DeepSeek ([#1085](#1085)) ([aaa5d2c](aaa5d2c))
…1089)

Remove BaseLoader inheritance from ChromiumLoader and use lazy imports
for PyPDFLoader and AsyncChromiumLoader to avoid triggering the
sentence_transformers -> torchcodec -> FFmpeg native DLL loading chain
at import time, which crashes on systems where FFmpeg DLLs are not
available.

Also add torchcodec mock to conftest.py for the test suite.

Changes:
- chromium.py: remove BaseLoader import/inheritance, add load()/aload()
- docloaders/__init__.py: lazy __getattr__ for ChromiumLoader, PlasmateLoader
- fetch_node.py: lazy PyPDFLoader import
- robots_node.py: lazy AsyncChromiumLoader import
- conftest.py: torchcodec module mock
## [2.2.0-beta.5](v2.2.0-beta.4...v2.2.0-beta.5) (2026-06-23)

### Bug Fixes

* lazy imports to prevent torchcodec FFmpeg DLL crash on Windows ([#1089](#1089)) ([2f55377](2f55377))
Document the workflow AI coding agents must follow in this repository:
branch from and open every PR against pre/beta (never main), uv-based
setup, the lint/type-check/test commands, Conventional Commits for
semantic-release, files that must not be hand-edited (CHANGELOG.md,
version in pyproject.toml, build artifacts) and the repository layout.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docs: add AGENTS.md with contribution rules for AI agents
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. documentation Improvements or additions to documentation tests Improvements or additions to test labels Aug 19, 2026
@VinciGit00
VinciGit00 deployed to development August 19, 2026 13:55 — with GitHub Actions Active
VinciGit00 and others added 2 commits August 19, 2026 15:58
Resolve the four conflicts that blocked #1128 (pre/beta -> main):

- scrapegraphai/helpers/models_tokens.py: keep main's MiniMax numbers
  (M3 1000000, M2.7/M2.7-highspeed 204800) from #1103, which corrects
  the values introduced by #1080 on pre/beta.
- tests/test_minimax_models.py: keep main's file — it asserts the
  corrected limits and adds the cost/endpoint fixtures and tests.
- pyproject.toml: keep the prerelease version 2.2.0b5; semantic-release
  bumps it on the next release from pre/beta.
- CHANGELOG.md: keep both histories, main's stable entries (2.1.3 ->
  2.1.7) above the beta entries, in date order. Also drop two orphan
  "=======" lines left over from older bad conflict resolutions.

Verified: the deterministic unit suites run by .github/workflows/test-suite.yml
pass (66 passed), plus tests/test_atlascloud_model.py and
tests/utils/output_parser_test.py (24 passed).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
tests/test_atlascloud_model.py (added on main by #1104) and
tests/utils/output_parser_test.py (added on pre/beta by #1085) were both
introduced without being wired into the Test Suite workflow, so neither
branch actually ran them. Both are mock-based and network-free.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 23e3d06.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@VinciGit00
VinciGit00 deployed to development August 19, 2026 14:00 — with GitHub Actions Active
## [2.2.0-beta.6](v2.2.0-beta.5...v2.2.0-beta.6) (2026-08-19)

### Bug Fixes

* **graph:** expose when the 8192 token fallback was used ([470da9d](470da9d)), closes [#1121](#1121)
* lazy imports to prevent torchcodec FFmpeg DLL crash on Windows ([#1089](#1089)) ([#1092](#1092)) ([e5c2a42](e5c2a42))
* pop model_tokens so it is not forwarded to the model client ([#1100](#1100)) ([d2b970c](d2b970c))
* **search:** restore SearchGraph by migrating DuckDuckGo backend to ddgs ([#1083](#1083)) ([2139e37](2139e37)), closes [#1082](#1082) [#1082](#1082)
* update MiniMax model metadata and endpoints ([#1103](#1103)) ([e5f8f2b](e5f8f2b))

### Docs

* add AGENTS.md with contribution rules for AI agents ([3b2f986](3b2f986))
* **readme:** add Open Source vs Managed API comparison ([#1091](#1091)) ([ef3523b](ef3523b))
* swap Integrations infographic for new API banner; fix CTA links ([71ab440](71ab440))

### CI

* **release:** 2.1.3 [skip ci] ([cfb815f](cfb815f)), closes [#1082](#1082) [#1082](#1082)
* **release:** 2.1.4 [skip ci] ([7fc9c57](7fc9c57)), closes [#1089](#1089) [#1092](#1092)
* **release:** 2.1.5 [skip ci] ([c9e0bd0](c9e0bd0)), closes [#1100](#1100) [#1091](#1091) [#1095](#1095)
* **release:** 2.1.6 [skip ci] ([27d9d28](27d9d28)), closes [#1103](#1103)
* **release:** 2.1.7 [skip ci] ([ca112db](ca112db)), closes [#1121](#1121)
* run only deterministic unit suites in Test Suite workflow ([#1095](#1095)) ([037a42e](037a42e))
* run the two new deterministic unit suites ([23e3d06](23e3d06)), closes [#1104](#1104) [#1085](#1085)
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.2.0-beta.6 🎉

The release is available on:

Your semantic-release bot 📦🚀

@VinciGit00 VinciGit00 changed the title Pre/beta release: promote pre/beta (2.2.0-beta.6) to main Aug 19, 2026
@VinciGit00
VinciGit00 merged commit 99f1c2d into main Aug 19, 2026
6 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation released on @dev released on @stable size:L This PR changes 100-499 lines, ignoring generated files. tests Improvements or additions to test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants