Skip to content

v0.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Oct 06:39
c023eb9

What's Changed

  • docs: add Thordata as a Studio Partner by @0xMassi in #128
  • fix(cli): request the full cloud result when a diff or LLM step follows by @0xMassi in #129
  • docs(readme): swap in NodeMaven's September banner and link by @0xMassi in #130
  • ci(windows): check the example.com title, not its markdown by @0xMassi in #139
  • fix(fetch): one retry path that honors Retry-After by @0xMassi in #133
  • fix(proxy): reject SOCKS proxies instead of advertising them by @0xMassi in #134
  • feat(core): drop hidden elements from extracted content by @0xMassi in #135
  • chore(bench): one-command benchmark against open-source extractors by @0xMassi in #136
  • feat(crawl): respect robots.txt by default by @0xMassi in #137
  • fix(core): make stripped hidden nodes unselectable by @0xMassi in #140
  • feat(crawl): worker-pool crawler that sees links, redirects and Crawl-delay by @0xMassi in #141
  • feat(crawl): crash-safe crawls with streamed jsonl and periodic checkpoints by @0xMassi in #142
  • feat(render): local JavaScript rendering with --render auto by @0xMassi in #143
  • feat: render JavaScript pages in crawls, batches and the MCP server by @0xMassi in #144
  • feat: pick values and records from pages with CSS selectors by @0xMassi in #145
  • feat: keep only what answers a question (--query) by @0xMassi in #146
  • feat(mcp): serve over streamable HTTP with a bearer token by @0xMassi in #147
  • feat: screenshots in the CLI and the MCP server by @0xMassi in #148
  • feat: every browser profile by name; fix the Safari profile by @0xMassi in #149
  • fix(cli): --raw-html exits 1 on HTTP errors by @0xMassi in #151
  • docs: fix cargo doc warnings, deny them in CI, refresh CLAUDE.md by @0xMassi in #152
  • feat: opt-in disk cache for fetched pages by @0xMassi in #150
  • feat: XPath 1.0 selection in the CLI, MCP and core by @0xMassi in #153
  • feat: block images, fonts or media while rendering by @0xMassi in #155
  • feat: data tables as JSON in the CLI, MCP and core by @0xMassi in #154
  • feat: find elements by text and find every element like an example by @0xMassi in #156
  • feat: query-guided crawling in the CLI, MCP and core by @0xMassi in #157
  • feat: split pages into chunks for retrieval by @0xMassi in #160
  • feat: Python package bundling the CLI by @0xMassi in #159
  • fix(fetch): keep rendered iframes off private addresses by @0xMassi in #158
  • feat: page actions for local rendering by @0xMassi in #161
  • feat: save a rendered page as a PDF by @0xMassi in #162
  • feat: get past Cloudflare challenges in the local browser by @0xMassi in #165
  • fix(fetch): let executeJavascript bodies await before they return by @0xMassi in #166
  • feat: capture the network responses of a rendered page by @0xMassi in #164
  • feat: keep a persistent browser profile between runs by @0xMassi in #163
  • chore(bench): measure selector drift after site redesigns by @0xMassi in #167
  • feat(fetch): present every local render as regular Chrome by @0xMassi in #169
  • feat(core,cli,mcp): markdown with numbered link citations by @0xMassi in #170
  • fix(fetch): follow a crawl redirect that lands on its own page by @0xMassi in #168
  • feat: save a page as MHTML or its responses as WARC by @0xMassi in #171
  • fix(fetch): space crawl requests per host instead of per worker by @0xMassi in #173
  • feat: stop a query crawl once the answer looks found by @0xMassi in #174
  • feat: list a site's URLs from the Common Crawl index with --map by @0xMassi in #172
  • fix(fetch): close every launched Chrome on SIGTERM by @0xMassi in #175
  • fix(mcp): add the crawl fallback to the map tool by @0xMassi in #176
  • fix(bench): take a bins dir as the second argument in every script by @0xMassi in #177
  • chore(release): 0.7.0 by @0xMassi in #179
  • fix: findings from the 0.7.0 release review by @0xMassi in #181
  • fix(bench): leave robots compliance unscored when robots.txt cannot be read by @0xMassi in #182
  • test(fetch): wait until the wrapper script can run before using it by @0xMassi in #183
  • chore: name the licence AGPL-3.0-only by @0xMassi in #184
  • docs: record the licence as AGPL-3.0-only in CLAUDE.md by @0xMassi in #185
  • docs: name the licence AGPL-3.0-only in the READMEs by @0xMassi in #186
  • release: 0.7.0 by @0xMassi in #180

Full Changelog: v0.6.23...v0.7.0