2026-09-23 - 2026-10-23

Overview

95 Active Pull Requests
103 Active Issues
Excluding merges, 0 authors have pushed 0 commits to main and 96 commits to all branches. On main, 0 files have changed and there have been 0 additions and 0 deletions.

3 Releases published by 1 user

Published v1.0.0-rc3 2026-10-15 08:42:47 +02:00

Published v1.0.0-rc2 2026-10-14 13:17:15 +02:00

Published v1.0.0-rc1 2026-10-14 09:27:04 +02:00

95 Pull requests merged by 1 user

Merged #396 Do not prune when a backup misses an earlier mount point (closes #395) 2026-10-15 08:32:29 +02:00

Merged #393 Delete metadata directories a backup left without a manifest (closes #390) 2026-10-15 03:49:19 +02:00

Merged #394 Do not prune after a backup that found a configured path empty (closes #388) 2026-10-15 02:49:22 +02:00

Merged #392 Go on with a backup when the destination marker cannot be checked (closes #389) 2026-10-15 02:02:35 +02:00

Merged #391 Keep unreferenced blobs newer than prune_grace_period 2026-10-14 13:06:36 +02:00

Merged #386 Record the defect-hunt fixes in TODO.md Completed Steps 2026-10-14 09:18:10 +02:00

Merged #385 Do not prune after a backup that skipped unreadable files 2026-10-14 07:44:51 +02:00

Merged #381 Exit non-zero when snapshot create --skip-errors skips anything 2026-10-14 07:13:50 +02:00

Merged #384 Keep the local index when remote nuke cannot list or find the destination 2026-10-14 06:47:40 +02:00

Merged #383 Stop counting directories and unchanged symlinks as files to back up 2026-10-14 06:46:48 +02:00

Merged #349 Refuse a backup destination an unplugged volume left empty 2026-10-14 05:46:43 +02:00

Merged #378 Warn about restored ownership only when an entry's owner or group differs 2026-10-14 05:39:28 +02:00

Merged #375 Make snapshot list report a changed destination instead of advising prune 2026-10-14 04:29:38 +02:00

Merged #342 Count a file as deleted only if the previous snapshot of its name had it 2026-10-14 04:24:31 +02:00

Merged #377 Name each prefix once in restore, verify and purge errors 2026-10-14 04:04:15 +02:00

Merged #352 Refuse credentials in a storage URL's endpoint or rclone remote name 2026-10-14 03:26:03 +02:00

Merged #380 Run $EDITOR through the shell in config edit 2026-10-14 03:06:58 +02:00

Merged #370 Fail snapshot remove when a destination-only snapshot's metadata cannot be deleted 2026-10-14 02:20:02 +02:00

Merged #379 Label the index cleanup totals as totals 2026-10-14 02:03:52 +02:00

Merged #372 Free a cached blob once no file still to restore needs it 2026-10-14 01:47:50 +02:00

Merged #376 Keep the whole startup error when it contains "): " 2026-10-14 01:34:39 +02:00

Merged #369 Silence prune and snapshot removal status under --cron and --quiet 2026-10-14 01:10:43 +02:00

Merged #374 Read the rclone config file named by RCLONE_CONFIG 2026-10-14 00:39:33 +02:00

Merged #367 Make **/ in an exclude pattern match zero directories 2026-10-14 00:13:28 +02:00

Merged #373 Make the size defaults and the chunk_size minimum 1000-based 2026-10-13 23:56:22 +02:00

Merged #371 Keep remote metadata when purge cannot remove a snapshot locally 2026-10-13 23:36:23 +02:00

Merged #365 Fail restore for a requested path that matches nothing 2026-10-13 23:14:24 +02:00

Merged #368 Make remote nuke delete every object under metadata/ and blobs/ 2026-10-13 22:50:11 +02:00

Merged #357 Make config set create a list for an index under a missing key 2026-10-13 22:43:42 +02:00

Merged #331 List a file:// destination through a symlinked directory 2026-10-13 21:36:24 +02:00

Merged #362 Report blob counts from snapshot verify --deep --json 2026-10-13 21:26:56 +02:00

Merged #354 Limit and retry the module download in the Docker build 2026-10-13 21:11:12 +02:00

Merged #366 Record each snapshot's uncompressed size when its backup runs 2026-10-13 20:43:19 +02:00

Merged #353 Stop restore --verify re-reporting files that failed to restore 2026-10-13 20:12:49 +02:00

Merged #341 Record the stored size of a blob a backup finds already stored 2026-10-13 20:01:43 +02:00

Merged #364 Return errors instead of exiting on rollback, rows close and blob temp file cleanup 2026-10-13 19:46:49 +02:00

Merged #363 Stop a stalled snapshot database read when restore or deep verify is interrupted 2026-10-13 19:36:44 +02:00

Merged #336 Make prune and remote nuke fail when a delete fails 2026-10-13 19:29:53 +02:00

Merged #333 Make an S3 listing the server cuts short an error 2026-10-13 19:25:50 +02:00

Merged #348 Report blobs shallow verify could not check apart from missing ones 2026-10-13 18:50:49 +02:00

Merged #361 Restore the other files when a chunk is in no blob under --skip-errors 2026-10-13 16:53:06 +02:00

Merged #359 Record each snapshot's new chunk size when its backup runs 2026-10-13 16:44:15 +02:00

Merged #343 Exit as interrupted when Ctrl-C lands during a local index write 2026-10-13 16:29:00 +02:00

Merged #358 Print snapshot list and purge sizes like every other command 2026-10-13 16:22:04 +02:00

Merged #355 Stop a stalled blob read when restore or deep verify is interrupted 2026-10-13 15:48:02 +02:00

Merged #350 Make a mistyped subcommand under a group command an error 2026-10-13 14:14:41 +02:00

Merged #335 Make a leading **/ in an exclude pattern match at the top level 2026-10-13 13:50:12 +02:00

Merged #330 Refuse a relative file:// storage_url and decode its escapes 2026-10-13 11:28:00 +02:00

Merged #347 Remove the blob temp file when a backup stops part-way 2026-10-13 11:14:57 +02:00

Merged #346 Check --keep-newer-than before the backup starts 2026-10-13 09:44:44 +02:00

Merged #344 Stop remote info counting a non-blob file under blobs/ 2026-10-13 08:33:28 +02:00

Merged #339 Make snapshot remove fail for an unknown snapshot ID 2026-10-13 05:55:23 +02:00

Merged #329 Bind the local index to the s3.* destination too 2026-10-13 03:48:37 +02:00

Merged #328 Reject a retention duration longer than about 292 years 2026-10-13 01:51:25 +02:00

Merged #287 Stop a cancelled backup at once under --skip-errors 2026-10-08 15:12:07 +02:00

Merged #283 Make remote nuke delete leftover .partial uploads 2026-10-08 14:17:21 +02:00

Merged #285 Never skip a local index error for a directory or symlink 2026-10-08 12:59:27 +02:00

Merged #282 Count a file a backup could not store as failed 2026-10-08 10:12:11 +02:00

Merged #279 Report unknown blob figures for a snapshot whose manifest cannot be read 2026-10-08 08:46:12 +02:00

Merged #278 Keep the progress line of a multi-path snapshot within 100% 2026-10-08 07:29:12 +02:00

Merged #276 Document that --json skips the confirmation prompt of snapshot remove and prune 2026-10-08 04:59:31 +02:00

Merged #277 Give a second snapshot create in the same second its own ID 2026-10-08 03:29:08 +02:00

Merged #275 Stop a backup on a symlink whose target cannot be read 2026-10-08 00:12:14 +02:00

Merged #274 Write rclone uploads under a temporary name and move them into place 2026-10-07 22:59:27 +02:00

Merged #273 Exit 130 and say so when a command is interrupted 2026-10-07 21:59:28 +02:00

Merged #264 Correct doc and help sentences that are false about the code 2026-10-07 17:59:27 +02:00

Merged #265 Speed up the vaultik and database package tests 2026-10-07 17:12:07 +02:00

Merged #263 Fix two misleading messages: the readable-config warning and the purge listing error 2026-10-07 15:29:08 +02:00

Merged #262 Pass s3.part_size to the multipart uploader 2026-10-07 14:29:11 +02:00

Merged #261 Read the snapshot name using the stored hostname 2026-10-07 12:12:09 +02:00

Merged #259 Leave remote info orphan figures unknown when a manifest is unreadable 2026-10-07 10:59:27 +02:00

Merged #260 Quote a string setting that YAML would read as a number 2026-10-07 09:29:21 +02:00

Merged #257 Store and compare file mtimes to the nanosecond 2026-10-07 07:12:13 +02:00

Merged #258 Make the process-wide lock atomic with flock 2026-10-07 06:12:11 +02:00

Merged #256 Write only the document to stdout from snapshot remove --json 2026-10-07 04:46:14 +02:00

Merged #254 Count each file, byte and upload once in backup statistics 2026-10-07 02:59:28 +02:00

Merged #252 Keep command output to the README's stdout and stderr rules 2026-10-07 01:12:15 +02:00

Merged #255 Start the progress reporter once per snapshot, not once per path 2026-10-07 00:12:11 +02:00

Merged #250 List the files under a path by path, not by string prefix 2026-10-06 22:12:17 +02:00

Merged #249 Return an error, not a panic, on a malformed snapshot database 2026-10-06 21:16:29 +02:00

Merged #248 Join the S3 prefix to every key with one slash 2026-10-06 19:46:10 +02:00

Merged #245 Apply restored owners, modes and times in an order that keeps them 2026-10-06 18:29:10 +02:00

Merged #247 Mark github.com/spf13/pflag as a direct dependency in go.mod 2026-10-06 16:59:27 +02:00

Merged #244 Load a config that has no age recipient 2026-10-06 15:46:14 +02:00

Merged #243 Skip files of an unreadable blob under restore --skip-errors 2026-10-06 14:46:06 +02:00

Merged #236 Re-vendor the canonical files from sneak/prompts at dd4027b 2026-10-06 12:46:14 +02:00

Merged #242 Run the local index in WAL mode with a busy timeout 2026-10-06 11:29:19 +02:00

Merged #241 Record the real uid and gid of backed-up files 2026-10-06 09:46:18 +02:00

Merged #238 List a missing file:// destination directory as an error 2026-10-06 08:46:18 +02:00

Merged #237 Reject a retention duration with characters outside its number-and-unit parts 2026-10-06 06:12:08 +02:00

Merged #234 Re-chunk a known file whose chunks no uploaded blob holds 2026-10-06 04:46:18 +02:00

Merged #212 Stamp the tag or short commit in a plain docker build (closes #211) 2026-10-02 10:04:15 +02:00

Merged #209 List only after-1.0 work in the README roadmap 2026-10-01 21:41:42 +02:00

Merged #210 Run the disk-full restore test again 2026-10-01 20:24:30 +02:00

Merged #205 Document that migrations are supported and none are added before 1.0 (closes #68) 2026-09-28 20:21:39 +02:00

102 Issues closed from 1 user

Closed #395 A backup while a volume mounted below a configured path is not mounted deletes the older snapshots holding its files under --prune 2026-10-15 08:32:29 +02:00

Closed #390 prune never removes the encrypted database a backup left on the destination when its manifest upload failed 2026-10-15 03:49:19 +02:00

Closed #388 A backup of a source directory left empty by an unmounted volume deletes every older snapshot under --prune 2026-10-15 02:49:22 +02:00

Closed #389 The documented PUT-only source host fails every backup after its first: the destination marker check needs HEAD permission on S3 2026-10-15 02:02:36 +02:00

Closed #387 A prune on one host deletes blobs of another host's backup in progress; that backup reports success and cannot be restored 2026-10-14 13:06:36 +02:00

Closed #334 Record the defect-hunt fixes in TODO.md Completed Steps 2026-10-14 09:18:11 +02:00

Closed #382 snapshot create --skip-errors --prune deletes the previous snapshot, the only one holding the skipped files 2026-10-14 07:44:51 +02:00

Closed #310 snapshot create --skip-errors exits 0 and prints "Finished successfully." after skipping files 2026-10-14 07:13:50 +02:00

Closed #292 remote nuke against a destination it cannot list deletes the local index first 2026-10-14 06:47:41 +02:00

Closed #305 Directories and symlinks are counted as files to back up on every run, so an unchanged tree reports data backed up 2026-10-14 06:46:48 +02:00

Closed #239 How should vaultik tell an unplugged file:// volume from a new, empty destination? 2026-10-14 05:46:44 +02:00

Closed #316 Every restore by a non-root user warns that ownership was not preserved, even when it was 2026-10-14 05:39:29 +02:00

Closed #317 After storage_url changes, snapshot list advises prune, which then refuses 2026-10-14 04:29:39 +02:00

Closed #304 The "deleted" figure of a backup counts files that were not deleted since the previous snapshot of that name 2026-10-14 04:24:31 +02:00

Closed #327 Restore and verify error lines repeat a prefix, and deep verify names S3 for any destination 2026-10-14 04:04:15 +02:00

Closed #322 Credentials can still be put in storage_url, inside the endpoint or an rclone remote's parameters, and are then printed 2026-10-14 03:26:04 +02:00

Closed #315 config edit fails when $EDITOR carries arguments 2026-10-14 03:06:58 +02:00

Closed #340 snapshot remove exits 0 when deleting a destination-only snapshot's metadata fails, and its README promise of a prune command is false on several paths 2026-10-14 02:20:02 +02:00

Closed #306 The index cleanup before each backup reports total rows as "remain" 2026-10-14 02:03:52 +02:00

Closed #324 A restore of selected paths keeps decrypted blobs in the temporary cache until it ends 2026-10-14 01:47:50 +02:00

Closed #320 A config error that contains "): " loses its start, including which setting is wrong 2026-10-14 01:34:40 +02:00

Closed #294 --cron and --quiet do not silence the status lines of prune 2026-10-14 01:10:43 +02:00

Closed #321 RCLONE_CONFIG is ignored, so an rclone destination configured there is not found 2026-10-14 00:39:34 +02:00

Closed #338 Exclude patterns /**/x and a/**/b do not match as in gitignore 2026-10-14 00:13:28 +02:00

Closed #313 Byte-size settings: the defaults and the chunk-size minimum are 1024-based while the docs, the parser and the messages are 1000-based 2026-10-13 23:56:22 +02:00

Closed #337 snapshot purge exits 0 and still deletes the remote metadata when it cannot remove a snapshot from the local index 2026-10-13 23:36:24 +02:00

Closed #309 snapshot restore ignores a requested path that matches nothing, and exits 0 2026-10-13 23:14:24 +02:00

Closed #291 remote nuke leaves a snapshot database without a manifest, and non-blob files under blobs/, and says the store is empty 2026-10-13 22:50:11 +02:00

Closed #308 config set with a list index on a key that does not exist writes a map, and then no command can load the config 2026-10-13 22:43:42 +02:00

Closed #296 A symlinked metadata/ or blobs/ directory in a file:// destination lists as empty, and prune then deletes every blob 2026-10-13 21:36:24 +02:00

Closed #314 snapshot verify --deep --json reports "missing": 0 and "verified": 0 when it fails 2026-10-13 21:26:57 +02:00

Closed #351 The Docker build hangs for as long as a stalled connection to the Go module proxy lasts 2026-10-13 21:11:12 +02:00

Closed #360 snapshot list's UNCOMPRESSED SIZE of an older snapshot changes after a later backup 2026-10-13 20:43:20 +02:00

Closed #323 restore --skip-errors --verify reports a file that failed to restore again as a checksum failure 2026-10-13 20:12:49 +02:00

Closed #300 A reused blob is recorded with the size of a local copy that was never stored, so snapshot verify fails on a good snapshot 2026-10-13 20:01:43 +02:00

Closed #345 internal/database and the blob upload step still end the process on a rollback after Ctrl-C, a failed close of query results, or a failed temp file cleanup 2026-10-13 19:46:49 +02:00

Closed #356 Interrupting a stalled read of the snapshot database leaves decrypted data in the temp directory 2026-10-13 19:36:44 +02:00

Closed #290 prune and remote nuke exit 0 when a delete fails, and nuke still says the store is empty 2026-10-13 19:29:53 +02:00

Closed #297 An S3 listing the server marks truncated without a continuation token is taken as complete, so prune can delete blobs still in use 2026-10-13 19:25:50 +02:00

Closed #318 Shallow snapshot verify reports any error reading a blob's size as "Missing", and drops the error 2026-10-13 18:50:50 +02:00

Closed #326 Under --skip-errors, one file whose chunk is in no blob aborts the whole restore before anything is restored 2026-10-13 16:53:06 +02:00

Closed #311 snapshot list shows a NEW CHUNK SIZE of 0 B for a snapshot whose change is a modified file 2026-10-13 16:44:15 +02:00

Closed #301 Ctrl-C during a backup can end with "FATAL: failed to rollback transaction" and exit 1 instead of the interrupted exit 2026-10-13 16:29:00 +02:00

Closed #312 snapshot list and the snapshot purge listing print 1024-based sizes labelled MB, unlike every other command 2026-10-13 16:22:04 +02:00

Closed #325 Interrupting a restore during a slow blob read leaves the decrypted snapshot database and decrypted file data in the temp directory 2026-10-13 15:48:03 +02:00

Closed #319 A mistyped subcommand under snapshot, config, remote, database or completion exits 0 and does nothing 2026-10-13 14:14:42 +02:00

Closed #303 Exclude patterns starting with **/ miss a match directly under the source path 2026-10-13 13:50:12 +02:00

Closed #299 A relative file:// path is accepted, so the destination moves with the working directory and a backup can exit 0 and be unrestorable 2026-10-13 11:28:01 +02:00

Closed #302 A failed or interrupted backup leaves its half-written blob in the temp directory 2026-10-13 11:14:57 +02:00

Closed #307 An invalid --keep-newer-than is checked only after the backup, which is then reported as failed and retention never runs 2026-10-13 09:44:44 +02:00

Closed #295 remote info counts a file under blobs/ that is not a blob as an orphaned blob 2026-10-13 08:33:28 +02:00

Closed #293 snapshot remove reports success for a snapshot that does not exist 2026-10-13 05:55:25 +02:00

Closed #332 A file:// destination whose metadata/ or blobs/ is a symlink to a missing target lists as empty, so prune deletes every blob 2026-10-13 04:59:53 +02:00

Closed #298 With the s3.* configuration, a changed bucket or prefix is not detected, and the next backup reports success but cannot be restored 2026-10-13 03:48:37 +02:00

Closed #289 A retention duration of 293 years or more deletes every snapshot 2026-10-13 01:51:25 +02:00

Closed #288 Defect hunt on next before the release candidate 2026-10-13 00:53:53 +02:00

Closed #204 Daemon mode after 1.0: watch for file changes so frequent backups skip the full scan 2026-10-13 00:25:57 +02:00

Closed #286 An interrupted --skip-errors backup keeps opening every remaining file and logs each one as failed 2026-10-08 15:12:07 +02:00

Closed #281 remote nuke reports the destination store empty while a leftover .partial upload remains 2026-10-08 14:17:21 +02:00

Closed #284 Under --skip-errors, a local index error while recording a directory or symlink is skipped instead of stopping the backup 2026-10-08 12:59:27 +02:00

Closed #280 A file skipped while a backup is processed is reported as "unchanged" and its bytes as "backed up" 2026-10-08 10:12:11 +02:00

Closed #272 remote info shows 0 blobs and 0 B for a snapshot whose manifest cannot be read 2026-10-08 08:46:13 +02:00

Closed #271 Progress lines over-report on the second and later paths of a multi-path snapshot 2026-10-08 07:29:13 +02:00

Closed #268 The help and README do not say that --json skips the confirmation prompt of snapshot remove and prune 2026-10-08 04:59:31 +02:00

Closed #270 Two snapshot create runs of one name within the same second fail on the snapshot ID 2026-10-08 03:29:08 +02:00

Closed #269 A symlink whose target cannot be read is left out of the snapshot silently, even without --skip-errors 2026-10-08 00:12:15 +02:00

Closed #266 A blob upload to an rclone destination cut off by a hard kill leaves a partial object that the next backup trusts 2026-10-07 22:59:37 +02:00

Closed #267 An interrupted snapshot create, restore or verify exits 0 and prints nothing 2026-10-07 21:59:28 +02:00

Closed #233 Doc and help sentences that are false about the current tree 2026-10-07 17:59:27 +02:00

Closed #235 The internal/vaultik and internal/database tests take longer than the 20-second target 2026-10-07 17:12:07 +02:00

Closed #240 Two misleading messages: a credentials warning for a config with no credentials, and a doubled error prefix 2026-10-07 15:29:08 +02:00

Closed #232 s3.part_size is documented and accepted but has no effect 2026-10-07 14:29:11 +02:00

Closed #230 A hostname containing _ makes per-name retention silently do nothing 2026-10-07 12:12:09 +02:00

Closed #228 remote info counts a live snapshot's blobs as orphaned when a manifest cannot be read, and prints store names unescaped 2026-10-07 10:59:28 +02:00

Closed #229 config set cannot store a string that looks like a number 2026-10-07 09:29:22 +02:00

Closed #226 A file rewritten within the same second as its recorded mtime is never backed up again 2026-10-07 07:12:13 +02:00

Closed #227 The process lock is check-then-write, so two writers started together can both acquire it 2026-10-07 06:12:11 +02:00

Closed #251 snapshot remove --json prints its remote-cleanup warning on stdout, ahead of the document 2026-10-07 04:46:14 +02:00

Closed #225 Backup statistics are wrong in the printed summary and in the snapshots table 2026-10-07 02:59:28 +02:00

Closed #224 Command output breaks the README's stdout and stderr rules in three places 2026-10-07 01:12:32 +02:00

Closed #253 A backup without --cron panics when a snapshot has more than one path 2026-10-07 00:12:11 +02:00

Closed #223 Path filters match by case-insensitive string prefix: restoring /home/u/doc also restores doc2, Doc3 and doc.txt.bak 2026-10-06 22:12:17 +02:00

Closed #231 A malformed snapshot database crashes restore with a Go panic instead of an error 2026-10-06 21:16:29 +02:00

Closed #222 With an s3://bucket/prefix URL, objects are stored as prefixblobs/... instead of prefix/blobs/... 2026-10-06 19:46:11 +02:00

Closed #219 Restore applies directory modes and times before writing the contents, and file modes before ownership 2026-10-06 18:29:10 +02:00

Closed #246 The pre-commit hook fails on every commit: go.mod marks a directly imported module as indirect 2026-10-06 16:59:27 +02:00

Closed #221 The documented "restoring on another machine" steps fail at the first command 2026-10-06 15:46:14 +02:00

Closed #218 snapshot restore --skip-errors aborts on a missing or damaged blob instead of skipping the files that need it 2026-10-06 14:46:06 +02:00

Closed #213 Re-vendor the canonical files from sneak/prompts at dd4027b 2026-10-06 12:46:14 +02:00

Closed #217 The local index ignores its WAL and busy-timeout settings, so a read-only command can abort a running backup 2026-10-06 11:29:19 +02:00

Closed #216 File ownership is never recorded, so a restore as root makes every file root:root 2026-10-06 09:46:19 +02:00

Closed #220 A file:// destination that is missing (an unmounted volume) is treated as present and empty 2026-10-06 08:46:19 +02:00

Closed #215 A retention duration with unparsed characters is misread: --keep-newer-than 1.0y deletes every snapshot 2026-10-06 06:12:08 +02:00

Closed #214 A backup reports success but cannot restore a changed file after the snapshot holding its current version is dropped 2026-10-06 04:46:18 +02:00

Closed #211 docker build . stamps dev, not the git tag or short commit 2026-10-02 10:04:15 +02:00

Closed #125 Work remaining before vaultik 1.0 2026-10-01 22:10:08 +02:00

Closed #208 README roadmap and TODO.md still list finished 1.0 work as remaining 2026-10-01 21:41:42 +02:00

Closed #207 The disk-full restore test is still skipped although the fix it waited for has landed 2026-10-01 20:24:40 +02:00

Closed #206 Run every build, test and lint step in the Dockerfiles at nice -n 19 2026-09-29 13:12:09 +02:00

Closed #68 Reconcile the schema/migration story across code and four documents 2026-09-28 20:21:39 +02:00

Closed #94 Decide whether feature/daemon-mode is 1.0 scope 2026-09-28 20:01:26 +02:00

Closed #133 CI runner mac-studio fails every job before the first step (docker network pools exhausted, disk full) 2026-09-25 11:33:38 +02:00

99 Issues created by 1 user

Opened #204 Daemon mode after 1.0: watch for file changes so frequent backups skip the full scan 2026-09-25 11:54:33 +02:00

Opened #206 Run every build, test and lint step in the Dockerfiles at nice -n 19 2026-09-29 13:02:20 +02:00

Opened #207 The disk-full restore test is still skipped although the fix it waited for has landed 2026-10-01 19:54:22 +02:00

Opened #208 README roadmap and TODO.md still list finished 1.0 work as remaining 2026-10-01 19:54:31 +02:00

Opened #211 docker build . stamps dev, not the git tag or short commit 2026-10-02 02:21:47 +02:00

Opened #213 Re-vendor the canonical files from sneak/prompts at dd4027b 2026-10-06 01:31:03 +02:00

Opened #214 A backup reports success but cannot restore a changed file after the snapshot holding its current version is dropped 2026-10-06 01:49:40 +02:00

Opened #215 A retention duration with unparsed characters is misread: --keep-newer-than 1.0y deletes every snapshot 2026-10-06 01:49:40 +02:00

Opened #216 File ownership is never recorded, so a restore as root makes every file root:root 2026-10-06 01:49:41 +02:00

Opened #217 The local index ignores its WAL and busy-timeout settings, so a read-only command can abort a running backup 2026-10-06 01:49:41 +02:00

Opened #218 snapshot restore --skip-errors aborts on a missing or damaged blob instead of skipping the files that need it 2026-10-06 01:49:42 +02:00

Opened #219 Restore applies directory modes and times before writing the contents, and file modes before ownership 2026-10-06 01:49:42 +02:00

Opened #220 A file:// destination that is missing (an unmounted volume) is treated as present and empty 2026-10-06 01:49:43 +02:00

Opened #221 The documented "restoring on another machine" steps fail at the first command 2026-10-06 01:49:43 +02:00

Opened #222 With an s3://bucket/prefix URL, objects are stored as prefixblobs/... instead of prefix/blobs/... 2026-10-06 01:49:44 +02:00

Opened #223 Path filters match by case-insensitive string prefix: restoring /home/u/doc also restores doc2, Doc3 and doc.txt.bak 2026-10-06 01:49:44 +02:00

Opened #224 Command output breaks the README's stdout and stderr rules in three places 2026-10-06 01:49:45 +02:00

Opened #225 Backup statistics are wrong in the printed summary and in the snapshots table 2026-10-06 01:49:45 +02:00

Opened #226 A file rewritten within the same second as its recorded mtime is never backed up again 2026-10-06 01:49:45 +02:00

Opened #227 The process lock is check-then-write, so two writers started together can both acquire it 2026-10-06 01:49:46 +02:00

Opened #228 remote info counts a live snapshot's blobs as orphaned when a manifest cannot be read, and prints store names unescaped 2026-10-06 01:49:46 +02:00

Opened #229 config set cannot store a string that looks like a number 2026-10-06 01:49:47 +02:00

Opened #230 A hostname containing _ makes per-name retention silently do nothing 2026-10-06 01:49:47 +02:00

Opened #231 A malformed snapshot database crashes restore with a Go panic instead of an error 2026-10-06 01:49:47 +02:00

Opened #233 Doc and help sentences that are false about the current tree 2026-10-06 01:49:48 +02:00

Opened #232 s3.part_size is documented and accepted but has no effect 2026-10-06 01:49:48 +02:00

Opened #235 The internal/vaultik and internal/database tests take longer than the 20-second target 2026-10-06 03:22:37 +02:00

Opened #239 How should vaultik tell an unplugged file:// volume from a new, empty destination? 2026-10-06 08:46:47 +02:00

Opened #240 Two misleading messages: a credentials warning for a config with no credentials, and a doubled error prefix 2026-10-06 08:47:06 +02:00

Opened #246 The pre-commit hook fails on every commit: go.mod marks a directly imported module as indirect 2026-10-06 15:46:34 +02:00

Opened #251 snapshot remove --json prints its remote-cleanup warning on stdout, ahead of the document 2026-10-06 21:54:53 +02:00

Opened #253 A backup without --cron panics when a snapshot has more than one path 2026-10-06 22:31:20 +02:00

Opened #266 A blob upload to an rclone destination cut off by a hard kill leaves a partial object that the next backup trusts 2026-10-07 18:00:19 +02:00

Opened #267 An interrupted snapshot create, restore or verify exits 0 and prints nothing 2026-10-07 18:00:19 +02:00

Opened #268 The help and README do not say that --json skips the confirmation prompt of snapshot remove and prune 2026-10-07 18:00:19 +02:00

Opened #271 Progress lines over-report on the second and later paths of a multi-path snapshot 2026-10-07 18:00:20 +02:00

Opened #272 remote info shows 0 blobs and 0 B for a snapshot whose manifest cannot be read 2026-10-07 18:00:20 +02:00

Opened #270 Two snapshot create runs of one name within the same second fail on the snapshot ID 2026-10-07 18:00:20 +02:00

Opened #269 A symlink whose target cannot be read is left out of the snapshot silently, even without --skip-errors 2026-10-07 18:00:20 +02:00

Opened #280 A file skipped while a backup is processed is reported as "unchanged" and its bytes as "backed up" 2026-10-08 08:12:28 +02:00

Opened #281 remote nuke reports the destination store empty while a leftover .partial upload remains 2026-10-08 08:12:28 +02:00

Opened #284 Under --skip-errors, a local index error while recording a directory or symlink is skipped instead of stopping the backup 2026-10-08 10:12:36 +02:00

Opened #286 An interrupted --skip-errors backup keeps opening every remaining file and logs each one as failed 2026-10-08 11:12:28 +02:00

Opened #288 Defect hunt on next before the release candidate 2026-10-13 00:12:58 +02:00

Opened #289 A retention duration of 293 years or more deletes every snapshot 2026-10-13 00:29:18 +02:00

Opened #290 prune and remote nuke exit 0 when a delete fails, and nuke still says the store is empty 2026-10-13 00:29:18 +02:00

Opened #291 remote nuke leaves a snapshot database without a manifest, and non-blob files under blobs/, and says the store is empty 2026-10-13 00:29:19 +02:00

Opened #292 remote nuke against a destination it cannot list deletes the local index first 2026-10-13 00:29:20 +02:00

Opened #294 --cron and --quiet do not silence the status lines of prune 2026-10-13 00:29:21 +02:00

Opened #293 snapshot remove reports success for a snapshot that does not exist 2026-10-13 00:29:21 +02:00

Opened #295 remote info counts a file under blobs/ that is not a blob as an orphaned blob 2026-10-13 00:29:22 +02:00

Opened #296 A symlinked metadata/ or blobs/ directory in a file:// destination lists as empty, and prune then deletes every blob 2026-10-13 00:47:07 +02:00

Opened #297 An S3 listing the server marks truncated without a continuation token is taken as complete, so prune can delete blobs still in use 2026-10-13 00:47:08 +02:00

Opened #298 With the s3.* configuration, a changed bucket or prefix is not detected, and the next backup reports success but cannot be restored 2026-10-13 00:47:08 +02:00

Opened #299 A relative file:// path is accepted, so the destination moves with the working directory and a backup can exit 0 and be unrestorable 2026-10-13 00:47:08 +02:00

Opened #300 A reused blob is recorded with the size of a local copy that was never stored, so snapshot verify fails on a good snapshot 2026-10-13 00:47:09 +02:00

Opened #301 Ctrl-C during a backup can end with "FATAL: failed to rollback transaction" and exit 1 instead of the interrupted exit 2026-10-13 00:47:09 +02:00

Opened #302 A failed or interrupted backup leaves its half-written blob in the temp directory 2026-10-13 00:47:09 +02:00

Opened #303 Exclude patterns starting with **/ miss a match directly under the source path 2026-10-13 00:47:10 +02:00

Opened #304 The "deleted" figure of a backup counts files that were not deleted since the previous snapshot of that name 2026-10-13 00:47:10 +02:00

Opened #305 Directories and symlinks are counted as files to back up on every run, so an unchanged tree reports data backed up 2026-10-13 00:47:11 +02:00

Opened #307 An invalid --keep-newer-than is checked only after the backup, which is then reported as failed and retention never runs 2026-10-13 00:47:12 +02:00

Opened #308 config set with a list index on a key that does not exist writes a map, and then no command can load the config 2026-10-13 00:47:12 +02:00

Opened #306 The index cleanup before each backup reports total rows as "remain" 2026-10-13 00:47:12 +02:00

Opened #309 snapshot restore ignores a requested path that matches nothing, and exits 0 2026-10-13 00:47:13 +02:00

Opened #310 snapshot create --skip-errors exits 0 and prints "Finished successfully." after skipping files 2026-10-13 00:47:14 +02:00

Opened #311 snapshot list shows a NEW CHUNK SIZE of 0 B for a snapshot whose change is a modified file 2026-10-13 00:47:14 +02:00

Opened #312 snapshot list and the snapshot purge listing print 1024-based sizes labelled MB, unlike every other command 2026-10-13 00:47:15 +02:00

Opened #313 Byte-size settings: the defaults and the chunk-size minimum are 1024-based while the docs, the parser and the messages are 1000-based 2026-10-13 00:47:16 +02:00

Opened #314 snapshot verify --deep --json reports "missing": 0 and "verified": 0 when it fails 2026-10-13 00:47:16 +02:00

Opened #315 config edit fails when $EDITOR carries arguments 2026-10-13 00:47:17 +02:00

Opened #316 Every restore by a non-root user warns that ownership was not preserved, even when it was 2026-10-13 00:47:17 +02:00

Opened #317 After storage_url changes, snapshot list advises prune, which then refuses 2026-10-13 00:47:18 +02:00

Opened #319 A mistyped subcommand under snapshot, config, remote, database or completion exits 0 and does nothing 2026-10-13 00:47:19 +02:00

Opened #318 Shallow snapshot verify reports any error reading a blob's size as "Missing", and drops the error 2026-10-13 00:47:19 +02:00

Opened #320 A config error that contains "): " loses its start, including which setting is wrong 2026-10-13 00:47:20 +02:00

Opened #321 RCLONE_CONFIG is ignored, so an rclone destination configured there is not found 2026-10-13 00:47:20 +02:00

Opened #322 Credentials can still be put in storage_url, inside the endpoint or an rclone remote's parameters, and are then printed 2026-10-13 00:47:21 +02:00

Opened #323 restore --skip-errors --verify reports a file that failed to restore again as a checksum failure 2026-10-13 00:53:34 +02:00

Opened #324 A restore of selected paths keeps decrypted blobs in the temporary cache until it ends 2026-10-13 00:53:36 +02:00

Opened #325 Interrupting a restore during a slow blob read leaves the decrypted snapshot database and decrypted file data in the temp directory 2026-10-13 00:53:36 +02:00

Opened #326 Under --skip-errors, one file whose chunk is in no blob aborts the whole restore before anything is restored 2026-10-13 00:53:37 +02:00

Opened #327 Restore and verify error lines repeat a prefix, and deep verify names S3 for any destination 2026-10-13 00:53:37 +02:00

Opened #332 A file:// destination whose metadata/ or blobs/ is a symlink to a missing target lists as empty, so prune deletes every blob 2026-10-13 02:55:52 +02:00

Opened #334 Record the defect-hunt fixes in TODO.md Completed Steps 2026-10-13 03:56:12 +02:00

Opened #337 snapshot purge exits 0 and still deletes the remote metadata when it cannot remove a snapshot from the local index 2026-10-13 04:55:43 +02:00

Opened #338 Exclude patterns /**/x and a/**/b do not match as in gitignore 2026-10-13 04:55:44 +02:00

Opened #340 snapshot remove exits 0 when deleting a destination-only snapshot's metadata fails, and its README promise of a prune command is false on several paths 2026-10-13 05:55:38 +02:00

Opened #345 internal/database and the blob upload step still end the process on a rollback after Ctrl-C, a failed close of query results, or a failed temp file cleanup 2026-10-13 07:59:35 +02:00

Opened #351 The Docker build hangs for as long as a stalled connection to the Go module proxy lasts 2026-10-13 12:44:14 +02:00

Opened #356 Interrupting a stalled read of the snapshot database leaves decrypted data in the temp directory 2026-10-13 13:20:18 +02:00

Opened #360 snapshot list's UNCOMPRESSED SIZE of an older snapshot changes after a later backup 2026-10-13 15:05:04 +02:00

Opened #382 snapshot create --skip-errors --prune deletes the previous snapshot, the only one holding the skipped files 2026-10-14 04:55:43 +02:00

Opened #387 A prune on one host deletes blobs of another host's backup in progress; that backup reports success and cannot be restored 2026-10-14 09:51:59 +02:00

Opened #388 A backup of a source directory left empty by an unmounted volume deletes every older snapshot under --prune 2026-10-14 09:51:59 +02:00

Opened #389 The documented PUT-only source host fails every backup after its first: the destination marker check needs HEAD permission on S3 2026-10-14 09:51:59 +02:00

Opened #390 prune never removes the encrypted database a backup left on the destination when its manifest upload failed 2026-10-14 09:52:33 +02:00

Opened #395 A backup while a volume mounted below a configured path is not mounted deletes the older snapshots holding its files under --prune 2026-10-15 00:17:50 +02:00

Opened #397 Rewrite README.md and the other prose documents sentence by sentence, on Fable 2026-10-22 20:16:28 +02:00

1 Unresolved Conversation

Open #203 next: integrate accumulated work into main 2026-10-15 08:32:31 +02:00