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

# v26.0.0 — March 21, 2026

> Major platform release with workspaces, new authentication, and complete dashboard redesign.

<Update label="v26.0.0" description="March 21, 2026">
  ### Overview

  Version 26.0 is the largest update to Vertra Cloud since launch. It introduces collaborative workspaces, multiple authentication providers, and a redesigned dashboard.

  ***

  ### New Features

  #### 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.

  * **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
  * **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

  * `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 the `@vertracloud/api-types` package with full TypeScript definitions
  * All REST endpoint response types documented with `@see` links to documentation
  * Complete type coverage: applications, databases, workspaces, 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 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

  <Warning>
    Review these changes before updating. They may impact existing integrations.
  </Warning>

  * **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/*`
  * **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

  * **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 metrics not being collected for some running applications
  * **Metrics display** — Fixed missing network fields, null value crashes, and duplicate time labels on charts
  * **UUID validation** — API route parameters for app and database IDs now validate UUID format, returning 400 for 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
  * **Upload overlay text color** — Fixed low-contrast description text in the commit upload progress dialog

  #### Improvements

  * **vertracloud.config persistence** — The config file is now written to the app directory on creation, ensuring future uploads inherit the configuration
</Update>
