Junker der Provinz and GitHub
d4088aa09b
doc: describe the cadence of JSON status messages ( #21954 )
2026-07-15 20:38:38 +00:00
schrumpelnase and GitHub
35dcda418c
docs(README.md): fixed label of the link to the mastodon profile ( #21958 )
2026-07-15 20:32:26 +00:00
Michael Eischer and GitHub
af4f50223e
ls: only keep fields required for sorting in memory ( #21949 )
2026-07-15 22:22:55 +02:00
Michael Eischer and GitHub
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] and GitHub
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] and GitHub
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] and GitHub
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] and GitHub
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] and GitHub
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] and GitHub
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-stan and GitHub
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 Eischer and GitHub
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 Eischer and GitHub
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's and GitHub
db03aed816
feat(backends/s3): add warmup support for check command ( #5248 )
2026-06-25 20:46:55 +02:00
Michael Eischer and GitHub
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 Eischer and GitHub
c2b4d6a959
Patch release cherry-pick ( #21914 )
2026-06-24 20:06:20 +02:00
Michael Eischer and GitHub
981adc47ac
snapshots: improve wording for timezone information ( #21913 )
2026-06-24 19:49:07 +02:00
Michael Eischer and GitHub
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 Eischer and GitHub
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 Eischer and Michael Eischer
c9185dd19c
repository/index: ensure progress bar cancelation on early index load failure ( #21881 )
2026-06-23 19:40:50 +02:00
Ricardo Sawir and Michael 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 Akman and Michael Eischer
add4fa1efb
backup: skip source paths that cannot be accessed ( #21852 )
2026-06-23 19:26:13 +02:00
Michael Eischer and Michael 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 Eischer and Michael Eischer
93f695a803
backend/rest: fix flaky test cleanup ( #21901 )
2026-06-23 19:14:54 +02:00
Michael Eischer and Michael 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