# Changelog All notable changes to webclaw are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/). ## [0.2.0] — 2026-03-26 ### Added - **DOCX extraction**: auto-detected by Content-Type or URL extension, outputs markdown with headings - **XLSX/XLS extraction**: spreadsheets converted to markdown tables, multi-sheet support via calamine - **CSV extraction**: parsed with quoted field handling, output as markdown table - **HTML output format**: `-f html` returns sanitized HTML from the extracted content - **Multi-URL watch**: `--watch` now works with `--urls-file` to monitor multiple URLs in parallel - **Batch + LLM extraction**: `--extract-prompt` and `--extract-json` now work with multiple URLs - **Scheduled batch watch**: watch multiple URLs with aggregate change reports and per-URL diffs --- ## [0.1.7] — 2026-03-26 ### Fixed - `--only-main-content`, `--include`, and `--exclude` now work in batch mode (#3) --- ## [0.1.6] — 2026-03-26 ### Added - `--watch`: monitor a URL for changes at a configurable interval with diff output - `--watch-interval`: seconds between checks (default: 300) - `--on-change`: run a command when changes are detected (diff JSON piped to stdin) - `--webhook`: POST JSON notifications on crawl/batch complete and watch changes. Auto-formats for Discord and Slack webhooks --- ## [0.1.5] — 2026-03-26 ### Added - `--output-dir`: save each page to a separate file instead of stdout. Works with single URL, crawl, and batch modes - CSV input with custom filenames: `url,filename` format in `--urls-file` - Root URLs use `hostname/index.ext` to avoid collisions in batch mode - Subdirectories created automatically from URL path structure --- ## [0.1.4] — 2026-03-26 ### Added - QuickJS integration for extracting data from inline JavaScript (NYTimes +168%, Wired +580% more content) - Executes inline `