Skip to content

Releases: lerd-env/lerd

v1.27.1

Choose a tag to compare

@github-actions github-actions released this 04 Jul 07:41

Lerd 1.27.1

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

Install on Linux

curl -fsSL https://lerd.sh/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

Bug Fixes

  • e882ab1 fix: keep service dashboards and port guards correct when a published port moves
  • 8662a9a fix: move any published port of a service, not just the primary

Full Changelog: v1.27.0...v1.27.1

v1.27.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 10:56
e67f78a

Lerd 1.27.0

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

Install on Linux

curl -fsSL https://lerd.sh/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

  • 2d6c60e feat(auth): lerd auth ssh — shared ssh-agent for composer git over SSH
  • 90830aa feat(doctor): make the site doctor framework-agnostic
  • 63c2a94 feat(host-proxy): add bind opt-out for the HOST injection
  • 2c45149 feat(host-proxy): inject HOST=0.0.0.0 so the proxy container can reach the dev server
  • 17bf49c feat(services): manage published and extra ports from the dashboard

Bug Fixes

  • 01a3413 fix(cli): place dialUnixHTTP comment above its own func
  • d205e7d fix(cli): reach lerd-ui over TCP on macOS so idle/dump status works
  • cd2728d fix(cli): surface npm/bun build failures during setup instead of killing the process
  • 9d3a810 fix(cli): warn when a host worker's deps are missing, and route update output through the feedback layer
  • 1624106 fix(idle): serve an auto-refreshing waking page for suspended host-proxy sites
  • 208b985 fix(idle): wake suspended workers on web access on macOS
  • add44f8 fix(lan-share): carry app WebSockets, only divert Vite's HMR socket
  • c07dcb4 fix(macos): correct the forwarder-stale copy and mirror teardown
  • 2c25263 fix(macos): keep published ports when lan.exposed is true
  • 6789c98 fix(macos): skip the LAN DNS forwarder where lerd-dns binds the LAN port
  • 2c2c4c6 fix(mcp): drop positional name when delegating host-proxy link
  • 70dd249 fix(mcp): honor host-proxy sites in site link
  • 3649090 fix(pest:browser): boot the Playwright server in doctor so a boot failure stops false-greening
  • 077e3f7 fix(pest:browser): reap the probe's run-server inside the container
  • f075a97 fix(podman): add git + openssh-client to the FrankenPHP image
  • e0a7c5a fix(podman): add openssh-client to the FPM image
  • c2e25b8 fix(podman): run postgres native on Apple Silicon via imresamu/postgis rewrite
  • 6bb20d4 fix(ui): pause host-proxy site when its dev-server worker is stopped
  • 26a00fa fix(watcher): bound source-file watches so an asset dump can't exhaust fds
  • f1209e6 fix(worker): reap in-container worker on stop (macOS) so idle-suspend frees CPU
  • 2383b1c fix: bind host-proxy dev servers to the host gateway instead of every interface
  • be2e1d9 fix: correctness issues found reviewing the v1.26 changes
  • aa9d31b fix: pin applehv provider for podman machine init on podman 6
  • 3a9ea6c fix: recover ghost containers on start (libpod entry, missing storage)
  • 9e70289 fix: report a missing or empty SQLite database in the site doctor
  • 418ee79 fix: require consent before running project-supplied commands and host workers on the host
  • fc1e5c7 fix: stop an untrusted project framework_def from running host commands via the site doctor

Other

  • 4ecf964 Add framework prune and an in-use guard on framework remove
  • b3d5071 Auto-heal rootless podman after a major upgrade
  • 8a61df4 Auto-start FPM, or offer to install/switch the PHP version
  • 143291f Fix correctness and quality issues found reviewing the v1.26 changes
  • 19039ee Let every bundled preset publish extra ports and autofill its host port
  • a47d714 Make the service YAML the single source of truth for custom services
  • 1e3901b Merge remote-tracking branch 'origin/main' into hotfix/1.26.2
  • e2f9654 Recover idle-suspended workers whose marking was lost on reinstall
  • 1453d1f Regenerate host-proxy env on unpause to follow a port moved while paused
  • 43ed62c Restart nginx when the host resumes from suspend
  • efce19e Rewrite https:// redirects to http in LAN share proxy
  • 9674aff Route all podman execution through a single seam
  • 8d5bf0c Show a service's published host port in the status pill
  • 9ceb845 Show the idle moon in real time on resume
  • 5f5b5e3 Stop the framework tests from closing the process stdin
  • febc5df Surface the real reason when a service fails to start
  • 78c19b6 Warn about busy host ports before lerd install runs
  • cc37a4b cleanup: lerd-aware command to reclaim orphaned podman disk
  • 147feb8 cli: lerd service port, port-aware checks, host-proxy follow, allocator reuse
  • f15c272 config: published-port override field + accessor
  • 51550a0 dns: recognise launchd-managed lerd-dns in the doctor diagnostic
  • b12b18f doctor: add rootless podman build preflight checks
  • 3f8cb62 freeport: shared stdlib-only free-port allocator
  • 4d4ff7a mcp: service port action
  • 996601f perf(watcher): skip a known-oversized dir before re-reading it on rescan
  • 6d3c0fe refactor(host-proxy): rename bind field to inject_host
  • e688cb4 refactor(idle): gate host-proxy vhost swap via a tested helper; drop stray word
  • d3c1aff refactor: make the host-proxy gateway rebind a single change-gated restart
  • adef91d release: v1.27.0
  • 6d65233 serviceops: generic port-availability guard; primary host-port helpers
  • 3888a5e test(cli): make fakeUISocket override the daemon dial target
  • 6284b6f test(macos): cover ensureLANForwarderRemoved teardown

Full Changelog: v1.26.2...v1.27.0

v1.26.2

Choose a tag to compare

@github-actions github-actions released this 26 Jun 10:04

Lerd 1.26.2

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

Install on Linux

curl -fsSL https://lerd.sh/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

Bug Fixes

  • dee5317 fix(build): drop the --policy pull flag so every podman version pulls the base

Other

Full Changelog: v1.26.1...v1.26.2

v1.26.1

Choose a tag to compare

@github-actions github-actions released this 26 Jun 09:21

Lerd 1.26.1

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

Install on Linux

curl -fsSL https://lerd.sh/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

Bug Fixes

  • 1400982 fix(build): pull prebuilt base on podman < 5.0 instead of silently building from source

Other

Full Changelog: v1.26.0...v1.26.1

v1.26.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 17:36
327fc4f

Lerd 1.26.0

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

Install on Linux

curl -fsSL https://lerd.sh/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

  • 8aafb4e feat(cli): offer to link unlinked projects instead of dead-ending
  • b6d4315 feat(cli): render list views as responsive tables and unify error output
  • e076be1 feat(cli): unify install/start output on the feedback vocabulary
  • 8aae4b5 feat(dns): react to host network changes on macOS via a PF_ROUTE watcher
  • 25231cb feat(services): add postgres-timescaledb service
  • 22f4c38 feat(tinker): import quick fixes, SQL query capture, and per-line results
  • dd82b3c feat(tui): clickable tabbed dashboard with mouse support
  • 479b0e5 feat(ui): move editors to Monaco and back tinker with phpantom_lsp
  • 0b3e622 feat: add a styled feedback layer for CLI output
  • 6f977fd feat: centralise distribution links and make the geodro to lerd-env move self-healing
  • 5bb74c6 feat: route lerd link through the init wizard and handle non-PHP projects
  • 5d820ac feat: support macOS in the one-line installer
  • 7d03009 feat: update available mariadb versions

Bug Fixes

  • 6507a5d fix(cli): bring uninstall output onto the feedback vocabulary
  • 8d704c0 fix(cli): make lerd quit a full teardown that stops lerd-dns
  • b8f1318 fix(cli): only offer the Sail import when Sail is initialized
  • 9967a99 fix(dns): heal a stale lan:expose mapping when the host LAN IP changes
  • 539d403 fix(dns): let users pin upstream DNS servers
  • 0523906 fix(feedback): keep warnings from being overwritten by the live spinner
  • 2c76610 fix(installer): guard local dev builds and surface macOS resolver teardown
  • d57a1ff fix(installer): make the macOS uninstall portable on BSD sed and launchd
  • 74d2f09 fix(mariadb): keep the bare 11 tag so existing installs still resolve
  • cd3216d fix(security): close name injection, root-write, and WS rebinding holes
  • 289cbee fix(services): align postgres-timescaledb preset with the pgvector pattern
  • b64ab37 fix(tray): use a dark icon on light desktop panels
  • c36d791 fix(tui): gate site actions to the Sites tab so the dashboard can't touch a hidden site
  • 81ba3bd fix(ui): cap inbound websocket frame payload size
  • b3ddd75 fix: avoid pipefail abort in macOS uninstall container cleanup
  • 78cab57 fix: forward AI agent detection vars into the container
  • 2c05fd0 fix: guarantee agent detection for MCP-originated commands
  • 426d50f fix: harden TUI mouse input, link wizard routing, and websocket writes
  • 4eec406 fix: keep lerd-dns running across lerd stop
  • 5c4b49d fix: make lerd update self-update on macOS and repair the installer's uninstall teardown
  • d03fe8b fix: make worktree MCP tool results visible to the host
  • f0ccc0c fix: provision and realign worktree databases on link and env
  • c146032 fix: react to network changes while idle and skip disabled picker versions
  • 3f136bd fix: repair post-1.25 regressions in linking, tinker, and DNS healing
  • b86513c fix: resolve post-1.25 review findings across php clamping, env, tinker, and DNS
  • bf83053 fix: resolve post-1.25 review findings and make the TUI dashboard navigable
  • ddb4fc2 fix: restore Sail import, nested new path hint, and worker stop warning
  • 78f763b fix: retry podman machine start once before failing the install
  • 44a6099 fix: route service env and check_updates results through toolJSON
  • 2abd1d7 fix: serve legacy framework versions with the lowest available definition
  • 3be6e4f fix: settle before podman start retry and avoid double-printing the error
  • f9d2ff0 fix: stop services using the feedback vocabulary
  • 9b3f854 fix: stop versioned DB alternates from leaking the bare canonical service
  • 658d701 fix: swap TLS certs atomically so nginx reload never sees a missing cert
  • 9352f4e fix: unify CLI feedback output and resolve a fresh round of post-1.25 review findings
  • 9f30e0e fix: wrap dns_diagnose result in a content block
  • 4b31ff9 fix: write bash PATH to .bash_profile on macOS

Other

  • 9cc82cc Merge remote-tracking branch 'origin/feat/macos-install-script' into feat/macos-install-script
  • 374fb12 Merge remote-tracking branch 'origin/main' into feat/macos-install-script
  • e92d585 chore(release): v1.26.0
  • a1e0acc chore: clear open Dependabot alerts (vite, dompurify)
  • 94ec8d2 docs(landing): refresh macOS install, Tinker and TUI copy for v1.26.0
  • fafe829 docs(readme): drop trailing slashes from lerd.sh links
  • 5dc593d docs(readme): point documentation links at lerd.sh
  • 4ac27fd docs(seo): tighten homepage description and fix og:image dimensions
  • 6322c5d docs(social): refresh the share image and add its source page
  • 9bd8070 refactor(cli): resolve and link the same directory in ensureSiteForCwd

Full Changelog: v1.25.0...v1.26.0

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

v1.24.1

Choose a tag to compare

@github-actions github-actions released this 11 Jun 10:09

Lerd 1.24.1

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

Bug Fixes

  • bbae794 fix(macos): recreate podman machines broken by the 1.24.0 init bug

Other

Full Changelog: v1.24.0...v1.24.1

v1.24.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 19:07
f4584f3

Lerd 1.24.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

  • d8e89e7 feat(env): support unconditional framework env defaults (env.vars)
  • 5ee8936 feat(horizon): opt-in horizon:listen auto-reload for development
  • 5e4aa9f feat(hostproxy): auto-assign a free dev-server port
  • 95de70c feat(hostproxy): drop the assets build step from worktrees
  • 332c44f feat(hostproxy): point service env at loopback for host-proxy sites
  • f11b47c feat(hostproxy): run non-Node dev servers directly, not through fnm
  • 0542800 feat(hostproxy): show a Proxy badge for host-proxy sites
  • fd59ac3 feat(hostproxy): support git worktrees
  • ebfde46 feat(hostproxy): treat the dev server as the site's main process, not a worker
  • 797167a feat(mcp): add Google Antigravity and stop tests touching the real Claude CLI
  • 5741e56 feat(ui): dashboard toggle for Horizon auto-reload
  • b7ae509 feat: add a sites overview dashboard
  • f1dd9af feat: add db:move to relocate sites between same-family DB services
  • 3febe1d feat: add soketi, opensearch, redisinsight and beanstalkd presets
  • 80ef02e feat: gate host-proxy and inline services behind explicit consent
  • c1049a1 feat: group related sites under one base domain
  • 64745b3 feat: host-proxy sites for Node dev servers
  • a0c9739 feat: make the Stripe webhook listener work for any project type
  • 7bda318 feat: redesign services dashboard with categorized discovery

Bug Fixes

  • 856ef56 fix(debug): separate debug window events by worktree
  • 5483c51 fix(env): run key generation via the framework console, not hardcoded artisan
  • a32ba13 fix(horizon): honour reload across restarts, surface the chokidar prerequisite, group the controls
  • bd1c69b fix(horizon): persist reload toggle when project has no .lerd.yaml
  • 8314ea2 fix(host-proxy): guard rebuild and warn about Vite allowedHosts
  • bfd8418 fix(host-proxy): reserve worktree ports and tear down worker units when a site path is gone
  • 5d41828 fix(hostproxy): keep the dev server out of setup's composer and orphan steps
  • f7f05b4 fix(hostproxy): resolve the DB service for worktree isolation on host-proxy sites
  • 307ffe9 fix(hostproxy): resolve upstream from cached hosts file, not a podman probe
  • 639fa2c fix(hostproxy): tear down the dev server unit on unlink even when stopped
  • e743e59 fix(podman): probe mariadb with mariadb-admin instead of mysqladmin
  • 504dbdf fix(security): reject inputs that could inject systemd unit and quadlet directives
  • 707bccc fix(start): auto-heal podman overlay corruption + lerd machine reset
  • b7945d1 fix(start): gate overlay heal to darwin, tighten matcher, size reset VM memory
  • 4e98f4c fix(start): match the container-mount overlay variant; branch-tested
  • 5006d26 fix(start): rebuild stale containers in overlay heal; address review
  • 5088360 fix(vite): order host worker units after the FPM container at boot
  • 29ba8f6 fix(workers): stop heal notifications firing on lerd stop
  • 3fb01e8 fix(worktree): sanitize dots in worktree unit names
  • 38e7e3e fix: address review findings in the worker sweep and db.service sync
  • c8b4f91 fix: address review findings on the host-proxy consent and migrate paths
  • 2972a01 fix: drop the replaced domain from .lerd.yaml on rename and removal
  • 6078dcb fix: host-proxy regressions found reviewing changes since v1.23.1
  • bc73ce5 fix: host-proxy regressions in db:move, migrate, and pause
  • 24a3ad7 fix: let the env editor scroll all the way to the bottom
  • fac45ec fix: pre-release hardening for unit/quadlet injection, host-proxy consent, and env/db edges
  • 4a880d3 fix: resolve mariadb-dump/mariadb client names at runtime in db dump/restore
  • 8507de1 fix: stop a host-proxy dev server when the watcher prunes a deleted site

Other

  • 164b0ae Add sorting and drag-to-reorder for the sites list
  • 27c62cc Merge origin/main into feat/host-proxy-sites
  • 840fbc3 Merge remote-tracking branch 'upstream/main' into fix/keygen-honour-console
  • 651c24b i18n: translate the group modal, command palette/run flow, and stray labels
  • 739eecf refactor(horizon): store-driven reload command, per-project opt-in
  • 71da485 refactor(mcp): group the tool surface and add Codex, Gemini, and Copilot
  • 6f27c78 release: v1.24.0
  • df3983d style: gofmt overlay_heal doc comment; drop em dashes from this PR's additions

Full Changelog: v1.23.1...v1.24.0

v1.23.1

Choose a tag to compare

@github-actions github-actions released this 04 Jun 18:10
d1d21c2

Lerd 1.23.1

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

Bug Fixes

  • cb166bf fix(macos): pin --platform on pull for amd64-only images, register only after pull succeeds (#473)
  • 53d69cc fix: admin-tool banner and install for any database version or family member

Other

Full Changelog: v1.23.0...v1.23.1

v1.23.0

Choose a tag to compare

@github-actions github-actions released this 03 Jun 06:53
4c8e1fc

Lerd 1.23.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

  • 1fb6714 feat(env): personal .env.lerd_override for per-project overrides (#469)
  • 340984d feat(nginx): edit nginx config (per-site + global http-level) from the web UI (#437)
  • 8e93273 feat(services): YAML-declared tuning override + service_config MCP tool (#442)
  • e0f6491 feat(services): add Check for updates button on web UI (#418)
  • 91624c8 feat(services): postgres runtime tuning via a config_file wrapper (#453)
  • ec73498 feat(services): tuning override for the redis family (#439)
  • c84ae1b feat(services): user-editable runtime tuning override for db services (#429)
  • b6292aa feat(tui): full Debug window in the TUI with eight switchable lenses (#468)
  • 67be185 feat(tui): system view, dashboard, modals, toasts, palette, and a polish pass (#417)
  • 5d9d884 feat(ui): edit nginx config from the address bar, per worktree, on a shared edit service (#445)
  • e2f70b4 feat(ui): edit per-version php.ini from the web UI (#436)
  • 83fe94c feat(ui): editable .env files in the dashboard with backups and restore (#434)
  • 3525aae feat(ui): install and remove PHP versions from the System page (#448)
  • 2f5931b feat(ui): nginx editor parity with env tab and pre-flight validation (#440)
  • 4bcb51d feat(ui): service config editor parity with env/nginx tabs and auto-rollback (#441)
  • 594a8c6 feat(ui): service tuning config panel (#438)
  • 8ec666d feat(ui): tabbed System pages with backup/restore for global nginx and php.ini (#443)
  • 440ca67 feat(wsl): lerd wsl:setup + Windows (WSL2) guide, flag support beta (#432)
  • de4b345 feat: turn the dump bridge into a full Debug window (#462)

Bug Fixes

  • 23dfa62 fix(composer): raise process timeout so package:discover survives cold container boots (#450)
  • 87bf4f0 fix(domain): sync .env APP_URL when primary domain changes in the UI (#435)
  • 318d161 fix(macos): mount system directories to Podman machine during initial… (#458)
  • a75c79a fix(nginx): raise server_names_hash_bucket_size so long worktree branch names don't break nginx (#456)
  • 1b664e7 fix(services): unify installed-detection on quadlet presence (#433)
  • 73e31c3 fix(start): don't flag lerd's own port owners as conflicts (#461)
  • 7e0ef2a fix(ui): block cross-origin requests to the dashboard to close a CSRF/RCE vector (#447)
  • 5000199 fix(ui): hide PHP-only controls on non-PHP sites, move Xdebug to a header toggle (#446)
  • 697e19e fix: keep a site's custom nginx override attached across domain renames (#444)
  • 080202c fix: pre-1.23 review follow-ups for config editing, notifications, and the debug window (#467)

Other

Full Changelog: v1.22.1...v1.23.0