Skip to content

Public beta — free forever, no account required Download now →

Changelog

What changed in EnvKit, straight from releases.

This page pulls from the public GitHub Releases feed for EnvKit, then caches it server-side so the latest installer notes are visible without scraping the GitHub page.

Showing 6 of 30 releases

Page 1/5

Latest

EnvKit 0.33.0-beta.67

v0.33.0-beta.67

New

MCP: start_site_process, stop_site_process and restart_site_process act on one process by id (#189). Saving the process list no longer restarts a process you stopped, unless you changed that process.

Share on LAN moved from the Sites toolbar to Settings → Ports, under the LAN access switch (#186). Each site keeps its own entry on its detail page.

Changed

Apache, Caddy and FrankenPHP now bind IPv4 only by default, like nginx. A bare Listen 80 also took IPv6, and on a machine with a public IPv6 address and no inbound firewall that exposed your sites to the internet. Addresses you wrote by hand in httpd.conf stay as they are. If you reach a site over IPv6, this affects you.

Fixed

Stopping a Vite process or script no longer leaves public/hot pointing at a dead server, which loaded the page without its CSS and JS (#188). envkit doctor also warns about a stale file.

nginx starts when its folder path has a non-ASCII character, such as a Windows user name with an accent or in Cyrillic.

Dropping a MySQL or MariaDB database that another connection has locked now fails in about 8 seconds and says what is holding it, instead of hanging until the client times out.

PostgreSQL recovering after an unclean shutdown on a slow machine no longer shows as failed to start.

A dev server whose package.json lacks the script says which one is missing and where to set it. One site that can't start no longer stops the others from starting.

SQL import: a file that writes to a table it never created says so, and the rows from the failed statement stay out of the error.

New

First run: the setup now starts with what you want to build (Laravel/PHP, WordPress, Node, Python, Rust or Go, or just the tools) and installs only that. You can also skip it, and the Dashboard offers "Choose what to install" until something is installed.

Databases → Users: create MySQL/MariaDB and PostgreSQL users, set passwords and choose which databases they can use (#180).

Settings → Ports → LAN access: turn off access from other devices so sites answer only on this computer (#184). It stays on unless you change it. On macOS it can't be turned off while a web server uses a port below 1024.

Fixed

Stopping MySQL/MariaDB is now a clean shutdown instead of a kill, so the next start doesn't run crash recovery. A server that doesn't stop within 20 seconds is still ended.

Windows: a site can call another EnvKit site over HTTP or HTTPS without hanging, because PHP now runs several workers (#183).

PHP trusts the EnvKit Local CA, so PHP calling an https://*.test site no longer fails on the certificate.

Stop all no longer brings PHP back a moment later (#181).

If PHP's main process is killed, its leftover workers are cleaned up, PHP really restarts, and Stop leaves nothing on the port.

Share on LAN: picking an address no longer asks "Discard changes?" (#185).

Links to sites and admin tools include your HTTPS port when it isn't 443.

New

Settings → Performance → Reduce visual effects. Turns off the card hover glow, shine, animated backgrounds and transitions, for slower PCs.

Settings → Ports: Caddy and FrankenPHP HTTP/HTTPS ports can be changed, so FrankenPHP can start when 80/443 are taken.

Fixed

Windows: folders you add to PATH by hand under EnvKit's data folder (for example services\mysql\…\bin) are no longer removed when EnvKit starts (#178).

Databases → Import (PostgreSQL): a dump made by a newer pg_dump (\restrict lines) imports into an older server, and a pg_dump custom-format archive saved as .sql is restored with pg_restore.

FrankenPHP worker mode: ThinkPHP routes work with the worker (/index.php?s=…).

Dropping a MySQL/MariaDB database that fails with "can't rmdir … errno 41" now tells you which folder and files are left so you can move them out.

A Node dev server whose script finishes right away now says so and points at Site → Run → Dev server.

New

FrankenPHP worker mode per site (Site → Run → Worker mode). With FrankenPHP as the web server, a site can keep PHP loaded in memory between requests. Laravel runs through Octane's FrankenPHP worker, so it also works on Windows. A worker that fails at boot is taken out and the site keeps serving the normal way; the error shows on the site.

Fixed

Python: python main.py can import modules that sit next to the script again on Windows (#177). Existing Python installs get the fix the next time EnvKit starts.

phpMyAdmin settings: clearing the password for config login now saves an empty password instead of keeping the old one.

Site → Share online and Octane: the trusted-proxies line goes into the Laravel app folder when the app lives in a subfolder like core/.

A service that takes longer than 5 seconds to start now logs where the time went, so slow starts can be tracked down.

Fixed

Windows: nginx no longer shows Failed with "nothing is listening on port 80" while your sites load. On some PCs Windows briefly leaves the port out of its connection list; EnvKit now checks the port itself before calling it not listening, and never restarts nginx over it.

Site → Share online and Octane: the trusted-proxies line EnvKit adds to a Laravel app now trusts only your own machine (127.0.0.1 / ::1) instead of every address, so it's safe if the app is committed and deployed (#176). An older '*' block written by EnvKit is upgraded the next time you turn on sharing or Octane. If your deployed app relied on that block behind a load balancer, add your own trustProxies setting.

Dev server, Octane and Reverb port pickers: when the port check can't run, the picker says it couldn't check instead of offering a port that may be taken.

Fixed

Windows: when EnvKit can't read the system's port or process list (a busy or locked-down machine), it now treats the answer as unknown instead of "nothing is running". It no longer starts a second copy of a service, marks a running one as failed, ends a process it can't identify, or picks a port that may be taken. If a start can't check its port, it says so and asks you to try again.

Safety: a database folder or certificate authority that can't be read is never replaced or deleted. A PostgreSQL data folder that isn't a cluster is moved aside instead of deleted, and the services list on disk is never rewritten after a failed read.

Tools → Global CLI tools: Update shows only when a newer version exists (#172).

Site → Processes: a process you removed and add again starts again (#170).

Sites: the hover glow on site cards no longer redraws the card while the mouse moves, and it's off when Windows animation effects (or macOS Reduce motion) are off.