> ## Documentation Index
> Fetch the complete documentation index at: https://docs.suji.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> What's new on Suji. Newest first.

For platform incident history, see the [status page](https://suji.fr/status).

***

## June 2026

### Managed daily backups

Turn on provider-managed daily backups for any instance from its **Backups** tab. The provider takes a backup every day, keeps the latest 7 (rotating), and bills 20% on top of the VM price, charged separately on your usage so you can see it. Backups restore by rebuilding the VM, and the first one appears within about a day of enabling. Note that backups are deleted if you delete the VM, so for long-term keeps use a snapshot. Backups are separate from snapshots and have their own quota, so they never crowd out the snapshots you take by hand.

### Organise instances with tags

Add tags to an instance when you create it or any time after, then filter your instances list by tag. Useful once you are running more than a handful of VMs. Tags are labels only and never change how an instance behaves.

### See the estimated cost before you create a VM

The create-VM form now shows the estimated cost of the size you pick, both monthly and hourly, and roughly how long your current balance covers it. As a reminder, instances are billed by the hour for as long as they exist, and stopping a VM does not stop billing; only terminating it does.

### Documentation links on every app

Each marketplace app now shows a **Documentation** link on its page and on each install's Deployment tab, plus Source and Support links when the app provides them, and a screenshot gallery where available.

### A guided first run for your apps, and a smarter connection test

Installing an app that connects to an AI provider is more forgiving now. The **Test connection** check validates the exact model you entered and works with custom OpenAI-compatible endpoints that don't publish a model list (vLLM, Ollama, LiteLLM, and similar), instead of insisting on one. If you paste a full endpoint URL by mistake (anything past `/v1`), the form points it out before you submit. After an app installs, its **Deployment** tab can now show a short **Getting started** guide with the few things you need to begin, including a one-click reveal of any access token the app's login screen asks for, so you never have to hunt for it.

### Invite friends and earn referral credit

Share your personal referral code from the **Referrals** page in the dashboard. When a friend signs up with your code, adds a payment method, and makes a net top-up of at least €20, you both receive €5 of referral credit automatically. Referral credit is consumed before your paid balance, is non-refundable, and expires 6 months after it is granted. See the Referral credit clause in Section 3 of the [Terms of Service](https://suji.fr/terms) for full eligibility details.

### App changes in your instance audit trail

The **Audit trail** tab on an instance now records what happens to its apps, not just the VM. You'll see app installs, upgrades and settings updates, restarts, stops and starts, secret reveals and rotations, and custom domain changes (added, verified, and removed), each with the app name, who made the change, and the source IP. Previously this tab only covered the instance itself and terminal sessions.

### Custom domain becomes your primary URL

When your custom domain goes active, it's now your app's single canonical address, and the original `*.suji.fr` URL automatically `301`-redirects to it, preserving the path and query. Old links, bookmarks, and webhooks pinned to the Suji URL keep working; they bounce to your domain. While the custom domain is still verifying, the app keeps serving on its `*.suji.fr` URL, and if an active custom domain later breaks (a dropped `TXT` record or a failed certificate renewal), it automatically fails back to the Suji URL so the app is never fully unreachable, then resumes on your domain once it's healthy again. Removing the custom domain returns the app to its `*.suji.fr` URL. See the [Custom domains guide](/manage-vm/custom-domains).

### Bring your own domain

You can now attach a domain you own to any exposed app, right from its page in the dashboard: `app.example.com` instead of a `*.suji.fr` URL. Add the domain, prove ownership with a one-line `TXT` record, point an `A` record at your VM, and pick a mode: **Cloudflare** (front the VM with your own Cloudflare account for DDoS and WAF protection, with SSL set to Full) or **Direct** (point straight at the VM with an automatic Let's Encrypt certificate). Each install supports one primary domain plus an optional apex ↔ www alias. See the [Custom domains guide](/manage-vm/custom-domains) for the trade-offs and step-by-step setup.

### Pick your AI model from a list

When installing an app that connects to an AI provider, the **Model** field can now suggest the provider's available models. Enter your API key, click **Test connection**, and the field turns into a searchable dropdown populated from the provider's own model list — so you can pick a model instead of typing it from memory. You can still type any custom value (handy for self-hosted endpoints like vLLM or Ollama) or leave it blank for a sensible default.

### Clearer instance activity

The activity panel on your instance overview — now called **Instance status** — shows what your VM and its apps are actually doing: starts, stops, restarts, resizes, rebuilds, and restores; app installs, upgrades, and failures (with the reason); and snapshots completing or failing. A healthy, untouched instance reads "running normally" instead of showing an empty list. Terminal sessions have moved to a separate **Audit trail** tab, which records who opened a session and from which IP — so the status panel stays focused on what happened to the instance, and the audit trail on who did it.

### Manage your app's environment variables

Each installed app now has a **Variables** tab. See every environment variable the app runs with, **reveal** and **copy** secret values on demand, **edit** them, and **add your own** — anything from a tuning flag like `NODE_OPTIONS` to an extra API key the install form never asked for. Mark a variable as sensitive to keep it masked, or **seal** it so its value can never be viewed again, only replaced. Suji also exposes a set of read-only platform variables (your app's public address, ids, and data volume) that you can drop into any of your own variables with a one-click reference. Changes apply on your next deploy, and your values are kept exactly as you set them — no more surprise config changes when an app upgrades.

### Consistent (cold) snapshots

When you choose a **cold** snapshot, your instance is now briefly powered off, snapshotted, and powered back on — so the backup captures a clean, consistent on-disk state (ideal for databases). Pick **hot** instead if you'd rather avoid the short downtime. The snapshot quota is now a single pool shared across your whole organization.

### Start, stop, and upgrade your apps

Each installed app now has a fuller **actions menu**: restart it, **stop** it, **start** it again, and **upgrade** to a newer version when one is available. Upgrades keep your data — the app's storage volume is preserved across the new version. While an app is starting, stopping, restarting, or upgrading, its public address shows a branded "please wait" page that refreshes on its own, instead of a Cloudflare connection error.

### Clearer install progress

Installing or upgrading an app now shows real step-by-step progress — routing, image download (with a live percentage), starting the containers, and a final readiness check — instead of a single indeterminate bar.

### Disk-space warning on the instance page

When a VM's system disk passes **85% usage**, its page now shows a warning banner with the current usage and quick links to the [volumes](/manage-vm/volumes) and [resize](/manage-vm/resize) guides — so you can act before the disk fills up. Attached volumes don't count toward the threshold; only the system disk does.

### A guided start

New accounts now get a **Getting started** checklist in the sidebar — eleven short steps from creating your first VM through installing an app, the browser terminal (on the VM and inside the app), logs, files, snapshots, volumes, firewall, monitoring, and finally resizing or deleting the instance. Steps tick themselves off as you use the product, anything can be skipped, and the guide can be dismissed (and restored from the Support page) at any time.

### Smoother instance provisioning

* Refreshing the page while an instance is provisioning now **resumes tracking the same instance** instead of returning you to a blank form (which made it easy to create a duplicate by mistake).
* Clearer provisioning progress steps on the New instance page.
* When your credit balance is empty, a **banner at the top of the dashboard** points you to top-up, and creating new instances is blocked until credits are added — so you can't accidentally start a VM you can't run.

### Audit log records the real client

Audit events triggered from the dashboard now record your actual **IP address and browser** instead of the platform's internal proxy. Existing events are unchanged; new events carry the full actor details in the event drawer and CSV/JSON exports.

### Choose your OS image

New VMs are no longer Ubuntu-only: pick **Ubuntu 24.04 LTS** (the default), **Ubuntu 22.04 LTS**, **Debian 13 (Trixie)**, or **Debian 12 (Bookworm)** when creating an instance — from the New instance form and from the app install wizard alike. Existing VMs are unaffected.

### Smarter install forms — conditional fields and connection tests

App install forms can now adapt as you fill them in: fields appear only when they're relevant, and requiredness can depend on your other choices. Where an app declares it, a **Test connection** button verifies a credential (an AI provider API key, for example) before you deploy anything.

First to use it: **OpenClaw** now offers the full set of AI providers it supports — Anthropic, OpenAI, Google (Gemini), Mistral, Groq, OpenRouter, xAI, Moonshot AI — plus any **OpenAI-compatible endpoint** (vLLM, Ollama, LM Studio, LiteLLM, …) with a custom base URL, where the API key is optional. The provider credential is now wired through to the app correctly on install.

### €5 beta credit on adding a payment method

During the beta, new accounts receive a €5.00 credit when they first add a payment method — previously this was granted at signup. Head to **Settings → Payment methods**, save a card, and the credit lands on your balance automatically.

### The Suji beta is open

Suji is now in private beta. Dedicated Linux VMs in EU data centers, hourly prepaid billing, a one-click app marketplace, and full ops from the dashboard — terminal, files, logs, metrics, firewall, snapshots. [Apply for access](https://suji.fr/beta), and join the [community Discord](https://discord.gg/U2UGvmTHqr) to talk to the team.

### Resize, refined

* **Keep your disk** when moving to a smaller compute tier — resize now offers to retain your current disk size instead of forcing the tier default.
* The resize list shows your VM's **actual current disk**, not the tier's nominal size.
* Resize progress is reported **live** — no page refresh needed.

### Bring your own compose

The install wizard's new **Advanced** section lets you customize an app's compose file before deploying. Customized installs are clearly marked in the dashboard; to change one later, uninstall and reinstall with the new definition.

### Code-aware file editing

The Files editor now syntax-highlights shell scripts, Dockerfiles, INI/TOML, YAML, JSON, and more — making config edits on your VM easier to read and safer to make.

***

## How to follow updates

* **This page** — every user-visible change lands here.
* **Discord** — [join the community](https://discord.gg/U2UGvmTHqr) for announcements and discussion.
* **GitHub** — watch [suji-hq/suji-templates](https://github.com/suji-hq/suji-templates) for marketplace catalog releases.
