DocsPricingBlogChangelog
Sign inStart free
All systems operational
Product
  • Dashboard
  • Documentation
  • Pricing
  • Changelog
Company
  • Blog
  • Why Suga
  • Brand Assets
  • Support
Legal
  • Privacy Policy
  • Terms of Service
  • Acceptable Use
© 2026 Nitric Inc.
DiscordXLinkedIn
Changelog

What we shipped.

The latest updates, improvements, and fixes to Suga.

All UpdatesFeatureImprovementFixAdjustment
RSS Feed
Jun 18, 2026
Jun 18, 2026

TCP proxies are now a paid feature

Public TCP proxies are moving to paid plans. On the free tier you'll still see the option in the public networking config, but it now sits behind an upgrade prompt. For existing applications with TCP proxies, there is no migration to do. These will continue to work and won't be torn down. The change will only apply to creating new TCP proxies. Those on Pro and Enterprise plans are unaffected.

Public TCP proxies are a power-user capability: most legitimate free projects never reach for them, yet we were seeing them frequently for users who were running antagonistic workflows. Gating them to paid plans keeps the free tier focused on trying Suga out and lets us keep it generous for everyone using it as intended.

If you have a legitimate reason for trying out TCP proxies you can reach out to us at support@suga.app and we can arrange a trial.

Jun 9, 2026
Jun 9, 2026

Persistent logging and a new log explorer

Until now, logs were real-time only. You could read them whilst the service was running but as soon as it was replaced during a deployment or restart, the previous logs were no longer accessible.

Logs are now retained, and there are two new places to work with them: a dedicated Logs explorer for each environment, and a refreshed logs tab in the service panel on the canvas.

The new explorer is available from the sidebar. It has a bunch of new features:

  • Search by keyword across all your services, and filter by service and level (info, warn, error, debug).
  • A volume histogram above the stream, stacked by level, so a jump in errors is easy to spot.
  • Time ranges from 5 minutes to 14 days, preset or custom, with longer history on paid plans.
  • Click any line for a detail panel: the full message, parsed fields, stack trace, and a permalink you can send so a teammate lands on the same entry.
  • Live mode to watch entries stream in, or page back through a fixed window.
  • Copy the lines on screen, or export the filtered set to CSV or JSON.

The logs tab on a service got the same treatment. Filter by log level inline and open the full explorer with that service already selected when you need more than a quick look. The UTC/local toggle, replica toggle, and follow/tail are all still there for quick debugging.

If a spike shows up in your per-replica metrics, you can now jump straight to the logs to find out what caused it.

May 27, 2026
May 27, 2026

Duplicated services no longer share a build

If you duplicated a service that had a GitHub build wired up, the original and the duplicate ended up pointing at the same build configuration. Editing one would silently change the other. Each duplicate now gets its own.

May 27, 2026
May 27, 2026

Clearer errors for Cloudflare-proxied custom domains

If your custom domain's CNAME was proxied through Cloudflare (the orange cloud), Cloudflare answers DNS with its own edge IPs and hides the record Suga checks for. Verification would fail with a generic "CNAME not found" message, with no hint that the proxy was the cause.

Suga now detects when a record is being proxied through Cloudflare and tells you exactly what to fix: set the CNAME to "DNS only" (the gray cloud), then verify. No more guessing why an otherwise correct record won't validate.

May 27, 2026
May 27, 2026

More control over builds

Some frameworks bake env vars into the output at build time rather than reading them at runtime. Vite is the obvious example: anything prefixed `VITE_` gets inlined into the bundle when `vite build` runs. Until now Suga only supported runtime env vars, so frameworks that needed values during the build couldn't see them.

You can now set build-time env vars on any service, available for both auto-detect and Dockerfile builds. Custom build and start commands are also configurable for auto-detect, so you can override what Suga's framework detection picked if it didn't match what your project actually does.

May 18, 2026
May 18, 2026

Knowing when your Suga URL is live

It wasn't always clear when your Suga URL was actually live. Adding a generated URL made the row in the dashboard look ready right away, even though the service still had to be redeployed before traffic flowed. Hitting a `*.suga.run` host that wasn't currently routed would land you on a generic gateway error, with nothing to say whether the route was wrong, the deploy had been torn down, or the platform was broken.

Both are sorted now. Custom domain rows show a clear pending state with a redeploy prompt right in the row, and unrouted `*.suga.run` hosts serve a branded Suga page that explains the hostname isn't routed yet.

May 18, 2026
May 18, 2026

Undo a typo, not the canvas

Hitting `ctrl+z` while typing in a sheet used to undo your last canvas edit instead of fixing your typo. Same story for redo and a handful of other shortcuts that fired when you didn't mean them to. Canvas shortcuts now stay out of the way while you're typing.

May 7, 2026
May 7, 2026

A new new project flow

We've updated the flow for new projects so there's more direction on what you can do. We used to just put you on an empty canvas, but now there's a proper `/new` page that asks where you want to start before it goes off and creates anything. There are three new options:

  • Import a GitHub repo, where you pick a repo and configure the build before deploying.
  • Start from a template, and once you pick one and fill in any env vars it needs, you end up with a project that's already wired up.
  • Start with an empty project, which is the same path it always was for getting to a blank canvas.

This is all available from an unauthenticated state, so you can start adding "Deploy to Suga" buttons to all your project READMEs.

Apr 22, 2026
Apr 22, 2026

Empty repo imports

If you tried to import a repo you'd just pushed commits to, you might have seen it show up as "empty" and refuse to import, leaving you stuck with no obvious way forward. Fixed now.

Worth sharing the lesson: the GitHub API exposes a `size` field on each repo, and `size === 0` is a tempting shortcut for detecting empty ones. It isn't reliable. That field is updated by a background job on GitHub's side that can lag by up to an hour, so a repo you just pushed to can still report zero size well after the fact. We now detect empties at the branch-fetch stage instead: no branches, no commits, nothing to import. Repos with actual content sail through, regardless of what `size` claims.

Apr 20, 2026
Apr 20, 2026

Builds are up to 2x faster

Builds from a git repo now run end-to-end inside the builder itself. The clone and build-plan step used to run on a separate worker before handing off, which meant copying your repo across the wire twice. Now the builder fetches your code directly and goes straight into the build.

For most repos this lands up to 2x faster, with no action needed on your end.