diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 19ee807a..71e95baf 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.19.0" + ".": "0.20.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index fb5e3b38..d84631f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to CRW are documented here. +## [0.20.0](https://github.com/us/crw/compare/v0.19.0...v0.20.0) (2026-07-01) + + +### Features + +* **map:** escalate anti-bot-gated sitemaps through the JS renderer ([2634a7e](https://github.com/us/crw/commit/2634a7e0a5c2670d8075ef1ef5547716e62ad2e3)) +* **map:** fix URL discovery on hard sites + configurable discovery limit ([f5fe1f4](https://github.com/us/crw/commit/f5fe1f4a9487643e7e58ef7d5c29e5d988fcdc42)) + + +### Bug Fixes + +* **renderer:** flat 1-credit cost for every renderer ([35a604c](https://github.com/us/crw/commit/35a604cabf375d5e956adc0ec18f017e57309e79)) + ## [0.19.0](https://github.com/us/crw/compare/v0.18.3...v0.19.0) (2026-06-28) diff --git a/Cargo.toml b/Cargo.toml index a6a42680..8a28b134 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.19.0" +version = "0.20.0" edition = "2024" license = "AGPL-3.0" repository = "https://github.com/us/crw" @@ -137,16 +137,16 @@ insta = { version = "1", features = ["json"] } # and layer their own `features` / `optional` on top. `path` is resolved # relative to THIS (root) manifest. Only crates that are depended upon by # another crate appear here; leaf binaries (crw-mcp, crw-cli) just consume. -crw-mcp-proto = { path = "crates/crw-mcp-proto", version = "0.19.0" } -crw-core = { path = "crates/crw-core", version = "0.19.0" } -crw-extract = { path = "crates/crw-extract", version = "0.19.0" } -crw-renderer = { path = "crates/crw-renderer", version = "0.19.0" } -crw-search = { path = "crates/crw-search", version = "0.19.0" } -crw-diff = { path = "crates/crw-diff", version = "0.19.0" } -crw-crawl = { path = "crates/crw-crawl", version = "0.19.0" } -crw-monitor = { path = "crates/crw-monitor", version = "0.19.0" } -crw-server = { path = "crates/crw-server", version = "0.19.0" } -crw-browse = { path = "crates/crw-browse", version = "0.19.0" } +crw-mcp-proto = { path = "crates/crw-mcp-proto", version = "0.20.0" } +crw-core = { path = "crates/crw-core", version = "0.20.0" } +crw-extract = { path = "crates/crw-extract", version = "0.20.0" } +crw-renderer = { path = "crates/crw-renderer", version = "0.20.0" } +crw-search = { path = "crates/crw-search", version = "0.20.0" } +crw-diff = { path = "crates/crw-diff", version = "0.20.0" } +crw-crawl = { path = "crates/crw-crawl", version = "0.20.0" } +crw-monitor = { path = "crates/crw-monitor", version = "0.20.0" } +crw-server = { path = "crates/crw-server", version = "0.20.0" } +crw-browse = { path = "crates/crw-browse", version = "0.20.0" } [profile.release] lto = true diff --git a/crates/crw-server/openapi/openapi.json b/crates/crw-server/openapi/openapi.json index e2d0cb5d..0e31eca2 100644 --- a/crates/crw-server/openapi/openapi.json +++ b/crates/crw-server/openapi/openapi.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "CRW REST API", - "version": "0.19.0", + "version": "0.20.0", "description": "Firecrawl-compatible web scraping, crawling, mapping, search, and extraction API. Hosted at https://api.fastcrw.com; self-host with `docker run -p 3000:3000 ghcr.io/us/crw:latest`.", "license": { "name": "AGPL-3.0", diff --git a/docs/openapi.json b/docs/openapi.json index e2d0cb5d..0e31eca2 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "CRW REST API", - "version": "0.19.0", + "version": "0.20.0", "description": "Firecrawl-compatible web scraping, crawling, mapping, search, and extraction API. Hosted at https://api.fastcrw.com; self-host with `docker run -p 3000:3000 ghcr.io/us/crw:latest`.", "license": { "name": "AGPL-3.0", diff --git a/mcp/crw-mcp-darwin-arm64/package.json b/mcp/crw-mcp-darwin-arm64/package.json index 227bf456..e07fb18d 100644 --- a/mcp/crw-mcp-darwin-arm64/package.json +++ b/mcp/crw-mcp-darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-darwin-arm64", - "version": "0.19.0", + "version": "0.20.0", "description": "CRW MCP server binary for darwin arm64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/mcp/crw-mcp-darwin-x64/package.json b/mcp/crw-mcp-darwin-x64/package.json index a97db921..bf84a7d2 100644 --- a/mcp/crw-mcp-darwin-x64/package.json +++ b/mcp/crw-mcp-darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-darwin-x64", - "version": "0.19.0", + "version": "0.20.0", "description": "CRW MCP server binary for darwin x64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/mcp/crw-mcp-linux-arm64/package.json b/mcp/crw-mcp-linux-arm64/package.json index 166e0102..c690cdb1 100644 --- a/mcp/crw-mcp-linux-arm64/package.json +++ b/mcp/crw-mcp-linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-linux-arm64", - "version": "0.19.0", + "version": "0.20.0", "description": "CRW MCP server binary for linux arm64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/mcp/crw-mcp-linux-x64/package.json b/mcp/crw-mcp-linux-x64/package.json index ee243de5..81fc6768 100644 --- a/mcp/crw-mcp-linux-x64/package.json +++ b/mcp/crw-mcp-linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp-linux-x64", - "version": "0.19.0", + "version": "0.20.0", "description": "CRW MCP server binary for linux x64", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", diff --git a/mcp/crw-mcp/package.json b/mcp/crw-mcp/package.json index 3d621483..edb11eb3 100644 --- a/mcp/crw-mcp/package.json +++ b/mcp/crw-mcp/package.json @@ -1,6 +1,6 @@ { "name": "crw-mcp", - "version": "0.19.0", + "version": "0.20.0", "description": "MCP server for CRW web scraper — scrape, crawl, map, search, and PDF-parse tools for AI agents", "license": "AGPL-3.0", "homepage": "https://github.com/us/crw", @@ -32,9 +32,9 @@ "skills/SKILL.md" ], "optionalDependencies": { - "crw-mcp-darwin-x64": "0.19.0", - "crw-mcp-darwin-arm64": "0.19.0", - "crw-mcp-linux-x64": "0.19.0", - "crw-mcp-linux-arm64": "0.19.0" + "crw-mcp-darwin-x64": "0.20.0", + "crw-mcp-darwin-arm64": "0.20.0", + "crw-mcp-linux-x64": "0.20.0", + "crw-mcp-linux-arm64": "0.20.0" } } diff --git a/sdks/python/pyproject.toml b/sdks/python/pyproject.toml index c952ac4d..bade939f 100644 --- a/sdks/python/pyproject.toml +++ b/sdks/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "crw" -version = "0.19.0" +version = "0.20.0" description = "Python SDK for CRW web scraper — scrape, crawl, and map any website from Python" readme = "README.md" requires-python = ">=3.10" diff --git a/sdks/typescript/package.json b/sdks/typescript/package.json index 8456fc41..ede4a0c3 100644 --- a/sdks/typescript/package.json +++ b/sdks/typescript/package.json @@ -1,6 +1,6 @@ { "name": "crw-sdk", - "version": "0.19.0", + "version": "0.20.0", "description": "TypeScript/JavaScript SDK for CRW — scrape, crawl, map, search, parse, and extract any website", "license": "MIT", "homepage": "https://github.com/us/crw", diff --git a/server.json b/server.json index 0b120daf..712c92ed 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.19.0", + "version": "0.20.0", "websiteUrl": "https://us.github.io/crw", "repository": { "url": "https://github.com/us/crw",