Upgrade from v4
v5 keeps the v4 project model and commands. Your .hack/ folder, encrypted env
values, branch instances, lifecycle processes and sessions carry over. What changes
is the runtime layer underneath and the product boundary around it.
What stays the same
- Docker Compose is still the default backend.
hack up,hack down,hack logs,hack env,hack host execand the rest behave as in v4. - Project configuration stays in
.hack/. There is no required config rewrite. - Shared local routing,
.hack.localnames and certificate trust are unchanged.
What is new
- Native backend (beta). On Apple Silicon macOS, through the
hack-nextchannel,HACK_RUNTIME_BACKEND=nativeruns explicitly prepared projects without Docker. It supports a bounded command subset and is qualified project by project. See Native backend (beta). - A config compiler.
hack config validate,config plan,config import --dry-runandconfig adopt --dry-runinspect and preview native configuration without starting workloads. See Native config import. - A separate prerelease channel.
hack-nextinstalls immutable5.0.0-next.Nbuilds beside stable Hack. See Install. - Stricter command parsing. Hack options go before the command tail. For
exec,runandhost exec, everything after the service or--is passed through unchanged, so a child's--jsonor--helpis never read as a Hack flag. - Safer env handling.
hack env hydrateimports values from a file or stdin so secrets never appear in command arguments.
What was retired
These shipped in earlier major versions and are gone from v5. Use ordinary tools in their place.
| Retired | Use instead |
|---|---|
| Hosted accounts, organizations and teams | Nothing to replace; Hack is local-only |
| The web dashboard | hack status, hack ps, hack tui |
| Hack Tickets | The tracker your project already uses |
| Built-in GitHub and Linear integrations | git, gh and the tracker's own CLI |
Automatic agent instruction injection (hack setup sync, primer hooks, injected rules) | The opt-in hack plugin and hack agent onboard; see Agent integrations |
Remote, gateway, node and dispatch commands and the macOS app remain in the
repository but are unsupported. They are hidden from hack help and warn when
invoked.
Upgrade path
- Keep stable v4 installed. Install the current prerelease with
hack-nextas described in Install. - Run one project on the prerelease using the Compose backend. Stop the stable daemon first; v4 and the prerelease must not run against the same home at once.
- Check the application itself: sign-in, data-backed pages, and anything written before a restart that must still be there after it.
- Only then try the native backend on a disposable project, following Try the native backend.
When 5.0.0 ships, brew upgrade hack or the release installer moves the stable
executable to v5. Projects need no changes to keep running on Compose.
Source: v5 (next.12) · docs/site/upgrade.md.