Changelog

Everything we ship, as we ship it: 117 changes since 28 Feb 2026.

RSS feed

October 2026

43 changes on 17 days

Feature

Keep your production site private

You can now choose who opens a project's production site, at its deploybase address and every custom domain: anyone, only your team, or your team plus anyone with a password you share. Production has its own password, separate from the previews one, and it is free on every plan. Private pages are not cached at the edge, so they load a little slower, and function addresses are not covered yet. The setting is on the project's Domains page.

Security

Custom domains redirect HTTP to HTTPS

Fixed custom domains answering plain HTTP requests unencrypted instead of redirecting them to HTTPS. Every custom domain with a certificate now redirects to HTTPS, including domains you added before today.

Feature

Redirects and rewrites from your _redirects file

Rules in a Netlify-style _redirects file now apply on your site: 301, 302 and 308 redirects, 200 rewrites, 404 rules, splats and placeholders, forced rules that override a file that exists, and domain-level rules such as www to your root domain. Lines that cannot be used show up as warnings in your build log instead of failing the deploy. Redeploy an existing deployment to apply its file. The guide is at docs.deploybase.eu/guides/redirects.

Security

Redirects no longer pass on another visitor's query

Fixed a redirect being cached with the query string of the first visitor who triggered it, so a later visitor could land on a URL carrying someone else's query. Redirects for requests with a query string are no longer cached at the edge.

Improvement

Faster deploys and instant domain checks

Builds start sooner and upload your site faster, and direct uploads and promotions finish quicker. Checking a custom domain now answers right away instead of after 10 seconds, and you can check again every 15 seconds.

Improvement

Faster dashboard pages and a per-endpoint API limit

Dashboard pages load faster, and a request that takes too long now ends with a clear message instead of a page that keeps loading. The API rate limit now counts per endpoint: 300 requests a minute per team, and 1,200 for file uploads.

Improvement

Build logs show the package manager version

Your build log now names the package manager and version that installed your dependencies, and whether it came from packageManager in package.json or the platform default. pnpm projects without a packageManager pin now build with pnpm 12.15.0 instead of picking up each new pnpm release.

Improvement

Server-rendered deploys no longer pile up

Server-rendered deployments nothing serves any more are now stopped to free resources, so new deploys no longer fail when old ones pile up. Rolling back to one of them starts it again first, which can take a minute or two; your three newest production deployments stay ready for an instant rollback.

Fix

Fixes and improvements

Builds deploy the commit you asked for, and certificate checks give the right advice.

  • Fixed some builds since 19 October building the branch's newest commit instead of yours
  • Fixed the certificate check telling correct domains to delete an AAAA record of the CDN
  • Fixed server-rendered sites not publishing on 23 October; live sites kept serving
Feature

Keep branch previews private

You can now choose who opens a project's branch previews: anyone with the link, only your team, or your team plus anyone with a password you share. Everyone else sees a sign-in page, and with single sign-on your colleagues continue with your company login. It is free on every plan. Existing projects stay public until you change them. Settings, General switches them all at once and sets what new projects start at.

Improvement

Free teams can add three viewers

Viewers no longer use a member seat. Free teams can add up to three, and every paid plan has unlimited viewers.

Fix

Certificate errors name where your domain points

Fixed a custom domain still pointing at another host being told its DNS was correct while its certificate never arrived. The dashboard now names the address your domain resolves to and the record to change, and after a day it checks every 6 hours until you click Retry the certificate.

Improvement

Connecting a private GitLab repository is guided

Connecting a private GitLab repository now starts with one question: deploy every push, or only when you click Deploy. You then get three steps and a link to a GitLab token form that opens filled in. Self-hosted GitLab is recognised and gets a token for just that project. Deploy tokens work too, with their username. If GitLab turns a token down, the message says why and what to tick.

Improvement

See exactly which commit was built

The build log now names the commit it checked out, and a deployment's page links that commit on your Git host. A retry rebuilds the same commit.

Feature

Your AI agent signs in with your account

You can now connect Claude Code, Cursor, Codex or another AI agent without creating an API key. The agent opens a browser window, you sign in and pick the team it may work in, and it works as you from then on, with at most the Member role. Agents you already connected with a key keep working, and keys remain the way to deploy from CI. Every signed-in agent is listed under Settings, API keys, where you can revoke it in one click.

Security

Removed team members stay removed

Fixed a member you removed, or one who left, getting back into your team the next time they signed in. This could happen to the person who created the team and to members who joined through single sign-on. A removed person now lands in another team they belong to, or on a page saying they no longer have access, until someone invites them again. Team API keys keep working after a member leaves, so rotate any key they had.

Security

Viewers no longer see personal data or build logs

Viewers on your team, such as a client's staff, still see projects, deployments and domains, but no longer see form submissions, the addresses a form notifies, build logs, function runs or other members' email addresses. Invoices are now visible to admins and owners only. The same limits apply in the API and to AI agents, and a viewer sees a short note where a panel is hidden. If a viewer needs any of this, give them the Member role under Settings, Members.

Feature

See your sites at a glance

The projects page and each project's overview now show a screenshot of your site as it is live in production, so you can tell your sites apart without reading their names. A new screenshot is taken a minute or two after each publish, and only your team can see it. A site that never finishes loading keeps its framework icon instead.

Feature

Visitor requests answered in the EEA by default

Requests to your sites, previews and new custom domains are now answered only by CDN locations in the EU, Iceland and Norway, so your visitors' IP addresses are handled inside the EEA. Visitors elsewhere still reach your site, from the nearest EEA location. Custom domains added before this update stay on worldwide delivery until an admin switches them under Domains, in the Serving region card, where any custom domain can also be set to worldwide. The privacy policy, data processing agreement and subprocessors page now describe this, and the agreement now says server logs are kept 7 days, not 30.

Fix

Fixes and improvements

Adding your own records to a domain whose DNS deploybase hosts works for every record type.

  • Fixed A records always failing with "Invalid request body" when you added one
  • A record that cannot be added now says why, not just "Failed to add DNS record"
  • Entering @ as the record name now adds it to your root domain
Improvement

Longer build time limits, with an early warning

Builds that time out or fail in your own build step now count toward build minutes, as successful builds always have. A failure on the platform's side and a cancelled build still never count. In return, a build can now run for 15 minutes on Free and 30 on every paid plan, up from 10. A build that uses 70% of its limit is flagged on its deployment page with its slowest step, so you hear about it before a build fails. A build that does reach the limit names the step that was running and how to speed it up.

Feature · beta

Read the caller's IP address in a function

HTTP functions can now read the IP address a request came from as context.clientAddress, for rate limiting or blocking abusive callers. The platform sets it, so a caller cannot fake it with headers of their own. It is null on queued calls and scheduled runs.

Fix

Fixes and improvements

Signing in is safer. If you were signing in while this update went out, sign in once more.

  • Fixed a flaw that let a hosted site sign you into someone else's account
  • The API no longer stores or logs your visitors' IP addresses when it rate-limits requests
  • Fixed the privacy policy saying access logs are kept 30 days; it is 7
Feature

See what each API key did

You can now see what each API key has been doing. API keys shows a key's last action in plain words, such as "Created a deployment of Repro Site, via MCP, 20 min ago", next to its requests over the last 7 days. Select that count for every request it made in the past 90 days, refused ones included. Requests made before this update may show without the project they touched.

Security

Agent API keys expire after 90 days

Keys made on the Connect your agent screen now expire after 90 days, so an agent you forgot about does not keep access forever. Agent keys you already have get the full 90 days, counted from this update, and keys you create on the API keys page still never expire. Rotating a key is now one click: same name, new secret, and the old one stops working at once. API keys now lists agent keys apart from CI keys and flags any that are about to expire or have not been used in 30 days.

Feature

Set up your AI agent with one prompt

You can now hand deploybase to Claude Code, Cursor, VS Code, Codex or any other AI agent by pasting one prompt: it reads a setup page, connects itself and deploys your project. Creating the API key still takes a person, so an agent without one asks you to sign up and make it, and signing up brings you back to the connect screen. Copy the prompt from the homepage or the agents page, or from Connect your agent when you start a new project, where it already includes a fresh key.

Improvement · beta

On-demand Astro pages on your custom domain

Astro pages that render on demand now work on your custom domains too. Sites already using @deploybase/adapter-astro get this without a redeploy.

Feature · beta

Render Astro pages on demand

You can now deploy Astro 7 sites that render pages on demand on Starter, Pro and Scale: install @deploybase/adapter-astro, add adapter: deploybase() to astro.config.mjs and push. Prerendered pages and assets are still served from the CDN, while on-demand pages, API routes, actions and server islands run on a function in Paris.

Improvement · beta

Functions are open to every paid plan

Starter, Pro and Scale teams can now serve HTTP functions without applying for the beta, at their plan's memory and concurrency. Requests are not counted while functions are in beta. Teams already in the beta keep their access, whatever their plan.

Improvement

Links outside your output folder are no longer published

A symbolic link in your build output is now published only when it points to a file inside the output folder. Other links are left out and listed on the deployment. Sites without such links are not affected.

Fix

Fixes and improvements

Two failed deploys now say what went wrong.

  • A functions folder that fails to bundle shows the bundler's error instead of "Upload failed"
  • An output folder that links outside your repository stops with a message that says so
Fix

Fixes and improvements

Signing in from the command line works again. If it failed for you, run deploybase login once more.

  • Fixed deploybase login showing "This page didn't load" when you pressed Allow in the browser
Security

Change your account email yourself

You can now change the email address you sign in with from Profile, without writing to support. If your team signs in through single sign-on, your address is managed there instead.

Security

Team email addresses confirm before they get mail

A new team notification address now has to confirm by email before it gets anything, because that mail carries form submissions and billing. Your owners still get failed payments, security warnings and account notices directly.

Feature · beta

Run a function on a schedule

You can now run a function on a timetable: add export const schedule = "0 * * * *" to its file and deploy to production. Times are UTC, and how often a schedule may run depends on your plan. A schedule that fails 10 runs in a row pauses itself and emails your team.

Improvement

A redesigned dashboard, built around your deploys

The dashboard is rebuilt around what you came to do. A project opens on its live site and what is left to set up, a deployment reads as a timeline with the log beside each step, and a failed build shows the reason and the fix, plus a copy for your AI assistant. Every page was checked against WCAG 2.1 AA; if something fails your keyboard or screen reader, email support@deploybase.eu and it is fixed first.

  • New projects start from a repository, a folder or your AI agent
  • Setup shows every value it read from your repository, and where from
  • A form's messages, spam and trash sit in one inbox
  • Usage shows each plan limit and what happens when you reach it
Security

New accounts confirm their email before they deploy

A new account can sign in and look around straight away, but deploying, adding a domain, creating a form or inviting someone now waits until its email address is confirmed, and until then it gets no team mail. A banner says what is waiting and resends the link. Accounts created before 3 October are not affected. This keeps every site on deploybase tied to an address someone actually owns.

Fix

Fixes and improvements

Builds that would publish nothing now stop, and a few pages say what they mean.

  • A repository that looks like a code library gets a warning in Setup before you deploy
  • A build with no index.html in its output fails instead of publishing an empty site
  • A build stopped by a platform restart says so, and that your code was fine
  • Opening the bell marks every update read, at any time of day
  • Free team owners get a way to hand over the team that works on Free
Security

Signing out ends your session, in one click

Sign out in the account menu no longer asks you to confirm. It now also ends the session with the identity provider, not only in your browser, so it can no longer be renewed. A sign-in link you copied, bookmarked or finished in another tab starts a fresh sign-in instead of failing after your password. Fixed a crafted link that could use a sign-out address to send you to another site.

Improvement

Emails that say what to do next

Every email from deploybase now has one readable design: the thing it is about up front, then the one next step. A failed build's email names the step that failed, the reason and, when a setting would fix it, the change to make, applied in one click on the build's page. Sign-up codes, password resets and the notice that your password changed now come from deploybase too, from one address, and a reply reaches a person. If a sign-up code expires, you can now ask for a new one. Your notification settings are unchanged.

September 2026

40 changes on 19 days

Improvement

A calmer sign-in, and sign-up in three fields

Sign-in, sign-up and every page you reach from an email or your terminal now share one calm, readable shape. Signing up asks for your email, your name and a password, with a Show button instead of typing the password twice. When your session ends, signing back in takes you to the page you were on, and the sign-in page lists what changed recently. How you sign in is unchanged.

Security

Sign-up no longer reveals who has an account

Signing up with an address that already has an account now shows the same "Check your inbox" as a new sign-up, so nobody can use the form to find out whether someone uses deploybase. The owner of that address gets an email instead, with links to sign in or reset their password, at most once a day.

Fix

Fixes and improvements

Fixed email confirmation links, and links that no longer work now say why.

  • Fixed email confirmation links sending you to sign-in instead of confirming your address
  • An ended invitation now names its team and who can send a new one
  • A share link that stopped working says whether it expired or was turned off
Feature · beta

Give your functions API keys and secrets

Your functions can now read your project's environment variables, so an API key no longer has to live in your repository. Each variable says where it is available: Build, Runtime or both. A Runtime variable reaches your production functions as context.env without a redeploy, and a secret only your functions need can stay out of your builds entirely. Existing variables stay build-only until you tick Runtime on the Environment page. You can also set them from your terminal with deploybase env, and AI agents get three new MCP tools that never return a value.

Fix

Fixes and improvements

Fixed problems with environment variables that could give a build the wrong value or break an import. Nothing to change on your side.

  • Fixed builds sometimes getting the All value of a key also set for Production or Preview
  • Fixed .env imports turning the lines of a multi-line value, like a PEM key, into variables
  • Tightened access checks on environment variables
Improvement

Auto-deploy pauses after ten identical failures

When ten builds in a row fail with the same error, deploys on push now pause for that project and your team gets one email, so a coding agent pushing to a repository that cannot build no longer triggers failing build after failing build. Your live site keeps serving, and deploys you start yourself still run. Failures caused by the platform or a timeout never count. Auto-deploy resumes after the next successful build or a change to your build settings, or with Resume auto-deploy on the project page.

Improvement · beta

See HTTPS traffic for each function

Each function's page now shows its HTTPS traffic over the last 24 hours: requests, typical response time, the slowest 1% and the server error rate. Until now only queued invocations were counted, so a function answering live traffic looked idle.

Fix

Cancelled builds no longer show as failed

Fixed cancelling a running build marking the deployment as failed and emailing you that the build had failed. A cancelled build now stops straight away and shows as cancelled, with no failure email. Builds you did not cancel fail and notify you as before.

Security

Confirm your code before approving a CLI sign-in

Signing in to the deploybase CLI now shows the code from your terminal and asks you to confirm it matches before you approve. Until now the approval page never showed the code, so a link sent by someone else could have approved their terminal on your account. If the codes differ, deny access and nothing is signed in. The same release closes several other findings from a security review.

  • Form CSV exports can no longer run spreadsheet formulas typed by a visitor
  • Saved git credentials are only ever sent to the host they belong to
  • Git repository URLs must use https; http and internal addresses are refused
  • Deleting your account now erases every record, not just the main ones
Fix

Fixes and improvements

Fixed problems with CLI sign-in and branch previews, and finished rolling out one-year caching for hashed framework assets. Nothing to change on your side.

  • Fixed approving a CLI sign-in failing with a server error
  • Fixed HEAD requests to preview URLs returning 502, which tripped uptime monitors
  • Fixed two projects' branch previews being able to claim the same address
  • Hashed framework assets now cache for a year on sites.deploybase.eu and previews too
Improvement

Chain build steps in your build command

Your build command now runs as a shell command, so you can chain steps with &&, pipe one command into another and set a variable inline, as in npm run lint && npm run build or NODE_ENV=production pnpm build. Until now anything beyond letters, digits and a few symbols was refused, which forced multi-step builds into a package.json script. The command still runs in your root directory after dependencies install, and a failing step fails the build. Existing build settings keep working unchanged.

Fix

Fixes and improvements

Fixed builds failing for reasons the dashboard did not explain. Build settings are now checked when you save, and a failed build names what actually went wrong. Nothing to change on your side.

  • Fixed Static HTML build commands failing with "command not found"; they now run with Node
  • Fixed invalid build settings saving silently, then failing your next deploy; saving now says why
  • Fixed failed builds showing two contradictory summaries; you now see one, with the real reason
  • Fixed large uploads being cut off after 60 seconds on slow connections
Feature

Set response headers with a _headers file

You can now set response headers per path on your site: a Content-Security-Policy on /*, CORS on an API folder, a year-long cache on your own fonts. Add a _headers file to your publish directory with a path pattern on one line and the headers indented below it, and the rules apply on production URLs, branch previews and custom domains from your next deploy. A line that cannot be used is skipped and named in your build log, so a typo never fails a deploy. Preview URLs stay hidden from search engines whatever the file says. The format is the one Netlify and Cloudflare Pages use, so an existing file moves over unchanged.

Improvement

Hashed framework assets cache for a year

Files your framework names with a content hash, under /_next/static, /_astro, /_app/immutable and /_nuxt, are now served with a one-year immutable cache, so returning visitors load them from their browser instead of asking the CDN again. HTML and every other file keep revalidating on each request, so a new deploy still shows up immediately. Custom domains get this first; sites.deploybase.eu and preview URLs follow in the next few days. Nothing to change in your build.

Feature

Pick one primary address for your site

Your site can answer on several addresses at once: your domain, its www version, and the sites.deploybase.eu address it started with. Search engines treat those as duplicates and split your ranking between them. Pick a primary address on your project's Domains page, and every other address redirects to it, keeping the rest of the URL intact. Your sites.deploybase.eu address redirects too, unless you use it for staging and turn that off. Nothing changes until you choose one.

Fix

Fixed missing pages returning 200 instead of 404

Fixed unknown URLs returning 200 OK with your 404 page as the body. Search engines read that as a soft 404, which can hold back indexing. Every site on deploybase, including custom domains, now returns a real 404 for a path that does not exist, and still serves your own 404.html as the page when you have one. Single-page apps are unaffected and keep returning 200 on deep routes. Nothing to change on your side.

Feature · beta

Sign in with your own identity provider

Connect Keycloak, Authentik or another spec-compliant OpenID Connect provider under Settings → Single sign-on. Paste the issuer address and deploybase reads its discovery document and fills in the endpoints, so you only add a client id and secret. Connecting a provider adds a way in, it never takes one away: email and password keep working for everyone on your team, so a setting typed wrong locks nobody out. Included on every plan, free included.

Fix

Fixed builds hiding the real reason they failed

Fixed builds failing with "Upload failed" and a hint to retry when the real problem was the output directory setting. The failure now names the directory that was missing and the one your build actually wrote to, so you can correct the setting instead of retrying a build that could never succeed. Fixed other build failures showing only the generic "Build failed. Check the logs above" line as well; the specific reason is shown again.

Improvement

Get an email when a push breaks your build

Build succeeded emails are now off for everyone, including teams that had them on; turn them back on under Settings → Notifications if you want them. A build that fails after a push now emails your team, at most once per project every six hours while it stays broken. Until now only builds started from the dashboard sent a failure email, so a push that broke your site went unreported until you looked. A deploy you start yourself is still mailed to you directly, every time.

Fix

Fixed rollbacks not reaching custom domains

Fixed custom domains keeping the previous build when you promoted an older deployment from the dashboard or the MCP tool. Your deploybase URL switched right away, but the domain you actually share stayed on the old build until your next push. Every promotion now moves your custom domains with it, and a rollback puts them back at the same time. Nothing to change on your side.

Feature

Switch between your teams

You can now belong to more than one team and switch between them from the team menu in the top bar. Everything you see, create or deploy belongs to the team shown there, and the choice sticks across tabs and your next login. Projects, domains and billing stay with the team they were created in; nothing moves when you switch. Accept an invitation from another team and it appears in the menu next to your own.

Fix

Fixed uploads failing at the last step

Fixed folder and CLI uploads failing at the very last step. Your files reached storage intact, but the check that confirms they landed was broken, so uploads were marked failed seconds after they had already finished. Every attempt since 13 September hit this, whether you dragged a folder onto the dashboard or ran the CLI. If you tried and gave up, it works now: upload again, with nothing to change on your side. Sorry for the failed attempts and the time they cost.

Feature

Give your team a name and a URL

Your team now has a name and a URL, so invitations say "join Acme on deploybase" instead of quoting an ID. Both were picked from your account; team owners can change them under Settings → General. If you rename the URL, the old one keeps working until another team claims it, and for 30 days only you can take it back.

Feature

See where your build is in the queue

When your build has to wait, the dashboard now shows how many are ahead, roughly when it will start, and each step forward as it happens. Pro and Scale builds go to the front of the line, as those plans promise. Fixed builds failing with a capacity error on 14 September when every slot was busy; they now wait their turn instead.

Feature

Publish a site by dragging in a folder

You can now publish a site by dragging its folder onto the dashboard. No repository, no terminal, no build step. It is the same upload the CLI does, with the same limits, and it produces an ordinary deployment you can roll back, share or point a domain at. Choose Upload a folder when you create a project.

Feature · beta

Run server code next to your site

You can now run server code next to your static site. Put a JavaScript or TypeScript file in a functions/ directory and push to your production branch: it is served at its own HTTPS hostname, and the same file can be queued through the API and polled for the result. The handler takes a standard Request and returns a Response, the shape Netlify, Cloudflare and Deno use. Functions scale to zero, so the first call after a quiet spell takes 2 to 5 seconds. This is a closed beta: a team owner or admin applies from the Billing page, where the invitation appears once your team is at least three days old. Newer team? Email support@deploybase.eu. Functions are free during the beta, with 30 days notice by email before that changes. Start at docs.deploybase.eu/functions.

  • One file under functions/, called over HTTPS or queued through the API
  • 512 MB, 60 second requests, up to 3 instances per function during the beta
  • No environment variables, scheduled functions or framework adapters yet
Improvement

Browse for your monorepo folder

The Root directory field now lists the folders in your repository so you can click the one you want instead of typing the path. It follows the branch you selected. Repositories connected by Git URL keep the text box, and so does a repository too large for us to list.

Security

TLS 1.2 or newer on every site

Every site on deploybase, including custom domains, now accepts only TLS 1.2 and TLS 1.3. Connections using the older TLS 1.0 and 1.1 are refused. Those versions were deprecated in 2021, and any site still accepting them is capped at a B on SSL Labs. Nothing changes for visitors on any browser released in the last decade, and there is nothing for you to configure: the change is already live on every domain we serve, and new custom domains get it from the moment they are created. If an old script or embedded device stops reaching your site, TLS is the first thing to check.

Feature

Connect Forgejo without storing a token

You can now connect a Codeberg or Forgejo repository without handing deploybase a token to keep. Choose No stored token when you add credentials, and deploybase signs a short-lived token for each deploy that your own instance verifies, so nothing long-lived sits on our side. It needs Forgejo 16 or newer: deploybase checks what your instance supports and only offers the option where it works, so Gitea and older Forgejo versions carry on with access tokens. Setup takes a few minutes under Authorized Integrations in your Forgejo settings, and deploybase gives you the exact rules to paste, scoped to that one repository and your account. Existing projects are untouched and keep their stored tokens until you switch.

  • Pick No stored token when you add credentials, on any repository whose instance supports it
  • Copy-paste rules limit the connection to one repository and your team
  • Token guidance now explains that a repository-scoped Forgejo token can clone but cannot create the webhook auto-deploy needs
Feature

Deploy a site you built yourself

You can now publish a finished site without a Git repository and without a build on our side. Run deploybase deploy ./dist, or point it at a zip, and the CLI uploads your files and puts the deployment live, with the URL printed when it is done. It works with any static site generator, with a site exported from a builder, and from a CI job that already produced the output: set DEPLOYBASE_API_KEY and add one line. Uploads go to production by default; pass --preview with a name to get a preview address instead. Uploaded deployments are ordinary deployments, so rollback, share links and custom domains work the same way. Limits are 25 MiB per file, 20,000 files, and 250 MiB per upload on the free plan or 1 GiB on paid plans. Uploads use no build minutes. This is the answer to the most common question we got after our last launch post: no, you do not have to use Git. Install the CLI with go install codeberg.org/deploybase/deploybase-cli@latest and see the guide at docs.deploybase.eu/guides/deploy-prebuilt.

  • deploybase deploy ./dist or deploybase deploy site.zip, production by default
  • Works from any generator, site builder export or CI job, no repository needed
  • A .deploybaseignore file keeps build leftovers off the CDN; .git, node_modules and .env files never upload
  • --skip-unchanged exits without a new deployment when nothing changed
Feature

Rename your preview hostname

You can now change the label in your branch preview addresses. Every preview of a project lives at {branch}-{label}.previews.deploybase.eu, and until now that label was fixed to the name your project had when you created it. Open Project, then Settings, then Preview hostname, pick a new label, and every open preview moves to its new address right away, with nothing to rebuild. The old addresses stop working, so update bookmarks, CI scripts and any callback URLs that point at a preview. The freed label stays reserved for your team for 30 days, so you can switch back. Nothing changes until you edit the field. Preview labels are also unique across deploybase now, so two teams can no longer end up sharing one preview address.

  • Change the preview label under Project settings, with an availability check as you type
  • Open previews move to the new address immediately, no rebuild
  • The old label is held for your team for 30 days
Fix

Fixes and improvements

Fixed the billing page sending you to a page that did not exist when you hit your preview or share link limit. The Manage previews and Revoke a link actions now open your projects, where a preview is deleted from the project page and a share link is revoked from its deployment. If you have several projects, the new deployments page lists every open preview in one place and lets you retire them from there.

  • Fixed the Manage previews and Revoke a link actions on the billing page landing on a missing page
Feature

See every deployment in one place

You can now see every deployment across your projects on one page, at app.deploybase.eu/deployments. Deployments are grouped by project, each header shows what is live right now and how many branch previews are open, and you can retire a preview straight from the list instead of opening each project in turn. Search by branch, commit or project, filter by status or type, or switch to a plain newest-first timeline. Deleting a preview only retires its URL: the deployment stays in your history and production is never affected. The page shows your 100 most recent deployments; pick a project to look further back within it.

  • Grouped by project, with what is live and the open preview count in each header
  • Delete a branch preview from the list, with production always protected
  • Search, status and type filters, and a newest-first timeline view
Feature

Report abuse on any site we host

Anyone can now report a site hosted on deploybase at deploybase.eu/report-abuse, with or without an account. Give us the URL, what is wrong, and an email address; you get a confirmation straight away and we review every report within two business days. This is the notice-and-action channel the EU Digital Services Act asks of hosting providers, and it is also how you reach us if someone is impersonating your brand on our platform. Our acceptable use policy now spells out what we do not allow, from phishing pages and malware to doorway pages built to game search rankings, and how we respond: a warning where the risk allows, then suspension, then removal. Existing sites are unaffected unless they break those rules. If you think we got a decision wrong, write to abuse@deploybase.eu and we will look again.

  • Report form at deploybase.eu/report-abuse, no account needed
  • Confirmation by email, review within two business days
  • Clearer acceptable use policy with the enforcement steps written down
Feature

Product updates in your dashboard

You can now follow what changes in deploybase without leaving the dashboard. A bell in the top bar lists the latest changelog entries and any notices from us, with a dot until you have opened it. Each entry links to the full text on this page, and a notice that needs your acknowledgement, such as updated terms, asks for it right there. You start with nothing marked unread, so joining a team does not greet you with months of history. Everything in the bell is also on this page and in its RSS feed, so nothing moves out of reach.

  • Changelog entries and notices in one place, newest first
  • An unread dot, cleared once you open the bell
  • Acknowledge a notice that needs it without leaving the page
Fix

New teams with a taken name could not sign in

Fixed sign-in failing with a server error for a new organisation whose name matched an existing team's. The first visit tried to create the team under a name that was already taken, failed, and every page after that showed the same error, so you could not get past it by trying again. New teams now get a slightly longer address when the short one is taken, and teams already set up are not affected.

Fix

New sites got no public URL

Fixed projects created since 1 September deploying without their sites.deploybase.eu address: the build finished, but the dashboard showed no URL and the site returned a 404. New branch previews and share links had the same problem, and single-page apps deployed in that window did not get their deep-link fallback. Existing sites were not affected. The cause was on our side: the deep-link fix from 1 September configured CDN rules in a way our provider accepts for updates but rejects for new sites. If a project you created this week has no public URL, deploy it once more and the address appears within a minute.

Fix

Reloading a deep link no longer 404s

Reloading or sharing a URL like yoursite.eu/dashboard/settings on a single-page app returned a 404 instead of your app. The first page load worked, so it only showed up on a refresh or a pasted link, and it affected production URLs, branch previews and custom domains alike. Custom 404.html pages had the same problem. The cause was on our side: the CDN rule that falls back to your app shell was configured in a way that never actually fired. If your build output has a 200.html, a _redirects catch-all, or a 404.html, redeploy once after this release and deep links will work.

Feature

Our live platform numbers, now public

deploybase.eu/open now shows the same numbers we look at every day: deployments, build minutes, success rate, bandwidth, form submissions and more, straight from the production database that serves the product. Nothing on the page is hand-edited, and we will not quietly drop a metric in a bad month. Every figure is served by a public API endpoint, so you can verify our claims yourself instead of taking our word for them. Only aggregate platform totals appear, never anything about your team or your sites. The page also explains why we publish this; the short version is that we think the internet gets better when companies show their work.

  • A live board of deployments, build minutes, success rate, bandwidth, forms and custom domains
  • Every number is verifiable: curl api.deploybase.eu/api/v1/public/stats, no API key needed
  • Platform totals only. Your team's data never appears
  • deploybase.eu/open-source now says plainly where open-sourcing stands: a real goal, no dates yet
Fix

Fixes and improvements

Eight fixes this round: five from the onboarding feedback you sent, three from our own audits. Thank you for the sharp reports.

  • Fixed deleting a branch preview silently failing when the branch name contains a slash, so previews for feature/login-style branches can now be cleaned up like any other
  • Fixed a project's shown production URL going stale after changing its subdomain: the site itself moved correctly, but dashboard links and the copy button kept the old address until the next deploy
  • Fixed the repository picker swallowing the first click or two when connecting a GitHub repo: the panel closed without selecting anything. One click now selects
  • Fixed the deploy wizard reading "Auto-detectfrom pnpm-lock.yaml" — the missing space is back
  • The docs are now linked from the deploybase.eu header and a new Resources footer column, so finding them no longer depends on knowing they exist
  • Fixed the copy button on docs code blocks sitting one line too low, sometimes spilling past the edge of the block
  • Fixed account signup stalling on the bot check: it now starts solving the moment you click into the email field, instead of waiting until submit. Small trade: the cursor is no longer pre-placed
  • Removed dead links from the framework deploy guides and the docs footer, which pointed at pages and repos that don't exist

August 2026

17 changes on 10 days

Feature

Send form submissions to someone outside your team

You can now add any email address as a recipient of a form's submissions, no deploybase account needed. Add your client's address in the form's settings and they get one confirmation email; nothing is sent until they click it. After that, every submission arrives in their inbox with the full content, so they never have to log in anywhere. Existing forms are unchanged until you add a recipient, and adding or removing one needs the admin role. Built for agencies: you run the site, your client answers the enquiries.

  • Confirmed opt-in: one verification email, one click, nothing sent before it
  • The whole submission in the mail, not a log-in-to-view notification
  • One-click unsubscribe on every email, honored immediately
  • If an address bounces or marks our mail as spam, we stop sending automatically and show it on the form's settings page
Security

Bot protection without a third party

Creating an account is now protected against automated signups, and the check runs entirely on our own infrastructure. There's no puzzle to solve and no images to click — your browser quietly does a small piece of maths while you fill in the form. Nothing about you is sent to Google, Cloudflare, or any other bot-detection service, because there isn't one in the path. Signing in and signing up were already free of third-party requests; this keeps them that way. One thing to know: signing up with email and password now needs JavaScript enabled. Signing up with GitHub works either way.

  • No puzzle, no images, nothing for you to click
  • Our subprocessor list did not change to make this work — check it at deploybase.eu/subprocessors
  • Built on ALTCHA, an open-source project from Brno, Czechia, running on our own servers
Improvement · beta

Nameserver changes confirmed within a minute

When you point a domain at our nameservers, we now confirm the change by asking your domain's registry directly instead of waiting for public DNS caches to catch up. Delegation is typically confirmed within a minute of your registrar applying the change, where it could previously take hours. A new Check now button runs the same check on demand and, if your domain still points elsewhere, shows the exact nameservers we found so you know what's left to change. We also warn you when DNSSEC is enabled at your registrar, which silently blocks delegation until you turn it off there. Applies to domains using 'We host your DNS'; domains already connected are unaffected.

Fix

Fixes and improvements

Four fixes for problems you reported this week: three in custom domains, one in the docs. All four were reported within a day of someone hitting them. Thank you for the sharp reports.

  • Fixed adding a domain with 'We host your DNS' never showing the two nameservers to set at your registrar: the domain looked connected seconds after you added it, before you had changed anything, leaving no way to complete the setup. The delegation step now stays visible until your nameservers actually point at us. If you tried the option since yesterday and hit this dead end, it works now
  • Fixed the domains page counting your domains in the header while the list below stayed empty. Domains waiting on nameserver delegation or an SSL certificate now always show up, together with the setup steps needed to finish connecting them, and the page keeps refreshing itself until they are live
  • Fixed the SSL status claiming your DNS was correct when your DNS provider had appended your own domain to the CNAME value, the classic missing-trailing-dot mistake. The error now names the exact record to fix instead of telling you to wait
  • Fixed docs links without a trailing slash redirecting to an unreachable docs.deploybase.eu:8080 address, including every API reference link inside the docs
Feature · beta

We can host your DNS

You can now let deploybase host your domain's DNS, in beta. Choose 'We host your DNS' when adding a custom domain and delegate your nameservers to us once. The apex domain and www are wired up automatically, SSL is issued without any verification records, and your domain stays registered where it is. This is the way around the classic apex problem: if your DNS provider doesn't support ALIAS records, the root domain simply couldn't point at us before. Domains already connected keep their current setup. This option appeared in our docs earlier but was never switched on in production. It's enabled now.

Improvement

See exactly who processes your data

Every subprocessor we use is now listed publicly at deploybase.eu/subprocessors: what each one does, where it runs, and the legal basis for any data transfer. Each vendor has a stable deep link you can cite in your own privacy policy or DPA review. Most platforms bury this in a PDF or behind a sales call. We think you should be able to check it in ten seconds, no signup, no email gate.

Feature

SPA fallback and custom 404 pages

Deep links into your single-page app now serve your app instead of a 404 — reload /dashboard/settings on a SvelteKit or React SPA and it just works. Ship a 200.html in your build output, or a _redirects file with the catch-all /* /index.html 200, and every unknown path falls back to your app on production URLs, branch previews, and custom domains alike. Custom 404.html pages now also work on custom domains. If a site has both, the SPA fallback wins, matching what you'd expect coming from Netlify. Existing projects pick this up on their next deploy or promotion — nothing to configure. One honest note: custom 404 pages are currently served with a 200 status code. Reported by one of our first users.

Fix

Docs search is back

Fixed search on docs.deploybase.eu hanging on 'Searching…' forever — the search index was silently missing from our docs builds, and every release now verifies it exists before shipping. The docs also got a redesign along the way: a landing page that shows the path from git push to live, clearer navigation with visibly clickable links throughout, and full keyboard and screen-reader support meeting WCAG 2.1 AA. Thanks to the user who reported the broken search.

Improvement

Open your live site straight from the projects list

Clicking a project's URL in the projects list now opens your live site, and clicking the repository name opens the repository — each in a new tab, marked with a small external-link icon. Clicking anywhere else on the row still opens the project itself. Projects with a failed or in-progress build now sort to the top of the list, so anything that needs your attention is the first thing you see. The framework badge is gone (the icon already told you), and the docs are now one click away from the top navigation, wherever you are in the app. Suggested by one of our first users.

Fix

Fixes and improvements

Reliability fixes across billing — mostly felt when a payment didn't go through cleanly the first time.

  • Fixed usage periods staying frozen after you subscribe, so paid plan limits now reset every month as intended
  • Fixed accounts keeping paid features indefinitely after a failed payment — access now pauses until the payment issue is resolved
  • Fixed a completed payment occasionally leaving your subscription inactive; upgrades now apply reliably, even if a confirmation arrives out of order
  • Clearer error messages from the payment provider when an action can't complete, instead of a bare 'Bad Request'
Feature

Build with Bun

You can now use Bun as your project's package manager. If your repository has a bun.lock or bun.lockb lockfile, builds detect it and install dependencies with bun install, frozen to your lockfile so versions resolve exactly as they do on your machine. You can also pick Bun explicitly in your project's build settings. As with every package manager, dependency lifecycle scripts stay disabled during install, so a compromised package can't run code in your build. Existing projects are unaffected, and if you set a custom build command as a Bun workaround, it keeps working — you can simply remove it now.

Feature

Delete your account yourself

You can now erase your account and everything in it from Settings → Account, covering your right to erasure under GDPR Article 17 without emailing support. Requesting deletion starts a 14-day grace period: nothing is removed during it, your sites stay online, and you can cancel with one click. Once the period ends, erasure runs automatically and removes your projects, deployments, stored files, custom domains, form submissions, team data, and your sign-in identity. Invoices stay with Creem, our payment provider, for the 7 years tax law requires, and we keep one anonymous record that the deletion happened. Download your data first if you want a copy.

  • 14-day grace period, cancelable with one click
  • A standing banner shows the deletion date on every page until then
  • The page states plainly what is erased and the little that is kept
Improvement

Change your plan without a new checkout

You can now upgrade, downgrade, or switch between monthly and annual billing directly from the billing page. Changes apply immediately: the unused portion of your current plan is prorated against the new price and settled on your existing payment method, with no new checkout. Previously, changing plans as an existing subscriber could start a second checkout and, in the worst case, charge you twice. That path is now closed: if you already have a subscription, starting a checkout is refused and the billing page routes you through the plan change instead. Moving to the Free plan works through cancellation, so you keep your paid features until the end of the period you've paid for.

  • Upgrades and downgrades apply instantly, prorated to the day
  • Switch between monthly and annual billing in one click
  • Fixed plan changes creating a second subscription and double-charging in rare cases
Feature

Download the data we hold about you

Settings → Account now shows every record that identifies you as a person — your profile, the teams you belong to, invitations sent to your address, and feedback you've sent us — and lets you download the lot as JSON. That covers your right of access and data portability under GDPR Articles 15 and 20, without emailing support and waiting. Work owned by a team, like projects, deployments and forms, isn't part of it: those stay with the team when you leave. Downloading changes nothing, and support@deploybase.eu still handles anything the page doesn't cover.

  • See what we hold in plain language, before downloading anything
  • Covers every team you belong to, not just the one you're viewing
  • The file explains what it contains, what it leaves out, and why
Improvement

Faster sign-in with passkeys

If your account has a passkey, deploybase now asks for it as soon as you've entered your email — one tap with Face ID, Touch ID, or your security key instead of typing a password. Password and two-factor sign-in keep working exactly as before. You can add a passkey any time in your account's security settings.

Fix

Fixes and improvements

Smaller updates from the past few weeks across billing, forms, builds, and domains.

  • Fixed paid subscriptions occasionally staying inactive after a completed checkout — plan upgrades now apply as soon as your payment is confirmed
  • Fixed form submissions from JavaScript-rendered sites being blocked by cross-origin checks
  • Fixed the form endpoint URL showing a localhost address in the dashboard
  • Fixed standard install commands being rejected by overly strict build validation
  • Build failure emails now reach the team owner when no notification address is configured
  • Custom domains are now verified end-to-end before being marked active, so an active domain is one that is actually serving your site
  • Redesigned the billing page with a clearer statement view and usage meters
Feature

Sign in with GitHub

You can now create your deploybase account and sign in with GitHub — no password to invent, and you're ready to connect a repository the moment you land in the dashboard. Existing email accounts keep working unchanged.

July 2026

2 changes on 2 days

Feature

Your package manager, detected automatically

Builds now detect your package manager from your lockfile — pnpm, npm, Yarn, or Bun — and install dependencies with it, so lockfiles resolve exactly as they do on your machine. Existing projects keep their configured install command; you can override the detected choice in your project's build settings.

Feature · beta

Handle form submissions without a backend

You can now point any HTML form at a deploybase endpoint and collect submissions. They're stored in the EU, filtered for spam without CAPTCHAs, and emailed to your team.

  • Copy-paste one endpoint URL into any form — static, SSR, or JS-rendered
  • Spam is quarantined without reCAPTCHA or Akismet — review it with one click
  • Submissions stored in the EU (Paris) with auto-purge retention and an erasure tool
  • Formspree-compatible reserved fields — migrate with a URL swap
  • Email notifications, with smart digests for busy forms

April 2026

2 changes on 2 days

Feature · beta

Deploy from your terminal

You can now deploy and manage your sites without leaving the terminal. Log in, trigger deploys, tail build logs, check status, and open your site — all from the CLI.

  • One-command login via your browser
  • Deploy from any Git-linked project directory
  • Tail build logs and watch deployment status in real time
  • List projects, view deployments, open sites directly
Feature · beta

Invite your team

You can now collaborate on deploybase with your team. Invite members via email, assign roles (owner, admin, member), and control who can deploy, manage settings, or handle billing.

  • Invite teammates via email with one-click acceptance
  • Owner, admin, and member roles with granular permissions
  • Transfer ownership or remove members from settings

March 2026

12 changes on 7 days

Improvement

Automatic VAT for all EU countries

Correct VAT is now applied automatically for every EU country, with proper invoices for every transaction. No manual tax configuration needed.

Feature

Predictable pricing, no overages

Every plan now has generous hard limits. No overages, no variable charges — your bill is the same every month.

  • Free: 100 GB bandwidth
  • Starter: 500 GB bandwidth, 1,000 build minutes
  • Pro: 1 TB bandwidth, 3,000 build minutes
  • Scale: 2 TB bandwidth, 10,000 build minutes
Feature

Environment variables

You can now manage environment variables per project. Variables are encrypted at rest and injected at build time for all supported frameworks.

  • Encrypted at rest, injected at build time
  • Works with every supported framework
  • Per-environment variable support
  • Bulk import and export
Feature

Auto-deploy on push

Push to GitHub, GitLab, or Codeberg and your site deploys automatically. Each provider's webhook format is supported natively with signature verification.

  • GitHub, GitLab, and Codeberg support
  • Branch-based auto-deploy rules
  • Webhook event history and debugging
Feature

Guided project setup

A step-by-step project creation flow that detects your framework, configures build settings, and sets up Git webhooks — all in one smooth experience.

Feature

Free, Starter, Pro, and Scale plans

Four plans with transparent EUR pricing. No per-seat charges — bring your whole team on Pro and Scale.

  • Free with 1 site and 100 GB bandwidth
  • Starter at €9/mo for solo developers
  • Pro at €19/mo with team access
  • Scale at €49/mo with unlimited members
Feature

Manage projects from your AI assistant

You can now manage deploybase projects directly from Claude, Cursor, or any MCP-compatible AI assistant. Check project status, trigger deployments, manage domains — all from your AI workflow.

  • Full project lifecycle: deploy, rollback, manage domains
  • Migrate from Vercel, Netlify, and Cloudflare Pages
  • API key and OAuth authentication
  • Hosted at mcp.deploybase.eu
Feature

deploybase is live

You can now sign up and start deploying. Compare features, pick a plan, and get your first site live in under two minutes.

Improvement

Clearer build logs

Build output now shows distinct stages (clone, install, build, deploy) with error classification, so you can pinpoint failures faster.

Feature

Privacy policy and terms of service

Our privacy policy and terms of service are published. GDPR-compliant data handling, transparent about what we collect and why.

Feature

Email notifications

Get notified by email when your builds succeed or fail. Manage notification preferences per type from your account settings.

February 2026

1 change on 1 day

Infrastructure

Hosted in the EU

All data stored and processed in Paris, France — compute, database, and authentication. Sites delivered globally via Bunny.net CDN.

  • Kubernetes compute in Scaleway Paris
  • High-availability PostgreSQL with automated failover
  • Global CDN delivery via Bunny.net (100+ PoPs worldwide)