- Explicit, transactional conversion between native PowerShell and Git Bash lifecycle adapters without changing the Box, image, Workspace, or Managed home.
- Recoverable Box replacement: handled late failures restore the prior runnable Box and its recorded Install identity.
- A mechanically verified, shared Install identity schema contract for the Bash and PowerShell adapters.
- Trust-explicit
*-yoloaliases for installed AI assistants. - Setup offers PowerShell 7 (
pwsh) as an alternative default shell, installed from Microsoft's GitHub release.debafter its release-asset SHA-256 is verified. A managed~/.config/powershell/profile.ps1mirrors the bashrc (starship, zoxide, mise, aliases) and a~/.squarebox-use-pwshmarker hands interactive logins off to pwsh, matching the existing Zsh/Fish flow. - Optional GitHub API authentication for setup and
sqrbx-updateviaGH_TOKEN,GITHUB_TOKEN, or an existingghlogin, avoiding the unauthenticated 60 requests/hour limit. The token is sent only to the API host, never on curl's command line, and a rejected token falls back to unauthenticated requests.
- Herdr uses terminal-safe direct shortcuts while retaining
F12as a compatibility prefix. - The selected default shell is exported consistently to child processes.
- Lifecycle adapters and Compose bound the Box to 4096 PIDs
(
--pids-limit=4096/pids_limit), so a runaway Box process cannot exhaust the host process table. - Security: the host
~/.sshdirectory (private keys) is no longer mounted into the Box by default; SSH agent forwarding is unchanged. Opt in withSQUAREBOX_MOUNT_SSH=1(or-MountSshon PowerShell). The choice is recorded in a newFORMAT=2Install identity;FORMAT=1state loads as opted out. Releases before v1.3 cannot readFORMAT=2state (ADR 0010). - Security: the image build verifies the GitHub CLI and Eza APT signing keys against pinned primary-key fingerprints and fetches the Eza key from an immutable commit; a mismatch fails the build.
- The Dev Container applies the installers'
--cap-drop=ALLcapability set and--pids-limit=4096, adding onlySYS_CHROOTfor the SSH server Feature. --purge --yes(-Purge -Yes) refuses to delete a non-empty Workspace inside the install directory unless--delete-workspace(-DeleteWorkspace) is passed, and the confirmation summary lists that Workspace.- difftastic is pinned to 0.71.0, whose release assets now carry the version in their names; the registry artifact pattern follows that change.
- Image-tier tools refreshed: yq 4.54.1, glow 3.0.0, just 1.58.0, and mise 2026.9.18 (checksums from GitHub's release-asset digests).
- The unshipped
sqrbx-learnandsqrbx-agent-tool-logscripts.
See the v1.3 migration guide.
- Suppressed Squarebox's MOTD inside Herdr-managed panes.
- Fixed Rust SDK detection so an installed toolchain is not repeatedly reconciled as missing.
v1.2.0 was built as a draft Candidate but was never published after final qualification found a Dev Container persistence defect. v1.2.1 is the first stable v1.2 release and includes that fix.
bubblewrapin the base image so the OpenAI Codex CLI uses the systembwrapfor its Linux sandbox instead of warning and falling back to its bundled helper.- Herdr is available as a selectable agent multiplexer, installed from its verified GitHub release asset into the Managed home.
- Fresh managed Zellij configuration offers Ctrl+B as an alternate leader and a prefix-mode help popup without shadowing scroll/search page-up.
- Oh My Pi (
omp) is available as a selectable coding harness, installed and managed through mise in the persistent Managed home. elioas a selectable TUI file manager alongside Yazi, installed from its verified GitHub release asset into the Managed home.
- New managed Zellij configuration detaches sessions when a client disappears; exact unmodified legacy defaults migrate without overwriting user-edited or symlinked configuration.
- Dev Containers mount
/home/devfrom an isolated, rebuild-stable named volume so authentication, history, and mise toolchains survive Box replacement. - Dev Container and Codespaces post-create defaults now support terminal multiplexers alongside assistants, SDKs, editors, and TUIs.
- Codespaces created from the custom Squarebox image include a digest-locked
SSH server Feature, so
gh codespace sshcan attach as documented. - Codespaces reconcile their post-create default Selections without opening interactive pickers when the orchestrator assigns a pseudo-TTY.
- Docker Boxes can remap
devto a non-default PUID/PGID even with read-only managed files beneath the Managed home. Native unprivileged Linux lifecycle installs now require those IDs to match the invoking account; intentional NAS/Unraid remapping remains available to root-run rootful runtimes.
- Image-tier pins and their reviewed amd64/arm64 checksums were refreshed for xh 0.26.2, just 1.57.0, and mise 2026.7.18.
- Stable and prerelease publication use reusable protected and automated environments while preserving the same immutable-Candidate promotion model.
- Re-runnable setup sections through
sqrbx-setup. - Bash, experimental Zsh, and experimental Fish selection.
- tmux and Zellij selection with aligned keybindings.
- SSH client availability in the base image.
- Pi assistant option.
- Version display in the MOTD and image metadata.
- Durable Install identity for safe rebuild and uninstall behavior.
- Assertion-backed release Evidence, SBOM/provenance, vulnerability scanning, a digest-bound published Evidence manifest, release-asset hashes, and image/asset signing.
- Cross-platform lifecycle and UAT tracking through durable GitHub issue briefs.
- Published Releases bind one source revision to one immutable
multi-architecture image digest in
release.json. - Stable installation discovers published Releases instead of raw Git tags.
- Release promotion reuses the tested Candidate digest rather than rebuilding.
- Saved tool Selections are reconciled with actual Box state after replacement.
- Direct artifact installation now fails closed and preserves the original error through cleanup; Managed-home releases use exact GitHub asset digests and serialized, rollback-capable destination transactions.
- Bulk
sqrbx-update --applyupdates installed tools only; an explicitly named absent tool is treated as an install request. - Git identity is isolated in Squarebox-managed configuration instead of mounting and changing the host's real Git config.
- Dev Containers use
/workspace, matching setup and Selection state. - The selected default editor persists independently and survives Box reconciliation; LazyVim and Zsh sources resolve immutable commits.
- Rootless Podman maps the invoking host user to the Box's
devidentity without relabeling host files. - Release publication is serialized across tags, scans both architectures,
and prevents historical reruns from rewinding
latest. - GitHub Copilot uses the supported
@github/copilotpackage andcopilotcommand.
- Runtime APT under a read-only timezone mount.
- Box-tier tmux/Zsh/Fish loss after container replacement.
- Updater parsing, false-success, deleted-log, duplicate-request, and absent-tool behavior.
- Custom install rebuild/purge state and fixed-name resource deletion.
- Non-1000 UID/GID defaults and rootless Podman ownership/SELinux options.
- Compose Managed-home volume identity.
- Dev Container state disappearing outside the cloned Workspace.
- Dotfile refresh following user-controlled symlinks as root.
- Setup cancellation erasing prior Selections and aliases targeting failed installs.
- First-install and purge authority races, unsafe shell-profile rewrites, and drift between the adapter-native Git Bash and PowerShell lifecycle validators.
- Multi-output updater races, destination-type confusion, incomplete observed state, and image-tier updates advertised without Candidate-authorized bytes.
- Fish derived aliases becoming stale after section-only setup reruns.
- CI reports claiming behavior that was not executed.
- Release-candidate failures caused by a Compose UID-remap startup race, cross-UID Evidence file permissions, LazyGit's lowercase Linux asset name, Gum release binaries built with a vulnerable Go standard library, and raw lifecycle assertions racing synchronous Box-tier reconciliation; release preparation now isolates multi-platform pulls in Docker's local image store.
- Paseo assistant installation and Selection support before stable publication.
- Disabled learn-mode commands and command-logging hook from the default image.
Initial stable Squarebox release with Docker/Podman installation, a persistent Managed home, Compose support, modern CLI tools, first-run setup, and host Workspace mounting.