AArch64 | |
ppc64le | |
s390x | |
x86-64 |
- Update to version 0.15.1 * Fix: Remove b2_download_file_by_name: 404 warning from B2 backend * Fix: Make prune --quiet not print progress bar * Fix: Make self-update --output work with new filename on Windows * Fix: Add missing ETA in backup progress bar * Enh: Ignore empty lock files - Remove accidentally left over unused patch build.patch
- Allow build with architectures that do not support -buildmode=pie - New Patch disable-selfupdate.patch: Disable self-update, because updates will be made using package manager - Replace packageand by conditionals - Update to version 0.15.0 * Make mount return exit code 0 after receiving Ctrl-C / SIGINT * Make restore replace existing symlinks * Don't read password from stdin for backup --stdin * Delete files on Backblaze B2 more reliably * Make SFTP backend report no space left on device * Improve handling of interrupted syscalls in mount command * Fix stuck copy command when -o <backend>.connections=1 * Correct prune statistics for partially compressed repositories * Make ls return exit code 1 if snapshot cannot be loaded * Make backup no longer hang on Solaris when seeing a FIFO file * Support ExFAT-formatted local backends on macOS Ventura * Make init ignore "Access Denied" errors when creating S3 buckets * Make self-update enabled by default only in release builds * Don't generate negative UIDs and GIDs in tar files from dump * Include full snapshot ID in JSON output of backup * Make unlock display message only when locks were actually removed * Don't print skipped snapshots by default in copy command * Update dependencies and require Go 1.18 or newer * Implement rewrite command * Restore files with long runs of zeros as sparse files * Support restoring symbolic links on Windows * Inform about successful retries after errors * Improve handling of directories with duplicate entries * Support B2 API keys restricted to hiding but not deleting files * Make init open only one connection for the SFTP backend * Handle cache corruption on disk and in downloads * Stricter repository lock handling * Make backup file read concurrency configurable * Add support for credential_process to S3 backend * Make mount command support macOS using macFUSE 4.x * Support JSON output for the init command * Optimize prune memory usage * Improve speed of parent snapshot detection in backup command * Add compression statistics to the stats command * Provide command completion for PowerShell * Allow backup file tree scanner to be disabled * Improve handling of ErrDot errors in rclone and sftp backends * Ignore additional/unknown files in repository * Improve backup performance for small files
- Update to version 0.14.0: * doc: Improve/clarify preparing and versions of repositories * rclone: Return a permanent error if rclone already exited * restic: Cleanup xattr error handling for Solaris * downgrade bazil/fuse again to retain macOS support * Add note that larger packs increase disk wear * repository: Do not report ignored packs in EachByPack * helper: download modules as first step * helper: Reduce number of parallel builds a bit * helper: don't setup cmd paths twice * doc: document aws session token * mount: Only remember successful snapshot refreshes * copy: replace --repo2 with --from-repo * mount: Map slashes in tags to underscores * forget: Fail test if duration parsing error is missing * forget: Error when invalid unit is given in duration policy * doc: Update link to GCS documentation * stats: Add snapshots count to json output * restic: Use stable sorting in snapshot policy * Bump golangci-lint version * Update tests to Go 1.19 * mount: Fix parent inode used by snapshots dir * mount: remove unused inode field from root node * Mention --snapshot-template and --time-template in changelog * fuse: Redesign snapshot dirstruct * Add changelog for DEBUG_LOG available in release builds * update documentation to reflect DEBUG_LOG for release builds * debug: support roundtripper logging also for release builds * debug: enable debug support for release builds * Remove unused hooks mechanism * repository: StreamPack in parts if there are too large gaps * Reword prune --repack-small description * Add note that pack-size is not an exact limit * s3: Disable multipart uploads below 200MB * Always repack very small pack files * Only repack small files if there are multiple of them * rename option to --pack-size * Add changelog for packsize option * update restic help snippets in documentation * rework pack size parameter documentation * document minPackSize * repository: prevent header overfill * prune: reduce priority of repacking small packs * prune: add repack-small parameter * add option for setting min pack size * fuse: remove unused MetaDir * Make snapshots dirs in mount command customizable * Generalize fuse snapshot dirs implemetation * Add possibility to set snapshot ID (used in test) * internal/restic: Handle EINVAL for xattr on Solaris * Add changelog for #3837/#3840 * repository: Test fallback to existing blobs * prune: move code * repository: try to recover from invalid blob while repacking * prune: Add internal integrity check * prune: split into smaller functions * prune: separate collecting/printing/pruning * Add environment variable RESTIC_COMPRESSION * Speed up restic init over slow SFTP links * Remove stale comments from backend/sftp * Add changelog for the optimized tree serialization * archiver: reduce memory usage for large files * archiver: Incrementally serialize tree nodes * archiver: unify FutureTree/File into futureNode * archiver: remove unused fileInfo from progress callback * archiver: remove dead attribute from FutureNode * Add changelog for stricter checks * Fix S3 legacy layout migration * checker: Fix S3 legacy layout detection * check: Deprecate `--check-unused` * check: Complain about usage of s3 legacy layout * check: complain about mixed pack files * backend: extract readerat from restic package * restorer: extract hardlinks index from restic package * crypto: move crypto buffer helpers * limiter: move to internal/backend * mock: move to internal/backend * repository: extract Load/StoreJSONUnpacked * repository: extract LoadTree/SaveTree * prune: handle very high duplication of some blobs * prune: Enhance treatment of duplicates * backup: clarify usage string * azure: Strip ? prefix from sas token * azure: add SAS authentication option * doc: Add note about using rclone for Google Drive * doc: Rework hint to repack with max compression * Wording: replace further repo occurrences with repository * Added hint for --compression max in migration process * Add changelog entry * Fix wording in changelog template * Test restore fails when using invalid patterns * Add testRunRestoreAssumeFailure function * Restore: validate provided patterns * Wording: change repo to repository * Fix data race in blob_saver * Document automatic CPU/IO-concurrency * adapt workers based on whether an operation is CPU or IO-bound * Add changelog for async pack uploads * Document connections and compression option * repository: Limit to a single pending pack file * archiver: Reduce tree saver concurrency * archiver: Limit blob saver count to GOMAXPROCS * repository: Rework blob saving to use an async pack uploader * tag: Remove unnecessary flush call * Don't crash if SecretString is uninitialized * check: remove dead code * check: Print full ids * rebuild-index: correctly rebuild index for mixed packs * extend compression feature changelog entry * Account for pack header overhead at each entry * stats: return storage size for raw-data mode * Print number of bytes added to the repo * Return real size from SaveBlob * redact swift auth token in debug output * redacted keys/token in backend config debug log * redact http authorization header in debug log output * drop unused repository.Loader interface * repository: remove unused packIDToIndex field * repository: simplify CreateIndexFromPacks * repository: hide MasterIndex.FinalizeFullIndexes / FinalizeNotFinalIndexes * repository: remove MasterIndex.All() * repository: Properly set id for finalized index * repository: remove unused (Master)Index.Count * repository: remove unused index.ListPack * repository: inline index.encode * repository: remove unused index.Store * repository: make flushPacks private * repository: add Save method to MasterIndex interface * repository: index saving belongs into the MasterIndex * Revert "restic prune: Merge three loops over the index" * cmd/restic, limiter: Move config knowledge to internal packages * restic prune: Merge three loops over the index * backend: Move semaphores to a dedicated package * all: Move away from pkg/errors, easy cases * tweak password test count changelog * fix flaky key test * fix handling of maxKeys in SearchKey * internal/repository: Fix LoadBlob + fuzz test * backend/sftp: Support atomic rename * get rid of tomb package * archiver: free workers once finished * archiver: remove tomb usage * migrate: Cleanup option to request repository check * cmd/restic: Remove trailing "..." from progress messages * archiver: Remove cleanup goroutine from BufferPool * Fix linter check * internal/restic: Custom ID.MarshalJSON * Update gopkg.in/yaml * Update github.com/minio/minio-go/v7 to v7.0.27 * prune: Don't print stack trace if snapshot can't be loaded * prune: Fix crash on empty snapshot * Update 030_preparing_a_new_repo.rst * Add changelog entry for validating exclude patterns * Add tests for validating exclude patterns * hashing: Fix up comments * repository: Re-tune indexmap allocation strategy * local: Ignore additional errors for directory syncing * hashing: Remove io.WriterTo implementation * repository: Remove RunWorkers, report ctx.Err() * cache: Don't Lstat before creating the tag file * Fix error on temp file deletion on windows * Add compression migration support to changelog * migrate: Allow migrations to request a check run * check: Better differentiate between warnings and errors * checker: convert error type to use pointer-receivers * doc: Describe repository upgrade process * upgrade_repo_v2: Use atomic replace for supported backends * Document repository version and minimum restic version * prune: Add option to repack uncompressed data * prune: Automatically repack uncompressed trees for repo v2 * Add migration to compress all data * Add tests for upgrade migration * Try to make repo upgrade migration more failsafe * Add repo upgrade migration * Improve migrate command * init: Enable compression support by default * stats: hardlinks only reduce restore within a snapshot * Validate exclude patterns * Keep original pattern for later use * DOCS: Incorrectly used SI units when IEC units were meant (fix #3669) * doc: specify AWS Region via AWS_DEFAULT_REGION * debug: Support pack ID prefixes in `debug examine` * debug: Add switch to upload blobs extracted by debug examine * Tidy go.sum * prune: Add unsafe option to recover from no free space * repository: Use existing method to collect pack ids * repository: Refactor index IDs collection * Use config file modes to derive new dir/file modes * Add changelog for local/sftp connection limit * Add documentation for --repository-version * repository: Test compressed blobs in StreamPack * pack: slightly expand testing of compressed blobs * repository: test uncompressedLength field and index example * repository: run blackbox tests using old and new repo version * repository: unify repository version-specific initialization * Leave allocating slices to the decompress code * Configure zstd encoder/decoder * Cleanup pack header check * Amend changelog * Add option global --compression * Add basic changelog for compression support * Print repository version when opening a repo * repository: Increase index size for repo version 2 * debug: Add support for compressed blobs * debug: Reduce code duplication * repository: Alloc zstd encoder/decoder on demand * repository: recalibrate index batch allocation size * repository: implement pack compression * init: Add flag to specify created repository version * repository: Implement index/snapshot/lock compression * doc: Add repository compression support documentation * doc: Describe repository read/write order * doc: sftp with password actually works * add missing streamPacks changelog * fix changelog name * prune: Fail early if too few backend connections * repository: Reduce repack workers to prevent deadlock * backend/mem: Actually enforce connection limit * Backend: Expose connections parameter * Print password error message on stderr * doc: Clarify and make grouping in forget more noticeable * doc: fix missing "init" in rest-server example * Set development version for 0.13.1 * Add simple test for fs.TempFile on windows * Simplify and comment TempFile implementation for windows * Print used key name if config fails to load * Refactor file handing for self-update. * Check in integration test that snapshots are listed before the index * copy: Load snapshots before indexes * diff: list snapshots only once * add changelogs * test that TestFindListOnce calls List only once * Fix O(n) backend list calls in FindFilteredSnapshots * copy/find/ls/recover/stats: Memorize snapshot listing before index * backup/diff/dump/restore/stats: List snapshots before index * sftp: Limit concurrent backend operations * local: Limit concurrent backend operations * backends: clean reader closing * Better temp file cleanup on Windows. * doc: Link to CACHEDIR.TAG specification * Fix rclone (scoop shim) and sftp issue due to detached console on Windows * Cast unix.Statfs_t.Type to int64 when checking for btrfs * Require Go 1.15 or later * added documentation for zsh autocompletion * golangci-lint: replace deprecated golint with revive * bloblru: Fix comment for New function * switch to golang.org/x/term * add go:build headers everywhere * pack: Hide more implementation details * pack: cleanup header size calculation * repository: Simplify Blob equality check * crypto: Use helpers for size calculations * repository: Remove pack implementation details from MasterIndex * repository: make saveAndEncrypt private * repository: Rename LoadAndDecrypt to LoadUnpacked * errors: Ensure that errors.IsFatal(errors.Fatal("err")) == true * copy: Implement by reusing repack * Set development version for 0.13.0 * Add tests for StreamPack * restorer: Remove dead code * repository: cancel streampack context after error * repository: Fix error handling in repack * checker: cleanup header extraction * checker: reuse bufio reader * repository: don't crash if blob size is too short * repository: remove unused DownloadAndHash * checker: rewrite ReadData to stream packs * restorer: convert to use StreamPack * repository: stream packs during repacking * repository: Add StreamPacks function * repository: Implement lisiting blobs per pack file
- update to 0.13.1: * #3685: Fix the diff command * #3681: Fix rclone (shimmed by Scoop) and sftp stopped working on Windows
- update to 0.13.0: * #1106: Never lock repository for list locks * #2345: Make cache crash-resistant and usable by multiple concurrent processes * #2452: Improve error handling of repository locking * #2738: Don't print progress for backup --json --quiet * #3382: Make check command honor RESTIC_CACHE_DIR environment variable * #3518: Make copy command honor --no-lock for source repository * #3556: Fix hang with Backblaze B2 on SSL certificate authority error * #3601: Fix rclone backend prematurely exiting when receiving SIGINT on Windows * #3667: The mount command now reports symlinks sizes * #3488: rebuild-index failed if an index file was damaged * #3591: Fix handling of prune --max-repack-size=0 * #3619: Avoid choosing parent snapshots newer than time of new snapshot * #3641: Ignore parent snapshot for backup --stdin * #3519: Require Go 1.14 or newer * #1542: Add --dry-run/-n option to backup command * #2202: Add upload checksum for Azure, GS, S3 and Swift backends * #233: Support negative include/exclude patterns * #2388: Add warning for S3 if partial credentials are provided * #2508: Support JSON output and quiet mode for the diff command * #2656: Add flag to disable TLS verification for self-signed certificates * #3003: Atomic uploads for the SFTP backend * #3127: Add xattr (extended attributes) support for Solaris * #3464: Skip lock creation on forget if --no-lock and --dry-run * #3490: Support random subset by size in check --read-data-subset * #3541: Improve handling of temporary B2 delete errors * #3542: Add file mode in symbolic notation to ls --json * #2594: Speed up the restore --verify command * #2816: The backup command no longer updates file access times on Linux * #2880: Make recover collect only unreferenced trees * #3429: Verify that new or modified keys are stored correctly * #3436: Improve local backend's resilience to (system) crashes * #3508: Cache blobs read by the dump command * #3511: Support configurable timeout for the rclone backend * #3593: Improve copy performance by parallelizing IO
- Update to 0.12.1 Fixes: * #2742: Improve error handling for rclone and REST backend over HTTP2 * #3111: Fix terminal output redirection for PowerShell * #3214: Treat an empty password as a fatal error for repository init * #3267: copy failed to copy snapshots in rare cases * #3184: backup --quiet no longer prints status information * #3296: Fix crash of check --read-data-subset=x% run for an empty repository * #3302: Fix fdopendir: not a directory error for local backend * #3334: Print created new cache message only on a terminal * #3380: Fix crash of backup --exclude='**' * #3305: Fix possibly missing backup summary of JSON output in case of error * #3439: Correctly handle download errors during restore Changes: * #3247: Empty files now have size of 0 in ls --json output Enhancements: * #2780: Add release binaries for s390x architecture on Linux * #3293: Add --repository-file2 option to init and copy command * #3312: Add auto-completion support for fish * #3336: SFTP backend now checks for disk space * #3377: Add release binaries for Apple Silicon * #3414: Add --keep-within-hourly option to restic forget * #3456: Support filtering and specifying untagged snapshots * #3167: Allow specifying limit of snapshots list * #3426: Optimize read performance of mount command * #3427: find --pack fallback to index if data file is missing
- Update to 0.12.0 https://github.com/restic/restic/releases/tag/v0.12.0 See installed /usr/share/doc/packages/restic/CHANGELOG.md. Fixes: * #1681: Make mount not create missing mount point directory * #1800: Ignore no data available filesystem error during backup * #2563: Report the correct owner of directories in FUSE mounts * #2688: Make backup and tag commands separate tags by comma * #2739: Make the cat command respect the --no-lock option * #3087: The --use-fs-snapshot option now works on windows/386 * #3100: Do not require gs bucket permissions when running init * #3111: Correctly detect output redirection for backup command on Windows * #3151: Don't create invalid snapshots when backup is interrupted * #3166: Improve error handling in the restore command * #3232: Correct statistics for overlapping targets * #3014: Fix sporadic stream reset between rclone and restic * #3152: Do not hang until foregrounded when completed in background * #3249: Improve error handling in gs backend Changes: * #3095: Deleting files on Google Drive now moves them to the trash Enhancements: * #2186: Allow specifying percentage in check --read-data-subset * #2453: Report permanent/fatal backend errors earlier * #2528: Add Alibaba/Aliyun OSS support in the s3 backend * #2706: Configurable progress reports for non-interactive terminals * #2944: Add backup options --files-from-{verbatim,raw} * #3083: Allow usage of deprecated S3 ListObjects API * #3147: Support additional environment variables for Swift authentication * #3191: Add release binaries for MIPS architectures * #909: Back up mountpoints as empty directories * #3250: Add several more error checks * #2718: Improve prune performance and make it more customizable * #2495: Add option to let backup trust mtime without checking ctime * #2941: Speed up the repacking step of the prune command * #3006: Speed up the rebuild-index command * #3048: Add more checks for index and pack files in the check command * #2433: Make the dump command support zip format * #3099: Reduce memory usage of check command * #3106: Parallelize scan of snapshot content in copy and prune * #3130: Parallelize reading of locks and snapshots * #3254: Enable HTTP/2 for backend connections
- Update to 0.11.0 https://github.com/restic/restic/releases/tag/v0.11.0 See installed /usr/share/doc/packages/restic/CHANGELOG.md. Fixes: * #1212: Restore timestamps and permissions on intermediate directories * #1756: Mark repository files as read-only when using the local backend * #2241: Hide password in REST backend repository URLs * #2319: Correctly dump directories into tar files * #2491: Don't require self-update --output placeholder file * #2834: Fix rare cases of backup command hanging forever * #2938: Fix manpage formatting * #2942: Make --exclude-larger-than handle disappearing files * #2951: Restic generate, help and self-update no longer check passwords * #2979: Make snapshots --json output [] instead of null when no snapshots Enhancements: * #2969: Optimize check for unchanged files during backup * #340: Add support for Volume Shadow Copy Service (VSS) on Windows * #2849: Authenticate to Google Cloud Storage with access token * #1458: New option --repository-file * #2978: Warn if parent snapshot cannot be loaded during backup
- Update to 0.10.0. https://github.com/restic/restic/releases/tag/v0.10.0 See installed /usr/share/doc/packages/restic/CHANGELOG.md. - we need to manually vendor the libraries now - bump minimum go version to >= 1.13
- Update to 0.9.6. https://github.com/restic/restic/releases/tag/v0.9.6 See installed /usr/share/doc/packages/restic/CHANGELOG.md. Fixes: * Allow absolute path for filename when backing up from stdin * Save files with invalid timestamps * Read fresh metadata for unmodified files * Add upper bound for t in --read-data-subset=n/t * Check errors when loading index files Enhancements: + Allow multiple retries for interactive password input + Make --group-by accept both singular and plural + Add option to configure S3 region
- Update to 0.9.5. https://github.com/restic/restic/releases/tag/v0.9.5 See installed /usr/share/doc/packages/restic/CHANGELOG.md. Short-log: Fixes: * Return error when no bytes could be read from stdin * Don't cancel timeout after 30 seconds for self-update * Fix reading passwords from stdin * Don't abort the find command when a tree can't be loaded Enhancements: + Add case insensitive include & exclude options + Support streaming JSON output for backup + Add Openstack application credential auth for Swift + Add --json support to forget command + Add group-by option to snapshots command + Ability to dump folders to tar via stdout + Return error if no bytes could be read for backup --stdin + Add --ignore-inode option to backup cmd + Add config option to set S3 storage class
- Update to 0.9.4. https://github.com/restic/restic/releases/tag/v0.9.4 See installed /usr/share/doc/packages/restic/CHANGELOG.md