v0.1.26
Bundles what would otherwise have been 11 separate patch releases (v0.1.16 through v0.1.26) into one — each item below is still its own well-documented commit in history.
Added
stack init— scaffolds a manifest for an existing project, pre-filled fromcomposer.json/package.json/pyproject.tomlinstead of typing every language/version from memory.stack restart [name] [--all] [--yes]— stop + start a project again, from anywhere, by name.stack describe [name]— prints a project's resolved environment: binary paths (php.ini/php-cgi.exealongsidephp.exe), service paths, log location, routed domain/port. Works whether the project is up or down.stack doctor --project— validates the current directory'sstack.tomlagainst live reality (ports, service paths, placeholder resolution) beforestack upever runs, instead of failing one error at a time partway through.stack clean— removes cachedcomposer.phardownloads.stack up/stack initand[[clone]]gated behind--clonenow support name-addressable targets:stack up <name>works from anywhere, not just from inside a project or via an explicit path.- Trust-on-first-use: the first
stack upon a project (or the first run after[run]/[service.*]commands change) prints them and asks for confirmation before executing anything.--yesbypasses this for CI/scripted use. - Automatic local HTTPS —
https://project.localhostnow works with no browser warning, via Caddy's own internal CA (stack doctor --fixrunscaddy trust). Plainhttp://keeps working unchanged, no forced redirect. .envauto-loading —stack upandstack doctor --projectload a project's.envautomatically; no more forgetting the separatestack load-envstep.- Fresh PHP installs are now configured automatically: a curated set of commonly-needed extensions (
pdo_mysql,pdo_pgsql,sockets, etc.), OPcache, and dev-friendlyinidefaults (date.timezone,memory_limit, upload limits) — instead of shipping vanilla, mostly-disabled defaults. docs/why.html— a plain-language "why stack instead of Docker/XAMPP" page, now the primary docs entry point.docs/custom-domains.html— sourced, verified setup steps for.test-style domains (Acrylic on Windows, dnsmasq on macOS/Linux).
Fixed
[[clone]]silently no-op'd on everystack updue to a defaultpaththat always pointed at a directory that trivially already existed (the project root itself). Now gated behind an explicit--cloneflag, defaults to git's own folder-naming convention, and handles cloning directly into the project root as a real, designed case.stack new/stack init's language/service selection used a yes/no loop where an accidental "yes" meant restarting the whole wizard. Replaced with checkboxes — nothing commits until you confirm.- CLI output had no color coding and no visual separation between phases of a
stack uprun — success/warning/error read identically.stack up/stack doctoroutput is now color-coded, with blank-line phase breaks. - Landing page and docs site were not usable on mobile: a nav bar with no breakpoint at all, a terminal block that overflowed the page (a
minmax(0, ...)grid safety dropped at the mobile breakpoint), and a docs sidebar that dumped a full link list above the content with no way to collapse it. - Manifest and CLI reference docs had drifted out of sync with the actual shipped behavior (stale
[[clone]]description, several commands and flags missing entirely) — rewritten against the current source, with a full worked example verified against the real manifest parser.
Install
irm https://github.com/sanayasfp/stack/releases/latest/download/stackenv-installer.ps1 | iexor
cargo install stackenv