Suositut: Tiedot päivitetty 27. lokakuuta 2026

Kategoriat

Internet1 356
Viestintä321
Ääni ja video898
Grafiikka ja suunnittelu539
Toimisto ja tuottavuus1 124
Kehitystyökalut3 134
Tekoälytyökalut529
Tietoturva ja yksityisyys385
Järjestelmätyökalut3 114
Pelit523
Opiskelu ja tiede239
Verkko ja IT284

soko: vanhemmat versiot ja versiohistoria

A fast CLI to manage multiple git repositories at once

soko-ohjelmasta on luettelossa 8 versiota, ensimmäinen 9. huhtikuuta 2026 ja uusin 0.22.0. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.

2026: 8 8 26
VersioPäivämääräKokoTiedostot
0.22.0Uusin 14. lokakuuta 2026 — 64-bittinen ZIP
Muutosloki
See CHANGELOG.md for feature details and upgrade notes.
What's Changed
- fix(ui): viewport scrolling, width clamping, jump keys, and mouse support by @CelikE in #176
- fix(ui): keep cursor on the same repo across refreshes, pin pull target by @CelikE in #177
- fix(ui): status line lifecycle — expiring messages, fetch indicator race, staleness by @CelikE in #178
- fix(ui): missing-repo guards, detail line, worktree marker, display-width columns by @CelikE in #179
- feat(ui): committed search, esc unwind, reverse cycles, broader matching by @CelikE in #180
- feat(ui): batch pulls with marks, undo, single-repo fetch, copy path by @CelikE in #181
- chore(ui): shell-integration hint, typed pages, severity consts, doc fixes by @CelikE in #182
- feat(ui): clearer grouped view — indented rows, accent headers with totals by @CelikE in #183
- feat(docs): add a full man soko manual page by @CelikE in #184
- feat(ui): list a repo's pull requests with L and open one in the browser by @CelikE in #185
- feat(cli): add soko pr to gather open pull request information by @CelikE in #186
- feat(cli): scope soko pr to the current repository by @CelikE in #187
- feat(cli): adopt and navigate worktree families by @CelikE in #249
- chore(release): replace Chagg with GitHub-native notes by @CelikE in #250
Full Changelog: v0.21.0...v0.22.0
0.21.0 12. kesäkuuta 2026 — 64-bittinen ZIP
Muutosloki
0.21.0
Features
- soko snapshot — save and restore exact repo positions: snapshot save records branch + HEAD SHA per repo, snapshot restore moves every repo back (rewinding moved branches, recreating deleted ones, refusing dirty trees), plus list / show / drop. The save game before a risky bulk operation; completes the trust layer started by soko undo.
- Worktree entries now inherit their parent repo's tags at filter time, so --tag filters (status, sync, fetch, list, etc.) include worktrees of tagged repos. Retagging the parent instantly re-scopes its worktrees; tag remove on a worktree only removes own tags and errors on inherited ones.
- soko ui gains its first mutating key: P fast-forward pulls the selected repo after a confirmation prompt, runs asynchronously, and records a journal entry so soko undo rewinds it to the pre-pull SHA. Satisfies feature 44's scope guard — mutations only once undo exists.
- soko undo reverts the last destructive operation via a capped pre-image journal beside the config (journal.yaml). soko clean now records the branches it deletes, so soko undo recreates them at their exact SHAs; soko undo --list shows the journal. This is the trust layer that will unlock mutating keys in soko ui.
- soko ui gains read-only power keys — a tag legend, group-by-tag view (G), live name search (/), a filter cycle (f: all/dirty/behind/ahead/conflicts), browser-page jumps (o/p/i/a for home/PRs/issues/actions), and a ? help overlay
- Live full-screen TUI dashboard with soko ui — auto-refreshing local workspace state (branch, dirty, ahead/behind, last-commit age, health badge) with sort, dirty/tag filters, cd-on-enter, open-in-browser, and optional background --fetch
- Add soko branch for cross-repo branch operations: current branch per repo, branch lookup (current/local/remote/missing), bulk switch with -b create-from-default, and stale unmerged branch detection
- Add soko worktree to manage git worktrees across repos: worktree add <repo> <branch> creates and registers in one step (with -b to create the branch, --path, --tag), worktree list shows all worktrees with live branch and dirty status, and worktree rm removes the directory and registry entry together (refusing dirty trees without --force).
- Add soko ctx — save and restore workspace contexts: ctx save records each repo's branch and stashes dirty trees under a per-context message, ctx switch checks the branches back out and pops the stashes (refusing repos that are dirty right now), plus ctx list/show/drop.
- Add soko sync — fetch all repos, then fast-forward the ones that are provably safe (clean, upstream, not diverged); dirty, diverged, and fetch-only-behind repos are reported as needing attention. Supports positional repos, --tag, --fetch-only, --no-worktrees, and --json.
- Add soko apply to copy a file into many repos at once, with a diff preview and dry-run-by-default safety
- Add a stable error_code field to per-repo JSON failures in pull, fetch, exec, clean, and stash
- Add a global --perf flag (and SOKO_PERF) reporting per-repo and aggregate timing for status, fetch, pull, and exec
- soko grep now highlights the matched substring within each result line
Chores
- Document soko snapshot, soko apply, the soko ui dashboard keys, worktree tag inheritance, the global --perf flag, and JSON error_code in the README
0.20.0 8. kesäkuuta 2026 — 64-bittinen ZIP
Muutosloki
0.20.0
Features
- Add a persistent --quiet/-q flag (and SOKO_QUIET env) that suppresses info lines, hints, progress, and summary footers while leaving tables, errors, exit codes, and --json untouched
- Add soko annotate to attach freeform metadata (owner, status, priority, note, or any key) to a repo, and filter soko list / soko status by it with --meta key=value
- Suggest the closest registered repo name when cd, go, open, or remove is given a name that matches nothing — no repo matching: autth — did you mean: auth?
- Give config path, config get, and config set a --json contract, and add config list to dump the effective configuration as a table or JSON
- Add soko remotes to show each repo's origin URL and upstream tracking, flagging repos with no remote or no upstream; supports --tag, --missing-upstream, and --json
- Add soko grep to run git grep across all (or tag/repo-filtered) repos in parallel, grouped by repo, with -i/--regexp/--files-only/--no-worktrees and --json
- Add --select to clean, prune, and remove --all to interactively pick which repos the destructive operation touches before confirming (narrow-only, TTY-gated)
- Add soko health to rank repos by an urgency score, most neglected first
- Add soko pull to pull all (or specific) registered repos in parallel — fast-forward only by default, with --rebase, --tag, and --no-worktrees flags. Branches with no upstream are skipped rather than reported as failures.
Chores
- Document the remotes, annotate, and stats commands, the --quiet/SOKO_QUIET, --meta, --missing-upstream, and annotate flags, and config list/--json; correct the source-build Go version to 1.26+
- Git-ignore the local assessment and improvement-proposal docs (docs/ASSESSMENT.md, docs/improvements/), matching the existing docs/features/ planning-doc convention
0.19.0 5. kesäkuuta 2026 — 64-bittinen ZIP
Muutosloki
0.19.0
Features
- Accept an optional filter argument on soko go to pre-narrow the picker by name
- Automatic repo discovery with soko discover — opt in with soko discover on and repos register themselves the first time you cd into them, no soko scan needed. Driven by the shell hook (fires on directory change); scope it with --root, apply --tags, and skip paths with --ignore. Skips submodules, the home directory, node_modules/vendor, and non-interactive shells. soko doc reports discovery status
- Prune deleted repos with soko prune — remove registry entries whose directories no longer exist on disk (cascading to their linked worktrees), with --dry-run/--force/--json and --tag filtering. status and list now warn when registered repos have gone missing
- Workspace stats with soko stats — aggregate repo counts, sizes, and commit totals alongside health signals (dirty, behind, stale branches, no remote) and 30-day activity
0.18.1 13. huhtikuuta 2026 — 64-bittinen ZIP
Muutosloki
0.18.1
Features
- Show a live progress counter during soko fetch so users can see how many repos have been fetched
0.18.0 13. huhtikuuta 2026 — 64-bittinen ZIP
Muutosloki
0.18.0
Bug Fixes
- Resolve symlinks in init to prevent duplicate registrations when paths differ from scan
- Exit with non-zero code when fetch --json encounters failures, consistent with table output
- Require --force or --dry-run when using clean --json to prevent interactive prompts in JSON output
- Output empty JSON array instead of plain text when stash pop --json finds no stashes
- Accept repo name arguments in fetch for filtering, consistent with status and diff
- Reject positional arguments to shell-init with a helpful hint (e.g. did you mean --fish?)
- Return non-zero exit code when open fails and format errors as JSON when --json is set
- Reject negative and zero values for report --days with a clear error message
- Reject alias names that shadow built-in commands instead of silently creating dead aliases
- Add column headers and separator line to soko list --group output
0.17.6 9. huhtikuuta 2026 — 64-bittinen ZIP
Muutosloki
0.17.6
Bug Fixes
- Fix PATH column alignment in soko list when some repos have tags and others don't
0.15.0 9. huhtikuuta 2026 — 64-bittinen ZIP