From 1e5420f0a6ae96162393083b84092bc04892c660 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 09:24:21 +0000 Subject: [PATCH] chore(main): release 0.12.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 15 +++++++++++++++ Cargo.toml | 2 +- crates/crw-browse/Cargo.toml | 4 ++-- crates/crw-cli/Cargo.toml | 14 +++++++------- crates/crw-core/Cargo.toml | 2 +- crates/crw-crawl/Cargo.toml | 6 +++--- crates/crw-extract/Cargo.toml | 2 +- crates/crw-mcp/Cargo.toml | 6 +++--- crates/crw-renderer/Cargo.toml | 2 +- crates/crw-search/Cargo.toml | 2 +- crates/crw-server/Cargo.toml | 10 +++++----- npm/crw-mcp-darwin-arm64/package.json | 2 +- npm/crw-mcp-darwin-x64/package.json | 2 +- npm/crw-mcp-linux-arm64/package.json | 2 +- npm/crw-mcp-linux-x64/package.json | 2 +- npm/crw-mcp-win32-arm64/package.json | 2 +- npm/crw-mcp-win32-x64/package.json | 2 +- npm/crw-mcp/package.json | 14 +++++++------- python/pyproject.toml | 2 +- server.json | 2 +- version.txt | 2 +- 22 files changed, 57 insertions(+), 42 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 78e7f271..8032c17e 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.11.0" + ".": "0.12.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index f3168df1..363f54a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,21 @@ All notable changes to CRW are documented here. +## [0.12.0](https://github.com/us/crw/compare/v0.11.0...v0.12.0) (2026-06-05) + + +### Features + +* **answer:** gated moat-hardening abstention (answer_guarded) ([7ef7f32](https://github.com/us/crw/commit/7ef7f32c085f4e01429b4afa6794c52836cdd4e6)) +* **mcp:** emit structuredContent for crw_search; bump protocol to 2025-06-18 ([0cd9a4f](https://github.com/us/crw/commit/0cd9a4fa0e338683b75c5719bc3c54cca3b2dba6)), closes [#89](https://github.com/us/crw/issues/89) +* **search:** diagnose search config and name unreachable host ([#90](https://github.com/us/crw/issues/90)) ([25f9441](https://github.com/us/crw/commit/25f94410869e24cb79a7835e2f05627d0eb07351)) +* **search:** pin SearXNG infoboxes/answers as structured sources (W0) ([554f18c](https://github.com/us/crw/commit/554f18ce4747057a04ec64f9f983faf46a48dee2)) + + +### Bug Fixes + +* **search:** use resolvable searxng host in docker config ([#90](https://github.com/us/crw/issues/90)) ([d966021](https://github.com/us/crw/commit/d9660219d23bdd4364940c97c9911dd31e73567b)) + ## [0.11.0](https://github.com/us/crw/compare/v0.10.0...v0.11.0) (2026-06-03) diff --git a/Cargo.toml b/Cargo.toml index 2c0aba10..4c8bf777 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.11.0" +version = "0.12.0" edition = "2024" license = "AGPL-3.0" repository = "https://github.com/us/crw" diff --git a/crates/crw-browse/Cargo.toml b/crates/crw-browse/Cargo.toml index b7406ea6..5e35cb16 100644 --- a/crates/crw-browse/Cargo.toml +++ b/crates/crw-browse/Cargo.toml @@ -11,8 +11,8 @@ description = "MCP server for interactive browser automation over CDP" publish = false [dependencies] -crw-core = { path = "../crw-core", version = "0.11.0" } -crw-renderer = { path = "../crw-renderer", version = "0.11.0", features = ["cdp"] } +crw-core = { path = "../crw-core", version = "0.12.0" } +crw-renderer = { path = "../crw-renderer", version = "0.12.0", features = ["cdp"] } rmcp = { version = "1.5", features = ["server", "macros", "transport-io"] } clap = { workspace = true } diff --git a/crates/crw-cli/Cargo.toml b/crates/crw-cli/Cargo.toml index 44039bfc..d94dd9bd 100644 --- a/crates/crw-cli/Cargo.toml +++ b/crates/crw-cli/Cargo.toml @@ -28,17 +28,17 @@ browse = ["dep:crw-browse", "dep:rmcp", "dep:anyhow"] [dependencies] # Core crates -crw-core = { path = "../crw-core", version = "0.11.0" } -crw-renderer = { path = "../crw-renderer", version = "0.11.0", features = ["auto-browser", "cdp"] } -crw-extract = { path = "../crw-extract", version = "0.11.0" } -crw-crawl = { path = "../crw-crawl", version = "0.11.0" } -crw-search = { path = "../crw-search", version = "0.11.0" } +crw-core = { path = "../crw-core", version = "0.12.0" } +crw-renderer = { path = "../crw-renderer", version = "0.12.0", features = ["auto-browser", "cdp"] } +crw-extract = { path = "../crw-extract", version = "0.12.0" } +crw-crawl = { path = "../crw-crawl", version = "0.12.0" } +crw-search = { path = "../crw-search", version = "0.12.0" } # Server (for serve + mcp-embedded + setup commands) -crw-server = { path = "../crw-server", version = "0.11.0", optional = true, features = ["cdp"] } +crw-server = { path = "../crw-server", version = "0.12.0", optional = true, features = ["cdp"] } # Browse (for browse command) -crw-browse = { path = "../crw-browse", version = "0.11.0", optional = true } +crw-browse = { path = "../crw-browse", version = "0.12.0", optional = true } # Web framework (for serve command) axum = { workspace = true, optional = true } diff --git a/crates/crw-core/Cargo.toml b/crates/crw-core/Cargo.toml index 8d709d96..6d686848 100644 --- a/crates/crw-core/Cargo.toml +++ b/crates/crw-core/Cargo.toml @@ -19,7 +19,7 @@ description = "Core types, config, and error handling for the CRW web scraper" cdp = [] [dependencies] -crw-mcp-proto = { path = "../crw-mcp-proto", version = "0.11.0" } +crw-mcp-proto = { path = "../crw-mcp-proto", version = "0.12.0" } serde = { workspace = true } serde_json = { workspace = true } toml = { workspace = true } diff --git a/crates/crw-crawl/Cargo.toml b/crates/crw-crawl/Cargo.toml index 3844ae0a..9d956961 100644 --- a/crates/crw-crawl/Cargo.toml +++ b/crates/crw-crawl/Cargo.toml @@ -10,10 +10,10 @@ categories.workspace = true description = "Async BFS web crawler with rate limiting and robots.txt support for CRW" [dependencies] -crw-core = { path = "../crw-core", version = "0.11.0" } +crw-core = { path = "../crw-core", version = "0.12.0" } crw-diff = { path = "../crw-diff", version = "0.11.0" } -crw-renderer = { path = "../crw-renderer", version = "0.11.0" } -crw-extract = { path = "../crw-extract", version = "0.11.0" } +crw-renderer = { path = "../crw-renderer", version = "0.12.0" } +crw-extract = { path = "../crw-extract", version = "0.12.0" } reqwest = { workspace = true } serde_json = { workspace = true } scraper = { workspace = true } diff --git a/crates/crw-extract/Cargo.toml b/crates/crw-extract/Cargo.toml index 45f35706..114823a1 100644 --- a/crates/crw-extract/Cargo.toml +++ b/crates/crw-extract/Cargo.toml @@ -10,7 +10,7 @@ categories.workspace = true description = "HTML extraction and markdown conversion engine for the CRW web scraper" [dependencies] -crw-core = { path = "../crw-core", version = "0.11.0" } +crw-core = { path = "../crw-core", version = "0.12.0" } lol_html = { workspace = true } scraper = { workspace = true } htmd = { workspace = true } diff --git a/crates/crw-mcp/Cargo.toml b/crates/crw-mcp/Cargo.toml index e8e67de3..68003292 100644 --- a/crates/crw-mcp/Cargo.toml +++ b/crates/crw-mcp/Cargo.toml @@ -18,8 +18,8 @@ default = ["embedded"] embedded = ["dep:crw-server"] [dependencies] -crw-core = { path = "../crw-core", version = "0.11.0" } -crw-renderer = { path = "../crw-renderer", version = "0.11.0", features = ["auto-browser"] } +crw-core = { path = "../crw-core", version = "0.12.0" } +crw-renderer = { path = "../crw-renderer", version = "0.12.0", features = ["auto-browser"] } serde_json = { workspace = true } tokio = { workspace = true } reqwest = { workspace = true } @@ -28,4 +28,4 @@ tracing-subscriber = { workspace = true } clap = { workspace = true } # Embedded mode: pulls in full scraping engine -crw-server = { path = "../crw-server", version = "0.11.0", optional = true, features = ["cdp"] } +crw-server = { path = "../crw-server", version = "0.12.0", optional = true, features = ["cdp"] } diff --git a/crates/crw-renderer/Cargo.toml b/crates/crw-renderer/Cargo.toml index bc0c21c1..260eecac 100644 --- a/crates/crw-renderer/Cargo.toml +++ b/crates/crw-renderer/Cargo.toml @@ -15,7 +15,7 @@ cdp = ["tokio-tungstenite", "crw-core/cdp"] auto-browser = ["dep:dirs"] [dependencies] -crw-core = { path = "../crw-core", version = "0.11.0" } +crw-core = { path = "../crw-core", version = "0.12.0" } crw-extract = { path = "../crw-extract", version = "0.11.0" } reqwest = { workspace = true } tokio = { workspace = true } diff --git a/crates/crw-search/Cargo.toml b/crates/crw-search/Cargo.toml index 5baee0d2..0689aff3 100644 --- a/crates/crw-search/Cargo.toml +++ b/crates/crw-search/Cargo.toml @@ -10,7 +10,7 @@ categories.workspace = true description = "SearXNG-backed search client and result transforms for the CRW web scraper" [dependencies] -crw-core = { path = "../crw-core", version = "0.11.0" } +crw-core = { path = "../crw-core", version = "0.12.0" } futures = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } diff --git a/crates/crw-server/Cargo.toml b/crates/crw-server/Cargo.toml index 63dcd55f..2bd4fe00 100644 --- a/crates/crw-server/Cargo.toml +++ b/crates/crw-server/Cargo.toml @@ -19,12 +19,12 @@ test-utils = [] monitor = ["dep:crw-monitor"] [dependencies] -crw-core = { path = "../crw-core", version = "0.11.0" } +crw-core = { path = "../crw-core", version = "0.12.0" } crw-diff = { path = "../crw-diff", version = "0.11.0" } -crw-renderer = { path = "../crw-renderer", version = "0.11.0" } -crw-extract = { path = "../crw-extract", version = "0.11.0" } -crw-crawl = { path = "../crw-crawl", version = "0.11.0" } -crw-search = { path = "../crw-search", version = "0.11.0" } +crw-renderer = { path = "../crw-renderer", version = "0.12.0" } +crw-extract = { path = "../crw-extract", version = "0.12.0" } +crw-crawl = { path = "../crw-crawl", version = "0.12.0" } +crw-search = { path = "../crw-search", version = "0.12.0" } # Optional self-host monitor mode (default OFF — see the `monitor` feature). crw-monitor = { path = "../crw-monitor", version = "0.11.0", optional = true } axum = { workspace = true } diff --git a/npm/crw-mcp-darwin-arm64/package.json b/npm/crw-mcp-darwin-arm64/package.json index c73a6c9d..ede8efad 100644 --- a/npm/crw-mcp-darwin-arm64/package.json +++ b/npm/crw-mcp-darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-darwin-arm64", - "version": "0.11.0", + "version": "0.12.0", "description": "CRW MCP server binary for darwin arm64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/npm/crw-mcp-darwin-x64/package.json b/npm/crw-mcp-darwin-x64/package.json index 0cf0796f..5938ad01 100644 --- a/npm/crw-mcp-darwin-x64/package.json +++ b/npm/crw-mcp-darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-darwin-x64", - "version": "0.11.0", + "version": "0.12.0", "description": "CRW MCP server binary for darwin x64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/npm/crw-mcp-linux-arm64/package.json b/npm/crw-mcp-linux-arm64/package.json index 4dc93067..a73ec4af 100644 --- a/npm/crw-mcp-linux-arm64/package.json +++ b/npm/crw-mcp-linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-linux-arm64", - "version": "0.11.0", + "version": "0.12.0", "description": "CRW MCP server binary for linux arm64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/npm/crw-mcp-linux-x64/package.json b/npm/crw-mcp-linux-x64/package.json index 1f77fb0a..2f462371 100644 --- a/npm/crw-mcp-linux-x64/package.json +++ b/npm/crw-mcp-linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-linux-x64", - "version": "0.11.0", + "version": "0.12.0", "description": "CRW MCP server binary for linux x64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/npm/crw-mcp-win32-arm64/package.json b/npm/crw-mcp-win32-arm64/package.json index b618dc07..3d4da71b 100644 --- a/npm/crw-mcp-win32-arm64/package.json +++ b/npm/crw-mcp-win32-arm64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-win32-arm64", - "version": "0.11.0", + "version": "0.12.0", "description": "CRW MCP server binary for win32 arm64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/npm/crw-mcp-win32-x64/package.json b/npm/crw-mcp-win32-x64/package.json index 62e80f5e..4624e5e6 100644 --- a/npm/crw-mcp-win32-x64/package.json +++ b/npm/crw-mcp-win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-win32-x64", - "version": "0.11.0", + "version": "0.12.0", "description": "CRW MCP server binary for win32 x64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/npm/crw-mcp/package.json b/npm/crw-mcp/package.json index 48ba1a2d..6660a393 100644 --- a/npm/crw-mcp/package.json +++ b/npm/crw-mcp/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp", - "version": "0.11.0", + "version": "0.12.0", "description": "MCP server for CRW web scraper — scrape, crawl, and map tools for AI agents", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", @@ -27,11 +27,11 @@ "skills/SKILL.md" ], "optionalDependencies": { - "crw-mcp-darwin-x64": "0.11.0", - "crw-mcp-darwin-arm64": "0.11.0", - "crw-mcp-linux-x64": "0.11.0", - "crw-mcp-linux-arm64": "0.11.0", - "crw-mcp-win32-x64": "0.11.0", - "crw-mcp-win32-arm64": "0.11.0" + "crw-mcp-darwin-x64": "0.12.0", + "crw-mcp-darwin-arm64": "0.12.0", + "crw-mcp-linux-x64": "0.12.0", + "crw-mcp-linux-arm64": "0.12.0", + "crw-mcp-win32-x64": "0.12.0", + "crw-mcp-win32-arm64": "0.12.0" } } diff --git a/python/pyproject.toml b/python/pyproject.toml index c13634e2..af0c8d1e 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "crw" -version = "0.11.0" +version = "0.12.0" description = "Python SDK for CRW web scraper — scrape, crawl, and map any website from Python" readme = "README.md" requires-python = ">=3.9" diff --git a/server.json b/server.json index 8149c0f1..3dd3e466 100644 --- a/server.json +++ b/server.json @@ -3,7 +3,7 @@ "name": "io.github.us/crw", "title": "CRW Web Scraper", "description": "Open-source web scraper for AI agents with scrape, crawl, and map tools", - "version": "0.11.0", + "version": "0.12.0", "websiteUrl": "https://us.github.io/crw", "repository": { "url": "https://github.com/us/crw", diff --git a/version.txt b/version.txt index d9df1bbc..ac454c6a 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.11.0 +0.12.0