Skip to main content
June 1st, 2026
TeamsSecurityDatabasesMetricsFramesCI/CDPreviewsDashboard

Teams, a second factor for your account, more database engines, and metrics you can trust

Big release this time. You can now invite people to work on your projects, lock down your account with multi-factor auth, run MySQL, MongoDB, or Redis right next to Postgres, and read a metrics page that finally tells you the truth about your apps. There’s also a builder you can choose, deploys from any folder in your repo, and a stack of smaller fixes.

Teams

You don’t have to share a login anymore. Spin up a team, invite people by email, and decide exactly what each person can touch.
  • Invite a teammate from the new Teams page. They get an email, click to accept, and they’re in.
  • Grant access per project, with a role: viewer (look, don’t touch), member, or admin (manage people and access).
  • You stay the owner. Projects, billing, and ownership don’t move when you add people, so it’s always clear who pays and who’s in control.
  • Pull someone’s access the second you need to. Unaccepted invites expire on their own after 7 days.

Multi-factor authentication

Add a second factor so a borrowed GitHub session isn’t enough to get into your account.Turn it on in your account settings under Two-factor authentication. Your options:
  • An authenticator app (1Password, Google Authenticator, anything TOTP).
  • Touch ID, Face ID, Windows Hello, or a hardware security key, via passkeys.
  • Recovery codes for the day you lose your phone. Save them somewhere safe, and regenerate a fresh set whenever you want.
With it on, signing in through GitHub drops you on a quick challenge screen before the dashboard loads. Setup takes about a minute.

MySQL, MongoDB, and Redis

Last time we said more database engines were on the way. Here they are. Pick your engine when you create a database:
  • PostgreSQL (16 or 15)
  • MySQL (8)
  • MongoDB (7 or 6)
  • Redis (7)
The database’s Connect panel shows the right details for whatever you picked: user, password, and database name where they apply, plus a ready-to-use connection string. Wiring it into an app works the same as before: point the app at the database and Nubo drops a DATABASE_URL in on the next deploy. See Databases.

A metrics page you can trust

We rebuilt the Project Metrics page, and more to the point, we fixed what it was telling you.
  • The numbers are right now. The old page quietly left push-triggered deploys out of your counts and mis-averaged per-Frame usage. Both fixed, so deploy counts, success rates, and resource usage match what actually happened.
  • New: network egress. See how much data your apps are sending out, for the whole project and per Frame.
  • An easier read. A six-stat summary up top (CPU, memory, egress, deploys, success rate, deploy speed), a fleet-health bar, usage charts for the last 7 days, and a per-Frame table you can sort.
  • It all streams in with skeletons instead of staring at a blank page while it loads.

Deploy from a subdirectory

App lives in a subfolder of your repo? Set a source directory and Nubo builds from there instead of the root. Handy for monorepos.Set it when you first create a Frame (in the deploy wizard, quick create, or the new-Frame modal) and change it later in Frame Settings. Works on managed cloud and on your own agents.

Choose your builder

Frame Settings has a new Builder option:
  • Paketo: our default, Cloud Native Buildpacks.
  • Raypacks (Beta): our own daemonless builder, built for faster builds. Still in beta, so expect the occasional rough edge.
Pick it per Frame; it kicks in on your next deploy.

Previews, now fully managed

Preview deployments grew up. Switch them on in Frame Settings and every pull request gets its own running copy on an HTTPS *.nubo.onl subdomain. You control:
  • What triggers one: pull requests, branch pushes, or a branch allowlist.
  • How long it sticks around before idle cleanup (7 days by default).
  • Per-preview env overrides, so a preview can point at staging credentials.
Nubo writes back to GitHub too, with commit status checks and a PR comment carrying the preview link. Close the PR and the preview tears itself down. See Preview deployments.

Emails got a redesign

Our transactional emails (welcome, build and deploy failures, domain changes, support replies) now wear the Nubo look. Best part: when a build fails, the email shows the actual log inline with the errors highlighted, so you can usually spot what broke without opening the dashboard.

Smaller things worth mentioning

  • Storage now shows up on your billing page, next to compute and egress, so nothing about your usage is hidden.
  • Login and sign-up moved to one tidy /auth page.
  • Announcement banners no longer run off the screen: long ones scroll inside the card while the header and dismiss button stay put.
  • The dashboard got a consistency pass, with shared components and a cleaner console look across pages.
Questions or feedback: support@withnubo.com or Discord.
May 28th, 2026
DatabasesCLI

Managed Postgres, and a CLI for your terminal

Two things this time: you can spin up a managed Postgres database right next to your apps, and there’s now an official command-line tool for checking on your account without opening the dashboard.

Managed Postgres databases

You don’t have to run your own database anymore. Create a managed Postgres from a Project, pick a size, and Nubo hands you a connection string. It shows up alongside your apps as a Frame, so it starts, stops, and appears in your lists like everything else, and its data sticks around between deploys.Wiring it into an app is one step: point the database at the Frame that needs it and Nubo drops the connection string in as an environment variable (DATABASE_URL by default). Your app picks it up on its next deploy.More engines are on the way. For now it’s Postgres, which covers most of what people reach for. See Databases.

A command-line tool

There’s now an official CLI. Install it with one line:
curl -fsSL https://dl.withnubo.com/nubo-cli/install.sh | bash
Sign in with nubo login, then browse your projects, Frames, databases, volumes, and agents straight from the terminal, either with quick ls commands or a full-screen interactive view with live logs and metrics. Add --json to anything to pipe it into a script.This first version is read-only: it’s for looking, scripting, and keeping an eye on things, not yet for deploying or editing. Those come next. See the CLI guide.Questions or feedback: support@withnubo.com or Discord.
May 20th, 2026
VolumesPlansDomainsFramesAgentsDashboard

Storage that sticks around, plans that fit, and a new home at console.withnubo.com

A lot landed since last time. Frames now have storage that lives between deploys, Nubo has real plans you can pick from, custom domains spin up faster with a guided setup, and the dashboard has moved to a new home.

The dashboard is now at console.withnubo.com

The new address is console.withnubo.com. The old one still works and forwards over, so your bookmarks aren’t broken. Update them when you get a chance.

Volumes

Frames can now keep data between deploys. Attach a volume, give it a mount path, and your files are right there. Redeploy, rollback, restart, doesn’t matter: the data stays put.Sizes go up to 1 TB. Each volume attaches to one Frame at a time. To move it to another Frame, detach it first. Spin one up from the new Volumes page on any Project, or from Quick actions in the sidebar.Billing runs by the hour for every volume you’ve provisioned, whether or not it’s attached. Detaching doesn’t stop the meter. Delete the volume to stop it.

Pick a plan that fits

Nubo now has plans. Every new account starts on a 7-day Trial on us, so you can build something real before you commit. The Trial runs at standard Basic-level compute.
  • Basic: side projects and smaller apps.
  • Platinum: bigger Frames, faster builds, more storage.
You can pick, change, or cancel a plan any time from the new Billing page in your account settings. It’s also where you’ll find invoices, payment methods, and a running view of your usage.If a card fails, your Frames keep running for a 7-day grace period while we try again. Sort it out and you’re back to normal automatically. No surprises.

Custom domains, set up in a minute

Adding a custom domain is now a 4-step wizard inside your Frame’s settings. Type the hostname, copy the DNS record we give you, and we issue your certificate while you watch. Most domains go live in under a minute. HTTPS is on by default.

Edit a Frame’s port

Switched the port your app listens on? Open Settings, change the number, save. We roll the Frame for you. No more deleting and recreating just because of a port.

Cleaner Frame settings

The Frame’s Settings tab got a real rework. Everything sits in clear sections (General, Source, Runtime, Environment variables, Custom domains, Danger zone), with a sticky save bar so you always know if you have unsaved changes. Environment variables now have a reveal toggle, and the Danger zone actually looks like one.

Agents, smoother all around

Running your own servers? A few things got nicer:
  • A new Agents page lists every server you’ve registered, with live status.
  • Registering a new agent walks you through the install command and shows your token once, with a copy button.
  • When you create a Frame, you now explicitly pick Nubo Cloud or one of your agents as the deploy target.
  • Delete an agent straight from the row, no extra clicks.
The agents list also moved into your account settings where it belongs.

Logs that load instantly

Open a Frame’s Logs tab and you’ll see the last few minutes of output right away, before the live tail kicks in. No more empty pane waiting for the next line.

In-app announcements

We can now post short updates directly inside the dashboard so you don’t have to hunt down release notes to know what’s new. Dismiss any one you’ve already read, and replay them later from your settings if you want.

A fresh login page

The login screen got a new look with our logo in 3D. There’s a small easter egg hidden in there too. Have a click around.

Smaller things worth mentioning

  • Stopped Frames no longer get counted as broken on your dashboard.
  • Runtime logs no longer duplicate themselves when reconnecting.
  • The New Frame modal has a clearer source-and-target flow.
  • New Spaces get a friendly random name instead of “Default” every time.
  • Settings pages are grouped into Account, Developer, and Preferences so they’re easier to scan.

On the security side

GitHub tokens are now encrypted at rest, customer Frames run with tighter sandboxing, and we tightened up a handful of permission checks across the API. Nothing you’ll notice day to day. All things worth doing.Questions or feedback: support@withnubo.com or Discord.
May 9th, 2026
AgentsCI/CDPreviewsDeploymentsFramesMetricsNotificationsDashboard

Bring your own servers, push to deploy, see what’s actually happening, and keep your streak alive

Big one. Self-hosted Agents let you run Frames on your own servers. The managed platform gets push-to-deploy from GitHub, preview URLs for every pull request, one-click rollback, and status that updates the moment something changes. There’s a new metrics tab on every Project, a streak counter in the sidebar, transactional email for the things you’d want to know about, and a sidebar that gets out of your way. No YAML, no runners.

Introducing self-hosted Agents

Agent setup in the dashboard
If you want to run on specific hardware, keep data on-premise, or use a server you already own, install the Nubo Agent on Linux or macOS. Deploy Frames to it from the same dashboard you’d use for our managed cloud.The agent is a single binary that connects back to Nubo and waits for work. Install it, point wildcard DNS at your server, and you’re set. Your Frames get their own subdomain on a domain you control, with TLS via ACME.Everything else in this release works the same on self-hosted Agents as on managed Frames: push-to-deploy, preview deployments, live status, deploy history, one-click rollback, environment variables, custom domains.See the Agents overview for when to use one, or Quickstart to install your first agent.

Push to deploy

Push-to-deploy flow
Install the Nubo GitHub App on your repo. Every push to your Frame’s tracked branch triggers a build and release.Three knobs if you need more control:
  • [skip ci] or [ci skip] in a commit message skips that push.
  • Ignored paths (e.g. docs/**, *.md) skip builds when only matching files changed. Useful in monorepos or for docs-only commits.
  • Auto-deploy can be toggled off if you’d rather trigger builds manually.
It all lives on the Frame’s new CI/CD tab. See CI/CD.

Personal access tokens for scripted clients

Anything automated that talks to Nubo (CI runners, deploy bots, your own scripts) should now use a personal access token instead of your login session. Create one in Settings → Developer tokens, give it a name and an optional expiration, and send it as Authorization: Bearer nubo_pat_....You see the token exactly once at creation. We store it as a hash, never in plaintext, and you can revoke it instantly from the same page. Give each integration its own token so a leak or a team change only affects that scope. See API authentication.

Date-based API versioning

Pin your API client to a specific contract with the Nubo-Version header:
Nubo-Version: 2026-05-08
  • Most releases ship under the same date. Bug fixes, new endpoints, and tuning don’t move your pin. A new version is only cut when a change would actually break existing clients (field removed, type changed, validation tightened).
  • Unpinned clients get the oldest supported version, so a new version never silently upgrades your integration.
  • Responses include a Nubo-Build header naming the exact build that served them, useful for confirming what your client actually got.
  • Old versions overlap new ones for at least one release cycle before being retired.
Production integrations should pin. Scripts and one-offs can skip the header and ride the default. See Stability policy for the full rules, and Authentication for where it fits in a request.

Preview deployments for every PR

Preview deployment URL in the dashboard
Every pull request against your tracked branch now gets its own running copy of the app at a Nubo-assigned URL. Share it with teammates, click around, show a customer what’s coming. What they see is what will ship.Previews rebuild on every push to the PR and tear themselves down when the PR closes. Project-scoped environment variables carry over, so your secrets and config keep working. See Preview deployments.

One-click rollback

Rollback button in the dashboard
Shipped a bad commit? Open the Deployments tab, pick a previous working deploy, hit Rollback. Your Frame is back on that version in seconds, no rebuild. Same on managed cloud and self-hosted Agents. See Rollback.

Cancel a deploy in progress

Pushed the wrong commit, or watching a doomed build run to the end? Hit Cancel on a still-building deploy and Nubo stops it. Your Frame stays on whatever was already running, so there’s no harm in pulling the cord. See Cancel a deploy.

Stop and start a Frame

Hit Stop to take a Frame offline: replicas scale to zero on our cloud, the container stops on a self-hosted agent. Hit Start to bring it back. Config, deploy history, and domains stay where they were. See Stop and start a Frame.

Live Frame status

Live Frame status in the dashboard
Your Frame’s status updates in the dashboard the moment it changes. No refresh, no polling. If an app crashes, runs out of memory, or fails its health check, the dashboard flips to an error state and shows the reason. You shouldn’t have to read logs to find out something’s wrong.

A real deploy history

Deployment history
Every build is now a record you can browse. Open the Frame’s Deployments tab to see the commit, the time, what triggered the deploy, and whether it succeeded. Pull the same data programmatically:
curl "https://shuttle.withnubo.com/v2/projects/<p>/spaces/<s>/frames/<f>/deployments?limit=20" \
  -H "Authorization: Bearer <your-token>"

Build logs, captured on every build

Every build’s full output is captured the moment the build finishes, success or failure. Build logs are kept for 7 days. The latest deploy of each Frame is kept on top of that, so you’ll always have the most recent log even if older ones have aged out. Past 30 days, we return an “expired” signal so you can tell aged-out logs from a real fetch error.

Live runtime logs

The Frame’s Logs tab now streams live lines from your running app, not just build output. Open the tab while a Frame is online and you’ll see what your code is printing right now, with no refresh and no log file path to remember. Multiple tabs subscribed to the same Frame all see the same stream, and the line ordering matches what your app actually emitted.

Custom domains for any Frame

Bring your own hostname. Add a custom domain from the Frame’s Domains tab, point your CNAME or A record at the value Nubo gives you, and we handle TLS. Domains are managed per Frame, so the same Project can serve app.example.com from production and staging.example.com from your staging Space. Works the same on self-hosted Agents under your wildcard. See Custom domains.

Auto-pause for crashlooping Frames

If a Frame crashes or runs out of memory five times in a row, or stays stuck pulling its image for more than three minutes, Nubo scales it to zero and shows a backoff_tripped reason on the status. The next push (or a manual Deploy) scales it back up, so a fresh image clears the trip. The platform takes a stuck Frame out of the loop until you ship a fix.

A metrics tab for every Project

Open any Project and there’s a new Metrics tab in the header. It answers the “how is this thing actually doing?” question:
  • Health at a glance: total Frames, how many are online, how many need attention.
  • CPU and memory: the last 7 days as area charts.
  • Build performance: p50, p95, and average build time over the last 14 days, so you can spot when builds start creeping up.
  • Per-Frame breakdown: replicas, domains, deploy count, failure count, mean time to recover from a bad deploy, and the time of the last deploy. Sortable by any column.
  • A 14-day deploy bar chart with success and failure layered, so flaky runs stick out.
The Project page gets a compact preview of the metrics under the architecture, so you can take the temperature without switching tabs.

Build a streak

The sidebar has a new activity widget at the bottom. It tracks how many days in a row you’ve shipped something and rewards you with milestones as you climb:
  • 3 days: heating up
  • 7 days: on fire
  • 14 days: blazing
  • 30 days: diamond
  • 50 days: legend
  • 100 days: GOAT
Each tier recolors the streak counter, the bars under it, and a glowing under-bar that fuses your streak together. We will not pretend this isn’t designed to make you want to deploy on a Sunday. It is.Below the streak there’s a 60-day bar chart of your daily deploys so you can see the pattern of your work over a couple of months.

Email notifications

We now send transactional emails for the things you actually want to know about:
  • Welcome when you sign up.
  • Replies on your support tickets, and a heads-up to our team when you open one.
  • Account state changes (suspended, reinstated).
  • Build or deploy failures on your Frames, with the last 30 lines of the build log right in the email so you don’t have to log in to see what blew up.
  • Custom domains when they’re connected or removed.
You can reply to any of them and reach a human at support@withnubo.com.

Frame controls in the sidebar

Click any Frame and you’ll see a new control strip at the top of the sidebar:
  • Redeploy: kick a fresh deploy from the latest commit on the tracked branch.
  • Stop / Start: toggle replicas to zero and back without leaving the page.
  • Open: jump straight to the Frame’s primary domain.
No more bouncing through Settings to do a redeploy.

Pull from your organization repos

If you installed the Nubo GitHub App on an organization but only saw your personal repos when creating a Frame, that’s fixed. The repo picker now spans every installation you have access to on GitHub: personal account first, then each org you belong to. Repos with the same name across different owners are now keyed by full path, so no more collisions.

A sidebar that gets out of your way

Collapsed sidebar with activity heatmap and account dropdown
Hit the new chevron in the sidebar header to collapse it to a thin icon-only strip. Each Project shows up as a colored tile with its initials, so you can still pick one without expanding. The notification ping moves onto your avatar at the bottom-left. Click the avatar for a small Profile / Sign out menu, in either state.

A visual refresh

The architecture canvas, Frame tiles, Frame sidebar, and metrics view now share the same console-style look as the home dashboard: flat surfaces, mono captions, clean status pills. No more status-tinted gradient backgrounds. Status lives in a small dot and a label, so failed Frames stay easy to spot without painting half the sidebar red.

Other fixes

  • The “New Frame” repo picker no longer flickers and re-fetches every 15 seconds while it’s open.
  • The Frame status dot now correctly shows red for failed Frames (was reading as the neutral “unknown” color).
  • Deploy timestamps in the metrics view render as readable dates instead of “Invalid Date”.
  • The architecture canvas is now bounded in height and scrolls inside its own box, so a project with many Frames doesn’t push everything else off the page.
  • Build logs panel is capped at a sensible height so a chatty deploy doesn’t make the sidebar run the full viewport.
  • Updating a Frame’s settings no longer affects unrelated fields.
  • Fetching a single Frame via the API now works correctly under the full path.
Questions or feedback: support@withnubo.com or Discord.
March 17th,2026
Dashboard

Major system changes

You may notice that Nubo feels faster and performs more reliably. This is because we have been making some significant changes under the hood. At its core, we have chosen to do the infamous Rust rewrite.Over the past few months, we have been slowly adopting and rewriting critical systems in the Rust programming language. Rust is known for its memory safety and great performance. This is in an effort to make Nubo perform more faster and consistently.

Other fixes

We have been working hard with squashing bugs and making other smaller improvements. Below is a list of some of those fixes:
  • We fixed an issue with querying user repositories
  • An issue that caused 500 errors to display for deprecated Projects
  • Space deletion is now working properly

Conclusion

That’s a wrap for this release notes. We hope you enjoyed these new updates. If you have any feedback, feel free to email us at support@withnubo.com or join our Discord
February 24st,2026
DashboardDesign

Experience Nubo in light mode

Light mode gif

A brighter and more customizable dashboard

We are excited to introduce a new variation of our dashboard – Light Mode! This new option offers a cleaner, brighter viewing experience for those who prefer it, while also improving accessibility. We hope that this will offer a more personalized experience while using Nubo; enabling users to more confidently release software.

Conclusion

That’s a wrap for this release notes. We hope you enjoyed these new updates. If you have any feedback, feel free to email us at support@withnubo.com or join our Discord
January 7th, 2026
Dashboard

January 7th, 2026

New dashboard look

UI/UX Improvements

Project Table Display
Project homepage table
Your projects are now displayed in a table on the homepage. This is in the spirit of making the dashboard more visually appealing and understandable.Other Minor ImprovementsWe are always looking for ways to make our users experience with Nubo to be not only easy but memorable. Which is why we are dedicated to making our interface as visually pleasing as possible. We have made several minor typography, color, and hierarchical changes around the dashboard.

Connection reliability

The reliability of our product is priority number one. We put in hard work to ensure that the connection between the frontend and backend stays strong to ensure that our users have little issues with connection.

Other updates

  • Fixed cursor inconsistencies
  • Bugs with invalid .env file upload
  • Text size adjustments on larger screens

Conclusion

That’s a wrap for this release notes. We hope that you enjoy these new updates. If you have any feedback, feel free to email us at support@withnubo.com or join our Discord
January 1st,2026
Dashboard

Status popups, Env file uploads, and Design changes

Real-time status popups

Status popup messages
Nubo is more reactive than ever before. Get real-time updates on the status of Projects and Frame deployments. If issues occur, you will be notified. Simply click the message to bring you directly to the associated resource.

Upload environment variables (.env)

ENV file upload
You may now import environment variables directly from a .env file. Simply select the “Import variables” button in the Frame’s settings.

Design changes

New authentication routes design
Consistency is key when communicating. Hence, we have updated our designs to the authentication routes to be more in line with our current branding and stylization.

Other updates

  • We have made performance and organization improvements to the Project’s Architecture. Things should feel a bit more smooth.

Conclusion

That’s a wrap for this release notes. We hope that you enjoy these new updates. If you have any feedback feel free to email us at support@withnubo.com or join our Discord
October 29th, 2025
Dashboard

Architecture, Nubo status embed, and other minor fixes

Architecture

Frame architecture
Visualize your Frames in a whole new way with our new Architecture. Designed to feel like a canvas, it nicely shows the status of your Space at a glance. See Frame statuses, languages, and the latest deployment triggers.Frames are displayed in a dynamic grid that can be moved around to your liking.

Other updates

  • Added a toast message that syncs with our Status Page for alerting
  • Fixed log duplication issues
  • Added a better Frame display and settings on mobile

Conclusion

That’s a wrap for this release notes. We hope that you enjoy these new updates. If you have any feedback feel free to email us at support@withnubo.com or join our Discord
October 20th, 2025
Dashboard

Mobile, docs, and design updates

Mobile improvements

We have spent the majority of the last few weeks making many improvements to the dashboard on mobile screens. We still have some more work to do. For now, the experience on mobile has been substantially improved.

Design updates

We have also made some design changes to our sidebar. Including color, sizing, and layout changes.

Documentation

Finally, we have added Golang docs and language tutorials to our documentation in order to help beginners.

Conclusion

That’s a wrap for this release notes. We hope that you enjoy these new updates. If you have any feedback feel free to email us at support@withnubo.com or join our Discord
October 6th, 2025
CompanyDashboard

New landing page, docs, blog, and status page

Woah, that’s a pretty big update. Yeah, we have been hard at work making Nubo a more suitable environment for launching the best software products.Let’s break down these changes:

A fresh new landing page

New landing page
Ooooh, wowww. What a clean and sharp new design. It nicely demonstrates the steps in getting a product launched with each tabs! These tabs visually show each step by using gifs.

Documentation

Writing documentation is always so much fun! Will many read it, probably not. But hey, at least it’s here. We have created guides for each language and framework that we support.We will be expanding and adjusting the documentation as needed. The docs are available now on the site that you are currently on. Simply click “Documentation” at the top left.If you notice any issues or want to contribute. Submit a pull request on our GitHub repository.

Is it down or just me?

Stay up to date on the status of Nubo with our brand new status page. There’s not really much more to discuss about this.

Configure your projects and your profile

We have also shipped new Project settings and User settings pages.

Project settings

Project settings
Project settings lets you configure the following:
  • Project metadata (name and description)
  • Spaces (create, edit, and delete)
  • Danger actions (deleting project)
You can access the project settings now by clicking the gear icon at the top right when viewing a project.

User settings

User settings lets you configure the following:
  • First and last name
  • Company
This is available now by clicking your account tag (@myusername) at the bottom left in the dashboard.

Other additions and fixes

  • The dashboard is now slightly more responsive (still have some work to do)
  • Made some UI/UX changes to the sidebar
  • Added a new snazzy new dropdown for selecting a Space
  • Added better page titles
  • Fixed other UI inconsistencies

Conclusion

That’s a wrap for this release notes. We hope that you enjoy these new additions. If you have any feedback feel free to email us at support@withnubo.com or join our Discord