| 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.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
- 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