Skip to content

v1.25.0

Choose a tag to compare

@github-actions github-actions released this 17 Jun 18:26
d596633

Lerd 1.25.0

Lerd — Podman-powered local PHP dev environment for Linux & macOS.

Install on Linux

curl -fsSL https://raw.githubusercontent.com/geodro/lerd/main/install.sh | bash

Or if already installed:

lerd update

Install on macOS

brew tap geodro/lerd
brew install lerd
lerd install

Or if already installed:

brew upgrade lerd
lerd install

Changelog

Features

  • fce496c feat(dashboard): accurate CPU and lerd's own processes in Resources
  • f8848e5 feat(doctor): make the Laravel Doctor worktree-aware and only warn on required env keys
  • a534973 feat(frankenphp): extension and debug-tooling parity with FPM
  • 935d2e4 feat(idle): activity-driven worker suspension
  • 018ae88 feat(mcp): add a logs tool to read every log source with filtering
  • bbda4d8 feat(node): add js:runtime to pin a site's JS runtime from the CLI
  • c1b1bf0 feat(octane): per-project auto-reload for FrankenPHP worker mode
  • 7ac229f feat(pest): in-container Pest browser testing on musl chromium
  • cb5eece feat(php:bun): add a remove command to clear the in-container bun
  • 5ead1a1 feat(services): embed RabbitMQ and RedisInsight dashboards via a same-origin proxy
  • c970e0b feat(sites): add a Clear logs button to reclaim disk in the App Logs tab
  • 63597ab feat(sites): add a Laravel Doctor panel to the site detail view
  • 8373295 feat(sites): finish Clear logs translations and right-align the log toolbar actions
  • 319e5a3 feat(sites): refine the Laravel Doctor panel and source its fixes from the framework definition
  • 1b19dfb feat(sites): show Laravel APP_NAME on the dashboard tiles
  • 61629d8 feat(tui): add the Laravel Doctor as an on-demand site tab
  • 0cae06a feat(tui): label a site by its Laravel APP_NAME in the detail header
  • fd2d0ca feat(tui): limit a FrankenPHP site's PHP picker to versions it can run
  • ad5f3f9 feat(tui): offer bun in the Node picker as a JS-runtime toggle
  • d4d0d87 feat(tui): open a service's dashboard in the browser with O
  • 22c78d5 feat(tui): show idle-suspended workers as suspended rather than stopped
  • 28bfd93 feat(tui): sub-group the services pane's workers by owning site
  • d18a591 feat(ui): limit a FrankenPHP site's PHP dropdown to versions it can run
  • e2ac640 feat(xdebug): pause into running workers via the control socket, plus on-demand mode
  • 84c605e feat: bun option in the site Node dropdown to toggle js_runtime
  • b1dcbc2 feat: bun support for JS tooling and an opt-in in-container bun
  • 804d504 feat: php:pkg adds extra Alpine packages to the FPM image
  • 9347ed9 feat: serve PHP sites from a custom Containerfile image

Bug Fixes

  • 03887f3 fix(frankenphp): run the site's PHP 8.5 image instead of silently downgrading to 8.4
  • baa7fef fix(idle): bind access feed test socket within macOS sun_path limit
  • ec6525e fix(idle): keep suspended workers down through install and reconcile against reality
  • ba9c6bf fix(idle): keep suspended worktree workers down across restarts and unstrand pinned worktrees
  • c364520 fix(idle): re-suspend workers left running after an install
  • 5f3b7fb fix(idle): resume every worker when idle-suspend is turned off
  • 0ac91ef fix(idle): sleep idle sites on enable and resume robustly on disable
  • 8027a70 fix(init): preserve a committed HTTPS choice through the wizard on a localhost box
  • 9313749 fix(link): keep a committed frankenphp runtime from silently upgrading PHP
  • 7c4f727 fix(link): keep secured projects on http when DNS is disabled
  • 2330fce fix(link): reconcile a stale FrankenPHP container when a re-linked site is no longer FrankenPHP
  • e9825ee fix(npm): keep lerd's php shim ahead of a global php for node child processes
  • a8e086d fix(octane): keep --watch through lerd install and refine the reload control
  • 5e6a024 fix(pause): stop a paused runtime site's container from autostarting at boot
  • d398dcf fix(secure): gate securing behind managed DNS in SetSecured so the UI and MCP match the CLI
  • 54a6baf fix(sites): treat default APP_NAME as uncustomised
  • 71acd03 fix(stop): retry systemd stop jobs reported "canceled" so lerd stop doesn't leave containers running
  • 22465b5 fix(tui): reflect worker suspend state in the services pane and drop the worker site count
  • da5ffd6 fix(ui): bump esbuild, vite, and form-data to clear dependency advisories
  • 1a99506 fix(workers): keep workers healthy when switching a site's PHP runtime
  • f871b35 fix(xdebug): apply the dashboard toggle to FrankenPHP and custom-FPM containers
  • 8390d2f fix: bun dropdown entry reads 'bun', not 'Node bun'
  • 18db51b fix: harden FrankenPHP downgrades, log filtering, dashboard proxy and idle reconcile
  • 4466199 fix: honour quoted Exec= when translating FrankenPHP worker quadlets to launchd on macOS
  • be405d5 fix: make .localhost mode consistent across init, secure, and the installer
  • 2ef9ceb fix: reset-failed host workers when toggling JS runtime so a crash-looped vite heals
  • 3dc5cc3 fix: resolve bugs and regressions found reviewing the v1.24.1 work
  • 5a6ba84 fix: resolve bugs and regressions found reviewing the v1.24.x work before release
  • 8a613d8 fix: resolve regressions and bugs found reviewing the post-1.24.1 work
  • 2e20971 fix: resolve worker and doc issues found smoke-testing the v1.24.x work
  • 904db13 fix: respect paused sites and scope the bun toggle to the main site
  • 47bb50e fix: seed node shim in macOS host-worker test so lerdManagesNode is true

Other

  • 8923900 Merge remote-tracking branch 'origin/main' into feat/php-pkg
  • 006657b i18n: add Chinese, Japanese, Romanian, Italian, Polish, and Vietnamese
  • 0454fa9 perf(siteinfo): cache the Laravel APP_NAME read against the .env mod time
  • 257e69f refactor(idle): move the suspend engine into lerd-watcher
  • 8bbb8cf refactor(sites): confirm log clearing with a modal
  • f7bf805 refactor(sites): make Laravel Doctor an on-demand modal
  • 5ccb9e6 refactor(tui): address review findings across the post-1.24 work
  • 022423b release: v1.25.0

Full Changelog: v1.24.1...v1.25.0