Skip to content

Releases: allens/s3cab

v0.1.0

v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Aug 16:02
a28dd76

What's Changed

  • chore: flag pre-release status in the npm description by @allens in #82
  • docs: settle the local-config / remote-structure redesign (ADR-0024..0026) by @allens in #83
  • chore: reword npm description "eternal" -> "tool-independent" by @allens in #84
  • refactor(env): drop the per-bucket env layer (ADR-0025) by @allens in #85
  • Set name is the whole identity: collision-claim + --inherit (ADR-0024, ADR-0026 setup-half) by @allens in #86
  • Fold resolveRemoteSet into resolveSet — finish the ADR-0026 redesign by @allens in #87
  • chore: trim low-value historical commentary from code comments by @allens in #88
  • compare is local-only; setup --inherit syncs manifests (ADR-0027) by @allens in #89
  • docs(readme): lead with everyday recovery; fix post-redesign drift by @allens in #90
  • Make per-session worktrees the default for any write (CLAUDE.md #13) by @allens in #91
  • chore: correct convention #15 — GraphQL botIds requests Copilot review by @allens in #92
  • refactor: a resolved BackupSet carries its own on-disk paths by @allens in #93
  • chore: narrow git-push deny rule so it stops blocking '+' branch names by @allens in #95
  • Handoff: load user env at the entry point; a loadSet door for set env by @allens in #97
  • refactor: load user env at entry; loadSet door for set env by @allens in #98
  • docs(proposals): snapshot-pipeline architecture deepening candidates by @allens in #99
  • Collapse the snapshot-writing pipeline into one deep module by @allens in #103
  • Build(deps): Bump actions/checkout from 6 to 7 in the actions group by @dependabot[bot] in #100
  • Build(deps): Bump the aws-sdk group with 3 updates by @dependabot[bot] in #101
  • Build(deps-dev): Bump the dev-dependencies group with 2 updates by @dependabot[bot] in #102
  • docs(adr): the walk is eager, not streamed (ADR-0029) by @allens in #104
  • feat(hooks): auto-request Copilot review on gh pr create by @allens in #105
  • chore: adopt the .claude/worktrees convention + exclude it from tooling by @allens in #106
  • docs(proposals): capture the architecture deepening candidates by @allens in #107
  • Adopt NN/g error-message guidelines (ADR-0030) + conform messages by @allens in #108
  • docs(claude): run bare git in cwd — git -C defeats the allowlist by @allens in #110
  • fix(format): correct byte formatting + reconnect upload progress; settle display-formatting design by @allens in #109
  • fix: knock out all four bugs from proposals/bugs.md by @allens in #111
  • feat: actionable error for expired AWS credentials + error-handling cleanup by @allens in #112
  • chore: remove parked SIGINT handler, sharpen temp-file cleanup note by @allens in #113
  • feat: s3cab aws command to configure the AWS profile by @allens in #114
  • chore: allow gh api and git worktree without prompting by @allens in #115
  • feat: actionable guidance when s3cab aws shows no profile set by @allens in #116
  • docs: cloud-onboarding (bucket command) design + ADR-0032 by @allens in #117
  • chore: allow read-only git (status/diff/log) without prompting by @allens in #118
  • feat: bucket command — generative cloud onboarding by @allens in #119
  • docs: rationalize bucket/aws/setup commands (ADR-0035) by @allens in #120
  • chore: persist the permission-prompt fix to shared source by @allens in #121
  • Rationalize CLI commands: bucket→aws, aws→profile, setup folds into sets (ADR-0035) by @allens in #122
  • docs: ADR-0036 — setup/list command shape, drop sets by @allens in #123
  • Reshape sets→setup + list (ADR-0036) by @allens in #124
  • feat: cli-design skill (distilled clig.dev) + ADR-0030 adopts Nielsen heuristic #9 by @allens in #126
  • docs: trim CLAUDE.md — merge consent rules, distill, renumber (16→11) by @allens in #125
  • Extract fileProps primitive; make prop path-only by @allens in #127
  • docs(proposals): record the 2026-06-29 deepening follow-up by @allens in #128
  • docs: give every ADR a uniform Status line by @allens in #129
  • feat: standardize user-facing wording on "directory"; complete no-sets hint by @allens in #133
  • Build(deps): Bump the aws-sdk group with 3 updates by @dependabot[bot] in #130
  • Build(deps-dev): Bump the dev-dependencies group with 3 updates by @dependabot[bot] in #131
  • Build(deps): Bump @smithy/shared-ini-file-loader from 4.6.2 to 4.6.4 by @dependabot[bot] in #132
  • docs: ADR-0037 — categorize AWS auth errors by code, not HTTP status by @allens in #134
  • feat: friendly messages for request-time AWS auth rejections (ADR-0037) by @allens in #135
  • chore: replace Copilot-review hook with a gh --reviewer @copilot convention by @allens in #136
  • chore: delete completed auth-error-categorization proposal by @allens in #137
  • feat: usage errors show synopsis + arg description, not the full help block (ADR-0038) by @allens in #138
  • docs: request Copilot review once at PR-create, not on push by @allens in #139
  • feat: auth & onboarding UX — self-explanatory credential/setup failures by @allens in #140
  • chore: sweep stale code comments and the dead zstd-bench default by @allens in #141
  • chore: point code comments at docs/design/ (specs rename follow-up) by @allens in #142
  • docs: dedupe env.mjs header against the auth design doc by @allens in #143
  • clig.dev review: examples-first help, help routing, pre-network notice, restore/hashes shape by @allens in #144
  • Rename profile to auth; fold the auth topic into its help (ADR-0041) by @allens in #145
  • Gate progress animation and help styling on a TTY (shared style.mjs gate) by @allens in #147
  • New sets start with a starter exclude.txt (real defaults + help discovery) by @allens in #146
  • feat: one stderr-progress module (route every consumer through the TTY gate) by @allens in #148
  • style: require braces on all control blocks (curly: all) by @allens in #149
  • feat: implement verify (bucket-operand backup completeness check) by @allens in #150
  • feat: add delete and cleanup (slice 5 admin pair) by @allens in #151
  • verify: per-path problems + move orphan reporting to cleanup by @allens in #152
  • feat: human-first output mechanism + --json (slice 1) by @allens in #153
  • feat: human-readable compare/snapshot + structured CompareResult (slice 2) by @allens in #154
  • feat: human-readable query renderers (slice 3) by @allens in #155
  • feat: human-readable action confirmations (slice 4) by @allens in #156
  • feat: human-first output close-out — required render, --json docs (slice 5) by @allens in #157
  • feat: change-detection simplification — drop the objects cache (slice 1) by @allens in #158
  • feat: unify upload command surface; backup = snapshot + upload (ADR-0044) by @allens in #159
  • test: co-locate integration tests as *.integration.test.mjs (ADR-0046) by @allens in #160
  • Build(deps-dev): Bump @types/node from 26.0.1 to 26.1.0 in the dev-dependencies group by @dependabot[bot] in #161
  • Build(deps): Bump @smithy/shared-ini-file-loader from 4.6.4 to 4.6.6 by @dependabot[bot] in #162
  • refactor: extract pure planCleanup, mirroring verifySet by @allens in #164
  • Build(deps): Bump the aws-sdk group with 3 updates by @dependabot[bot] in #163...
Read more

v0.1.0-alpha.1

v0.1.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jun 14:42
8634ad2

What's Changed

  • cli: centralize arg defaults/validation in command functions by @allens in #1
  • cli: drop -l short from prop --lookup, fix usage for shortless options by @allens in #2
  • cli: scaffold remote command surface + redesign compare (--since/--until) by @allens in #3
  • cli: compare redesign, UX/help polish, stream discipline (follow-up to #3) by @allens in #4
  • chore: tidy .claude/settings.json permissions by @allens in #5
  • cli: serialize command results to stdout as JSON by @allens in #6
  • cli: merge topUsage into a single usage() helper by @allens in #7
  • cli: friendlier error output (message-only unless S3CAB_DEBUG) by @allens in #8
  • Add objects command + consolidate the S3 SDK module by @allens in #9
  • s3: default a bootstrap region so users needn't configure AWS by @allens in #11
  • Add standalone SSO login script mirroring aws sso login by @allens in #13
  • AWS authentication: credential resolution, SSO login, credential-process by @allens in #12
  • Extract the command registry into src/commands.mjs by @allens in #14
  • feat: promote _poc upload-file stub to a real upload command by @allens in #15
  • perf: tune multipart part size and hash read buffer by @allens in #16
  • Restructure src/: lib/ + commands/ layout, help.mjs, error-helper consolidation by @allens in #17
  • Prettier cleanup + format:check CI gate by @allens in #18
  • chore: add Dependabot config for npm + GitHub Actions by @allens in #19
  • docs: record Dependabot setup and rationale in CLAUDE.md by @allens in #20
  • Build(deps): Bump the aws-sdk group with 5 updates by @dependabot[bot] in #21
  • Build(deps-dev): Bump the dev-dependencies group with 2 updates by @dependabot[bot] in #22
  • fix(tests): address testing setup review findings + add missing coverage by @allens in #23
  • refactor(s3): collapse getMetadata into a boolean objectExists probe by @allens in #25
  • feat(auth): layered per-user / per-bucket / per-folder env files by @allens in #24
  • Drop bespoke SSO auth (Tier 2); review-pass fixes, tests, and doc consolidation by @allens in #26
  • chore: prefer Bash over PowerShell; clean up settings by @allens in #27
  • chore(typecheck): include scripts/ in the whole-project type check by @allens in #29
  • chore: allow remaining safe npm run scripts in settings.json by @allens in #30
  • feat(help): exclude topic, grouped command list, docs-placement doctrine by @allens in #28
  • fix(compare): snapshot-resolution bugs, settled diff rules, full test coverage by @allens in #31
  • Design baseline: backup sets, remote repository format, implementation plan by @allens in #32
  • feat: backup sets slice 1 — set store, setup, sets, set env layer by @allens in #33
  • chore: tidy settings.json by @allens in #34
  • chore: eslint/prettier config + VS Code formatter cleanup by @allens in #37
  • feat: backup sets slice 2 — local engine moves onto sets by @allens in #36
  • Build(deps-dev): Bump esbuild from 0.28.0 to 0.28.1 by @dependabot[bot] in #35
  • docs: add contributor CLA and CONTRIBUTING guide by @allens in #38
  • feat: backup sets slice 3 — backup + status (remote engine) by @allens in #39
  • refactor: modernize with Node 26 built-ins (getOrInsertComputed, Error.isError) by @allens in #40
  • fix: don't send default integrity checksums to non-AWS S3 providers by @allens in #41
  • ci: add typecheck + coverage gate to CI by @allens in #43
  • feat: restore + setup --from adoption (backup-sets slice 4, part 1) by @allens in #44
  • docs: capture the testing-session plan in specs/testing.md by @allens in #45
  • docs: settle the testing strategy (real S3, mock boundary, non-AWS) by @allens in #46
  • docs: light wording pass on testing strategy by @allens in #47
  • test: assert non-AWS uploads omit checksum/SSE/storage-class headers by @allens in #48
  • fix: stop double-prefixing S3 object metadata keys by @allens in #49
  • ci: stand up real-AWS S3 integration test infrastructure by @allens in #50
  • refactor: configurable S3CAB_HOME + clean local S3 testing by @allens in #51
  • Build(deps): Bump the aws-sdk group with 3 updates by @dependabot[bot] in #52
  • Build(deps-dev): Bump the dev-dependencies group with 2 updates by @dependabot[bot] in #53
  • refactor: extract shared assertPathSegment traversal guard by @allens in #54
  • feat: restore --output re-rooting by @allens in #55
  • Coverage: advisory report, not a CI gate (and fix the gate that never ran) by @allens in #56
  • docs: add convention #13 — isolate substantive concurrent work in a worktree by @allens in #57
  • refactor: extract readLatestRemoteSnapshot shared by status and backup by @allens in #59
  • ci: auto-run S3 integration tests, enforce via ci-gate by @allens in #58
  • refactor: give the object store its own module (src/lib/objects.mjs); rename objects->hashes by @allens in #60
  • Extract planRestore as a pure decision step in restore.mjs by @allens in #61
  • Add direnv configuration and update esbuild allowScript version by @allens in #62
  • fix: SEA bundle crashed on launch — createRequire banner, esbuild config in build.mjs by @allens in #63
  • ci: smoke-test the built executable on every PR by @allens in #64
  • docs: reorganize knowledge into CONTEXT.md + docs/adr per the skills convention by @allens in #66
  • refactor: drop prop.mjs's dead single-entry lstat cache by @allens in #67
  • refactor: retire "manifest" terminology in favour of "snapshot"/"snapshot file" by @allens in #68
  • refactor: consolidate the snapshot-file line grammar into one deep module by @allens in #69
  • docs: capture remaining architecture-review candidates (B/C/D) by @allens in #70
  • feat(compare): report files that failed hashing under an errors category by @allens in #71
  • feat: prepareRemoteSet front door for set-family env-loading by @allens in #72
  • chore: rename doc/ to guide/, move integration-testing.md to docs/ by @allens in #73
  • chore: remove project-local skills in favour of global install by @allens in #74
  • chore: prune redundant items from IMPROVEMENTS.md by @allens in #75
  • docs: per-repo config for the mattpocock/skills engineering skills by @allens in #76
  • refactor: one export per command module (porcelain/plumbing/lib layering) by @allens in #77
  • fix: resolve a set by membership, not by path-probing by @allens in #78
  • docs: relocate specs under docs/ and add a proposals/ ideas bucket by @allens in #79
  • fix: smoke-test release binaries with --version, not list by @allens in #80
  • chore: release 0.1.0-alpha.1 by @allens in #81

New Contributors

Full Changelog: v0.0.1...v0.1.0-alpha.1