Releases: jkleinne/shuttle
Releases · jkleinne/shuttle
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.2.0
v0.1.0
Changelog
Features
- a90a92f feat(cli): add validate subcommand for config checking
- 4a8b468 feat(engine): add ProgressWriter for brew-style live terminal display
- 461385d feat(engine): add progress callback to rclone executor
- 62f7a09 feat(engine): add progress callback to rsync executor
- 8650aa0 feat(engine): flag assembly with defaults, overrides, and instrumentation
- b09a5b1 feat(engine): rclone executor with mode selection, backup-dir, and archive cleanup
- 48ccd7e feat(engine): rewrite sync summary with color, grouping, and collapsing
- d041b40 feat(engine): runner orchestrator with prerequisites, locking, and job dispatch
- afe5fde feat(engine): wire ProgressWriter into runner for live progress display
- ccf909a feat(log): add file-only logger methods for interactive mode
- eac0624 feat: cobra CLI with run (default), version, signal handling, and password prompt
- 4649234 feat: dual-stream logger with terminal color and plain text file output
- 4e16e57 feat: path resolution for sync job sources and cloud item sources
- 8c7d8d5 feat: project scaffold with TOML config loading and validation
- 250bd9a feat: rsync executor with arg building, output capture, and stats parsing
- 83f1476 feat: stats types, rsync/rclone output parsers, and summary renderer
Bug fixes
- bcd0ba3 fix(config): expand backup_path tilde, add missing tests, add .gitignore
- d089700 fix(config): handle expandTilde errors, validate error assertions, extract constants
- edcbc8b fix(config): validate empty remote names, add missing test cases
- 3a18a78 fix(engine): handle cleanup errors, fix silent remote filtering, clean up API
- b7b3837 fix(engine): include StatusNotFound in HasErrors and error accumulation
- a7fcecd fix(engine): parse rclone progress from concatenated piped output
- fa1f4ee fix(engine): prefer checks over zero-byte transfer line, guard nil pw, capture rclone stderr
- c888262 fix(engine): read rclone progress from stdout, not stderr
- ff51f2f fix(engine): show elapsed time during rclone checks, transfer stats during transfers
- 256b97d fix(release): correct homebrew tap repo name to homebrew-tools (#9)
- 0f5789c fix: check unchecked errors flagged by errcheck linter
- 7fe692b fix: suppress errcheck warnings on cleanup RemoveAll calls
- 4673515 fix: unify errcheck suppression style, wrap test reads with t.Fatalf
Refactors
- a4a81bb build(release)+refactor(engine): goreleaser pipeline and Runner.Run dispatch extraction (#7)
- a89c254 refactor(cli): name documented exit codes
- 003bc57 refactor(cli): update for unified job model, rewrite example config
- 197ca90 refactor(config): unified job schema with engine-typed defaults
- 1775eb0 refactor(engine): add Remote field to JobResult, stop concatenating names
- 056367c refactor(engine): executors accept pre-built args, remove hardcoded flags
- 77061c3 refactor(engine): extract log routing helpers, deduplicate runner branching
- 274e484 refactor(engine): split rendering into render.go, document Items invariant
- ac4f1ce refactor(engine): unified job dispatch with per-config locking
- fecb1c9 refactor(engine): use bufio.Scanner for rclone progress parsing
- b8aab7a refactor(stats): remove cloud: prefix stripping from summary
- eb9a698 refactor: rename Go module and cmd directory from sync-station to shuttle
- e1c14ae refactor: update all runtime references from sync-station to shuttle
Documentation
- fde97b8 docs: update all references from sync-station to shuttle
Other
- 7d42c11 Log rotation and CLI output flags (--color, --quiet, --verbose) (#10)
- 3403ea2 build(release): add homebrew tap publishing via goreleaser (#8)
- 73eb18a chore(lint): add gocyclo, nestif, mnd linters
- a5fa923 test(cli): add exit code integration tests for shuttle binary
- 4053a30 test(cli): use temp dir path for missing source determinism
- ca0f6fe test(engine): add HasErrors, FormatItemStats, and RenderSummary edge case tests
- 7683914 test(engine): add check-to-transfer transition test for rclone progress
- ba95c6c test(engine): add rclone executor and CleanupArchives integration tests
- def1b15 test(engine): add selectMode unit tests for all branch combinations
- 687f0c4 test(engine): document rclone test isolation strategies
- 49076d5 test(log): handle ReadFile errors, add New and LogPath tests