Releases: getspas/spas
Releases · getspas/spas
Release list
SPAS v0.1.2
Changelog
- 9ba6862 build(go): require Go 1.26.8
- 7bdc265 ci(release): generate build provenance attestations for release artifacts
- 70c03ec ci(release): replace provenance wrapper with actions/attest
- 3856b04 ci(release): require full CI and CodeQL before building
- 2a263a8 docs(diff): document path aliases and output limits
- 46b51fb docs(link): explain the visibility probe and skip flags
- 80f6638 docs: add SECURITY.md and document permission normalization and exit 9 remediation
- a0069a5 docs: clarify merge protection and ignore precedence
- 7b7bf3a docs: document JSON, release, and security policies
- 0618557 feat(cli): add command timeout support
- 9b4ed19 feat(schema): add schemaVersion to JSON payloads and document schema
- 0fb10c3 fix(add): reject ambiguous Unicode file selections
- d190730 fix(atomicfile): retry Windows file replacement on sharing violations Handle transient ERROR_SHARING_VIOLATION and ERROR_ACCESS_DENIED errors in MoveFileEx with bounded retries and backoff.
- 58f93b8 fix(cli): classify conflicting flags as invalid usage
- d39454e fix(cli): parse --json=false and flag precedence in pre-execution check
- 4bf56fb fix(cli): resolve Git paths from the invocation directory
- e922003 fix(cli): stabilize JSON output and error codes
- 23dc210 fix(diff): preserve observed path identity
- 61d4000 fix(diff): show additions and report I/O failures
- 0fed221 fix(doctor): report repository inspection failures
- 8d5248b fix(doctor): report warnings for unlinked workspaces and isolate lock probe Add workspace and link-state warnings when link checks are skipped in non-git or unlinked directories. Deduplicate the git version check to a single process spawn, and use PID-scoped lock probe files to prevent race conditions during concurrent runs.
- f1c7416 fix(doctor): run checks before requiring link state
- 8e470bc fix(filesync): match checkout modes and protect recovery copies
- 7a6d9b6 fix(git): preserve exact repository paths and branch names
- 1da9cd7 fix(gitexec): disconnect stdin for non-interactive commands
- 33d5c58 fix(githubref): canonicalize owner and repository to lowercase Fold owner and repo components to lowercase when resolving GitHub repository paths so references are case-insensitive.
- e90e68a fix(interaction): unblock reader on context cancellation to prevent goroutine leak
- 918fd8d fix(json): serialize clean sync changes as an array
- 1426429 fix(link): persist public approval and isolate visibility probes
- 5152f8d fix(merge): reject conflicting and inherited merge options
- ca0a0be fix(path): reject oversized paths during resolution
- 92cccdc fix(path): restrict MAX_PATH preflight to Windows roots Check workspace and clone roots on Windows during add and sync instead of rejecting long paths globally.
- c629af9 fix(paths): describe Windows preflight byte limit
- afafd14 fix(paths): preserve directory-entry spelling during enrollment
- c5204e6 fix(paths): resolve selections through workspace aliases
- f264cc6 fix(privategit): disable commit and tag signing in private clone Neutralize commit.gpgsign and tag.gpgsign via command-line arguments and safety configuration so global signing settings do not prompt or break non-interactive synchronization.
- 3dcd337 fix(privategit): preserve literal branch names
- 34edb4f fix(state): enforce the 10,000-path limit before enrollment
- 5959651 fix(version): fallback to debug buildinfo when ldflags are omitted
- 7b17f4e fix(version): preserve ldflags version over buildinfo fallback Default Version to "dev" and only adopt debug.ReadBuildInfo when Version is "dev". This prevents runtime build metadata from overwriting ldflags-injected versions.
- 10d3263 perf(publicgit): batch exclusion checks into single check-ignore process Pass candidate paths over stdin with -z, --verbose, and --non-matching to verify all exclusions in one Git process.
- 0824a8a perf(tests): remove Git proxy race exit delays
- 74619b0 refactor(cli): simplify command timeout to a single context layer Drop Runner.Timeout from gitexec and rely solely on the caller's context to manage deadlines across child git processes. Release the command timeout cancel function deterministically in Execute and add tests for deadline propagation and exit code mapping.
- 9fb02ad refactor(sync): unify public approval persistence
- 7eac241 refactor: simplify Windows retries and cancellation handling
- f82406e refactor: simplify sync and repository validation
- 62653c7 test(app): fix symlink assertions and linked-state fixtures
- 043fdbb test(app): name regressions by behavior
- 14be7bb test(diff): stage case-only renames with git mv
- 2e0ca14 test(git): isolate fixtures from host signing
- 7de0721 test(json): pin payload variants and doctor exit rules
- 52c7750 test(permissions): make config state checks non-vacuous