You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
leaf serve now shows live output from every process it runs alongside your app. Vite's ready message, HMR updates and build errors, queue worker activity, and Redis logs all stream into your terminal with colored labels like [vite] and [server], so you no longer need a second terminal or tools like concurrently.
Running a global CLI command like install or context against your app's console now tells you exactly where that command lives and how to run it, instead of a bare "command not found".
Changed
Your models, db(), and Leaf Auth now share a single database connection per request instead of opening one each. This means a db() transaction now covers your model writes too, so you can wrap a check-then-insert in one transaction safely.
SQLite connections default to WAL journal mode with a busy timeout, keeping concurrent processes safe. Both are configurable through config/database.php or the DB_JOURNAL_MODE and DB_BUSY_TIMEOUT env values.
Fixed
Fixed view:install failing on every react, vue, and svelte setup after Vite 8 shipped. Frontend packages are now pinned to versions that work together, including Inertia clients on v2, which fixes fresh react apps rendering a blank page.
Fixed view:install reporting success even when npm or composer failed, which left half-scaffolded apps that crash on the first request.
Cleaned up the auth scaffold across all view engines: settings pages are now properly behind auth, name validation accepts hyphenated names like Anne-Marie, dead social login buttons are gone, your app no longer ships Leaf's logo on its login page, and a number of broken attributes and dead props in the generated pages are fixed.
Fixed the welcome page's Quick Start button pointing to a page that no longer exists.