Changelog

What we've shipped on Launchverse, newest first. Subscribe for major releases.

An onboarding tour for first-time users, six new starter templates, and a major security + reliability sweep under the hood.

  • Feature

    First-time onboarding tour. Brand-new users now see a friendly four-step walkthrough on the dashboard pointing at where to deploy, where to find templates, and how to read your build feed. Skippable, never shown twice, never shown to returning users.

  • Feature

    Six new starter templates: SvelteKit, Astro Starlight (docs), NestJS, Hono.js, Strapi v5 and Payload CMS. Fork in one click, import into the deploy wizard, and you're live in under a minute.

  • Feature

    Auto-rollback is now per-project configurable. Opt out from the project settings if your API legitimately serves 5xx on health probes, set a custom probe path, and we'll honour a 30-minute cooldown so a single bad commit can't rollback-loop you.

  • Improvement

    Mutating endpoints now accept an Idempotency-Key header. Retry the same request inside 24 h and you get the cached first response back instead of a duplicate side effect. Same pattern as Stripe and Twilio.

  • Security

    Critical Postgres hardening: SECURITY DEFINER functions now pin search_path and the platform incidents table has RLS enforced. Zero user impact, just less surface area for anything that finds its way past the front door.

  • Improvement

    Cron jobs now hold a distributed lease before running. Vercel's occasional duplicate cron firings can no longer cause two copies of the same sweep to race the same row. Every cron also pings a heartbeat so we know within a minute when something stops firing.

  • Improvement

    Weekly automated database backups with a self-verifying restore drill. A backup we've never restored isn't a real backup; the drill restores into a throwaway Postgres and compares row counts against production.

  • Performance

    Paystack webhook user-lookup is now O(log N) on the indexed email column instead of paginating up to 4 000 users per event. Inaudible win for now but unblocks 10× growth.

Community showcase, project canvas, profile + socials, mobile menu redesign, framework logos and a structured HTTP log view.

  • Feature

    Launchverse Community is live. Publish your deployed projects, get upvotes and threaded comments, and follow what other builders are shipping — all without leaving the dashboard. Each post has its own immersive detail page (Overview, Comments, Stack, Updates) and is shareable as a public link: anyone with the link can read; signing up is required to vote, comment or post.

  • Feature

    Project Canvas is here. Every project now has a Canvas tab showing your services, databases, domains and source as a live network of connected nodes — drag to rearrange, traffic flows along the wires, edges colour-code env-var references, attached domains and source links. Same architecture-diagram language as the marketing page, with your real services in it.

  • Feature

    Profile got a major upgrade. Add a bio, link your GitHub, X and Bitbucket, and upload an avatar — anything you set shows up next to your community posts and comments. Designed mobile-first so the form is fully usable on a phone, including reaching the Save button above the keyboard.

  • Feature

    Framework logos in place of plain text labels. The dashboard, projects grid and overview now render the actual framework logo (React, Next.js, Vue, Svelte, Astro, Remix, Nuxt, Vite, Express, Fastify, Django, Flask, Rails, Laravel and more) instead of the framework name as a string. Falls back to the text label gracefully for less-common stacks.

  • Feature

    Live HTTP traffic panel on the Observability tab. See the last 60 seconds of requests as they happen — total volume, GETs, blocked, and errors — plus method-distribution bars and the top requested paths. No third-party SDK, no extra cost, no setup.

  • Improvement

    HTTP request logs are now structured. Method, path, status and duration line up in fixed columns, status pills are colour-coded by class, and methods are tinted by verb. JSON, Caddy/Pino and nginx/morgan formats are auto-detected; build-tool output stays raw.

  • Improvement

    Mobile menu redesign. On phones the navigation now slides up from the bottom as a sheet you can drag down to dismiss, instead of a side drawer — friendlier on the thumb, easier to scan, and one tap away on every dashboard page. Tablet and desktop sidebar are unchanged.

  • Improvement

    Profile is now visible in the Account section of the sidebar (mobile and desktop). Previously it was only reachable from the avatar dropdown — making it awkward to find on phones.

  • Fix

    Deploy preview screenshots no longer get stuck on a 403 from the platform-hosted subdomain. Capture now races the custom domain and the platform subdomain in parallel, requires two stable success probes ≥ 4 s apart, treats transient 403s as 'still warming up' rather than a hard failure, and waits up to 90 s for slow first boots. Cached placeholder screenshots are evicted on rollout.

PR Previews paused (coming soon), domain ownership transfer, mobile + service polish — production auto-deploy is unaffected.

  • Improvement

    PR Previews are temporarily paused while we land an upgrade to the build pipeline. Pull requests opened on connected repos are still tracked on Launchverse and surfaced in your Deployments tab as Skipped — production auto-deploy on push remains unaffected. The Previews tab and the toggle in Settings → Engine are visibly marked Coming Soon. We'll roll the feature back on tier-by-tier and email you when your project is eligible again.

  • Feature

    Claim a domain from another account. If you previously verified a domain on a different Launchverse account, you can now prove ownership with a one-time TXT record (`_launchverse-verify`) and transfer the domain to your current project. We email the previous owner the moment the transfer lands so it's transparent on both sides.

  • Fix

    Provisioning a managed database no longer fails with `Engine Error: Server not found.` when a project's stored target server has drifted from the engine. We now validate the target against the live server list and fall back to the first registered server, mirroring how marketplace service provisioning has always worked.

  • Fix

    Marketplace services (n8n, WordPress, Ghost, etc.) now actually start after provisioning instead of sitting in a created-but-empty state. We deploy the service immediately after creation and surface the assigned URL on the project's Resources page so you don't have to dig for it.

  • Fix

    Deploy preview screenshots no longer capture a 'no available server' placeholder when you've just attached a custom domain. Capture now prefers your platform-issued `*.hosted.launchverse.app` subdomain — which has been routing since the very first deploy — over a freshly-attached custom domain that's still wiring up TLS and DNS in the background.

  • Fix

    Project Overview no longer mislabels a closed PR's commit as if it were the live build. The Overview's 'latest deployment' card is now scoped to production deployments only — closed PR rows stay where they belong.

  • Improvement

    Mobile top bar is less cluttered. The cart icon was duplicated between the top bar and the sidebar drawer on phones — we removed the top-bar copy. Cart is still one tap away via the side menu.

  • Improvement

    Domains page is clearer about which DNS record to add. Subdomains like `app.example.com` get a CNAME pointing at the platform proxy (correct per DNS spec). Apex domains and wildcards get an A record (also correct — RFC 1034 forbids CNAME at apex). We surface this distinction up-front so you don't have to wonder why a CNAME field appeared instead of an A field.

Real observability + dedicated Security tab, project-scoped cron with edit, free 2FA for everyone, and 12 new SEO guides — plus the database fixes you asked for.

  • Feature

    Observability now lives on its own project tab with real telemetry — deploy success rate, build minutes consumed, container status from the engine, and a 30-day reliability histogram. When the platform's metrics agent is enabled, live CPU and memory time-series render in the Sentinel panel; when it isn't, we say so honestly instead of drawing synthetic graphs.

  • Feature

    Security tab replaces the old firewall card with a real configuration surface — HTTPS enforcement, basic-auth gate, and an editable egress allowlist that names every host your container is permitted to call. The tab pulls live state from the engine on every load.

  • Feature

    Cron jobs are now editable. The pencil icon on any scheduled job lets you change its name, schedule expression, or command — the change propagates to the engine immediately. Both the global Cron Jobs dashboard and a new project-scoped section on the Overview tab support this.

  • Feature

    12 new in-depth guides for African and global developers: deploying Next.js without Vercel, provisioning managed Postgres, scheduling cron jobs, setting up 2FA, custom domains with free HTTPS, observability without Datadog, Postgres vs MongoDB in 2026, self-hosted vs managed databases, zero-downtime deployments, when to use Redis (vs DragonFly / KeyDB), web app firewalls and egress allowlists, and Dockerfile vs Buildpack vs Nixpacks.

  • Improvement

    Two-factor authentication is now clearly available on every plan including Free. The copy on the Profile page no longer suggests it's gated to Pro / Enterprise — TOTP enrollment has always worked for everyone, the wording was misleading.

  • Improvement

    Project Resources page surfaces every credential, internal URL, external URL, and public port for both managed databases and marketplace services. For services we expose generated env-var credentials (admin tokens, passwords, API keys) without forcing you to copy them off the post-provision toast.

  • Improvement

    Project tab navigation now responds instantly with no skeleton flash. We removed the loading boundary that was painting a placeholder between clicks; tabs now behave like a regular link — old page stays visible until the new one is ready.

  • Fix

    Provisioning a Postgres database no longer fails with `Validation failed - clickhouse_db`. The engine payload now wires only the field name that matches the engine you picked — postgres_db for PostgreSQL, mysql_database for MySQL, mariadb_database for MariaDB, mongo_initdb_database for MongoDB, clickhouse_db for Clickhouse.

  • Fix

    Deploying a marketplace service (n8n, WordPress, Ghost, etc.) no longer hits a database constraint violation. The project_resources table now permits any engine-supported resource type and disambiguates databases vs services via a new `kind` column, with existing rows backfilled automatically.

  • Fix

    Dashboard layout no longer jumps horizontally when a scrollbar appears. The container reserves its gutter up front so wide content stays put as it grows past the viewport.

  • Fix

    Firewall links no longer 404. The old `/project/[id]/settings/security` deep links pointed at a route that didn't exist; the new Security tab is reachable directly from project navigation.

Launchverse Bot for deploy failures (B1–B3, including one-click PR), instant tab navigation, and a comprehensive UI polish pass.

  • Feature

    Launchverse Bot — the new in-product assistant that triages your failed deploys. When a build fails, click "Ask Launchverse Bot" and get a plain-English summary of what broke, the most likely root cause, and ranked fix suggestions, each with confidence scores and concrete patch snippets.

  • Feature

    Deeper analysis mode pulls the relevant files from your repo (next.config, package.json, the file the error mentions) and includes them in the bot's context for higher-confidence patches.

  • Feature

    One-click "Apply via PR". When the bot's patch looks right, hit Apply — it pushes a new branch on your repo and opens a pull request titled with the fix. Review the diff, merge, redeploy. No copy-paste.

  • Feature

    Daily bot caps that scale with your plan: Free 5/day, Student 25/day, Pro 200/day, Enterprise unlimited — typical resolution costs us pennies per failed build, so we don't paywall the obvious help.

  • Security

    Build logs and repo files are aggressively redacted before they leave your project: GitHub PATs, AWS keys, JWTs, Bearer tokens, scheme://user:password@host URIs, and any *_KEY=, *_SECRET=, *_TOKEN=, *_PASSWORD= assignments are stripped server-side.

  • Improvement

    Project navigation is now genuinely instant. Tab clicks register on the first tap with no perceptible delay — we removed an architectural seam in the layout that was forcing React to re-evaluate the server boundary on every click.

  • Fix

    Layout no longer shifts horizontally when content grows past the viewport height. Pages with content longer than the screen used to jump sideways the moment the scrollbar appeared; the gutter is now reserved up front.

  • Improvement

    Comprehensive glass-card pass across every page. Cards are tighter, less padding-heavy, and visually consistent — same blur, same shadow, same radius across project, dashboard, marketplace, and settings.

  • Improvement

    Logo, breadcrumbs, and back-arrow are now persistent on every project subpage so you always know where you are and how to get out, even three levels deep in settings.

Capacity-aware deploys, fair sharing across plans, and a queue you can see — your builds always get the resources they were promised.

  • Feature

    Every deploy now reserves a slice of the host's CPU and memory before it kicks off. If the box is full, you get an immediate, friendly message instead of a build that quietly OOM-kills mid-way and asks you to retry.

  • Feature

    Fair sharing across plans. Free-plan workloads never starve paid teams, and Enterprise can use the whole host when the box is otherwise idle. Each plan has a published share of the cluster — Pro gets up to 60%, Enterprise can go up to 100%.

  • Feature

    Build queue. When the host is genuinely full, your build joins a FIFO queue rather than getting rejected outright. The dashboard surfaces your position; the queue drains automatically as capacity frees up.

  • Feature

    Capacity reservations are released the second your build finishes — success, failure, cancel, or skip — so the next user's deploy can start in seconds. A safety-net sweeper additionally reclaims any reservation orphaned by a dropped engine event.

  • Improvement

    All four ways of starting a build — the Deploy wizard, manual redeploy, rollback / promote, and the external deploy hook — now go through the same admission gate. There's no longer a side-door that lets a script bypass your plan limits.

  • Improvement

    Rapid-fire pushes to the same branch now release the previous build's capacity slot the moment they cancel it, so the new commit starts immediately instead of waiting for the next sweep.

  • Security

    GitHub webhook deliveries are now deduplicated by their delivery ID. If GitHub retries because of a transient network blip, we acknowledge the replay with 200 instead of triggering a second build that would double-charge build minutes.

  • Security

    Subscription rows once again persist on every successful payment. A subtle schema mismatch was rejecting them silently — paid teams kept their plan, but the audit trail behind it didn't write. Both the live insert path and the schema constraint are now in sync.

  • Fix

    External deploy-hook calls now stay inside your plan's concurrent-deploy cap. The hook used to slip past the limit because of a missing column join — pipelines that hammered the URL could starve the rest of the team.

  • Fix

    Cancel button now reliably cancels in-flight builds across every status, in any spelling. Builds that were caught between provisioning and running are no longer stranded.

  • Performance

    The capacity sweeper, queue drainer, and notifications retention job now run on their own schedules, so admission decisions don't have to wait for an unrelated cleanup pass to finish.

Sharper billing, real plan limits, faster log streams, accurate analytics, and cleaner project deletes — a deep correctness pass.

  • Fix

    Build minutes are now billed from the moment your build actually starts, not the moment it joined the queue. Even if your project sat behind another team's deploy for two minutes, your minute counter no longer starts ticking until your build does.

  • Fix

    If a build event ever goes missing in transit, we now safely cap that single deploy at your plan's monthly build-minute ceiling instead of rounding up to a worst-case fallback. Free-plan teams in particular can no longer accidentally drain their whole monthly quota on one stuck job.

  • Feature

    Plan-tier CPU and memory limits are now enforced on every deploy. Pro projects always get their full container budget, Free projects always stay inside theirs — even on manual “Edit container resources” overrides. Anything above your tier ceiling is rejected with a clear message instead of silently truncated.

  • Feature

    Per-team concurrent-deploy cap. If you push three branches at once on a plan that allows two simultaneous builds, the third one queues with a clear message instead of squeezing through and stretching the cluster.

  • Improvement

    The Usage page now shows the current calendar month's bandwidth, storage and build minutes — and never spills over to last month's numbers on the 1st of a new month. The dashboard “Build Mins” tile uses the same window, so the two views always agree.

  • Fix

    Per-project Analytics now actually populates. Deploys, success rate, build minutes and last-build time all read from the right columns, so freshly deployed projects no longer show an empty page for hours.

  • Improvement

    Analytics has a real empty state. New projects with no deploys yet see a friendly “push to see your first build” message instead of a flat-line chart that looks broken.

  • Improvement

    The container-vitals notice on Analytics is now dismissible. Once you've read it, click “Dismiss” and it stays out of the way on every project for that browser.

  • Performance

    Live build logs short-circuit instantly when a build is already finished and its log is saved. Re-opening a completed deploy renders the full log in one round-trip instead of streaming chunks back.

  • Performance

    Usage syncing pulls in-flight deploy data from the engine in parallel with a per-request timeout, instead of waiting on each deploy in series. A team with many active builds sees the Usage page settle in a fraction of the time, and a slow engine response can no longer hang the page.

  • Performance

    Real-time dashboard updates are now scoped to your active team and debounced, so cross-team activity no longer triggers needless re-fetches. The dashboard feels lighter on big workspaces.

  • Fix

    Deleting a project now tells you the truth. If a piece of underlying infrastructure can't be cleaned up immediately, the dashboard reports a partial-success result with a follow-up action — instead of saying “Project deleted successfully” while quietly leaving resources behind.

  • Improvement

    Manual redeploys, force-rebuilds and rollbacks now record exactly which kind of trigger fired the build, so the deploy history reads correctly and the build-minute math is anchored to a real start time.

  • Improvement

    Build notifications no longer duplicate when the engine re-delivers the same terminal event. Each (build × outcome × teammate) is now guaranteed-once, so a re-tried delivery doesn't spam everyone's inbox.

  • Security

    Tightened access on notifications: only the owner can delete their own. Combined with our existing read/write policies, the rule set on this table is now end-to-end owner-scoped.

  • Security

    First-party visitor analytics. The new tracking endpoint accepts pings from your deployed sites only, is rate-limited per visitor IP, and silently drops requests for projects that don't exist — so it can't be probed for project IDs.

  • Improvement

    Lighter dashboard queries on large teams. Project lookups are capped and chunked, so the dashboard stays snappy even when a workspace has hundreds of projects across servers.

A platform-wide hardening pass — tougher security, smarter billing, faster log streaming and more reliable deploys.

  • Security

    Deploy Hook tokens are now stored as one-way hashes. You see your secret exactly once at mint time, and we never read it back — so a leaked database snapshot can no longer be used to trigger your builds.

  • Security

    Build-status webhooks from LaunchVerse Engine are now replay-protected. Captured payloads can't be re-sent to falsely re-trigger your builds, and stale deliveries are rejected outright.

  • Security

    Account deletion is now atomic. Removing your account fully cleans up your profile and activity in one step instead of leaving stray records behind.

  • Security

    Stronger Content Security Policy across the dashboard. Every script tag now carries a per-request nonce, closing off a whole class of cross-site script-injection attacks.

  • Security

    The “Install LaunchVerse on GitHub” button always points at the right app for your environment — no more dead links when connecting a private repo.

  • Feature

    Plan billing now follows the full subscription lifecycle. Failed renewals, cancellations and expired cards correctly revert teams back to Free at the right time — no more accidental free upgrades when a payment lapses.

  • Feature

    Build-minute quotas are now actually enforced. Free teams get a clean stop at their monthly cap with a clear upgrade path, instead of metering past the limit.

  • Feature

    GitHub auto-deploy connection status is visible in Project Settings. You can see whether your webhook is healthy, why it failed if not, and reconnect with one click — no more guessing why pushes aren't deploying.

  • Performance

    Live build logs are dramatically faster when several teammates are watching at once. Multiple viewers now share a single stream, and polling automatically speeds up during active builds and eases off on idle ones.

  • Performance

    Faster project lookups and tighter data integrity in our database. Cleaner indexes and stronger relationships mean fewer edge cases when servers are reassigned or deleted.

  • Improvement

    Manual deploys and GitHub auto-deploys now share the exact same connection path, so a project that works on one always works on the other.

Take control of your build: pin your Node version, pick your package manager, enable Turbo and persistent caching — all auto-detected, all editable from the wizard or Project Settings.

  • Feature

    Pin your Node version. The wizard auto-detects from your repo and lets you lock in Node 18, 20 or 22 — or stay on Auto-detect. Pinning shaves 3–5 seconds off every build by skipping runtime detection.

  • Feature

    Pick your package manager. We auto-detect npm, yarn or pnpm from your lockfile and run the right install command. Switching to pnpm on lockfile-pinned projects is typically 30–50% faster.

  • Feature

    Turbo build toggle for Next.js and Astro projects. Flip it on for the faster Turbo build pipeline; it's off by default and a no-op on frameworks that don't support it.

  • Performance

    Faster installs, automatically. We now cache your installed dependencies between builds out of the box — a typical 90-second clean install drops to roughly 25 seconds on the next deploy. No setup required.

  • Feature

    Persistent runtime cache for Next.js and friends. Opt in to keep your build-tool and image-optimisation caches across deploys, so incremental builds and ISR stay warm. Each project gets its own isolated cache, and turning the toggle off cleans everything up.

  • Improvement

    Everything you set in the deploy wizard is editable later from Project → Settings, and PR previews inherit the same options from their parent project.

  • Improvement

    The Node version and package manager dropdowns now show what we'd pick on Auto, so you can either trust the defaults or override with eyes open.

Cleaner project URLs, easier custom domains, more reliable private-repo deploys, faster builds and clones, and a brand-new Analytics tab on every project.

  • Improvement

    Cleaner project URLs. New projects deploy to a friendly subdomain based on your project name — for example, a project named “Solana” lands on `solana.hosted.launchverse.app`. If the name is taken we append a short 4-character suffix (`solana-7k2p.hosted.launchverse.app`) instead of a long random hash. You can still attach your own custom domain at any time.

  • Improvement

    Custom domains can now CNAME at our stable proxy hostname (`proxy.launchverse.app`) instead of pointing at a raw server IP. Set the CNAME once and it keeps working even if our underlying infrastructure moves — no “please update your DNS” emails from us. Apex domains continue to use an A record.

  • Fix

    Private repositories now connect through our managed GitHub App. Tokens are minted fresh server-side for every deploy, so private-repo builds never silently break with a stale-credentials error after an hour. Existing projects keep working, with a one-step opt-in to the new connection.

  • Fix

    Vite and similar SPAs no longer return 502 Bad Gateway after deploy. We now use each framework's actual default port (Vite, Astro, etc.) and patch existing projects on redeploy, so legacy projects pick up the fix automatically without a recreate.

  • Performance

    Faster builds out of the box. We disable noisy install-time telemetry, audit pings and progress bars by default, knocking 5–30 seconds off most builds. Anything you set in your own environment variables still wins.

  • Performance

    Faster repo clones. By default we now skip submodules and Git LFS on clone, on top of our existing shallow-clone behaviour, roughly halving clone time on monorepos that don't need either. Projects that do can re-enable both from Settings.

  • Fix

    Your project's deploy URL now actually sticks on first deploy. We verify the URL was saved before declaring the build healthy and retry if it didn't, so the dashboard URL and the running site are always in agreement.

  • Fix

    Build Minutes shown on the dashboard and on the Usage page now always match — and refresh instantly when you switch teams instead of waiting on a debounce.

  • Feature

    New per-project Analytics tab. See deploys per day for the last 30 days, success vs. failure, success rate, total and average build minutes, and your configured CPU and memory ceilings — all on one page.

More reliable private-repo deploys, guaranteed branded URLs, ~40% faster preview thumbnails, smarter DNS instructions and a friction-free login.

  • Fix

    Private-repo deploys are more resilient. We now verify that your refreshed access token actually saved before kicking off a build, and retry alternative paths if it didn't — so private-repo builds work consistently across every infrastructure variant we run.

  • Fix

    Your project's branded URL is guaranteed on every deploy. We always write your LaunchVerse URL onto your project ourselves instead of trusting whatever name the engine generated, so the URL you see in the dashboard is always the one that actually serves traffic.

  • Performance

    Project preview thumbnails load ~40% faster, and we now show an instant shimmer skeleton while the image renders instead of a 5–10 second blank panel.

  • Fix

    Deleting a project now cleanly stops it first. No more orphaned containers continuing to run after a delete on a busy host.

  • Fix

    Custom-domain DNS instructions are smarter. We refuse to show private or container-only addresses as your “server IP” — falling back to your public platform IP or a clear support message — so you can never accidentally CNAME a public domain at an unreachable address.

  • Improvement

    CAPTCHA on login and signup is off. The extra friction wasn't worth it for the volume of bot traffic we were seeing.

Faster redeploys. Rapid pushes and double-clicks now do the right thing — only the latest commit builds, repeats are skipped and you get instant feedback the moment you click.

  • Performance

    Pushing twice in 30 seconds now only burns build-minutes on the latest commit. Older in-flight production builds are automatically cancelled and marked as Canceled in the dashboard before the new one starts.

  • Performance

    If a webhook fires again for a commit we've already deployed, we don't rebuild — the deployment is logged as Skipped instead. The fastest build is the one that doesn't run.

  • Improvement

    Clicking Redeploy while a build is already in flight no longer queues a duplicate; you're pointed at the existing build instead. Force Rebuild and Rollback are still explicit overrides.

  • Improvement

    Instant feedback on Redeploy and Force Rebuild. The moment your click resolves you see a banner with a link to the live build log — no more 3-second blank wait.

Branded production URLs from day one, one accurate deployment status, private-repo redeploys that actually keep working, readable build logs and faster default builds on small servers.

  • Feature

    Branded production URLs from day one. New projects deploy to a predictable LaunchVerse subdomain instead of a random engine-generated slug, so your URL is shareable from the very first deploy. Existing projects keep their current URL, with the branded one added alongside as a domain you can promote.

  • Fix

    One deployment status across the entire dashboard. Project Overview, Projects list and the Deployment terminal all read the same source — the “Build: Ready / Runtime: Deploying” disagreement is gone, and the dashboard no longer gets stuck mid-deploy when an event is missed.

  • Fix

    Private-repo deploys never go stale. We refresh your GitHub App token on every deploy, lifecycle action, rollback and promote — so containers never block on a “could not read username for github.com” error an hour after the last build.

  • Improvement

    Build logs are readable on first sight. We now unwrap structured engine output into clean stdout/stderr lines with timestamps and severity chips, instead of a raw JSON dump.

  • Fix

    Build-minute billing now reflects actual build time, capped at 120 minutes per build. Time spent waiting in queue and orphaned/cancelled builds no longer count against your quota.

  • Performance

    Faster builds out of the box. New projects come pre-configured with sane build defaults — caching on, shallow clone, sensible memory limits. You can override any of them under Project → Settings → Environment Variables, and your values always win.

Deploy Hook URLs on every project, friendlier wizard defaults and mobile UI polish.

  • Feature

    Deploy Hook URLs are here. Every project now has a private POST endpoint you can call from any CI/CD pipeline (GitHub Actions, GitLab CI, your own scripts) to trigger a build on demand. Rotate or revoke the token from Project Settings, and copy a ready-to-paste GitHub Actions example straight from the panel.

  • Improvement

    The deploy wizard now defaults to forgiving installs. The most common first-time-deploy failure was a missing or out-of-date lockfile — we now use `npm install` by default and let you flip Strict back on once your lockfile is in shape.

  • Improvement

    Mobile polish: the deployment-logs page header wraps cleanly on narrow phones (Promote and Fullscreen no longer overflow), and the project overview shows a small “Syncing with engine…” line under the runtime pill while a build is in flight.

Auto-deploys, PR previews, private repos and live build telemetry all hardened.

  • Fix

    Private-repo builds re-mint your GitHub App access token on every redeploy. Pushing more than an hour after your first deploy no longer fails with a stale-credentials error.

  • Fix

    Auto-deploys are reliable. Every GitHub push to a connected branch now triggers a production build, with the same fresh-token handling as PR previews.

  • Fix

    PR preview environments are on by default for newly created projects. Every pull request gets its own ephemeral deployment, no extra setup required.

  • Improvement

    The project overview reconciles deployment state every 12 seconds during a build, so the “Deploying / Building” indicator never gets stuck — even if you close the build-log tab early.

  • Improvement

    The Usage & Quotas dashboard now shows the exact limits we enforce on every plan — projects, databases, build minutes, per-project CPU/memory ceilings and concurrent previews, all in one place.

  • Improvement

    Build-log viewer is mobile-friendly. On narrow screens, the timestamp and severity chip stack above the message instead of stealing horizontal space.

A new Guides hub, FAQ page and 5 in-depth articles go live.

  • Feature

    New Guides hub at /guides with 5 long-form articles, including how LaunchVerse stacks up against Vercel, Netlify and the wider African cloud landscape.

  • Feature

    New FAQ page at /faq covering Naira billing, Bring Your Own Server, supported frameworks and refunds — with rich-result markup so it shows up properly on Google.

  • Improvement

    Guides are now authored in Markdown so we can ship new posts in minutes, not hours.

  • Improvement

    Sitemap and robots.txt always emit fully-qualified URLs and auto-discover new guides as we publish them.

A 17-PR security and platform sweep — encryption at rest, role-gated mutations, per-environment env vars, web shell and PR previews.

  • Security

    Account deletion now fully wipes your profile data instead of leaving stray records behind.

  • Security

    Your GitHub access tokens are encrypted at rest with AES-256-GCM. Even a worst-case data leak doesn't expose them.

  • Security

    Team invitations can no longer grant the Owner role. Promotion to Owner now requires an explicit, separately authorised step.

  • Security

    Sensitive actions — rollback, top-level domains, account deletion — now require Owner or Developer role before they can change anything.

  • Security

    Rate limits on lifecycle, environment variables, custom domains and account-deletion actions, to keep both you and the platform safe from runaway scripts and abuse.

  • Feature

    Per-environment environment variables. Staging, production and your custom environments can now each carry their own values for the same key.

  • Feature

    Web Shell tab on every project. Owners and Developers can drop into a live shell on the running container for quick debugging — no SSH setup required.

  • Feature

    PR previews tear themselves down when the pull request closes, with a per-team cap to keep things tidy. Find them all under Project → Previews.

  • Improvement

    Editing multiple environment variables in a row now triggers a single redeploy after you finish, instead of one rebuild per variable.

  • Improvement

    Dashboard pages respect your currently active team across the board — the first team you joined no longer wins by default.

  • Fix

    Plan upgrades route correctly even when two plans share the same Naira price. We dispatch on intent, not price tag.

  • Fix

    API errors now return a consistent shape across every route — useful if you're scripting against our public endpoints.

  • Performance

    Each team can now have only one active subscription. We cleaned up legacy duplicates and added a database-level guard so they can't recur.

Sitemap and robots.txt for Google Search Console.

  • Feature

    Public marketing and legal pages now publish a proper sitemap.xml and robots.txt for search engines. Authenticated dashboard, project and API surfaces stay disallowed.

  • Improvement

    The sitemap always emits absolute https:// URLs, so Google Search Console accepts it cleanly.

Want a feature on this list? Tell us what you need.