Repository navigation
v0.7.4 — 5 bugfixes from codebase deep-dive
Pre-release
Pre-release
PyreCrawl v0.7.4
Five targeted fixes from a full codebase review, all verified offline before release.
Bug Fixes
- Codex TOML block corruption (
cli.py) — uninstall/reinstall left an orphan literal line inconfig.toml. Regex now matches to next section header via negative lookahead. crawl()dropscss_selector+max_depth(engines.py) —css_selectorwas documented as "reserved for llm tier" but never wired to any tier.max_depthwas hardcoded to2inBFSDeepCrawlStrategy. Both now propagated correctly across fast/stealth/auto/llm tiers with a new_scope_to_selector()helper for non-llm.map_urls/ BFS link harvest junk (engines.py) — barehref=regex matched<link rel=stylesheet|canonical|icon>+ RSS feeds, burning limit quota and creating junk "pages". Now scoped to<a>elements only with_NON_PAGE_EXTSextension filter.- arXiv API over plain HTTP (
engines.py) —export.arxiv.orgfetched via HTTP (MITM-able). Now HTTPS. Also addedsource=validation guard (unknown source now returns structured error instead of silently falling to arXiv). scrapedocstring claimsfile:///raw:support (server.py) — these schemes were never implemented. Docstring corrected.selfcheckonly checked 6 of 13 tools (scripts/selfcheck.py) — updated to assert all 13 registered tools + exact count.
New Test Scripts
scripts/test_scope_selector.py— crawl css_selector/max_depth wiring (18 checks, real lxml parser)scripts/test_link_harvest.py— link harvest purity regression (17 checks)
Notes
- Telemetry support by a parallel agent is not included in this release (will land in 0.7.5).
- False positives removed from initial review:
setupUnix path was already correct (Path(sys.executable).parentresolves tobin/on Linux).