LaraEnv 0.4.19 — Custom dev commands on Windows, port lifecycle & Ports panel
Highlights
This release makes custom dev commands work properly on Windows (the focus of #3) and ships a batch of dev-server lifecycle fixes plus a new Ports panel.
- Custom dev commands now resolve
php/composerwithout full paths. The dev runner only put the project's Node bin onPATH, so a custom command likecomposer run devorphp artisan servefailed unless you typed full executable paths. It now prepends the project's PHP + Composer + Node bin dirs, just like the embedded terminal. - One-click "Make
composer run devWindows-safe". Laravel 11'sdevscript runsphp artisan pail, which needs thepcntlextension — andpcntlhas no Windows build, socomposer run devcrashes (and--kill-otherstakes the whole stack down). A new button in the dev-command modal rewrites your project'scomposer.jsonto drop just the Pail process, socomposer run devruns natively on Windows. - New Ports panel — see every TCP port LaraEnv holds (dev servers + services), grouped by owner and searchable, with a per-port Kill to reclaim a stuck port.
What's new & fixed
Dev servers (#3)
- PATH includes PHP + Composer + Node — custom dev commands resolve bare
php,composer,artisan, etc. without full paths. - "Make
composer run devWindows-safe" button — strips thephp artisan pailprocess (and its--namesentry) fromcomposer.json'sdevscript. Explicit and user-triggered (never automatic), idempotent, and it only touches that one line — the rest of yourcomposer.jsonformatting is preserved. Stopactually frees the port —composer run dev/php artisan servespawn detached children that a PID-treetaskkillmissed, leaving the port bound so the next Start collided. Stop now also frees the ports the tree was listening on (scoped to our ownphp/nodeprocesses).- Proxy targets the app server, not Vite — for a Laravel
composer run devthat starts bothartisan serve(:8000) and Vite (:5174), the reverse proxy now locks onto the application server instead of the asset server. composer create-project --ignore-platform-reqs— creating a Laravel project no longer aborts on Windows when a package declares POSIX-only extensions (Horizon'sext-pcntl, etc.).
Ports panel (new)
- A Ports in use view (network icon in the title bar): owner · port · process · PID, grouped by owner, with a filter box and a Kill button per port.
App lifecycle
- Single-instance lock — relaunching LaraEnv now focuses the existing window instead of spawning a duplicate process. Previously, closing to the tray and reopening started a second instance that couldn't see the first one's running dev servers and reported their ports as "busy".
- Startup orphan reclaim — stray dev-server ports left by a previous run (e.g. after a crash) are freed on launch, with a notice of what was reclaimed. Strictly scoped to ports LaraEnv reserved and to our own
php/nodeprocesses.
Install
- Download
LaraEnv-0.4.19.msiand double-click. - SHA-256 in
LaraEnv-0.4.19.msi.sha256. - Auto-update from prior versions picks this up automatically.
Compatibility
- Windows 10+ (x64).
- No config or data migrations — drop-in replacement for 0.4.18.
- The "Make
composer run devWindows-safe" button edits your project'scomposer.jsononly when you click it; it's reversible (it's your file, under version control).