diff --git a/archivebox/tests/test_migrations_08_to_09.py b/archivebox/tests/test_migrations_08_to_09.py index 0e639c02..205723a8 100644 --- a/archivebox/tests/test_migrations_08_to_09.py +++ b/archivebox/tests/test_migrations_08_to_09.py @@ -874,11 +874,18 @@ def test_archiveresult_files_preserved_after_migration(tmp_path): # CRITICAL: Verify old structure is cleaned up assert old_files_count == 0, f"Old structure not cleaned up: {old_files_count} files still in archive/timestamp/ directories" - # CRITICAL: Verify all files were moved (total count should match) - total_after_update = files_new_count + old_files_count - assert files_before_count == total_after_update, ( - f"Files lost during reorganization: {files_before_count} before → {total_after_update} after" + # CRITICAL: Verify all original payload files were moved. The 0.9 lazy + # maintenance pass also writes fresh index.jsonl/index.html metadata from + # the hydrated DB row, so raw file counts are allowed to increase; compare + # the legacy payload contents after excluding those generated metadata + # files to keep the no-data-loss assertion strict. + generated_metadata_names = {"index.html", "index.jsonl"} + original_payloads = sorted(path.read_text() for path in files_before) + migrated_payloads = sorted( + path.read_text() for path in [*files_new_structure, *old_files_remaining] if path.name not in generated_metadata_names ) + assert original_payloads == migrated_payloads, "Legacy payload files changed or were lost during reorganization" + assert files_new_count >= files_before_count, "New 0.9 metadata should not replace legacy payload files" # CRITICAL: Verify sample files exist in new structure assert len(new_sample_files) > 0, "Sample files not found in new structure" diff --git a/etc/package.json b/etc/package.json index 86e105f5..111d15b4 100644 --- a/etc/package.json +++ b/etc/package.json @@ -1,6 +1,6 @@ { "name": "archivebox", - "version": "0.9.33rc18", + "version": "0.9.33rc19", "repository": "github:ArchiveBox/ArchiveBox", "license": "MIT", "dependencies": { diff --git a/pyproject.toml b/pyproject.toml index f7de0c88..0e1d6bbb 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "archivebox" -version = "0.9.33rc18" +version = "0.9.33rc19" requires-python = ">=3.13" description = "Self-hosted internet archiving solution." authors = [{name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}] @@ -79,9 +79,9 @@ dependencies = [ ### Extractor dependencies (optional binaries detected at runtime via shutil.which) ### Binary/Package Management "abxbus==2.5.7", # EventBus API - "abxpkg>=1.11.44", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm - "abx-plugins>=1.11.50", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring - "abx-dl>=1.11.50", # shared ArchiveBox downloader package with blocking install preflight + "abxpkg>=1.11.45", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm + "abx-plugins>=1.11.51", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring + "abx-dl>=1.11.51", # shared ArchiveBox downloader package with blocking install preflight ### UUID7 backport for Python <3.14 "uuid7>=0.1.0; python_version < '3.14'", # provides the uuid_extensions module on Python 3.13 ]