Releases: thewelshrich/schooner
Release list
v0.4.1
Highlights
- Keep package installation output from corrupting setup responses, and allow failed SSH preflight attempts to be retried with corrected connection details.
- Transfer workspaces that replace files with directories or change tracked ignore rules while preserving destination collision checks and rollback safeguards.
- Retain rotated GitHub credentials through interrupted account verification, and recognize authorized empty repositories.
- Recover existing DigitalOcean Droplets independently of current creation options, and finish interrupted provisioning from the committed local Box record.
- Prevent competing installers and updaters from reclaiming each other's installation lock.
Upgrade notes
After updating the CLI, run schooner box update <name> on existing Boxes to install the remote runtime fixes. Updating the local CLI does not update Box runtimes automatically.
Inventory opens automatically migrate to schema 9 to retain provisioning cleanup warnings. Older builds cannot open an upgraded inventory; retain a pre-upgrade inventory backup if you need to downgrade. Pending GitHub credential verification also uses a newer credential envelope until verification completes.
Abandoned installation locks now require manual recovery. Stop all installer and updater processes, inspect the reported lock's owner, and confirm it is no longer running before removing the owner file and empty lock directory, as described in the README.
Directory replacement refuses unsupported ACLs, extended attributes, or inode flags. If workspace recovery cannot reconstruct directory metadata from its captured backup, it reports an incomplete outcome and retains the backup at the reported path for manual recovery.
Breaking changes
No CLI command or flag changes. The inventory downgrade restriction and manual stale-lock recovery behavior are described above.
What's Changed
Fixes
- fix: harden setup, transfers, and recovery by @thewelshrich in #53
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Highlights
- Add one-shot
schooner pushandschooner pullcommands for moving complete workspace state—including committed, uncommitted, and untracked files—between the current local checkout and a Box. - Protect workspace transfers with dry-run support, destination verification, conflict detection, bounded staging, and no automatic merging or force mode.
- Add Local Links that remember a successfully selected local and remote Worktree pair, making later contextual push and pull operations direct and predictable.
- Improve first-run diagnostics with a focused local
schooner doctor, clearer installation guidance, interactive PATH setup, and safer non-interactive installer behavior. - Expand the public documentation, contribution guidance, security policy, support policy, and open-source project metadata.
Upgrade notes
No action is required. Existing local inventory databases are migrated automatically when Schooner next opens them.
Direct installations can upgrade with schooner update. Homebrew installations can upgrade with brew update && brew upgrade thewelshrich/tap/schooner.
Breaking changes
The JSON document emitted by schooner doctor --output json now uses schema version 2. Doctor reports local client readiness only; use schooner box status <name> to inspect a Box and its remote runtime.
What's Changed
Other changes
- feat: add one-shot workspace push by @thewelshrich in #34
- feat: add one-shot workspace pull by @thewelshrich in #35
- chore: prepare open-source repository by @thewelshrich in #36
- fix: harden security scan findings by @thewelshrich in #39
- docs: update public facing docs by @thewelshrich in #40
- docs: sharpen README product positioning by @thewelshrich in #41
- fix: improve local installation diagnostics by @thewelshrich in #42
- fix: clear v0.4.0 release blockers by @thewelshrich in #43
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Highlights
- Add
schooner update --checkto inspect the latest stable release andschooner updateto safely upgrade receipt-owned direct installations. - Preserve installation ownership: Homebrew and source builds receive owner-specific guidance, while manual, symlinked, and stale-receipt installations are never replaced.
- Add bounded daily update notices for interactive use without affecting JSON output, CI, non-interactive commands, or users who set
SCHOONER_NO_UPDATE_CHECK=1. - Make Homebrew the recommended packaged installation route, with upgrades remaining under Homebrew ownership.
Upgrade notes
Homebrew installations can upgrade with:
brew update && brew upgrade thewelshrich/tap/schooner
Direct installations running v0.2.0 or earlier should rerun the verified repository installer once to install v0.3.0. Future direct releases can then be installed with schooner update.
Breaking changes
None.
What's Changed
Other changes
- fix: omit redundant Homebrew formula version by @thewelshrich in #29
- docs: activate Homebrew installation by @thewelshrich in #30
- feat: add safe local updates by @thewelshrich in #31
- docs: extend release skill for Homebrew by @thewelshrich in #32
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Highlights
- Install Schooner directly on macOS or Linux with a public installer that verifies release checksums, executable identity, and installation ownership before making an atomic update.
- Release archives are now deterministic, contain the signed or verified upstream executable, and are exercised through native install gates on amd64 and arm64.
- Stable releases now run public four-platform smoke tests and automatically propose a pinned formula update to the official Homebrew tap.
Upgrade notes
No action is required for existing installations. The direct installer deliberately refuses to overwrite source-built, manually managed, or package-managed executables; use the installation method that owns the existing binary to update it.
Breaking changes
None.
What's Changed
Other changes
- feat: add verified direct installation by @thewelshrich in #27
- feat: automate Homebrew distribution rollout by @thewelshrich in #28
Full Changelog: v0.1.2...v0.2.0
v0.1.2
Highlights
- Adopt existing Ubuntu machines or provision DigitalOcean Droplets, then prepare and operate them through system OpenSSH without a hosted control plane or persistent daemon.
- Clone repositories, manage Git-owned worktrees, and start or resume tmux-backed development sessions with contextual repository matching and safeguards for dirty, detached, unpushed, or unrelated work.
- Connect private GitHub repositories through device authorization and Box-owned SSH keys, with recoverable cloning, strict host-key validation, and explicit SAML SSO guidance.
- Use human-readable interactive workflows or versioned JSON output for automation on macOS and Linux.
- Download native macOS and Linux executables with checksums and build-provenance attestations. macOS builds are Developer ID signed and Apple notarized.
Upgrade notes
This is Schooner’s first published technical-preview release. No migration is required for a new installation, but commands and stored data may still change before v1.0.0.
If you used an earlier untagged development build from before the Repository and Worktree rebaseline, run schooner db destroy --yes before using this version. This resets local Schooner inventory without changing remote machines or their Git and tmux state.
Breaking changes
None relative to a previous published release.
What's Changed
Other changes
- fix: expose signing identity to codesign by @thewelshrich in #25
Full Changelog: v0.1.1...v0.1.2