Skip to main content

Overview

Version 26.0 is the largest update to Vertra Cloud since launch. It introduces a credit-based billing system, collaborative workspaces, multiple authentication providers, a redesigned dashboard, and significant infrastructure improvements.

New Features

Credits System

A flexible billing model based on credits that lets you pay only for what you use.
  • Compute Credits — Hourly billing for applications and databases based on allocated memory
  • AI Credits — Separate pool for AI-powered features
  • Free weekly allocation per plan (e.g., 500 compute + 50 AI credits/week on Free)
  • Cost estimation API — Calculate costs before creating resources via GET /v1/credits/cost?ram={mb}
  • Paid credits with 365-day expiration
  • Automatic resource stop when credits run out
  • Dashboard billing page with transaction history, filters by resource/credit type, and pagination

Workspaces

Collaborative team spaces with role-based access control.
  • Create, edit, and delete workspaces
  • 5 roles: Owner, Admin, Developer, Operator, Viewer
  • Member management with invite links
  • Assign applications and databases to workspaces
  • Available from the Enterprise plan (5 to 24 members)

Authentication

Multiple login options and account management.
  • Magic Link — Passwordless email authentication
  • GitHub OAuth — Login and account linking
  • Google OAuth — Login and account linking
  • Discord OAuth — Existing provider, now with account linking/unlinking
  • Account switching — Up to 5 saved accounts in the same browser
  • Session management — View active sessions, revoke all sessions
  • API Key generation — For programmatic access

Notifications

Platform notification system integrated into the dashboard.
  • API-driven notifications with read/unread status
  • Mark individual or all notifications as read
  • Real-time display in dashboard header
  • Localized email templates in 3 languages (EN, PT-BR, ES)
  • Templates for: plan expiration, deletion warning, purchase confirmation

Plan Downgrade

Users can now downgrade their plan directly from the dashboard or API.
  • Downgrade to Free plan via POST /v1/users/me/downgrade
  • Rate limiting to prevent abuse
  • Warnings about impact on existing resources

Snapshots

Replaced the previous backup/commit system with unified snapshots.
  • Create manual snapshots for applications and databases
  • Restore from any previous snapshot (with cooldown)
  • Download snapshot content
  • vertracloud.config auto-injection during snapshot creation
  • Grouped snapshots view in dashboard

Free Plan Cleanup

Automatic management of inactive Free plan resources.
  • Projects offline for 30+ days are automatically deleted
  • Email notifications at days 7, 23, and 27
  • Reactivation link included in warnings

Dynamic Runtime Versions

Runtime selection now fetches available versions dynamically.
  • Version picker in project creation wizard
  • recommended and latest tags
  • New languages supported: Ruby, Rust, Java

Dashboard

Complete Redesign

The dashboard has been rebuilt from the ground up with Next.js 16 and React 19.
  • New project wizard — Multi-step creation with vertical animated layout
  • File Manager — Rewritten with Monaco Editor (drag-and-drop, ZIP upload, forbidden path validation)
  • Embedded terminal — Real-time log streaming via SSE with ANSI colors and auto-scroll
  • Billing page — Transaction history, credit usage tracking, order management with PIX support
  • Account settings — Authentication connections, session management, API key generation, redeem codes
  • Responsive header — Compact mode, overflow prevention, close-on-click-outside menus

Internationalization

Full i18n support across the dashboard.
  • 3 languages: English, Portuguese (BR), Spanish
  • Localized error messages, success messages, and email templates
  • Granular message files organized by feature

GitHub Integration

Enhanced GitHub support in the project creation flow.
  • Repository selection including private repos
  • Branch selection
  • ZIP fallback when GitHub is unavailable
  • Webhook configuration for automatic deploys

API Changes

New Endpoints

  • GET /v1/credits/balance — Credit balance
  • GET /v1/credits/usage — Credit usage history (paginated)
  • GET /v1/credits/cost — Cost estimation
  • POST /v1/users/me/downgrade — Plan downgrade
  • GET /v1/users/me/sessions — List active sessions
  • DELETE /v1/users/me/sessions — Revoke all sessions
  • POST /v1/users/me/generate-api-key — Generate API key
  • GET /v1/notifications — List notifications
  • POST /v1/notifications/:id/read — Mark as read
  • POST /v1/notifications/read-all — Mark all as read
  • POST /v1/workspaces — Create workspace
  • GET /v1/workspaces — List workspaces
  • GET/PUT/DELETE /v1/workspaces/:id — Workspace CRUD
  • POST/DELETE /v1/workspaces/:id/members — Member management
  • POST/DELETE /v1/workspaces/:id/apps/:appId — App association
  • POST/DELETE /v1/workspaces/:id/databases/:dbId — Database association
  • GET /v1/apps/runtimes — Available runtime versions
  • POST /v1/orders — Create order
  • GET /v1/orders — List orders
  • POST /v1/orders/:id/initiate/pix — PIX payment
  • POST /v1/redeem/:code — Redeem code

Response Format

Standardized API response format across all endpoints:
  • Success: { "status": "success", "response": { ... } }
  • Error: { "code": "ERROR_CODE", "message": "..." }

Type Safety

  • Published @vertracloud/api-types package (v0.0.38+) with full TypeScript definitions
  • All REST endpoint response types documented with @see links to documentation
  • Complete type coverage: applications, databases, workspaces, credits, orders, snapshots, notifications

Improvements

Crash Loop Detection

Intelligent auto-restart with abuse prevention.
  • 5 crashes in 10 minutes disables auto-restart for 24 hours
  • Exit code filtering (normal exit code 0 is not counted)
  • 1-hour cooldown between restarts
  • Minimum 60-second uptime to count as stable

Real-Time Logs

Enhanced log streaming with improved reliability and real-time delivery.

Custom Subdomain Management

  • Select custom subdomain during project creation
  • Change subdomain via API (PATCH /v1/apps/:id/network/subdomain)
  • Availability validation

File Manager

  • Upload via drag-and-drop with ZIP support
  • Forbidden directory/file validation
  • Smart file tree sorting
  • Localized error messages

Bug Fixes

  • Fixed file upload size limits in Nginx for files larger than 2MB
  • Fixed database status monitoring inconsistencies
  • Fixed notification delivery during data migration
  • Fixed horizontal overflow in responsive dashboard header
  • Fixed various bugs in project creation wizard flow
  • Fixed crash loop detection for containers with syntax errors
  • Fixed custom domain DNS record verification

Breaking Changes

Review these changes before updating. They may impact existing integrations.
  • Snapshot system — Replaced previous backup/commit system. Old backup endpoints are deprecated.
  • Authentication — New session-based authentication. Existing API keys continue to work.
  • Workspace endpoints/v1/organizations/* renamed to /v1/workspaces/*
  • Credit mode — New resources can use credits instead of fixed plan billing
  • Auto-restart behavior — Now includes crash loop detection with automatic disable
  • Free plan cleanup — Inactive projects are deleted after 30 days (with email warnings)

v26.1 — March 25-26, 2026

Bug Fixes

  • Internal network connectivity — Fixed connectivity issues between containers on the same host
  • GitHub deployment file deletion — Fixed deployments aggressively removing .env and untracked configuration files
  • App file deployment preservation — App updates now preserve existing local files instead of wiping untracked content
  • Metrics collection — Fixed silent failures in metrics collection, added error logging, and automatic status sync for running containers
  • Metrics display — Fixed missing network fields, null value crashes, and duplicate time labels on charts
  • Infrastructure routing — Fixed service routing issues causing API endpoints to return 404
  • UUID validation — API route parameters for app and database IDs now validate UUID format, returning 400 instead of crashing the database query with invalid values
  • Environment variable deletion — Fixed the delete endpoint call from the dashboard (was missing the env ID in the URL path)
  • Environment variable key editing — Fixed the key input not updating when editing an existing environment variable
  • Database metrics crash — Fixed Cannot read properties of undefined (reading 'usage') when memory_stats is undefined in container stats
  • vertracloud.config as directory — Removed the separate read-only bind mount that caused Docker to create a directory instead of a file when the config didn’t exist
  • Upload overlay text color — Fixed description text using text-muted instead of text-muted-foreground in the commit upload progress dialog

Improvements

  • Credit enforcement on start/restart — Applications using credits mode are now blocked from starting or restarting when the owner has insufficient credits. A dialog is shown with options to purchase credits or upgrade the plan.
  • Insufficient credits modal — When opening a credit-based app that is offline with zero balance, a modal is automatically displayed prompting the user to buy credits or upgrade their plan
  • vertracloud.config persistence — The config file is now written to the app directory on creation, ensuring future uploads inherit the configuration
  • Infrastructure cleanup — Removed obsolete networking code and simplified internal routing configuration