Skip to content

Releases: ArchiveBox/abx-plugins

v1.9.18: Chrome lifecycle hardening, new extractors, and install/test fixes

19 Mar 21:50
665981e

Choose a tag to compare

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: opendataloader adds opendataloader-pdf extraction with OCR/hybrid fallback and searchable content.md / content.txt outputs, and liteparse adds lit-based PDF/document extraction via LlamaIndex LiteParse.
  • 🔎 Search indexing now auto-discovers content across plugin outputs for .txt, .md, .html, and .htm files, 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 Puppeteer browsers install --install-deps via sudo when 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

Full Changelog: v1.9.13...v1.9.18

v1.9.13: normalize JS node module resolution

16 Mar 02:37
5692bb8

Choose a tag to compare

  • 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

16 Mar 02:27
054fffc

Choose a tag to compare

  • 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

15 Mar 22:22
3858a5f

Choose a tag to compare

What's Changed

Version alignment

  • Bumped version to 1.9.5 to align abx-plugins with the abx-pkg>=1.9.5 dependency, establishing a unified versioning scheme across the ArchiveBox plugin ecosystem.

Test improvements

  • Improved Chrome runtime fixture error reporting — the require_chrome_runtime fixture now logs errors via logging.error() before calling pytest.fail(), and sets pytrace=False for cleaner test output when Chrome prerequisites are unavailable.

Dependencies

  • Updated abx-pkg minimum version from >=0.7.0 to >=1.9.5

Full Changelog: v0.10.2...v1.9.5

v0.10.2: Add Claude sandbox hint for Puppeteer installs

15 Mar 21:08
c1e596a

Choose a tag to compare

This patch release improves Puppeteer browser install failures inside Claude sandboxes.

  • Detects the getaddrinfo EAI_AGAIN storage.googleapis.com failure mode during puppeteer browsers install.
  • Prints a targeted hint explaining that @puppeteer/browsers respects NO_PROXY, which can bypass the sandbox egress proxy for Google download hosts.
  • Shows a concrete NO_PROXY / no_proxy override 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

15 Mar 20:54
e114ccd

Choose a tag to compare

This patch release fixes a setup-time race between the Puppeteer and Chrome install hooks.

  • puppeteer/on_Crawl__60_puppeteer_install now runs in the foreground instead of as a .finite.bg hook, so its Binary(puppeteer, npm) side effects are applied immediately and in order.
  • chrome/on_Crawl__70_chrome_install.finite.bg.py can now safely emit Binary(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 --setup and abx-dl plugins --install puppeteer no 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 -q
  • uv run abx_plugins/plugins/puppeteer/on_Crawl__60_puppeteer_install.py

Relevant commits:

v0.10.0: Claude plugins, shared base utilities, and the live plugin gallery

15 Mar 08:30
2fed9c2

Choose a tag to compare

  • 🤖 Added a new Claude automation family with claudecode, claudecodeextract, claudecodecleanup, and claudechrome for archive-time AI-driven browsing, extraction, and cleanup
  • 🧰 Introduced the new base plugin with shared Python and JS helpers, centralized test utilities, Pydantic-based config loading, and stricter LIB_DIR permissions so plugins stop reimplementing the same plumbing
  • 🌐 Published a live plugin gallery on GitHub Pages, added icons and metadata for the marketplace UI, and renamed hooks to clearer *.finite.bg.* and *.daemon.bg.* forms to make execution intent obvious
New plugin families in this release
base
claudecode
claudecodeextract
claudecodecleanup
claudechrome

Relevant changes

Full Changelog: v0.9.2...v0.10.0

v0.9.2: Defuddle, Trafilatura, aligned hook contracts, and CI stabilization

15 Mar 08:30
bd18f96

Choose a tag to compare

  • ✍️ Added two new readability-focused extractors: defuddle for parsing saved local HTML and trafilatura with configurable output formats and real install and snapshot coverage
  • 🧪 Hardened the plugin test matrix with more deterministic ytdlp, seo, wget, gallerydl, and papersdl coverage, plus live integration fixes for Chrome races, timeout probing, env handling, and extension setup
  • ⚙️ Tightened runtime contracts and CI by aligning hook and test expectations, stabilizing headers, redirects, and ssl, and moving parallel test runs on main toward plugin-managed Chromium instead of flaky ad hoc downloads
# New extraction plugins in this release
defuddle
trafilatura

# Trafilatura output modes
txt | md | json | xml

Relevant changes

Full Changelog: v0.9.1...v0.9.2

v0.9.1: Chrome and test hardening with Python 3.11 packaging fixes

15 Mar 08:30
55415ca

Choose a tag to compare

  • 🧪 Hardened the plugin test suite with shared pytest fixture cleanup, more deterministic coverage for dns, gallerydl, papersdl, wget, ytdlp, and captcha flows, plus fixes for the new parallel test workflow
  • 🌐 Kept tightening the Chrome-heavy plugins by continuing chrome_utils.js deduping, improving SingleFile save behavior, fixing Puppeteer and Favicon edge cases, and removing brittle wrapper code around forumdl
  • 🐍 Turned the first big package cut into a usable release by correcting the Python floor to >=3.11, bumping the abx-pkg requirement forward, and tagging the repo as v0.9.1
# Packaging/runtime changes in this release
version = "0.9.1"
requires-python = ">=3.11"
abx-pkg >= 0.6.3

Relevant changes

Full Changelog: v0.9.0...v0.9.1

v0.9.0: Standalone packaging reset, parallel CI, and test bootstrap

15 Mar 08:29
aaa2b40

Choose a tag to compare

  • 📦 Reworked the repo into a real standalone package release, jumping from the initial scaffold to 0.9.0 with updated project metadata, repo URLs, dependency declarations, and distributable test settings
  • 🧪 Bootstrapped a much more maintainable test layout by adding package-local tests/__init__.py files across the plugin tree, a shared top-level conftest.py, and the first parallel CI workflow
  • ⚙️ Tightened hook execution details across the suite by making install and snapshot scripts executable, removing vendored npm lockfiles from the repo, and consolidating Chrome test utilities and plugin path helpers
# New release infrastructure added in this cut
.github/workflows/test-parallel.yml
conftest.py
uv.lock
abx_plugins/plugins/path_utils.py

Relevant changes

Full Changelog: v0.1.0...v0.9.0