Skip to content
Tags give the ability to mark specific points in history as being important
  • 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
    
  • v0.0.1
  • v0.0.0