2025-09-22 - 2026-03-22

Overview

20 Active Pull Requests
31 Active Issues
Excluding merges, 4 authors have pushed 21 commits to main and 49 commits to all branches. On main, 87 files have changed and there have been 10290 additions and 4049 deletions.

20 Pull requests merged by 1 user

Merged #51 feat: per-name purge filtering for snapshot purge 2026-03-22 00:50:25 +01:00

Merged #50 feat: concurrent manifest downloads in ListSnapshots 2026-03-22 00:41:40 +01:00

Merged #45 fix: replace O(n²) duplicate detection with map-based O(1) lookups 2026-03-22 00:40:57 +01:00

Merged #55 Remove all ctime usage and storage 2026-03-20 03:12:47 +01:00

Merged #46 schema: add ON DELETE CASCADE to snapshot_files.file_id and snapshot_blobs.blob_id FKs 2026-03-19 14:03:40 +01:00

Merged #44 fix: add ON DELETE CASCADE to uploads FK on snapshot_id 2026-03-19 13:59:27 +01:00

Merged #53 Rename blob_fetch_stub.go to blob_fetch.go 2026-03-19 09:33:36 +01:00

Merged #49 fix: remove destructive sync from ListSnapshots 2026-03-19 09:32:53 +01:00

Merged #41 Refactor: break up oversized methods into smaller descriptive helpers 2026-03-19 00:23:45 +01:00

Merged #39 fix: verify blob hash after download and decryption (closes #5) 2026-03-19 00:21:11 +01:00

Merged #42 Add make check target and CI workflow 2026-03-17 12:39:44 +01:00

Merged #23 feat: add progress bar to restore operation 2026-03-17 11:18:19 +01:00

Merged #37 feat: implement --prune flag on snapshot create (closes #4) 2026-02-20 11:22:12 +01:00

Merged #22 fix: track and report file restore failures 2026-02-20 11:19:41 +01:00

Merged #30 Return errors from deleteSnapshotFromLocalDB instead of swallowing them (closes #25) 2026-02-20 11:18:31 +01:00

Merged #34 Disk-based blob cache with LRU eviction during restore (closes #29) 2026-02-20 11:16:16 +01:00

Merged #36 Add CompressStream double-close regression test (closes #35) 2026-02-20 11:12:52 +01:00

Merged #31 Use v.Stdout/v.Stdin instead of os.Stdout for all user-facing output (closes #26) 2026-02-20 11:07:53 +01:00

Merged #32 Validate table name against allowlist in getTableCount (closes #27) 2026-02-16 06:21:41 +01:00

Merged #33 Prevent double-close of blobgen.Writer in CompressStream (closes #28) 2026-02-16 06:04:33 +01:00

30 Issues closed from 2 users

Closed #9 PurgeSnapshots operates across all snapshot names, no per-name filtering 2026-03-22 01:36:55 +01:00

Closed #14 Manifest is unencrypted — leaks blob count and sizes 2026-03-22 00:51:42 +01:00

Closed #17 No database migration support — schema changes require full re-backup 2026-03-22 00:50:56 +01:00

Closed #43 Add branch protection to main branch 2026-03-22 00:50:38 +01:00

Closed #8 ListSnapshots downloads manifests synchronously for unknown remote snapshots 2026-03-22 00:41:41 +01:00

Closed #12 RemoveAllSnapshots has O(n²) duplicate detection for snapshot IDs 2026-03-22 00:40:58 +01:00

Closed #10 syncWithRemote deletes snapshot records without cleaning up related tables 2026-03-20 06:57:51 +01:00

Closed #54 Remove all ctime usage and storage 2026-03-20 03:12:47 +01:00

Closed #19 snapshot_files FK on file_id lacks ON DELETE CASCADE 2026-03-19 14:03:41 +01:00

Closed #18 uploads table FK on snapshot_id lacks ON DELETE CASCADE 2026-03-19 13:59:29 +01:00

Closed #13 ctime is in schema and model but verify scanner populates it correctly 2026-03-19 13:59:28 +01:00

Closed #52 Rename blob_fetch_stub.go to blob_fetch.go 2026-03-19 09:33:36 +01:00

Closed #15 ListSnapshots has destructive side effect: deletes local snapshots not in remote 2026-03-19 09:32:54 +01:00

Closed #1 find bugs or incomplete functionality for 1.0 2026-03-19 00:23:46 +01:00

Closed #40 Refactor: break up oversized methods (>100-150 lines) 2026-03-19 00:23:46 +01:00

Closed #5 Restore: downloaded blob hash is not verified 2026-03-19 00:21:11 +01:00

Closed #16 PruneBlobs has O(n²) duplicate snapshot ID detection 2026-03-17 21:37:46 +01:00

Closed #11 Restore: blobCache grows unboundedly, will OOM with large backups 2026-03-17 13:47:06 +01:00

Closed #20 Restore has no progress bar for file restoration 2026-03-17 11:18:19 +01:00

Closed #6 deleteSnapshotFromLocalDB silently ignores all errors 2026-02-20 11:23:14 +01:00

Closed #4 --prune flag on snapshot create is a TODO 2026-02-20 11:22:12 +01:00

Closed #21 Restore silently continues when individual file restoration fails 2026-02-20 11:19:41 +01:00

Closed #25 deleteSnapshotFromLocalDB silently swallows all errors and always returns nil 2026-02-20 11:18:31 +01:00

Closed #7 getTableCount uses fmt.Sprintf for SQL table name — potential SQL injection 2026-02-20 11:17:48 +01:00

Closed #35 Add regression test for CompressStream double-close fix (#28) 2026-02-20 11:12:52 +01:00

Closed #26 Multiple methods write to os.Stdout instead of v.Stdout, breaking testability 2026-02-20 11:07:53 +01:00

Closed #29 Unbounded blob cache during restore can exhaust memory 2026-02-16 06:28:02 +01:00

Closed #27 SQL injection risk in getTableCount via fmt.Sprintf table name interpolation 2026-02-16 06:21:41 +01:00

Closed #28 CompressStream double-closes the blobgen.Writer causing potential errors 2026-02-16 06:04:33 +01:00

Closed #2 Shallow verify path: deep verification is a TODO stub 2026-02-08 17:33:20 +01:00

31 Issues created by 1 user

Opened #1 find bugs or incomplete functionality for 1.0 2026-02-08 17:13:36 +01:00

Opened #2 Shallow verify path: deep verification is a TODO stub 2026-02-08 17:16:18 +01:00

Opened #3 Daemon mode not implemented 2026-02-08 17:16:19 +01:00

Opened #4 --prune flag on snapshot create is a TODO 2026-02-08 17:16:20 +01:00

Opened #5 Restore: downloaded blob hash is not verified 2026-02-08 17:16:20 +01:00

Opened #6 deleteSnapshotFromLocalDB silently ignores all errors 2026-02-08 17:16:21 +01:00

Opened #7 getTableCount uses fmt.Sprintf for SQL table name — potential SQL injection 2026-02-08 17:16:22 +01:00

Opened #8 ListSnapshots downloads manifests synchronously for unknown remote snapshots 2026-02-08 17:16:22 +01:00

Opened #9 PurgeSnapshots operates across all snapshot names, no per-name filtering 2026-02-08 17:16:23 +01:00

Opened #10 syncWithRemote deletes snapshot records without cleaning up related tables 2026-02-08 17:16:24 +01:00

Opened #11 Restore: blobCache grows unboundedly, will OOM with large backups 2026-02-08 17:16:25 +01:00

Opened #12 RemoveAllSnapshots has O(n²) duplicate detection for snapshot IDs 2026-02-08 17:16:25 +01:00

Opened #13 ctime is in schema and model but verify scanner populates it correctly 2026-02-08 17:16:26 +01:00

Opened #14 Manifest is unencrypted — leaks blob count and sizes 2026-02-08 17:16:27 +01:00

Opened #15 ListSnapshots has destructive side effect: deletes local snapshots not in remote 2026-02-08 17:16:27 +01:00

Opened #16 PruneBlobs has O(n²) duplicate snapshot ID detection 2026-02-08 17:16:28 +01:00

Opened #17 No database migration support — schema changes require full re-backup 2026-02-08 17:16:53 +01:00

Opened #18 uploads table FK on snapshot_id lacks ON DELETE CASCADE 2026-02-08 17:16:54 +01:00

Opened #19 snapshot_files FK on file_id lacks ON DELETE CASCADE 2026-02-08 17:16:54 +01:00

Opened #20 Restore has no progress bar for file restoration 2026-02-08 17:16:55 +01:00

Opened #21 Restore silently continues when individual file restoration fails 2026-02-08 17:16:56 +01:00

Opened #25 deleteSnapshotFromLocalDB silently swallows all errors and always returns nil 2026-02-08 21:01:07 +01:00

Opened #26 Multiple methods write to os.Stdout instead of v.Stdout, breaking testability 2026-02-08 21:01:08 +01:00

Opened #27 SQL injection risk in getTableCount via fmt.Sprintf table name interpolation 2026-02-08 21:01:09 +01:00

Opened #28 CompressStream double-closes the blobgen.Writer causing potential errors 2026-02-08 21:01:09 +01:00

Opened #29 Unbounded blob cache during restore can exhaust memory 2026-02-08 21:01:10 +01:00

Opened #35 Add regression test for CompressStream double-close fix (#28) 2026-02-16 06:08:39 +01:00

Opened #40 Refactor: break up oversized methods (>100-150 lines) 2026-02-20 11:23:43 +01:00

Opened #43 Add branch protection to main branch 2026-02-20 11:59:57 +01:00

Opened #52 Rename blob_fetch_stub.go to blob_fetch.go 2026-03-19 00:22:57 +01:00

Opened #54 Remove all ctime usage and storage 2026-03-19 13:59:40 +01:00