Releases: ArchiveBox/abx-plugins
Releases · ArchiveBox/abx-plugins
v1.10.22: Chrome cleanup and cookie popup fixes
Highlights
- harden Chrome cleanup so crawl and tab launch hooks tear down browser processes more reliably
- improve zombie Chrome and stale hook cleanup behavior
- stabilize live Chrome and ClaudeChrome test coverage against the real runtime path
- fix i still dont care about cookies detection to avoid false positives from generic consent demo UI
- raise Claude Code cleanup timeout budget to match current real-world runtime
Validation
uv run prek run --all-files- live plugin tests for chrome, claudechrome, claudecodecleanup, and istilldontcareaboutcookies
- real reproduction against
https://playground.cookieconsent.orestbida.com/confirmed the cookie banner is hidden and reported correctly
v1.10.21
Full Changelog: v1.10.20...v1.10.21
v1.10.20: config-declared binaries and runtime hardening
Highlights
- Move plugin dependency declaration fully into
config.json > required_binariesand removeon_Install__*hooks from the runtime model. - Tighten binary/provider wiring, including favicon fallback handling, staticfile/responses coordination, modal closer updates, and ytdlp/runtime fixes.
- Harden JS/Python hook packaging, provider typing, and cross-host test behavior so local runs and CI use the same code paths more reliably.
- Improve Chrome test/session stability and parser/runtime readiness checks across the plugin suite.
This release includes the cumulative changes since v1.10.14.
v1.10.14
v1.9.18: Chrome lifecycle hardening, new extractors, and install/test fixes
What's Changed
- 🌐 Chrome lifecycle hardening with delayed readiness gating, snapshot-scoped launch support, remote/external browser session controls (
CHROME_CDP_URL,CHROME_IS_LOCAL,CHROME_KEEPALIVE,CHROME_ISOLATION), CDP-based download configuration, stronger startup stability checks, and safer stale-tab cleanup. - 📄 New document extractors:
opendataloaderaddsopendataloader-pdfextraction with OCR/hybrid fallback and searchablecontent.md/content.txtoutputs, andliteparseaddslit-based PDF/document extraction via LlamaIndex LiteParse. - 🔎 Search indexing now auto-discovers content across plugin outputs for
.txt,.md,.html, and.htmfiles, so new extractor outputs are picked up without hardcoded file lists. - 🧪 Install and test reliability improved by switching plugin tests to
Binary.load_or_install(), retrying Puppeteerbrowsers install --install-depsviasudowhen needed, repairing cache ownership after sudo installs, pinning ForumDL's macOS-sensitive deps, and tightening shebang/executable coverage.
New plugins in this release
opendataloader
liteparse
Relevant changes
- Chrome lifecycle hardening (
df2bdb2) - OpenDataLoader plugin (
221cc43) - LiteParse plugin (
2b53613) - Binary.load_or_install test cleanup (
b27dbc0) - Puppeteer sudo install recovery (
d5e5223)
Full Changelog: v1.9.13...v1.9.18
v1.9.13: normalize JS node module resolution
- normalize JS hook module resolution through a shared helper that honors NODE_MODULES_DIR, NODE_MODULE_DIR, and LIB_DIR/npm/node_modules
- update chrome-, puppeteer-, and extension-dependent hooks to use the shared resolver before requiring npm packages
- emit NODE_MODULE_DIR and NODE_PATH alongside NODE_MODULES_DIR from the npm provider
- add regression tests covering NODE_MODULE_DIR alias handling, LIB_DIR fallback, and npm provider env emission
v1.9.12: SingleFile NODE_MODULES_DIR regression coverage
- adds a focused regression test for singlefile_extension_save.js honoring NODE_MODULES_DIR when resolving puppeteer-core
- keeps the SingleFile browser-crash fix covered without requiring a live Chromium session in test
v1.9.5: Align version with abx-pkg and improve test diagnostics
What's Changed
Version alignment
- Bumped version to
1.9.5to alignabx-pluginswith theabx-pkg>=1.9.5dependency, establishing a unified versioning scheme across the ArchiveBox plugin ecosystem.
Test improvements
- Improved Chrome runtime fixture error reporting — the
require_chrome_runtimefixture now logs errors vialogging.error()before callingpytest.fail(), and setspytrace=Falsefor cleaner test output when Chrome prerequisites are unavailable.
Dependencies
- Updated
abx-pkgminimum version from>=0.7.0to>=1.9.5
Full Changelog: v0.10.2...v1.9.5
v0.10.2: Add Claude sandbox hint for Puppeteer installs
This patch release improves Puppeteer browser install failures inside Claude sandboxes.
- Detects the
getaddrinfo EAI_AGAIN storage.googleapis.comfailure mode duringpuppeteer browsers install. - Prints a targeted hint explaining that
@puppeteer/browsersrespectsNO_PROXY, which can bypass the sandbox egress proxy for Google download hosts. - Shows a concrete
NO_PROXY/no_proxyoverride users can apply before retrying. - Adds regression coverage for the new diagnostic path.
Suggested retry environment:
NO_PROXY="localhost,127.0.0.1,169.254.169.254,metadata.google.internal,.svc.cluster.local,.local"
no_proxy="$NO_PROXY"Verification:
uv run pytest abx_plugins/plugins/puppeteer/tests/test_puppeteer.py -q
Relevant change:
- Add Claude sandbox hint for Puppeteer browser downloads and test coverage
v0.10.1: Fix Puppeteer/Chrome install ordering during setup
This patch release fixes a setup-time race between the Puppeteer and Chrome install hooks.
puppeteer/on_Crawl__60_puppeteer_installnow runs in the foreground instead of as a.finite.bghook, so itsBinary(puppeteer, npm)side effects are applied immediately and in order.chrome/on_Crawl__70_chrome_install.finite.bg.pycan now safely emitBinary(chromium, puppeteer)after Puppeteer is already available to install Chromium.- Chrome test helpers and Puppeteer regression coverage were updated to lock in the new foreground hook path and prevent the race from creeping back in.
User-visible impact:
archivebox init --setupandabx-dl plugins --install puppeteerno longer intermittently hit Chromium installs before the Puppeteer npm package exists.- Chrome-based plugins now get a deterministic Puppeteer -> Chromium setup sequence.
Verification:
uv run pytest abx_plugins/plugins/puppeteer/tests/test_puppeteer.py -quv run abx_plugins/plugins/puppeteer/on_Crawl__60_puppeteer_install.py
Relevant commits: