-
v1.2.0
v1.2.0 ⚠️ Minimum required Python version is now 3.10 - Handle missing data in objstorage. - Retry deleting an object from an objstorage multiple times. - Display a progress bar per object type during backup. - Fix a spelling mistake in the removal plan.
-
v1.1.0
v1.1.0 - docs: fix 'Using swh-alter' typo - Ensure we end the inventory progressbar on 0 left - Add a progress bar when enumerating RawExtrinsicMetadata - Break down the displayed number of objects to remove by type
-
v1.0.0
v1.0.0 Takedown requests have now been processed in production! 🥳 New features: - The new `requested` field in recovery bundles list the origin URLs and SWHIDs given to `swh alter remove`. - The new `referencing` fields in recovery bundles list SWHIDs in the archive referenced by the objects contained in the bundle. This allows to ask for confirmation when restoring a bundle referencing missing objects. Correctness: - Ignore objects missing in storage when looking for references outside the set of candidates for removal. - Ignore objects missing in storage when checking if new references have been added during a removal. - Flush storage at every loop during restore. User experience: - Error out when an origin can’t be found. - Error out when the inventory phase gets stuck. - Improve progressbar displayed during the inventory phase. - Add progressbar to `swh alter list-candidates`. - Display timing information when removing from objstorages. - Fix spurious warnings when an object cannot be found in an objstorage. - Downgrade log messages about submodules to DEBUG level. - Improve the error messages when we find new references. - Remove the “Assuming […] is an origin URL” message. - Reword a couple of user-facing messages. Improve tests: - Use a storage config closer to production in tests. - Move common fixtures to conftest.py - Avoid configuring multiple loggers. - Reset loggers once we are done with CLI tests. - Parse SWHIDs earlier. - Remove a leftover print(). - Remove `storage_with_references_from_forked_origin` fixture. Code quality: - Use a dedicated object for `Remover.get_removable()` results. - Refactor `RecoveryBundleCreator` initialization. - Remove some unneeded SWHID to string conversions.
-
v0.1.0
v0.1.0 New features: - Allow resuming a removal from a recovery bundle - Add `swh alter list-candidates` to help masking operations - Add some progress bars for long-running operations - Ensure recovery bundle file can be written early - Account for an outdated graph (for example if objects have been removed from storage before the graph has been updated). - Add support for removing RawExtrinsicMetadata and ExtID Improve performances: - inventory: skip duplicates when adding edges from swh.graph - inventory: add nodes and edges from swh.graph in bulk - removable: hardcode a set of never-removable objects - removable: use max_matching_nodes instead of max_edges for neighbors query Improve tests: - Fix storage configuration in tests - Test logs in test_remover_restore_recovery_bundle - don't let the CliRunner catch exceptions Misc: - cli: Stop assuming a default configuration - Fix how we count restored objects - Refactor logging in CLI and in recovery_bundle module - cli: Move Remover initialization to its own function - removable: make debug logging of extra predecessors more useful - recovery_bundle: increase logging for failed external calls - subgraph: fix the _DEBUG_EDGE_INSERTION flag - Factor out handling SWHIDs depending on their object types - Fix typo in submodule predecessor logging - adapt to the renaming of model.TargetType to model.SnapshotTargetType - model: start using richer type for object_type - model: further cleanup the code and directly use BaseModel in typing - Add support for revision_log returning Revision objects - Apply swh-py-template v0.2.0
-
v0.0.7
v0.0.7 - Implement removal from swh-search. - Change removal order to remove from objstorages last. - Update usage documentation. - Fix pytest import mechanism.
-
v0.0.6
v0.0.6 - HEADS UP! The configuration format has changed: each facility must now be listed according to its use. - Implement removal from objstorage. - Display an error if the secret sharing configuration is wrong before doing any processing in the `remove` command. - Clarify that we count SWHIDs in the removal confirmation message. - In `remove`, `--dry-run` can now stop before recovery bundle creation or the actual removal operation. - Ensure compatibility with rage v0.10.0. - Switch to mypy to 1.8.0.
-
v0.0.5
v0.0.5 - Fix formatting issues in recovery bundles documentation. - Display an error when the graph is unavailable. - Get the list of objects to remove from what has been written to the recovery bundle (enhance safety). - Add support for removal from Kafka (aka the journal).
-
v0.0.4
v0.0.4 - Migrate to copier, PEP420 and pyproject.toml based packaging. - Improve recovery bundle documentation.
-
v0.0.3
v0.0.3 - Support removal from PosgreSQL and Cassandra. - Add new configuration block `extra_storages` to support removal from other storages than the one used to find objects that should be removed. - Fix default configuration and examples for graph.
-
v0.0.2
v0.0.2 - Initial implementation of recovery bundles - Make the main `swh` CLI a bit more responsive - Tighten testing dependencies