Launchpad 0.47.0 alpha — build 260917006 This testing release combines the native macOS app with Launchpad server 0.47.0. The built-in server includes its Bun runtime; no separate Bun or Node.js installation is needed. Docker is required to run local apps. What's new - Apps that need their own Redis now start correctly. Previously such an app could hang while starting and never finish launching. - The launch address is now a choice rather than an editable default. - Readiness reports a slow Docker as slow, instead of telling you to install Docker Compose. Runtime checks also wait for the whole process tree before deciding. - The built-in server runs at standard priority, so it is no longer slowed down by the system while you work in other apps. - Update installs finish on their own after Launchpad restarts, including when the previous server's port is briefly still reserved by the system. - Routing accepts a Cloudflare API token that belongs to an account rather than a single zone. - A generated backing service stays on its app's own network. - New guide: a walked quickstart for Gate, both locally and on a public domain. Own domain and name choices need a server that supports them. The built-in server in this release does. A server you connect to by address shows these controls only once it runs Launchpad 0.45.0 or later. Alpha limitations - Once an installation has begun, it cannot be undone. Launchpad cannot prove that the installer has exited, so it will not restart the previous server behind it. If an install is cancelled or interrupted, finish it by downloading this release and replacing Launchpad yourself, then reopening it. - Installing an update requires the built-in server to be running and reachable. Servers you connect to by address are updated separately by their owners. - Signing and notarization verify the package, not successful Cloudflare configuration or Gate acceptance on your machine. Those remain alpha testing targets. Closing or quitting Launchpad leaves its registered built-in server running. Use the app's server controls to stop it. Running app containers are separate from the control-plane UI.