Skip to content

v2.0.0

Choose a tag to compare

@vansergen vansergen released this 18 Oct 21:02
· 10 commits to main since this release

2.0.0 (2026-10-18)

⚠ BREAKING CHANGES

  • restore requires the .sha256 checksum file of an archive
    (pass -U to restore one without it). restore -a without -v restores only
    mounted volumes. Top-level names starting with .vb-restore are reserved,
    and volumes holding .restore-in-progress.* directories from version 1
    are refused instead of cleaned up. Backups and restores need flock support
    on the volume filesystem.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011nRLfyq4VM6qJ5tq7RzAqC

  • the image no longer contains mc and uses tini as its
    entrypoint. AWS_ENDPOINT_URL must be scheme://host[:port]. Without
    AWS_REGION, the bucket region is detected on AWS and us-east-1 is used
    for custom endpoints. Providers that reject conditional writes are
    refused unless S3_ALLOW_UNCONDITIONAL_WRITES=1. S3 folders and keys are
    limited to path segments of letters, digits, '.', '_' and '-'.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011nRLfyq4VM6qJ5tq7RzAqC

Features

  • add zstd, rotation, listing, verification and S3 restore -a (0dd7634)
  • make restores transactional and crash-safe (0473959)
  • replace the MinIO client with a curl-based S3 client (134deba)

Bug Fixes

  • check the status of every sort that feeds a list (cdce41b)
  • detect GNU tar without piping its version into grep -q (8ce0c07)
  • do not combine --path-as-is with sigv4 (f43f0f1)
  • harden signal handling, child reaping, GPG use and path guards (630adc5)
  • keep creation directories that do not match what the tool writes (f7d24af)
  • keep the restore journal when a rollback step fails (efbe28a)
  • never act on an incomplete listing or directory scan (f8d4c92)
  • never roll back a restore whose commit decision is on disk (0257602)
  • refuse restore -X together with -n, -C or -j (5599d98)
  • refuse S3 rotation when an object to delete has no ETag (175ac21)
  • reject the whole S3 listing when reading it fails (4f4622f)
  • reject unsafe volume names and unblock image build (587d873)
  • treat unreadable checksum files, tokens and mount tables as errors (d0fe306)

Build System

  • bump alpine from 3.23.3 to 3.24.2 (6ba164d)