Commit Graph
9866 Commits
Author SHA1 Message Date
Junker der ProvinzandGitHub d4088aa09b doc: describe the cadence of JSON status messages (#21954) 2026-07-15 20:38:38 +00:00
schrumpelnaseandGitHub 35dcda418c docs(README.md): fixed label of the link to the mastodon profile (#21958) 2026-07-15 20:32:26 +00:00
Michael EischerandGitHub af4f50223e ls: only keep fields required for sorting in memory (#21949) 2026-07-15 22:22:55 +02:00
Michael EischerandGitHub 9e007fa3cc Merge pull request #21937 from brainexe/reduce-index-memory-packindex-uint32
Reduce in-memory index entry size by storing packIndex as uint32
2026-07-15 22:16:40 +02:00
dependabot[bot]andGitHub a4d85ce299 build(deps): bump the golang-x-deps group across 1 directory with 6 updates (#21923)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 21:32:37 +02:00
dependabot[bot]andGitHub 9b0ee37697 build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.13.1 to 1.14.0 (#21925)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 21:31:44 +02:00
Matthias Dötsch 905ca56ee8 Address review feedback on #21937:
- addToPacks now returns uint32 directly and the value is passed through
  store() to indexMap.add unchanged, instead of casting between int and
  uint32.
- merge() appends idx2.packs to idx.packs without going through
  addToPacks, so it now checks the pack count against the uint32 limit
  itself + error if exceeded.
- optimize changelog message
2026-07-13 07:25:08 +02:00
dependabot[bot]andGitHub 987caba408 build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.21.1 to 1.22.0 (#21926)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 22:46:11 +02:00
dependabot[bot]andGitHub bfca18c1b0 build(deps): bump actions/checkout from 6 to 7 (#21922)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 22:20:22 +02:00
dependabot[bot]andGitHub dba493cb6c build(deps): bump github.com/klauspost/compress from 1.18.6 to 1.18.7 (#21924)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 22:17:43 +02:00
dependabot[bot]andGitHub 512d0577d6 build(deps): bump cloud.google.com/go/storage from 1.62.2 to 1.63.0 (#21927)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 22:16:48 +02:00
Matthias Dötsch e428de5f84 Reduce in-memory index entry size by storing packIndex as uint32
Each blob in a repository requires one index entry in memory, which is one
of the largest contributors to restic's memory usage. The indexEntry.packIndex
field, an index into the per-Index packs slice, was stored as a machine-word
int (8 bytes on amd64) although the value is always a small array index.

Store it as a uint32 instead. This shrinks indexEntry from 64 to 56 bytes on
64-bit platforms (56 % 8 == 0, so no padding is added), reducing index memory
by roughly 12% -- about 100 MB for a repository with ~13 million blobs, as
confirmed by profiling. uint32 allows 4.29 billion packs (>30 billion blobs at
the assumed 8 blobs/pack), far beyond any real repository; addToPacks guards
against overflow defensively. The on-disk repository format is unaffected.
2026-07-08 06:01:15 +00:00
Michael Eischer d8ef26afa4 Merge branch 'patch-release' 2026-07-05 16:27:43 +02:00
Alexander Neumann 6335213501 Set development version for 0.19.1 2026-07-05 09:52:54 +02:00
Alexander Neumann 6aa3a516ce Add version for 0.19.1 v0.19.1 2026-07-05 09:52:50 +02:00
Alexander Neumann b1da29738c Generate CHANGELOG.md for 0.19.1 2026-07-05 09:52:30 +02:00
Alexander Neumann 09a1eb6714 Prepare changelog for 0.19.1 2026-07-05 09:52:30 +02:00
astro-stanandGitHub cc93a94e15 feat: Add support for setting --ignore-ctime and --ignore-inode via environment variables (#5730) 2026-06-28 15:36:58 +02:00
62991338ea replace FindFilteredSnapshots() with (*data.SnapshotFilter).FindAll() (#21912)
Co-authored-by: Michael Eischer <michael.eischer@fau.de>
2026-06-28 13:31:06 +00:00
75de8b54e6 restic check and restic repair packs: treat missing packfiles the same as damaged and truncated packfiles (#21845)
Co-authored-by: Michael Eischer <michael.eischer@fau.de>
2026-06-28 12:09:42 +02:00
Michael EischerandGitHub e4056e70a8 Merge pull request #21888 from MichaelEischer/chunker-factory
Move chunker construction to repository and switch to BaseChunker
2026-06-27 22:56:07 +02:00
Michael Eischer 8cc69782b5 repository: expose ZeroChunk via chunker factory 2026-06-27 22:23:59 +02:00
Michael Eischer ccb828e87b repository: add ChunkerFactory and decouple archiver from chunker
Introduce restic.Chunker and ChunkerFactory interfaces with a
repository-backed implementation. The archiver obtains chunkers via
ChunkerFactory() from the repository.
2026-06-27 22:13:41 +02:00
Michael Eischer 70a45791b2 archiver: switch file saver from Chunker to BaseChunker
Update the chunker dependency. Move the chunk memory handling into the
fileSaver. This minimizes the logic required in a chunker
implementation.

readNextChunk is a direct derivative of Chunker.Next.
2026-06-27 22:13:41 +02:00
9e1a526611 Fix broken snapshots via restic repair snapshots --forget (#21907)
Co-authored-by: Michael Eischer <michael.eischer@fau.de>
2026-06-27 22:09:10 +02:00
Michael EischerandGitHub aa94be2dbd Merge pull request #21883 from MichaelEischer/fix-find-pack
find: improve blob resolution for broken pack files
2026-06-26 22:33:38 +02:00
Michael Eischer 804ff4bc95 find: add test for listing blobs from corrupt pack files 2026-06-26 22:16:55 +02:00
Michael Eischer 9670cd7459 find: fix fallback to index if pack cannot be listed
`find` would only look up completely missing pack files in the index. A
still existing but broken pack file would result in an error.
2026-06-26 22:16:55 +02:00
Michael Eischer 634e9b2411 find: check blobIDs/treeIDs presence by length
Depending on the code path, the map could be initialized but stay empty.
2026-06-26 21:46:30 +02:00
Gilbert Gilb'sandGitHub db03aed816 feat(backends/s3): add warmup support for check command (#5248) 2026-06-25 20:46:55 +02:00
Michael EischerandGitHub 4e8eea7ab4 Merge pull request #21902 from restic/speedup-test
Cut local test suite execution time in half
2026-06-24 21:34:55 +02:00
Michael EischerandGitHub c2b4d6a959 Patch release cherry-pick (#21914) 2026-06-24 20:06:20 +02:00
Michael EischerandGitHub 981adc47ac snapshots: improve wording for timezone information (#21913) 2026-06-24 19:49:07 +02:00
Michael EischerandGitHub 437945bf90 Merge pull request #21911 from restic/patch-release-polish-changelogs
Polish changelogs
2026-06-24 19:48:35 +02:00
fc422d4145 Apply suggestions from code review
Co-authored-by: rawtaz <rawtaz@users.noreply.github.com>
2026-06-24 19:30:11 +02:00
Michael Eischer f058670219 polish changelogs 2026-06-23 19:55:12 +02:00
Michael EischerandGitHub df8454770b Merge pull request #21910 from restic/patch-release-picks
Cherry pick changes for patch release
2026-06-23 19:54:25 +02:00
Michael EischerandMichael Eischer c9185dd19c repository/index: ensure progress bar cancelation on early index load failure (#21881) 2026-06-23 19:40:50 +02:00
Ricardo SawirandMichael Eischer 32be2e559b fuse: reset treeCache on snapshot reload to fix stale latest symlink (#21873)
The treeCache in SnapshotsDir was never cleared when snapshots were
reloaded. This caused the "latest" symlink to keep pointing to the
previous snapshot even after new snapshots were added.

Add a generation counter to SnapshotsDirStructure that is incremented
whenever the directory structure is rebuilt (in makeDirs). The
treeCache checks this generation on each lookup and resets itself
when the generation changes, ensuring cached nodes (including symlinks)
are refreshed after a snapshot reload.
2026-06-23 19:26:29 +02:00
Eyüp Can AkmanandMichael Eischer add4fa1efb backup: skip source paths that cannot be accessed (#21852) 2026-06-23 19:26:13 +02:00
Michael EischerandMichael Eischer c7c3414641 archiver: ignore duplicate but excluded directory entry (#21900) 2026-06-23 19:26:10 +02:00
Michael Eischer 8ef295e2f5 snapshots: revert default --lastest behavior to pre-0.19.0
the changed behavior now only applies when using `--group-by`.
2026-06-23 19:15:14 +02:00
Michael Eischer bc714d1864 snapshots: cleanup handling of deprecated --last option 2026-06-23 19:15:14 +02:00
Michael Eischer debf95f58d backend/sftp: fix removing files on windows sftp 2026-06-23 19:14:54 +02:00
Michael Eischer 27c44c11aa backend/sftp: fix error reporting of Save method 2026-06-23 19:14:54 +02:00
Michael EischerandMichael Eischer 93f695a803 backend/rest: fix flaky test cleanup (#21901) 2026-06-23 19:14:54 +02:00
Michael EischerandMichael Eischer 3e21d1fea6 fs: print missing error if xattr cannot be read (#21896) 2026-06-23 19:13:39 +02:00
Michael Eischer 8ee674da55 repository: show correct error if zstd decoder cannot be initialized 2026-06-23 19:13:39 +02:00
Michael Eischer c21f0fabc6 selfupdate: improve error handling 2026-06-23 19:13:39 +02:00
Michael Eischer 6aaa2eace4 prune/repair pack: document ignored errors 2026-06-23 19:13:39 +02:00