Skip to content

LaraEnv 0.4.19 — Custom dev commands on Windows, port lifecycle & Ports panel

Choose a tag to compare

@thayronarrais thayronarrais released this 15 Jun 12:07

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.

  1. Custom dev commands now resolve php / composer without full paths. The dev runner only put the project's Node bin on PATH, so a custom command like composer run dev or php artisan serve failed unless you typed full executable paths. It now prepends the project's PHP + Composer + Node bin dirs, just like the embedded terminal.
  2. One-click "Make composer run dev Windows-safe". Laravel 11's dev script runs php artisan pail, which needs the pcntl extension — and pcntl has no Windows build, so composer run dev crashes (and --kill-others takes the whole stack down). A new button in the dev-command modal rewrites your project's composer.json to drop just the Pail process, so composer run dev runs natively on Windows.
  3. 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 dev Windows-safe" button — strips the php artisan pail process (and its --names entry) from composer.json's dev script. Explicit and user-triggered (never automatic), idempotent, and it only touches that one line — the rest of your composer.json formatting is preserved.
  • Stop actually frees the portcomposer run dev / php artisan serve spawn detached children that a PID-tree taskkill missed, leaving the port bound so the next Start collided. Stop now also frees the ports the tree was listening on (scoped to our own php/node processes).
  • Proxy targets the app server, not Vite — for a Laravel composer run dev that starts both artisan 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's ext-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/node processes.

Install

  • Download LaraEnv-0.4.19.msi and 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 dev Windows-safe" button edits your project's composer.json only when you click it; it's reversible (it's your file, under version control).