Nick Sweeting
c1dda18443
Document daemon shutdown ownership
2026-08-31 22:26:06 -07:00
Nick Sweeting
b28a4e1a55
Fix runner recovery across PID namespaces
2026-08-31 21:06:06 -07:00
Nick Sweeting
6906edc076
fix: make portable exports and screenshot deploys reliable
2026-08-29 16:03:29 -07:00
Nick Sweeting
de14346a08
fix: project one archive result per plugin
2026-08-28 19:47:15 -07:00
Nick Sweeting
df18f391f6
Fix IPv6 URLs in server startup banner ( #1845 )
2026-08-28 13:28:17 -07:00
Nick Sweeting
3cfc99569a
Resolve explicit ArchiveResult plugin hooks
2026-08-28 12:13:58 -07:00
Nick Sweeting
056a02a06e
Restore ArchiveResult hook identity
2026-08-28 11:52:36 -07:00
Nick Sweeting
43c2dc9896
Enforce one ArchiveResult per plugin
2026-08-28 08:56:07 -07:00
Nick Sweeting
5273f99b9e
consolidate config loading hot paths
2026-08-27 15:34:28 -07:00
Nick Sweeting
a69e090ff7
Fix custom plugin execution from data directories
2026-08-24 14:00:30 -07:00
Nick Sweeting
f2ce574a1c
Exit foreground add after server finishes crawl
2026-08-19 02:23:53 -07:00
Nick Sweeting
5f1f2a95fb
Point init hint to canonical web setup
2026-08-19 01:03:17 -07:00
Nick Sweeting
3d9bd925e5
Use one browser-first web setup path
2026-08-19 00:58:17 -07:00
Nick Sweeting
c8d9dcf52d
Point first-run CLI guidance to web setup
2026-08-19 00:52:29 -07:00
Nick Sweeting
f21902df95
Restore binary and hook ownership boundaries
2026-08-16 19:54:54 -07:00
Nick Sweeting
99e863f997
Remove stale downloader binary state coupling
2026-08-14 18:51:16 -07:00
Nick Sweeting
87e8c8aef5
Point orphan recovery hint to update
2026-08-09 20:30:09 -04:00
Nick Sweeting
9689204d50
Skip Docker TTY warning for noinput admin
2026-08-09 18:36:19 -04:00
Nick Sweeting
e564ed0af9
Preserve migration work and parallelize version checks
2026-08-02 02:22:29 -07:00
Nick Sweeting
6c7d5a451a
Fail daemon startup when server is not ready
2026-08-01 21:43:31 -07:00
Nick Sweeting
43d2a8b106
Reject crawls before low-memory startup
2026-08-01 12:38:36 -07:00
Nick Sweeting
cbc25320dd
Fail cleanly before low-memory dependency installs
2026-08-01 04:59:08 -07:00
Nick Sweeting
40e6e4dc06
Bound version dependency checks
2026-08-01 00:34:11 -07:00
Nick Sweeting
fe6600cb8c
Skip resolved binaries in version checks
2026-08-01 00:17:16 -07:00
Nick Sweeting
38dc0f30db
Fix archive status size accounting
2026-07-31 09:47:04 -07:00
Nick Sweeting
d4fe80ac79
Fix targeted binary install resolution
2026-07-30 14:14:55 -07:00
Nick Sweeting
cb234a8a64
Keep runtime component labeling side-effect free
CI / Linters (push) Waiting to run
CI / Install and CLI platform compatibility (push) Waiting to run
CI / Discovered test matrix (push) Waiting to run
CI / Documentation and root tests (push) Waiting to run
CI / CodeQL (push) Waiting to run
CI / Tested Python artifacts (push) Waiting to run
CI / Tested Docker images (push) Waiting to run
CI / All required CI lanes (push) Blocked by required conditions
Deploy Publicsite to GitHub Pages / deploy (push) Waiting to run
2026-07-29 22:05:40 -07:00
Nick Sweeting
43f7af8799
Claim foreground crawl ownership before enqueue
2026-07-29 20:29:11 -07:00
Nick Sweeting
6259c1dc65
Keep binary installs independent of plugin selection
2026-07-29 09:02:24 -07:00
Nick Sweeting
07c000207d
Install raw binary targets through Binary lifecycle
2026-07-28 21:22:01 -07:00
Nick Sweeting
8c68b43f46
Resolve install targets from provider package args
2026-07-28 21:01:12 -07:00
Nick Sweeting
a3ca0f68c0
Resolve install binary names through plugins
2026-07-28 20:22:50 -07:00
Nick Sweeting
eec8e63a76
Use shared binary dependency table renderer
2026-07-28 10:54:48 -07:00
Nick Sweeting
e6c3dc8a64
Fix docs root install ownership and live progress rows
2026-07-26 20:59:08 -07:00
Nick Sweeting
d4ff0d033f
Merge remote-tracking branch 'origin/dev' into codex/all-tests-ci
2026-07-25 11:51:21 -07:00
Nick Sweeting
7658df9208
Fix ArchiveBox CI runtime paths and docs validation
2026-07-25 11:51:15 -07:00
Claude
f7c182d76c
Merge remote-tracking branch 'origin/dev' into claude/archivebox-postgresql-support-xrlgim
...
# Conflicts:
# .github/workflows/test-parallel.yml
# .github/workflows/test.yml
# uv.lock
2026-07-24 10:30:55 +00:00
Nick Sweeting
eacfae5d6c
Run all ArchiveBox tests through unified CI
2026-07-24 00:50:40 -07:00
Claude
7167c5dd8a
Add native PostgreSQL support alongside SQLite
...
Add DATABASE_ENGINE=postgres (plus DATABASE_HOST/PORT/USER/PASSWORD/NAME)
config and centralize all sqlite-vs-postgres branching in
archivebox.misc.db:
- get_database_settings() builds DATABASES for either backend; the sqlite
path is unchanged (custom lock-retry backend, same PRAGMAs).
- database_exists()/ensure_database_ready() replace index.sqlite3 file
checks; init auto-creates the postgres database when missing.
- approximate_row_counts() serves admin index counts from sqlite_stat1 or
pg_class.reltuples; missing-table detection covers both vendors.
- rebuild_models_from_migration_state() lets historical sqlite-only raw
SQL migrations resync postgres schema from Django migration state at
every divergence point (postgres can never hold legacy data, so
affected tables are empty when these run). All raw-DDL and PRAGMA
migrations are now vendor-gated with sqlite behavior byte-for-byte
unchanged.
- A pre_save clamp truncates CharField values to max_length: sqlite
never enforced varchar(n) but postgres does (e.g. long crawl labels).
- Collation-sensitive URL range scans branch to escaped LIKE on postgres
(with a text_pattern_ops index) since linguistic collations break
bytewise range tricks; the crawl-config JSON search wave gets a
jsonb-text implementation.
Verified on real PostgreSQL 16: fresh init applies the entire migration
graph, schema matches models exactly (column-level parity check +
makemigrations --check), and add/run/list/search/status/remove all work
end-to-end. New test_postgres_backend.py suite boots a real throwaway
postgres cluster (initdb + pg_ctl); CI workflows install postgres server
binaries.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YHSjZM6TstSAMN2PhgfUg
2026-07-23 17:08:47 +00:00
Nick Sweeting
a3c5e13ff8
Release ArchiveBox through complete CI coverage
CI / Linters (push) Waiting to run
CI / Complete test suite (push) Waiting to run
CI / Sharded and plugin tests (push) Waiting to run
CI / Documentation and root tests (push) Waiting to run
CI / CodeQL (push) Waiting to run
CI / Tested Python artifacts (push) Waiting to run
CI / Tested Docker images (push) Waiting to run
CI / All required CI lanes (push) Blocked by required conditions
Deploy Publicsite to GitHub Pages / deploy (push) Has been cancelled
2026-07-23 07:00:05 -07:00
Nick Sweeting
6592af0d19
Exercise ArchiveBox through unified runtime lifecycles
2026-07-21 19:26:42 -07:00
Nick Sweeting
ee91a9e366
Filter version binaries before resolution
2026-07-20 16:42:04 -07:00
Nick Sweeting
81ea053f97
Avoid empty binary resolution buses
2026-07-20 16:22:53 -07:00
Nick Sweeting
5a30ab0451
Scope install status to requested binaries
2026-07-20 15:54:33 -07:00
Nick Sweeting
01f5666dbc
Route runtime binaries through abxpkg
2026-07-20 12:50:14 -07:00
Nick Sweeting
ee0e3eb43c
Enforce the sealed search maintenance boundary
2026-07-19 08:54:32 -07:00
Nick Sweeting
3fa3794bf3
Skip disabled plugin binary checks in version
2026-06-24 09:51:28 -07:00
Nick Sweeting
0e0759a680
Skip binary probes outside data dirs
2026-06-21 05:42:26 -07:00
Nick Sweeting
59a956bf9f
Show dynamic DB binaries in version output
2026-06-21 05:24:15 -07:00
Nick Sweeting
9dbeece35b
fix version command exit status
2026-06-21 02:41:18 -07:00