0.10.1 (2026-08-31)
Bug fixes
- Preserve the release version in the smoke workflow (PR #79).
- Unblock release publication workflows (PR #77).
0.10.0 (2026-08-31)
This release substantially expands what can be synced and how safely it can move between machines. It also adds isolated end-to-end coverage for the supported workflows.
Secrets and private configuration
- Add a 1Password-backed secrets store and secrets-management commands, while keeping auth files out of Git and preserving actionable backend errors (PR #35, issue #34).
- Resolve MCP
{env:VAR}placeholders locally without committing or logging credentials, with fail-closed validation and protected secret files (PR #47, issue #44). - Keep machine-local override keys out of pushed configuration even when the base config contains them (PR #50, issue #49).
Sessions and storage
- Support OpenCode's SQLite database and legacy session directories, including sidecars, preserve-on-missing behavior, and restart guidance (PR #53).
- Add an opt-in Turso backend with setup, migration, backend-selection, and Git-cleanup commands; Git remains the default (PR #54).
- Make repository selection deterministic during link and Turso flows (PR #55).
- Safely chunk session files larger than 50 MiB, atomically install database bundles, and provide recovery instructions for oversized unpushed Git history (PR #76, issue #45).
Sync coverage and portability
- Sync OpenCode skills by default and deduplicate them from extra paths (PR #56, issue #40).
- Sync
~/.agents/by default, withincludeAgentsDir: falseas an opt-out. Because it can contain private instructions or skills, users should review it before using a shared repository (PR #57). - Support canonical plural OpenCode directories while retaining legacy singular-directory compatibility (PR #71, issue #67).
- Resolve relative extra paths from the OpenCode config root rather than the process working directory (PR #72, issue #43).
- Store extra-path manifests portably across homes and operating systems, accept legacy Windows separators, and reject paths escaping the sync checkout (PR #58).
- Use current OpenCode paths on Windows, honor explicit XDG overrides, and verify them on a Windows runner (PR #74, issue #59).
- Support HTTPS, SSH, SCP-style,
file://, and absolute local Git remotes with credential rejection, redaction, branch validation, and a privacy acknowledgement (PR #73, issue #61). - Sync
opencode-synced.jsoncas a core config item and deduplicate it from extra paths. - Preserve nested model IDs in
small_modelselectors while retaining safe fallback behavior (PR #70, issue #69).
Testing, documentation, and releases
- Add an isolated two-instance GitHub E2E system with per-run HOME/XDG sandboxes, exact plugin packaging, strict cleanup, parallel-run safety, and session/secrets variants (PR #52).
- Expand the README and 1Password documentation for secrets, session backends, migration, restart behavior, synced directories, privacy controls, and non-GitHub remotes.
- Harden publication around canonical commit SHAs, exact packed artifacts, smoke tests, OIDC-only npm publication, immutable prerelease versions, pinned actions, and frozen dependencies (PR #75).
- Keep the moving
latestGit tag on the newest stable release (PR #36).