Pular para o conteúdo principal
As versões seguem major.minor.patch: o major é a geração da plataforma (v26 desde 21 de março de 2026; v25 do lançamento até fevereiro de 2026), o minor é o lançamento mensal, e cada patch agrupa tudo o que foi entregue no mesmo dia.
26 de outubro de 2026

Documentação em português e espanhol

A documentação agora está disponível em português do Brasil e em espanhol, além do inglês. Escolha o idioma no seletor no topo de qualquer página. As páginas em inglês mantêm os endereços, e as traduções ficam em /pt-br e /es-es. Guias, tutoriais, Blob Storage, as ferramentas de desenvolvimento e o changelog estão traduzidos. A referência da API e a base de conhecimento continuam em inglês em todos os idiomas, para o contrato ser lido do mesmo jeito em qualquer lugar.

Correções em toda a documentação

  • Referência da API: cada endpoint agora lista os erros de autenticação que a API devolve de verdade: AUTH_TOKEN_MISSING, API_KEY_INVALID e SESSION_REVOKED com 401, e API_KEY_IP_DENIED e API_KEY_SCOPE_DENIED com 403. O código genérico UNAUTHORIZED, que a API nunca devolve, saiu, e os exemplos de erro mostram os status certos.
  • Criar um app pelo terminal: rode vertra upload na pasta do projeto. Ele cria a aplicação e grava o ID dela no vertracloud.config, e a partir daí o vertra deploy envia o código novo para ela. A documentação começava com vertra deploy, que só atualiza uma aplicação que já existe e falha numa conta sem nenhuma. A página da CLI também explica vertra link e vertra unlink.
  • Passos do painel apontam para as abas reais: Config → Geral, Deploy, Variáveis de ambiente e Rede. O deploy automático fica em Config → Deploy → Ativar deploy automático.
  • Armazenamento do banco é 6 GB + 1 GB a cada 512 MB de RAM, ou 3× a RAM quando isso for maior.
  • Aplicação mais banco: rodar uma aplicação com PostgreSQL, MySQL ou MongoDB exige Scale ou acima. Com Redis, o Pro basta.
  • Papéis de workspace têm 20 permissões. Algumas páginas diziam 19 ou 21.
  • Exemplos de código: corrigidos o bot de Discord em Python (message.channel.send), os tutoriais de Flask, Telegram, Ruby, PHP e Django, e os exemplos das SDKs de Python, Go e JavaScript.
  • Downgrade de plano: o exemplo agora leva o Enterprise-4 para o Intermediary, um degrau abaixo.
25 de outubro de 2026

Imagens Docker personalizadas

Enterprise 28, Enterprise 30 e Enterprise 32 agora podem criar uma imagem a partir do próprio Dockerfile e rodar aplicações a partir dela. Use para outra linguagem ou versão, pacotes de sistema, seu próprio processo de inicialização ou apps prontos.
  • Crie uma imagem a partir de um ZIP de até 100 MB ou de um repositório do GitHub. A branch é opcional: sem ela, usa-se a branch padrão do repositório. Um repositório das suas instalações do GitHub App fica vinculado, então cada push reconstrói a imagem; um repositório público fora delas é construído uma vez, sem vínculo. No painel, Novo projeto também tem a opção Usar imagem Docker para criar um app a partir de uma imagem que você já tem. O projeto precisa de um arquivo chamado exatamente Dockerfile na raiz. A imagem é construída em um ambiente de build isolado, com limite de 26 minutos, e o resultado pode ter até 10 GB. Cada conta pode ter até 20 imagens.
  • Verifique antes de construir. O painel analisa o seu Dockerfile antes de o build começar: instruções que enfraqueceriam o isolamento do build são recusadas, e erros comuns, como arquivos .env no projeto, são apontados para você corrigir. Arquivos .env* nunca entram na imagem, e o seu Dockerfile nunca é reescrito. Veja o que é recusado e o que gera aviso.
  • Crie apps a partir da imagem. Vários apps podem compartilhar uma imagem, cada um com as próprias variáveis. Para um app web, a porta é o primeiro EXPOSE do Dockerfile, ou 80, e ela chega ao seu app como PORT. Um app criado sem web pode ser publicado depois, informando a porta.
  • Atualize a imagem enviando um novo contexto, por um commit sobre o contexto atual, ou por um push para uma branch vinculada do GitHub (vincule um repositório das suas instalações do GitHub App; a branch é opcional). A GitHub Action aceita image-id para reconstruir uma imagem. Reconstruir nunca reinicia as suas aplicações: cada app passa para a nova versão quando você o reinicia ou faz deploy.
  • Versões e rollback. Cada build bem-sucedido é uma versão. Os apps mantêm 30 releases por 30 dias, e um rollback inicia uma versão que já foi construída.
  • Snapshots desses apps guardam os dados de /app e a versão da imagem. Ao restaurar, você também pode voltar a essa versão, se ela ainda existir.
  • Renomeie e descreva. Dê uma descrição à imagem (até 128 caracteres) ao criá-la, e renomeie-a ou altere a descrição depois, no painel, na API, nos SDKs, na CLI, no servidor MCP ou na extensão do VS Code. Nada é reconstruído e os seus apps continuam rodando.
  • Excluir uma imagem exclui todas as aplicações criadas a partir dela, depois que você digitar o nome da imagem.
  • Na extensão do VS Code. Uma nova visualização de Docker images lista as suas imagens e os apps delas. A partir dela, você pode criar uma imagem a partir de uma pasta ou de um repositório do GitHub, reconstruí-la, acompanhar o log do build, ver as versões, vincular uma branch do GitHub, excluí-la e criar um app a partir dela. Fazer deploy, publicar e restaurar snapshots de apps de imagem também funcionam pela extensão, e um novo app a partir de uma pasta com Dockerfile oferece criar uma imagem.
Novas rotas da API em /v1/images (incluindo PATCH /v1/images/{image_id} para renomear e descrever) e POST /v1/apps/image, com os novos escopos de chave de API images:read, images:write e images:delete (excluir uma imagem que tenha apps também exige apps:delete, e enviar arquivos para um app que roda uma imagem também exige images:write), e os novos códigos de erro PLAN_DOES_NOT_SUPPORT_CUSTOM_IMAGES, MAX_IMAGES_REACHED, IMAGE_NOT_FOUND, IMAGE_VERSION_NOT_FOUND, IMAGE_BUILD_IN_PROGRESS, IMAGE_NOT_READY, IMAGE_BUILDER_UNAVAILABLE, IMAGE_CONTEXT_TOO_LARGE, IMAGE_NAME_MISMATCH, IMAGE_TOO_LARGE, IMAGE_LABEL_REFUSED, IMAGE_VOLUME_REFUSED, IMAGE_APP_PORT_REQUIRED, IMAGE_APP_FIELD_NOT_APPLICABLE, IMAGE_APP_CODE_NOT_APPLICABLE, DOCKERFILE_NOT_FOUND e DOCKERFILE_REFUSED. Leia o guia e a referência da API.

Melhorias

  • Escolha a branch dos seus deploys pelo GitHub. Ao importar um repositório do GitHub no painel, agora há um seletor de branch, e o deploy automático segue a branch que você escolher (a rota do webhook de deploy aceita um branch opcional). Os deploys automáticos já existentes continuam seguindo main e master.
  • Links para desenvolvedores na barra lateral. CLI, extensão do VS Code, MCP, O que há de novo e Docs saíram do menu da conta e foram para a barra lateral do painel.
  • Tema com um clique. A aparência no menu da conta agora é um único botão que alterna entre Sistema, Claro e Escuro.
  • Excluir uma aplicação espera o resultado. A caixa de confirmação fica aberta com o progresso até a exclusão terminar, e então fecha com a aplicação já fora da lista. Se a exclusão falhar, a caixa continua aberta e mostra o motivo.
  • Já autenticado. Abrir a página de login estando com a sessão iniciada leva direto ao painel.

Correções

  • Importar um repositório do GitHub cujo nome contém .git no meio, como nome.github.io, não busca mais o repositório errado.
  • Restaurar um snapshot (de aplicação ou de banco de dados) ou fazer rollback para uma release a partir de um arquivo danificado agora é recusado antes de qualquer alteração (INVALID_ZIP_STRUCTURE, 400). Os arquivos da aplicação e o banco de dados em execução continuam como estavam; antes, um banco podia ficar parado e os arquivos de uma aplicação podiam ser apagados. Um snapshot de aplicação sem arquivos também é recusado da mesma forma.
  • Ações em aplicações, bancos de dados, snapshots, domínios e arquivos agora sempre registram a atividade no workspace ao qual o recurso pertence.
  • Vincular uma aplicação ao deploy automático agora confere o repositório com a sua instalação do GitHub App. Um repo_id que não corresponde ao repositório é recusado com VALIDATION_ERROR, um repositório fora da instalação retorna INSTALLATION_NOT_FOUND, e o GitHub indisponível retorna FETCH_ZIP_ERROR (502).
24 de outubro de 2026

Novos bancos de dados ganham um usuário vertracloud dedicado

Bancos de dados criados a partir desta versão vêm com um usuário dedicado chamado vertracloud e um banco padrão chamado vertracloud, nos quatro motores:TLS com o certificado de cliente continua obrigatório, como antes. O dashboard, a API e o servidor MCP mostram o usuário e a string de conexão corretos para cada banco.

Redis: o nome de usuário agora é obrigatório em novos bancos

Em novos bancos Redis, faça login com o usuário e a senha (AUTH vertracloud <password>, ou o usuário na URL). Só a senha é recusada. Use a string de conexão exibida no dashboard ao criar um novo banco Redis.

username na API

O objeto de banco de dados retornado pela API agora inclui username. Leia esse campo em vez de presumir o usuário pelo motor, já que bancos antigos e novos usam usuários diferentes. Veja Bancos de dados.

Aplicações só podem gravar em /app, /tmp, /var/tmp e /run

O restante do sistema de arquivos do container agora é somente leitura, e HOME é /app. Tudo o que a sua aplicação grava no diretório home (caches de gerenciadores de pacotes, pastas de configuração) vai para /app e conta para a cota de disco. /tmp é a metade da RAM da aplicação, com mínimo de 128 MB e máximo de 1 GB, e /var/tmp é limitado a 64 MB; ambos ficam em memória e são limpos a cada reinício. Uma aplicação que grave em qualquer outro lugar recebe um erro de sistema de arquivos somente leitura. As aplicações passam para esse modelo no próximo deploy ou reinício.Arquivos temporários também não se acumulam mais no seu projeto: o TMPDIR da aplicação não é mais redirecionado para a pasta do projeto depois da instalação das dependências. Assim, arquivos temporários vão para /tmp e são limpos no reinício.

Escolha a versão do banco de dados

Ao criar um banco de dados, agora você pode escolher a versão, no dashboard ou com version na API. A versão recomendada é o padrão.O objeto do banco retorna version, e o novo endpoint Listar versões de banco de dados lista o que está disponível por motor. Uma version fora da lista falha com INVALID_DATABASE_VERSION.Ao criar um banco a partir de um snapshot, ele começa na versão principal do snapshot (um snapshot de MySQL 8.0 cria um banco MySQL 8.4, e um snapshot de Redis 7.4 cria um Redis 8.2). version pode ser igual ou mais nova, e uma mais antiga falha com SNAPSHOT_VERSION_NEWER. Restaurar um snapshot feito em uma versão mais nova em um banco mais antigo falha com o mesmo código, e nada é alterado.

Atualizações de segurança no reinício

Bancos existentes mantêm a versão principal. Atualizações de segurança (releases de patch) são aplicadas automaticamente sempre que o banco é reiniciado: pare e inicie de novo no dashboard. Bancos MySQL 8.0 existentes continuam no 8.0 e bancos Redis 7.4 existentes continuam no 7.4; nenhuma dessas versões está disponível para novos bancos. Se você usa índices btree_gist em colunas float ou índices ltree no PostgreSQL, rode REINDEX neles depois do reinício.

Correção: redefinição de senha no MySQL

Redefinir a senha de um banco MySQL criado com o usuário vertracloud agora surte efeito. Antes desta correção, a nova senha era exibida, mas não aplicada, e a antiga continuava funcionando.
22 de outubro de 2026

Deno, .NET e Elixir

Três novas linguagens estão disponíveis ao criar uma aplicação.
  • Deno (deno): 2.9.8 (recomendada e mais recente), além da 2.8.3. Detectada a partir de deno.json, deno.jsonc ou deno.lock. MAIN é o arquivo de entrada, como main.ts.
  • .NET (dotnet, exibido como .NET (C#)): 10.0.402. Detectada a partir de .csproj, .fsproj, .sln ou global.json. MAIN é o .csproj, e a aplicação escuta na porta definida em ASPNETCORE_HTTP_PORTS, que já está definida como 80.
  • Elixir (elixir): 1.20.4 sobre OTP 28. Detectada a partir de mix.exs. Phoenix é suportado com SECRET_KEY_BASE e PHX_HOST definidas como variáveis de ambiente. Rode mix assets.deploy antes de zipar, ou use um projeto sem assets.
Guias passo a passo: Deno, .NET e Elixir.

Runtimes atualizados e fim de suporte

Todos os runtimes passaram para a versão de patch mais recente:Versões que chegaram ao fim do suporte foram removidas: Node.js 18 e 20, Bun 1.2, Go 1.21 a 1.23, Ruby 3.2, e Rust 1.97 e 1.98. Uma aplicação salva em uma versão antiga agora roda na release mais recente da mesma linha (por exemplo, Python 3.11 roda na 3.11.17). Se a linha inteira foi removida, ela roda na versão recommended. Confira a lista completa na base de conhecimento ou com Listar runtimes.

Correções de segurança nos runtimes atualizados

As novas versões incluem estas correções de segurança upstream. As aplicações as recebem no próximo deploy ou reinício.
  • Node.js 22.23.4 e 24.22.1: sete correções, incluindo CVE-2026-111497 no decodificador Brotli. A 24.22.1 também corrige CVE-2026-105483. Aviso do Node.js
    CVE-2026-105481 CVE-2026-105482 CVE-2026-106069 CVE-2026-106072 CVE-2026-106073 CVE-2026-106074
  • PHP 8.2.35, 8.3.36 e 8.4.27: CVE-2026-109618 e CVE-2026-109619, ambas no núcleo do PHP. GHSA-w8hw-w9fx-j79w e GHSA-6wmf-4rv5-p3rp
  • Python 3.11.17, 3.12.15 e 3.13.17: oito correções, incluindo CVE-2026-82049 em tarfile. A 3.13.17 também traz certificados raiz atualizados. Notas de release: 3.11.17, 3.12.15 e 3.13.17
    CVE-2026-15310 CVE-2026-15806 CVE-2026-17084 CVE-2026-19445 CVE-2026-19553 CVE-2026-19672 CVE-2026-87910
  • Go 1.26.10 e 1.27.3: CVE-2026-56866 em net/http, CVE-2026-111943 em crypto/x509 e as demais correções das linhas 1.26 e 1.27. Histórico de releases do Go
  • Bun 1.3.14 e 1.4.4: correções para request smuggling em HTTP, TLS, WebSocket e o gerenciador de pacotes. Bun 1.3.14 e Bun 1.4.4

Detecção de linguagem mais confiável

A plataforma agora lê apenas os arquivos de manifesto da raiz do projeto e verifica cada ecossistema antes do package.json. Um projeto Python, PHP (Laravel) ou Ruby (Rails) que também tem um package.json de front-end não é mais tratado como JavaScript. O bun.lock é reconhecido como Bun, projetos Java também são reconhecidos por build.gradle.kts, settings.gradle(.kts), mvnw e gradlew, e MAIN=./src/index.js é aceito.Para forçar uma linguagem, defina LANGUAGE=<slug> no vertracloud.config (a chave é "language" no vertracloud.config.json) ou envie language em POST /v1/apps. A precedência é o campo da API, depois o arquivo de configuração e por último a detecção. Veja Configuração.

O assistente de criação mostra o que foi detectado

Antes de criar uma aplicação, o assistente de criação do dashboard agora mostra a linguagem detectada, o arquivo principal e a versão, para que você possa conferi-los (ou defini-los você mesmo) antes de qualquer build.

A vCPU agora acompanha a RAM de cada projeto

A vCPU de um projeto agora cresce com a RAM dele, até o limite de vCPU do plano: em planos com até 2 vCPU, +1 vCPU a cada 512 MB; em planos com mais de 2 vCPU, +1 vCPU a cada 1 GB. Projetos com 512 MB ou mais recebem pelo menos 2 vCPU (nunca acima do plano), e os menores recebem pelo menos 1. Projetos pequenos em planos menores ganham vCPU, e em planos com mais de 2 vCPU a vCPU de um projeto passa a seguir a RAM (por exemplo, 4 GB = 4 vCPU). A mudança vale na próxima vez que o projeto for reiniciado ou receber deploy. Veja Planos e limites.

Mudança incompatível: missing_dependencies removido

O aviso sobre dependências ausentes, exibido antes de enviar um projeto, deixou de existir, e o campo missing_dependencies não é mais retornado nas respostas de upload e de aplicação. Se o seu código lê esse campo, remova-o. Quando uma aplicação cai porque uma dependência está faltando, os logs da aplicação ainda mostram isso.

Limpeza automática na troca de linguagem

Quando você troca a linguagem de uma aplicação, as dependências da linguagem anterior agora são limpas automaticamente no próximo reinício. O campo cleanup_old_runtime_language da rota de reinício foi removido e é ignorado se enviado.

INVALID_LANGUAGE responde 400

INVALID_LANGUAGE agora está documentado e é retornado como HTTP 400, em vez de 500, porque informa um valor que a requisição enviou. Veja Erros.
22 de outubro de 2026

Vários domínios personalizados por aplicação

Uma aplicação agora pode ter vários domínios personalizados, e adicionar, alterar ou remover um deles nunca reinicia a aplicação. Domínios personalizados começam no plano Intermediary, e o número por aplicação cresce com o plano:
  • www automático: adicionar example.com também adiciona www.example.com, e vice-versa. O domínio complementar redireciona para o principal, não conta no seu limite e pode ser desativado. Qualquer um dos dois pode ser definido como o domínio principal.
  • Porta por domínio: cada domínio pode alcançar uma porta diferente da sua aplicação, de 1 a 65535, com até 5 portas além da 80 por aplicação.
  • Prefixo de caminho: um domínio pode adicionar um caminho como /api antes de cada requisição. Recomendado para APIs.
  • Redirecionamentos: um domínio pode redirecionar para outro domínio da mesma aplicação com 301, 302, 307 ou 308 (padrão 308), mantendo o caminho e a query string.
  • Status e limpeza: cada domínio mostra seu status e o estado do certificado. Um domínio que fica sem DNS por 14 dias é removido automaticamente, e você recebe um e-mail. Quando um domínio é removido, por você, ao despublicar ou por essa limpeza, exclua os registros CNAME e TXT de validação no seu provedor de DNS. Domínios raiz mostram um aviso, porque um CNAME na raiz exige um provedor de DNS com CNAME flattening.
Novas rotas gerenciam domínios em /v1/apps/{id}/domains: listar, adicionar, atualizar, remover e registros DNS. Os SDKs, a CLI, o servidor MCP e a extensão do VS Code oferecem suporte a elas. Veja Conectar domínios personalizados.

Mudança incompatível: planos são identificados pelo nome na API

A API identifica um plano pelo nome, como pro ou enterprise-8. O ID numérico do plano deixou de existir.
  • GET /v1/users/me não retorna mais plan_id nem plan.id. Leia plan.name no lugar. plan é null quando a conta não tem plano ativo.
  • Aplicações, bancos de dados e workspaces retornam owner_plan (o nome do plano, ou null) em vez de owner_plan_id.
  • Contas sem plano ativo recebem PLAN_REQUIRED ao criar aplicações ou bancos de dados ou ao publicar um site. FREE_PLAN_SUSPENDED e FREE_PLAN_NO_WEB_PUBLISH não são mais retornados.
  • A lista completa de nomes está na base de conhecimento.

Mudança incompatível: rotas de domínio personalizado substituídas

GET, POST e DELETE /v1/apps/{id}/network/custom e GET /v1/apps/{id}/network/dns são substituídas pelas rotas de domínio acima.
  • Os payloads das aplicações retornam domains, uma lista, em vez de custom_domain. public_url aponta para o domínio principal. As rotas de publicação retornam os hostnames em domains.
  • NO_CUSTOM_DOMAIN não é mais retornado: uma aplicação sem domínios tem uma lista vazia.
  • DOMAIN_ALREADY_IN_USE agora responde 409, e CUSTOM_DOMAIN_REGISTRATION_FAILED responde 502.
  • Novos códigos de erro: DOMAIN_NOT_FOUND, DOMAIN_LIMIT_REACHED, DOMAIN_PORT_LIMIT_REACHED, INVALID_DOMAIN_PORT, INVALID_PATH_PREFIX, INVALID_REDIRECT_TARGET e DOMAIN_CONNECT_UNAVAILABLE. Veja Erros.
Atualize os SDKs, a CLI e o servidor MCP junto com qualquer código que leia plan_id, owner_plan_id ou custom_domain.

SDKs, CLI, servidor MCP e extensão do VS Code 0.3.0

Novas versões dos SDKs (JavaScript, Python e Go), da CLI, do servidor MCP e da extensão do VS Code oferecem suporte a vários domínios personalizados por aplicação e a planos pelo nome. Elas seguem as mudanças incompatíveis acima, então atualize-as juntas.
  • CLI: novos comandos vertra app domains (veja CLI). Parar uma aplicação ou um banco de dados e remover uma variável de ambiente agora pedem confirmação; recusar qualquer confirmação encerra com código 1.
  • Servidor MCP: novas ferramentas de domínio. Ferramentas que excluem, sobrescrevem, param, reiniciam ou alteram acesso são marcadas como destrutivas, então o cliente pede confirmação antes de executá-las. Logs, arquivos e outros conteúdos das suas aplicações são marcados como não confiáveis. Veja MCP.
  • Extensão do VS Code: gerencie todos os domínios personalizados de uma aplicação e veja os nomes dos planos.
  • Sua chave de API fica na API da Vertra Cloud: o servidor MCP e a extensão do VS Code não seguem mais redirecionamentos, e os SDKs descartam a chave quando um redirecionamento sai da API. Os SDKs e o servidor MCP também recusam caminhos de requisição inválidos antes de enviar qualquer coisa.
  • GitHub Action v1.0.4 usa a CLI 0.3.0 por padrão. Veja GitHub Actions.

Limite de variáveis de ambiente elevado para 256

Uma aplicação agora pode ter até 256 variáveis de ambiente, antes eram 25. As chaves podem ter até 255 caracteres, e os valores até 3.072. Veja Configuração.

JSON malformado agora retorna 400

Uma requisição com JSON malformado no corpo agora recebe 400 com INVALID_JSON; antes recebia 500. Outros problemas de requisição também respondem com o próprio status e um código estável: UNSUPPORTED_MEDIA_TYPE (415), BAD_REQUEST (400) e REQUEST_TIMEOUT (408). Uma requisição com content-type: application/json e corpo vazio continua retornando 400 EMPTY_BODY. Veja Erros.
20 de outubro de 2026

Proteção mais forte contra enchentes de tráfego

Aplicações em *.vertraweb.app e em domínios personalizados agora têm proteção mais forte contra enchentes de tráfego: visitantes abusivos são bloqueados antes de chegar à sua aplicação. Aplicações que recebem um pico repentino de tráfego não são mais pausadas pelo Vertra Shield.Durante uma pausa do Shield, iniciar, reiniciar e alterar a configuração agora mostram o motivo e quando a pausa termina, em vez de um erro genérico de acesso (APP_SHIELD_COOLDOWN). Veja Proteções da plataforma.
18 de outubro de 2026

A criação da aplicação retorna na hora e o build continua em segundo plano

Criar uma aplicação não mantém mais a requisição aberta até a instalação e o build terminarem. POST /v1/apps agora responde 202 Accepted imediatamente, com a aplicação no novo status building, e o build continua em segundo plano, com logs ao vivo. Quando termina, a aplicação fica up, ou down se a instalação ou o build falharam, com a saída nos logs.
  • Acompanhando o build: leia GET /v1/apps/{id} ou abra os logs em tempo real.
  • Durante o build: iniciar, parar, reiniciar, deploys de arquivos, rollback, snapshots, restaurações e alterações de configuração respondem 409 APP_BUILDING. Excluir a aplicação é permitido.
  • Builds interrompidos: a aplicação continua down e BUILD_INTERRUPTED aparece no log dela. Se a plataforma cancelar a criação, a aplicação deixa de existir.
  • Motivo da falha: quando um build ou uma instalação falha, GET /v1/apps/{id} retorna o código no novo campo last_build_error (null após um build bem-sucedido). Os auxiliares de espera dos SDKs, o servidor MCP, a CLI, a extensão do VS Code e o dashboard usam esse código para dizer o que fazer. Veja Erros.
  • Mudanças na resposta: a resposta de criação não inclui mais removed_directories, e missing_dependencies passa a ser retornado por GET /v1/apps/{id} depois do build.
  • SDKs, MCP e CLI: apps.waitUntilReady (JavaScript), apps.wait_until_ready (Python) e Apps.WaitUntilReady (Go) esperam pelo build. O servidor MCP tem uma nova ferramenta wait_for_app, e a CLI aceita --no-wait. Veja o guia de SDKs e MCP.
Veja Criar aplicação e Erros.

Builds instalam devDependencies quando há comando de build

Quando uma aplicação tem comando de build, a instalação de dependências agora inclui devDependencies, para que ferramentas como Tailwind, TypeScript e PostCSS funcionem sem precisar mudá-las para dependencies. Sem comando de build, só dependencies é instalado, como antes.

Builds mais rápidos

A instalação de dependências e os builds agora são mais rápidos, especialmente em projetos grandes.

Puppeteer usa o Chromium já instalado

O Puppeteer agora usa o Chromium que já vem na imagem do runtime, então a instalação não baixa mais um navegador.

Correções de runtime para Ruby, Java, PHP e Rust

  • Ruby: gems instaladas pelo Gemfile agora são carregadas automaticamente na inicialização, então você não precisa mais de require "bundler/setup". As aplicações também rodam com RACK_ENV e RAILS_ENV definidos como production, então apps Sinatra deixam de responder 403 Host not permitted. As duas variáveis agora são reservadas, como NODE_ENV.
  • Java: projetos Maven e Gradle são compilados na plataforma, já que o runtime agora traz um JDK.
  • PHP: adicionar um pacote ao composer.json sem atualizar o composer.lock não faz mais a instalação falhar; o arquivo de lock é atualizado.
  • Rust: o runtime foi atualizado para a versão 1.98 (recomendada) e 1.99 (mais recente); a 1.97 também continua disponível.
15 de outubro de 2026

Blob Storage

A Vertra Cloud agora guarda arquivos dos seus projetos: uploads de usuários, imagens, vídeos, exportações e backups. Os arquivos ficam separados do disco da sua aplicação, sobrevivem a redeploys e são servidos por uma CDN global. Gerencie-os pela nova página Blob Storage do dashboard, pela API, pelos SDKs, pela CLI, pelo servidor MCP ou por qualquer ferramenta compatível com S3. Comece pela visão geral e pelo início rápido.

Arquivos públicos e privados

Todo arquivo é público ou privado, e os novos arquivos são privados. Um arquivo público tem uma URL permanente em blob.vertracloud.dev, colocada em cache pela CDN. Um arquivo privado é lido por meio de um link temporário (de 60 segundos a 24 horas) ou de uma página de compartilhamento com expiração, limite de downloads e, a partir do Enterprise-12, senha. Você pode trocar um arquivo entre os dois modos a qualquer momento sem mudar o ID dele.

Uploads de até 10 GB

Arquivos de até 100 MB vão em uma única requisição. Arquivos maiores, de até 10 GB, são enviados em partes direto para o armazenamento, com retomada e cancelamento. Um navegador pode fazer upload com um token de upload de curta duração criado pelo seu backend, para que sua chave de API nunca chegue até ele; veja o guia de uploads de usuários. Quando um caminho já está ocupado, overwrite substitui o arquivo e rename_on_conflict o salva como nome-1.ext, nome-2.ext e assim por diante. Detalhes em Uploads.

Seguro por padrão

Executáveis e instaladores são recusados, mesmo quando renomeados. Arquivos HTML, SVG e XML sempre baixam no endereço padrão em vez de abrir no navegador, e o tipo de conteúdo vem da extensão.

Regras de pasta, transformações de imagem e domínios personalizados

  • Regras de pasta: padrões e limites por pasta, como visibilidade, tamanho máximo, extensões permitidas, cache e exclusão automática após um número de dias.
  • Transformações de imagem: redimensionar, recortar e converter imagens públicas por parâmetros na URL, a partir do Scale.
  • Domínios personalizados: servir arquivos públicos por um subdomínio seu, como cdn.example.com, a partir do Enterprise-4. Um domínio também pode servir HTML, SVG e XML no navegador, em sandbox, quando você ativa web_content.

Cota por plano

O Blob Storage está incluído a partir do Economy: 1 GB no Economy, 5 GB no Pro, 15 GB no Scale, 20 GB no Intermediary e de 30 a 250 GB no Enterprise. Uploads acima da cota respondem STORAGE_QUOTA_EXCEEDED. Depois de um downgrade seus arquivos permanecem, e o uso acima da nova cota é cobrado a R$0,20 por GB iniciado na próxima renovação. Quando um plano expira, os arquivos ficam online por um período de carência de 72 horas e depois são excluídos permanentemente, sem backup. A tabela completa está em Limites e cotas.

Chaves de API e workspaces

As chaves de API ganharam dois novos escopos, blob:read e blob:write. Os workspaces ganharam duas permissões, blob:read e blob:manage, que atuam sobre os arquivos e a cota do dono. Nenhum papel existente as recebe, então o dono precisa concedê-las explicitamente. Veja Autenticação.

SDKs, S3, CLI e MCP

  • JavaScript: um SDK dedicado, @vertracloud/blob, para Node, navegadores e runtimes de borda. Veja SDK JavaScript.
  • Python e Go: client.blob e client.Blob nos SDKs existentes. Veja SDKs Python e Go.
  • S3: aws-cli, rclone, boto3 e outras ferramentas S3 funcionam com credenciais derivadas da sua chave de API. Veja Compatibilidade com S3.
  • CLI: vertra blob ls, put, get, link, rm e stats. Veja CLI.
  • MCP: ferramentas para listar, enviar, gerar links, mudar a visibilidade e excluir arquivos. Veja MCP.
12 de outubro de 2026

Deploys sem queda no Enterprise

No Enterprise, um deploy ou um reinício agora pode iniciar a nova versão ao lado da que está rodando, verificar se ela está saudável e só então trocar. Assim, uma aplicação que recebe tráfego web continua acessível durante a atualização. A versão antiga recebe um pedido de desligamento assim que a nova assume.
  • Modos: off (o padrão, inclusive para aplicações criadas antes desta atualização) continua parando a versão em execução primeiro; auto usa deploy sem queda para aplicações que recebem tráfego web; on força o modo, inclusive para aplicações sem tráfego web. Bots e outras aplicações sem tráfego web continuam com parar e iniciar no auto, porque duas cópias de um bot responderiam ao mesmo evento duas vezes. Ative nas configurações da aplicação, em Deploy; a mudança vale a partir do próximo reinício ou deploy.
  • Caminho do health check: defina o caminho que a plataforma chama na nova versão, / por padrão, com o novo campo deploy.health_check_path de Atualizar configuração da aplicação ou nas configurações da aplicação. Qualquer resposta HTTP conta como saudável, inclusive 404; uma conexão recusada, um timeout ou uma resposta 5xx não contam.
  • Deploys descartados: se a nova versão não ficar saudável em cerca de 2 minutos, ela é descartada, você recebe um aviso com o log dela, e a versão anterior continua rodando. O log ao vivo mostra o mesmo aviso.
  • Fallback: se a segunda cópia não puder ser iniciada naquele momento, o deploy volta a parar a versão em execução primeiro.
As duas versões compartilham a pasta da aplicação por um curto período. Por isso, leia as limitações antes de ativar o modo para uma aplicação que grava arquivos de dados ou lê seus arquivos a cada requisição. O novo guia de rollback e deploy sem queda explica como releases, rollback e deploys sem queda funcionam em conjunto.

Rollback automático quando uma nova versão não inicia

No Intermediary e no Enterprise, uma aplicação que para em até 60 segundos depois de um deploy agora volta sozinha para a versão anterior. Assim, um deploy quebrado não deixa mais a aplicação fora do ar.
  • Quando age: só se a nova versão parar nos primeiros 60 segundos após um deploy. Uma parada depois disso é tratada como queda normal e fica a cargo do reinício automático.
  • Uma vez só: a plataforma volta uma única vez. Se a versão anterior também parar, a aplicação fica parada e você é notificado.
  • O que volta: os arquivos de código, não as variáveis de ambiente. Para trazer as variáveis de volta, use o rollback manual com a opção de variáveis.
  • Você é avisado: você recebe uma notificação, a aba Rollbacks marca a versão com falha com o log dela, e o rollback automático aparece como uma nova versão atribuída à Vertra Cloud. O log ao vivo da aplicação mostra os mesmos avisos.
  • Configuração: vem desativado por padrão, inclusive para aplicações criadas antes desta atualização. Ative nas configurações da aplicação, em Deploy, ou com o novo campo deploy.auto_rollback de Atualizar configuração da aplicação. Alterar essa opção não reinicia a aplicação.
Obter aplicação agora retorna um objeto deploy com as configurações de deploy salvas. Depois de um downgrade, o valor salvo permanece, mas ele só atua em um plano que inclua o recurso.

Snapshot de segurança ao excluir uma aplicação

Nos planos Pro e superiores, excluir uma aplicação agora faz antes um snapshot de segurança dela, como a exclusão de um banco de dados já fazia. O snapshot fica guardado por 30 dias em Snapshots, onde você pode baixá-lo.
  • Se o snapshot falhar, a aplicação não é excluída e a requisição responde SNAPSHOT_FAILED; entre em contato com o suporte. Snapshots de segurança demais em pouco tempo respondem FORCED_SNAPSHOT_RATE_LIMIT.
  • No Free e no Economy, a aplicação é excluída na hora, sem cópia. O diálogo de exclusão avisa disso e oferece baixar o projeto antes.
  • A expiração do plano continua fazendo um snapshot de cada projeto antes de removê-lo, em todos os planos.

Volte uma aplicação para uma versão anterior

A aba Rollbacks agora permite voltar a uma versão anterior do código de uma aplicação. Escolha uma versão e confirme: a aplicação volta ao código que tinha nessa versão e reinicia.
  • O que volta: todo o código daquela versão. Arquivos de código que a versão não tinha são removidos.
  • O que fica: dados que a aplicação criou enquanto rodava, como um arquivo de banco ou uploads. Para trazer dados de volta, use um snapshot.
  • Variáveis de ambiente (opcional): marque a opção para restaurar as variáveis salvas com aquela versão. A confirmação lista apenas os nomes das variáveis que serão adicionadas, alteradas ou removidas. Os valores nunca são mostrados.
  • Desfazer: um rollback é uma nova versão no histórico, então você pode voltar à versão de onde veio. Dois rollbacks da mesma aplicação precisam de 30 segundos de intervalo.
  • Limites por plano: o rollback começa no Pro. O Pro mantém as 3 versões anteriores por 7 dias, o Scale 5 por 14 dias, o Intermediary 10 por 30 dias, e o Enterprise de 15 a 30 por nível, por 30 dias. O prazo de uma versão começa quando ela deixa de rodar; a versão em execução nunca expira. Economy e Free mostram o histórico sem a opção de rollback.
A API tem uma prévia das mudanças de variáveis e um endpoint de rollback. Fazer rollback exige o escopo apps:write, além de apps:envs ao restaurar variáveis.

Histórico de deploys e mensagens de commit para toda aplicação

Cada aplicação agora tem uma aba Rollbacks no dashboard. Ela lista cada versão do código da aplicação, qualquer que seja a origem: um push para o GitHub, a CLI, um upload pelo dashboard ou pela API, ou uma edição no gerenciador de arquivos. Cada entrada mostra status, mensagem, autor, data e tempo de build. A aba está disponível em todos os planos.O histórico começa com o primeiro envio de código depois desta atualização. Aplicações criadas a partir de um snapshot não ganham uma entrada inicial. Edições feitas no gerenciador de arquivos são agrupadas no histórico no próximo reinício ou envio de código. Arquivos enviados sem reiniciar aparecem como Aguardando reinício até a aplicação reiniciar, porque até lá ela continua rodando a versão anterior.Você pode escrever uma mensagem para cada versão:
  • Dashboard: um campo opcional de mensagem no diálogo de upload.
  • API: um campo message no endpoint de upload de arquivos.
  • CLI: vertra app commit -m "...". Sem -m, dentro de um repositório git, a CLI usa o assunto do último commit.
A API expõe o mesmo histórico para as suas ferramentas. Listar releases retorna as versões de uma aplicação, e log da release retorna o log de uma delas. Os dois exigem o escopo apps:read. O SDK Go adiciona Apps.Releases() e um campo Message nos uploads.

O auto-deploy do GitHub faz o build do commit que você enviou

O auto-deploy pelo GitHub agora faz o build exatamente do commit que foi enviado. Antes, o build pegava o que estivesse na ponta da branch quando o download começava, então dois pushes próximos podiam mostrar um commit no histórico de deploys enquanto um mais novo estava rodando. Agora cada deploy corresponde ao commit que ele lista.Um push que exclui a branch main ou master não inicia mais um deploy.

Releases, rollback e configurações de deploy pela CLI, SDKs e MCP

A CLI, os SDKs de JavaScript, Python e Go e o servidor MCP agora cobrem releases, rollback e configurações de deploy, com os mesmos planos e escopos de chave de API do dashboard e da API.
  • CLI: vertra app releases lista as versões e vertra app releases log mostra o log de uma com falha. vertra app rollback mostra o que vai acontecer e pede confirmação antes de executar; com --env, lista apenas os nomes das variáveis que mudam. Sem terminal, exige --yes. vertra app config aceita --zero-downtime, --auto-rollback, --health-path e --clear-health-path.
  • SDKs: apps.releases lista releases, lê um log, faz a prévia de um rollback e o executa, nas três linguagens. Atualizar a configuração de uma aplicação aceita as configurações de deploy, e os uploads aceitam uma mensagem.
  • MCP: novas ferramentas list_releases, get_release_log, preview_rollback e rollback_app. rollback_app é marcada como destrutiva, então seu cliente pede confirmação. update_app_config aceita as configurações de deploy, e deploy_app aceita uma mensagem.
  • Escopos: apps:read para listar e ler logs, apps:envs para a prévia e para restaurar variáveis, apps:write para fazer rollback.
Veja CLI, SDKs, MCP e o guia de rollback e deploy sem queda.
10 de outubro de 2026

Escolha para onde vão os arquivos enviados

A caixa Enviar alterações do gerenciador de arquivos tem um campo Destino do commit. Ele começa com a pasta que você tem aberta, e Selecionar permite escolher qualquer outra pasta da aplicação. Os arquivos são gravados nessa pasta. Um ZIP é extraído dentro dela e mesclado com os arquivos que já existem lá, então os arquivos que você não enviar são mantidos.
  • API: POST /v1/apps/{id}/files/upload aceita um parâmetro de query path opcional com a pasta de destino, relativa à raiz da aplicação. Deixe vazio ou omita para enviar à raiz. Três novos códigos de erro podem ser retornados: INVALID_PATH, FORBIDDEN_PATH e PATH_IS_FILE.
  • SDKs: JavaScript apps.files.upload(id, file, filename, { path }), Python upload(..., path="src") e Go ApplicationFileUploadParams{Path: "src"}.
  • CLI: vertra app commit --path src envia para essa pasta.

Arquivos enviados aparecem na hora ao reiniciar

Com Reiniciar aplicação marcado, os arquivos enviados só apareciam na lista depois que o reinício terminava. Agora aparecem assim que o upload é concluído.
5 de outubro de 2026
O menu da conta agora abre um painel agrupado: perfil, aparência, idioma, configurações, faturamento, CLI, VS Code, MCP, changelog, documentação, suporte, troca de workspace e sair.

Pague com cartão, com renovação automática

Agora você pode pagar um plano com cartão de crédito Visa ou Mastercard, além do Pix, sem sair do checkout da Vertra.
  • Um cartão fica salvo na sua conta, e seu plano renova automaticamente no cartão padrão. O cartão é cobrado 3 dias antes de o plano expirar, e você recebe um e-mail no mesmo dia. Se a cobrança falhar, ela é tentada de novo em cada um dos 2 dias seguintes e no dia da expiração; se todas as tentativas falharem, o plano expira normalmente. Se o seu banco pedir confirmação, você recebe um e-mail para confirmá-la.
  • Não há período de fidelidade. Para parar a renovação automática, use Cancelar renovação no cartão do plano em Faturamento: seu plano continua ativo até a data de vencimento, o cartão fica salvo, e você pode reativar a renovação a qualquer momento.
  • Pagamentos via Pix não renovam sozinhos; você continua recebendo o aviso de expiração habitual.
  • O plano Economy é pago somente via Pix, então nunca renova automaticamente.
  • A Vertra nunca vê nem armazena o número do seu cartão: o cartão e os seus dados de cobrança ficam guardados pela Stripe, e a Vertra mantém apenas a bandeira, os últimos 4 dígitos e a validade.

Dados de cobrança

Comprar um plano agora exige dados de cobrança, porque eles são necessários para emitir a nota fiscal de serviço (NFS-e). No Brasil: nome, CPF ou CNPJ e endereço completo (CEP, rua, número e bairro; cidade e estado são preenchidos a partir do CEP). Fora do Brasil: nome, rua, cidade, país e código postal. O telefone é opcional. Preencha em Faturamento; se faltarem, o checkout pede antes do pagamento. Salvar um cartão novo não altera esses dados.

Períodos de cobrança: 1, 3 ou 12 meses

Os planos podem ser comprados para 1, 3 ou 12 meses. Uma compra de 3 meses tem 5% de desconto, e uma de 12 meses tem 15% de desconto sobre o preço mensal. A opção de 6 meses foi removida. Os preços continuam em R$, e o site agora mostra, ao lado deles, um valor aproximado em dólar americano como referência.

Notas fiscais de serviço automáticas (NFS-e)

A nota fiscal de serviço (NFS-e) brasileira é emitida automaticamente para todo pedido pago e enviada por e-mail, em nome e com o CPF ou CNPJ dos seus dados de cobrança. A emissão pode levar alguns minutos, e um reembolso integral cancela a nota fiscal. Pedidos sem cobrança e códigos de resgate não geram nota.

Mudanças na API

  • POST /v1/orders aceita apenas months com 1, 3 ou 12; qualquer outro valor retorna 400 INVALID_MONTHS. O plano Economy aceita apenas 1.
  • Criar um pedido e consultar o status agora retornam allowed_payment_methods. Para o plano Economy, o valor é ["pix"].
  • POST /v1/orders/{orderId}/initiate/pix retorna o mesmo QR code enquanto ele ainda for válido, e o QR code expira junto com o pedido. Retorna 409 ORDER_NOT_PAYABLE enquanto um pagamento por cartão do mesmo pedido está sendo confirmado.

SDKs (JavaScript, Python e Go)

  • Novos billing.details() e billing.updateDetails() (update_details() em Python, Details e UpdateDetails em Go) leem e atualizam seus dados de cobrança pela rota /v1/users/me/billing, com o endereço estruturado, CPF ou CNPJ e telefone opcional. orders.create falha com BILLING_DETAILS_INCOMPLETE até que estejam completos.
  • As respostas de pedido incluem allowed_payment_methods, e cada pedido na lista inclui has_receipt.
  • O filtro da lista de pedidos aceita card como provedor, além de pix e redeem_code.
  • JavaScript: os tipos de cobrança, runtime e reinício agora vêm direto de @vertracloud/api-types 0.3.2. apps.runtimes() retorna APIApplicationRuntimes, e apps.restart() recebe RESTPostAPIApplicationRestartBody. Se você importava os nomes de tipo locais antigos, troque para estes.
  • Os READMEs listam pagamento com cartão, cartões salvos, renovação automática, prévia de cupom e recibos como exclusivos do dashboard, e não mencionam mais a transferência de propriedade do workspace, que foi removida.

Servidor MCP

  • Novas ferramentas para ler e atualizar seus dados de cobrança.
  • create_app e update_app_config aceitam o comando de build (build).
  • create_app, create_database e create_order explicam o erro FREE_PLAN_SUSPENDED.

Extensão do VS Code

  • Criar uma aplicação ou um banco de dados no plano Free suspenso mostra uma mensagem clara com um botão Ver planos.
  • Abrir um caminho de arquivo como pasta no explorador de arquivos remoto agora mostra o erro certo, em vez de uma falha genérica.

CLI

  • Nenhuma mudança necessária. A CLI recebe as atualizações do SDK Go na próxima versão.
30 de setembro de 2026

Novos projetos exigem um plano pago

O plano Free não cria mais novas aplicações ou bancos de dados. Projetos que já estão rodando no plano Free continuam online.
  • Criar uma aplicação ou um banco de dados no plano Free agora retorna 403 FREE_PLAN_SUSPENDED.
  • Quando isso acontece durante um deploy no dashboard, você pode escolher um plano e pagar com Pix direto na tela de deploy. Assim que o pagamento for confirmado, o deploy continua com os mesmos arquivos, então você não precisa enviar o projeto de novo.
27 de setembro de 2026

Transferência de propriedade do workspace removida

A transferência de propriedade de um workspace para outro membro foi removida da plataforma.
  • POST /v1/workspaces/{id}/transfer-ownership não faz mais parte da API.
  • O dono do workspace continua sendo o único membro que pode renomear ou excluir o workspace, ou vincular e desvincular uma aplicação ou um banco de dados. Isso não muda e continua fixo na conta que criou o workspace.

Um só código de erro para subdomínio já em uso

Criar uma aplicação com um subdomínio que outra aplicação já usa agora retorna 409 SUBDOMAIN_TAKEN, o mesmo código de publicar ou alterar o subdomínio. SUBDOMAIN_ALREADY_IN_USE não é mais retornado.

Mudanças de plano mantêm cada hora restante

Ao trocar de plano, o tempo que resta no plano atual é convertido em dias do novo plano sem arredondar para baixo. Assim, trocar logo após uma compra não perde mais até um dia.

Verificação de robô no login

Pedir um código de login por e-mail agora mostra uma verificação rápida da Cloudflare. Na maioria das vezes ela passa sozinha; quando não passa, um único clique confirma que você é humano. Entrar com Discord, GitHub ou Google continua igual.
27 de setembro de 2026

Uma build com falha não perde mais sua nova aplicação

Quando a instalação de dependências ou o comando de build falhava ao criar uma aplicação, a criação falhava, o upload era descartado e o erro que explicava o motivo nunca era mostrado.Agora a aplicação é criada mesmo assim, parada (status: "down"), com a saída da instalação ou do build nos logs:
  • Dashboard: depois do upload, você cai na aplicação, com o erro do build no console. Corrija os arquivos no gerenciador de arquivos e inicie de novo, sem precisar enviar o projeto outra vez.
  • API, SDKs e CLI: POST /v1/apps retorna 201 com a aplicação em down, em vez de um erro. BUILD_FAILED, BUILD_TIMEOUT, INSTALL_FAILED, INSTALL_TIMEOUT, INSUFFICIENT_MEMORY e INSTALL_SHIELD_BLOCKED continuam sendo retornados (422) ao iniciar ou reiniciar uma aplicação existente.
  • A aplicação conta para o limite de aplicações do seu plano como qualquer outra aplicação parada.

Bun 1.2.23

Aplicações Bun agora rodam na 1.2.23, a versão recomendada e mais recente. As versões 1.2.2 e 1.1.0 não são mais oferecidas: as imagens oficiais delas são construídas sobre uma versão do sistema operacional que deixou de receber atualizações de segurança.
  • Aplicações sem VERSION, ou com VERSION=recommended, passam para a 1.2.23 no próximo start ou restart.
  • Se o seu vertracloud.config fixa VERSION=1.2.2 ou VERSION=1.1.0, troque para 1.2.23.
24 de setembro de 2026

Campos de reinício automático removidos da API

O reinício automático está ativo para toda aplicação, em todos os planos, desde 17 de setembro. Os campos que restavam agora foram removidos:
  • Respostas: as aplicações não incluem mais auto_restart. Se a sua integração lê esse campo, trate o reinício automático como sempre ativo.
  • Requisições: autorestart em POST /v1/apps e auto_restart em PATCH /v1/apps/{id}/config não fazem mais parte da API. Clientes que ainda os enviam continuam funcionando, pois o campo é simplesmente ignorado.
  • SDKs e CLI: os SDKs de JavaScript, Python e Go removem o campo, e a CLI remove a flag --autorestart.
  • vertracloud.config: uma linha AUTORESTART antiga é ignorada e não bloqueia o upload.

A versão de runtime escolhida é a que roda

A versão do runtime escolhida no assistente, em Configurações → Geral, em VERSION ou pela API é agora a versão que a aplicação executa.
  • Escolher a versão mais recente roda a versão mais recente. Antes, escolher Node.js 24.5.0 ou Ruby 3.4 (o latest de cada um) podia, sem aviso, fazer a aplicação ser construída na versão recomendada.
  • A versão que você confirma prevalece. Quando um .zip tem um VERSION em vertracloud.config, o assistente o preenche; se você escolher outra antes de criar, a aplicação agora roda a que você escolheu. Antes, o valor do arquivo podia sobrescrever a sua escolha.
  • Versões desconhecidas são recusadas. Uma versão que não existe para a linguagem da aplicação responde 400 INVALID_VERSION, em vez de cair silenciosamente em outra. Veja Listar runtimes para os valores válidos.
Uma aplicação criada com Node.js 24.5.0 ou Ruby 3.4 que estava rodando na versão recomendada passa para a versão que escolheu no próximo deploy, rebuild ou restart. Se ela depende do runtime mais antigo, defina a versão como recommended em Configurações → Geral antes de reiniciar.
23 de setembro de 2026

Respostas vazias e erros de validação padronizados

Três ajustes nos formatos de resposta da API, para que todas as rotas sigam o mesmo envelope:
  • Uma resposta vazia é { "response": null }. Remover uma variável de ambiente, salvar, mover e excluir um arquivo, remover um domínio personalizado, limpar o cache, remover um webhook de deploy e excluir uma aplicação respondiam {}. Agora respondem { "response": null }, como as rotas de workspace já faziam.
  • O campo inválido vai para details.path. Um 400 VALIDATION_ERROR incluía path solto no topo da resposta; agora vem como { "code": "VALIDATION_ERROR", "message": "...", "details": { "path": "..." } }.
  • Erros de cliente do gerenciador de arquivos são 400, não 500. Enviar sem arquivo (NO_FILE_UPLOADED) ou um zip ilegível (INVALID_ZIP_STRUCTURE) respondia 500; agora responde com o status 4xx correto.
Também:
  • GET /v1/apps/runtimes responde apenas com { "response": { ... } }, sem o campo extra status.
  • PATCH /v1/users/me aceita apenas pt-br, en-us ou es-es para language.
  • POST /v1/users/{id}/snapshots/{snapshot_id}/restore rejeita um resource_id inválido com 400.
  • POST /v1/orders/{orderId}/initiate/pix sempre retorna transaction_amount como número.
Se a sua integração lia path no topo de um erro ou tratava {} como sucesso, atualize para os formatos acima. Os tipos de @vertracloud/api-types já descrevem o novo formato.Códigos de erro relacionados a aplicações e bancos de dados também foram padronizados.

Conteúdo de arquivo sempre em base64

O conteúdo de arquivo retornado por Obter conteúdo de arquivo da aplicação e pelos SDKs agora é sempre base64 padrão. O campo size da resposta reflete o tamanho real do arquivo em bytes, e não o comprimento da string codificada. Antes, o formato variava conforme o tipo de arquivo. Se a sua integração tratava formatos diferentes de conteúdo, esse tratamento não é mais necessário.
22 de setembro de 2026

Instalador da CLI para macOS, Linux e Windows

A CLI agora é um único binário, sem dependências, que se instala com um comando:
  • macOS e Linux: curl -fsSL https://cli.vertracloud.app/install | sh
  • Windows (PowerShell): irm https://cli.vertracloud.app/install | iex
O instalador escolhe a build certa para o seu sistema e processador (x64 ou ARM), verifica o checksum do arquivo e coloca o comando vertra no seu PATH. Para atualizar, execute o mesmo comando de novo.Veja a página CLI para conectar sua conta e fazer o primeiro deploy.

Créditos de uso e de IA removidos

Os créditos de uso e os créditos de IA não existem mais na Vertra Cloud. POST /v1/orders aceita apenas pedidos de plano, e nenhum payload traz mais use_credits ou credits_used. Pedidos de crédito anteriores a esta mudança não aparecem mais no histórico de pedidos do usuário.

Resposta de domínio personalizado simplificada

As rotas que leem e vinculam um domínio personalizado (GET e POST /v1/apps/{id}/network/custom) agora retornam apenas { "domain": "example.com" }, como o tipo público já descrevia. O status de validação dos registros DNS continua na rota Registros DNS do domínio personalizado.Dois códigos de erro de domínio personalizado foram renomeados para CUSTOM_DOMAIN_REGISTRATION_FAILED e CUSTOM_DOMAIN_RECORD_NOT_FOUND.Se a sua integração compara esses códigos, atualize para os novos nomes.

Atualização da documentação: primeiro deploy e configuração

A documentação foi atualizada para acompanhar o dashboard atual:
  • Primeiro deploy reescrito para seguir o fluxo atual de Novo Projeto: origem, build, ambiente, rede, revisão e deploy, incluindo a criação a partir de um snapshot.
  • Nova página Configuração: cada chave do vertracloud.config, o que pode mudar depois do deploy, comandos de start e build por framework, porta, variáveis de ambiente e os limites de uma aplicação.
  • Deploy pelo GitHub agora explica os deploys automáticos como funcionam hoje: a Vertra cria o webhook no seu repositório para você, e só pushes para main ou master publicam.
  • Os tutoriais agora usam o mesmo passo a passo de deploy, seja pelo dashboard, pela CLI ou pelo VS Code.
  • A referência da API ganhou páginas para excluir um banco de dados, atualizar um perfil e listar todos os snapshots de uma conta, e corrigiu a rota de exclusão de variável de ambiente, o corpo de atualização de banco de dados e os códigos de erro de autenticação.

Selo “Powered by Vertra Cloud” no Pro

No plano Pro, as páginas HTML publicadas mostram um pequeno selo “Powered by Vertra Cloud” no canto inferior direito, com link de volta para a Vertra. Ele não aparece no Scale nem em planos superiores, e trocar de plano liga ou desliga o selo imediatamente, sem precisar de novo deploy.

Páginas de SDKs e GitHub Actions no site

A seção de ferramentas para desenvolvedores ganhou duas novas páginas no site:
  • SDKs: instalação e exemplos para JavaScript, TypeScript, Python e Go, recursos disponíveis e perguntas frequentes.
  • GitHub Actions: um workflow para copiar, configuração de secrets e opções para atualizar uma aplicação existente.
As páginas estão disponíveis em português, inglês e espanhol, com acesso pelo menu e pelo rodapé.

SDKs oficiais de JavaScript, Python e Go

SDKs

  • @vertracloud/sdk-api (npm), vertracloud-api (PyPI) e github.com/vertracloud/sdk-api-go chegam como clientes oficiais da API pública. Um método por rota, autenticação pela mesma chave de API com escopos, e cobertura de aplicações, bancos de dados, snapshots, conta, workspaces e cobrança, sem cache, retentativas automáticas ou estado interno. Veja SDKs.
  • Os três expõem streaming de saída em tempo real de uma aplicação (apps.realtime): um gerador assíncrono em JavaScript, um stream iterável em Python e um iterador (Next/Event) em Go.
  • Toda resposta de erro vira um erro estruturado, sempre com um code acessível: em JavaScript e Python, uma classe de exceção por status HTTP (AuthenticationError, NotFoundError, ValidationError, RateLimitError, entre outras); em Go, um único *rest.APIError com métodos como IsNotFoundError() e IsRateLimitError().
  • O que continua exclusivo do dashboard (histórico de atividades, notificações, gerenciamento de chaves de API, convites de workspace, a aba Dados dos bancos de dados, downgrades de plano e exclusão ou transferência de workspace) está listado em SDKs → O que você não pode fazer com uma chave de API.

API

  • O caminho de criação do webhook de deploy agora é /deploys/webhook, no singular, igual às rotas de consulta e exclusão que já usavam essa forma. Referência atualizada em Criar webhook de deploy.
  • O histórico de atividades é exclusivo do dashboard e não tem equivalente na API pública nem nos SDKs.

Workspaces por chave de API e MCP

Mais ações de workspace agora estão disponíveis fora do dashboard, pelos SDKs, pela CLI, pela extensão do VS Code e pelo servidor MCP:
  • Excluir um workspace com o novo escopo workspaces:delete. Só o dono do workspace pode, como no dashboard.
  • Convites com o novo escopo workspaces:invites: listar e revogar os convites de um workspace, e ver, aceitar ou recusar um convite por token. A chave age como a conta que a possui, então um convite por e-mail só é aceito se combinar com o e-mail dessa conta.
  • Solicitações de ação: workspaces:read lista as solicitações, e workspaces:write cria uma para alguém com permissão de aprovação.
Os dois novos escopos não estão incluídos nos presets read e write, apenas em full ou em uma seleção personalizada, e aparecem desmarcados na tela de autorização de aplicativos conectados. As permissões de papel do workspace continuam valendo para a chave.Algumas operações de workspace continuam exclusivas do dashboard, incluindo criar convites, transferir a propriedade, aprovar ou rejeitar solicitações de ação e exportar o histórico de atividades.
21 de setembro de 2026

Páginas de CLI e VS Code para desenvolvedores

As ferramentas para desenvolvedores da Vertra Cloud agora têm páginas próprias:
  • A página da CLI cobre instalação, diagnósticos antes do deploy e comandos de logs, aplicações, bancos de dados e automação, com saída em JSON.
  • A página da extensão oficial do VS Code 1.0 cobre instalação, conexão por conta ou chave de API e os recursos de deploy, logs, métricas, arquivos remotos, bancos de dados e snapshots dentro do editor.
Abra CLI ou Extensão do VS Code para começar.

Nova aparência para notificações

As notificações ficaram mais compactas, com ícones baseados no contexto e transições suaves nos temas claro e escuro.
  • Novos estilos neutro, suave, com contorno e sólido para mensagens de sucesso, erro, informação e atualização.
  • Suporte a ações, botão de fechar e barra de progresso para operações que informam o próprio progresso.
  • As animações respeitam a preferência de movimento reduzido do dispositivo.
19 de setembro de 2026

Pastas e favoritos salvos por conta

Pastas e favoritos agora são salvos na conta, em vez de depender do armazenamento local do navegador ou do editor.
  • A organização pessoal é separada da organização de cada workspace.
  • Pastas podem ser criadas, renomeadas, ter a cor alterada e ser reordenadas.
  • Aplicações e bancos de dados podem ser colocados em pastas e marcados como favoritos de forma independente.
  • O dashboard, os workflows, a CLI, o MCP e a extensão do VS Code usam a mesma organização persistida.
  • A lista de projetos e o Flow mostram o mesmo estado de pastas e favoritos; os grupos do canvas do próprio Flow continuam locais e independentes.
  • As ações são registradas no histórico de atividades, inclusive quando feitas por meio de uma chave de API.
Os grupos do Flow são outra coisa: eles organizam elementos no canvas local. Não há sincronização nem migração entre grupos do Flow e pastas de recursos.

Flags de reinício: reinstalar dependências e forçar build

Reiniciar aplicação agora aceita dois campos opcionais no corpo:
  • reinstall_dependencies reinstala as dependências da aplicação do zero, ignorando o cache de instalação. É o mesmo que Reinstalar Dependências no gerenciador de arquivos do dashboard.
  • force_build executa de novo o comando de build da aplicação, mesmo que nenhum arquivo de código tenha mudado desde o último build. É o mesmo que Forçar build no dashboard.
Isso substitui a rota separada de instalação de dependências. Enviar qualquer uma das flags conta como um slot no limite horário de deploys do plano.

Extensão do VS Code 1.0

A extensão da Vertra Cloud para o VS Code chega à versão 1.0, disponível no VS Code Marketplace e no Open VSX, além de um arquivo .vsix para instalação manual.O arquivo vertracloud.config na pasta vinculada agora tem suporte dedicado: autocompletar de campos, descrições ao passar o mouse e avisos inline quando um valor está ausente ou malformado. Os logs em tempo real agora vão para um canal de saída do editor, em vez de um terminal integrado.As demais ações de gerenciamento de aplicações continuam disponíveis no dashboard.Veja Gerencie a Vertra Cloud pelo VS Code para a lista completa de recursos.
18 de setembro de 2026

Servidor MCP e requisições guiadas por chave de API

A Vertra Cloud agora tem um servidor MCP oficial (@vertracloud/mcp), que dá às ferramentas compatíveis com MCP a capacidade de gerenciar aplicações, bancos de dados, snapshots e cobrança — sempre pela sua chave de API e dentro do que ela permite. Instale localmente com npx -y @vertracloud/mcp ou conecte-se ao endpoint MCP oficial listado na página de integração.Três novos escopos de chave de API chegam junto: billing:read (listar pedidos e consultar o status), billing:write (criar um pedido de plano e gerar um código Pix) e redeem:write (resgatar um código promocional). Fazer downgrade de plano continua sendo uma ação exclusiva do dashboard.Veja Conecte a Vertra Cloud a agentes de IA (MCP) para a lista completa de ferramentas.
17 de setembro de 2026

Reinício automático em todos os planos

O que mudou

O reinício automático deixou de ser um recurso restrito a um plano — agora é o padrão para toda aplicação, em todos os planos, incluindo o Free. Não existe mais um controle no dashboard para ligá-lo ou desligá-lo; ele fica sempre ativo.
  • Um container que cai volta sozinho, no Free como em qualquer outro plano.
  • A proteção contra loop de falhas continua a mesma: 5 quedas em 10 minutos desativam o reinício automático por 24 horas, com intervalo mínimo de 1 hora entre reinícios e mínimo de 60 segundos online para o container ser considerado estável.
  • O campo AUTORESTART em vertracloud.config ainda é aceito, mas agora é ignorado — ele não precisa mais estar no arquivo.
  • Na API, o campo auto_restart continua nas respostas das aplicações e agora é sempre true; o campo autorestart no corpo de criação ainda é aceito por compatibilidade, mas é ignorado.
16 de setembro de 2026

Limites de requisições por minuto e por dia na API

Chamadas feitas com uma chave de API agora respeitam duas novas janelas de limite, escalonadas pelo plano da conta, além dos limites por rota já existentes (ações de ciclo de vida, console SQL, alterações de subdomínio etc.):
  • Por minuto, de 30/min no Free até 480/min a partir do Enterprise-12. Ao excedê-lo, a API retorna 429 RATE_LIMIT_EXCEEDED.
  • Por dia, de 1.000/dia no Free até 864.000/dia no Enterprise-32, com reinício à meia-noite, no horário de Brasília. Ao excedê-lo, a API retorna 429 DAILY_QUOTA_EXCEEDED.
O uso pelo dashboard não conta para nenhuma das duas janelas.Também mudou:
  • A criação manual de snapshots ganhou limite próprio — 1 a cada 5 minutos no mesmo projeto e 10 por hora na conta — para não competir com o snapshot automático que a plataforma já faz antes de excluir ou redefinir um banco de dados. Ao excedê-lo, retorna 429 SNAPSHOT_RATE_LIMITED.
  • Correção de unidade: a cota de requisições da API era sempre diária, não mensal como a documentação dizia. Nenhum número mudou de tamanho; só a unidade estava errada.
  • Correção no plano Intermediary: a cota diária publicada era 56.000; o valor correto é 115.200.
  • Correção no reset de banco de dados: o limite é 1 por hora, não 1 a cada 3 horas.
Detalhes completos em Limites da API e Planos e limites.
15 de setembro de 2026

Nova página Sobre

A página Sobre foi reorganizada para separar melhor a apresentação da empresa dos marcos da sua história.A linha do tempo agora empilha os cards ao rolar, com datas mais fáceis de encontrar e detalhes destacados no marco atual, tanto no tema claro quanto no escuro.
14 de setembro de 2026

Nova aparência para a página de aplicações

A página pública de aplicações agora abre com uma nova ilustração, mantendo espaço livre para a mensagem principal.

Comando de build, vCPU por aplicação e novos limites de armazenamento

Comando de build

  • Novo campo build_command, em todos os planos. Ele roda em todo deploy (criação, upload de zip, deploy pelo GitHub, reinstalação de dependências ou troca do próprio comando), sempre depois da instalação das dependências e antes de a aplicação iniciar. Um restart simples não roda o build de novo se o anterior já tiver terminado com sucesso com o mesmo comando.
  • Ele roda em um ambiente isolado da aplicação: 2× a RAM dela (mínimo de 1 GB, máximo de 4 GB) e 2× a vCPU dela (mínimo de 1, máximo de 2), com timeout de 10 minutos. A instalação de dependências mantém um timeout próprio e separado, agora de até 15 minutos.
  • Nova chave BUILD em vertracloud.config, ao lado de START.
  • Criar uma aplicação a partir de um zip de Next.js, Nuxt, SvelteKit, Remix, React Router, Astro, Gatsby ou Vite agora sugere automaticamente os comandos certos de build e de start, editáveis antes de criar. O arquivo de entrada também passa a ser reconhecido nesses projetos, que não têm index.js.
  • O ambiente de build tem o dobro da banda e do limite de requisições da aplicação, porque baixar dependências pesa mais do que servir tráfego. Ao excedê-lo, o deploy é interrompido, do mesmo jeito que já acontecia com uma aplicação no ar.

Armazenamento

  • Aplicações: 10 GB fixos, independentemente da memória (antes, o teto crescia com a RAM).
  • Bancos de dados: 6 GB + 1 GB para cada 512 MB de RAM alocada, sempre arredondado para GB inteiros. Um banco de 1 GB agora tem 8 GB; um de 2 GB tem 10 GB. Nenhum banco existente perde espaço.

vCPU por aplicação

  • Uma aplicação com 2 GB ou mais de RAM agora recebe a vCPU completa do plano; abaixo disso, recebe um terço da vCPU do plano, com piso de 1 vCPU. Mais memória nunca resulta em menos vCPU.

Limite horário de deploys

  • Criar uma aplicação, enviar um zip, fazer deploy pelo GitHub, reinstalar dependências e trocar o comando de build passam a contar para um teto horário por conta: 5 no Free, 10 no Economy, 20 no Pro, 40 no Scale e 60 a partir do Intermediary. Reiniciar e parar não contam, e um push no GitHub acima do limite é ignorado e registrado no histórico de atividades.

Apresentando o Vertra Flow

O Vertra Flow ganhou página própria no site. Ela apresenta o canvas interativo e explica como grupos, notas, previews e anexos ajudam a organizar aplicações e bancos de dados.A página também deixa claro o que ainda está em desenvolvimento: colaboração em tempo real, comentários no canvas e formas mais expressivas de representar redes de aplicações.

O vertracloud.config não fica mais no volume

O que mudou

O vertracloud.config não é mais gravado no volume da aplicação. Até agora ele era gravado uma vez, na criação, e nunca acompanhava as mudanças feitas na aba Configurações: o usuário abria o arquivo no gerenciador de arquivos, via a memória e o comando de start antigos, editava, e nada acontecia.Agora:
  • Ao baixar o projeto, o zip vem com um vertracloud.config gerado a partir da configuração atual: nome, arquivo de entrada, memória, versão, comando de start, reinício automático e subdomínio.
  • Ao criar um snapshot, vale o mesmo: o snapshot já levava o arquivo gerado, e continua levando.
  • Ao enviar um zip, o arquivo é lido para preencher o formulário e descartado na extração; ele não aparece mais no gerenciador de arquivos.
  • Aplicações existentes perdem a cópia antiga no próximo restart ou rebuild.
O formato não mudou: KEY=value, com as chaves NAME, DESCRIPTION, MAIN, MEMORY, AUTORESTART, START, VERSION e SUBDOMAIN.
12 de setembro de 2026

Nova página para endereços não encontrados

URLs que não existem agora abrem uma página 404 própria da Vertra Cloud, com caminhos diretos de volta para a página inicial e para o dashboard.
11 de setembro de 2026

Histórico de atividades mais completo

O histórico de atividades da conta e de cada projeto ganhou mais eventos: alterações de arquivos pelo gerenciador de arquivos (salvar, excluir, mover, enviar), deploys, restaurações de snapshot e alterações de domínio.Cada atividade agora mostra quem a disparou, com um filtro próprio para navegar pela origem.

Chaves de API com escopos e IPs permitidos

Até agora, uma conta tinha uma única chave de API com acesso total. Agora você pode criar até 10 chaves, cada uma com um nome, um conjunto de permissões (aplicações, bancos de dados, snapshots, conta, workspaces, notificações — com os atalhos “somente leitura”, “leitura e escrita” e “acesso total”) e, opcionalmente, uma lista de IPs permitidos. A verificação usa o IP de origem real, não um cabeçalho que o próprio cliente envia. Uma chave usada só por um servidor de CI, por exemplo, pode ser restrita a criar deploys e não ver mais nada — e travada no IP desse servidor.O segredo de uma chave nova (vc_live_...) aparece só uma vez, na criação ou na rotação; depois disso só o início e o fim continuam visíveis. Chaves geradas antes desta mudança continuam funcionando normalmente, com acesso total.A geração antiga (o botão único de “gerar chave”) continua disponível para scripts e para a CLI.
10 de setembro de 2026

Gerenciador de dados redesenhado

A aba Dados dos bancos de dados agora organiza o navegador de objetos e o conteúdo em um único espaço de trabalho, com hierarquia mais clara e melhor aproveitamento do espaço no desktop e no celular.Tabelas SQL, coleções do MongoDB e chaves do Redis ganharam ações mais fáceis de encontrar, filtros explícitos, resumos compactos e paginação simples, com intervalo, tamanho da página e posição atual. O cabeçalho repetido e os destaques de cor desnecessários também foram removidos.

Correção: console silencioso ao reinstalar dependências em um reinício rápido

Ao reiniciar uma aplicação depois de trocar o runtime (ou em qualquer reinício que reinstala dependências), se a instalação terminava rápido, o console do dashboard não mostrava nada dela: nem aviso de início, nem linhas do instalador. A aplicação voltava online já pronta, sem nenhuma explicação na tela nesse meio-tempo.Agora o console detecta quando uma instalação está em andamento durante um reinício e transmite os logs ao vivo, do mesmo jeito que já fazia ao criar uma aplicação.

Trocar a linguagem de uma aplicação existente

Antes, escolher a linguagem errada ao criar uma aplicação era definitivo: a única saída era recriar a aplicação do zero, o que apagava o volume e todo o histórico de deploys. Agora o runtime pode ser trocado a qualquer momento, em Geral → Ambiente.Antes de confirmar a troca, o dashboard mostra os riscos reais da mudança:
  • ela só vale a partir do próximo reinício: o container em execução continua no runtime antigo até lá;
  • o arquivo de entrada e o comando de start não mudam automaticamente: um index.js escrito para Node não roda como aplicação Python, por exemplo;
  • a versão do runtime volta para a versão recomendada da nova linguagem, porque a versão antiga pode não existir nela;
  • nenhum arquivo do projeto é apagado por essa operação.
As dependências do novo runtime continuam sendo instaladas automaticamente no primeiro reinício depois da troca — isso já acontecia e continua acontecendo. O que faltava era espaço: os pacotes do runtime antigo (uma pasta node_modules depois de trocar para Python, por exemplo) ficavam no volume ocupando a cota do plano, sem reinstalação nem remoção automática. Agora, na janela “reiniciar agora?” que aparece depois de salvar a troca, uma caixa opcional permite apagar os diretórios de artefatos conhecidos da linguagem anterior antes de instalar os novos — nunca um arquivo de código do projeto.

Snapshots mantêm o nome do projeto

Cada snapshot agora guarda o nome que o projeto tinha no momento em que foi feito. Na lista de snapshots, ao abrir um projeto, aparece, além da data, o nome que ele usava naquele dia — útil quando o projeto foi renomeado e um snapshot de duas semanas atrás pertence a um “api-staging” que hoje tem outro nome. Quando o nome não mudou, nada se repete: só a diferença aparece.Snapshots de projetos já excluídos também deixaram de aparecer como código. Antes, ao excluir o projeto, o nome sumia da lista e restava só o identificador; agora o último nome conhecido permanece, com a indicação de que o projeto não existe mais.Snapshots feitos antes desta mudança continuam sem nome próprio: o nome de hoje não foi gravado retroativamente nas datas antigas, porque isso registraria uma informação que não era verdadeira naquele dia.
9 de setembro de 2026

Página de aplicações

A Vertra Cloud ganhou uma página pública sobre aplicações em /apps, em português, inglês e espanhol.Ela explica o caminho do ZIP ou do GitHub até o container, os tipos Bot e Website, os runtimes suportados, os métodos de deploy e os recursos operacionais: isolamento, logs, métricas, snapshots, variáveis de ambiente, publicação web e domínios personalizados.Também documenta o ciclo de vida e a recuperação após quedas, com perguntas frequentes publicadas como dados estruturados para os mecanismos de busca.

Origem dos bancos de dados

As páginas públicas de PostgreSQL, MySQL, MongoDB e Redis agora incluem uma seção sobre como cada banco surgiu, com marcos históricos e o perfil de um autor ou colaborador central.As páginas continuam disponíveis em português, inglês e espanhol.

Nova experiência Enterprise

A página Enterprise agora termina com um configurador de capacidade redesenhado: memória, processamento, limite de projetos e preço mudam juntos conforme você escolhe um nível.O SLA, o suporte premium e a escala de 4 GB a 32 GB ficaram mais claros.
7 de setembro de 2026

Páginas para cada linguagem e banco de dados

Uma página por linguagem

O site agora tem /runtimes, a lista das dez linguagens que a plataforma executa, e uma página dedicada para cada uma: JavaScript, TypeScript, Python, Go, Rust, Java, Bun, PHP, Ruby e sites estáticos.Cada página responde ao que as pessoas perguntam antes de se cadastrar:
  • Quais versões existem, qual é a recomendada e qual é a mais recente, com o valor exato de VERSION para o vertracloud.config.
  • O que a plataforma faz automaticamente para aquele runtime: instalação de dependências durante o build, reinício automático, logs e métricas em tempo real.
  • O que as pessoas rodam com ele: bots, APIs, workers, sites.
  • A configuração mínima, em um bloco para copiar.
  • As perguntas mais comuns, com respostas curtas, as mesmas que chegam ao suporte.
A tabela comparativa no topo mostra as dez lado a lado, para quem ainda está escolhendo.

Uma página por banco de dados

Os quatro bancos de dados gerenciados ganharam páginas próprias em /databases: PostgreSQL, MySQL, MongoDB e Redis. Cada uma cobre a versão, a porta, o modo de autenticação e o formato do host, um comando de conexão pronto com TLS e o que cada operação do dashboard faz, inclusive o que um reset destrutivo apaga.A página /databases continua sendo a visão geral do serviço; as novas páginas são para quem já sabe qual motor quer.

Em três idiomas

Todas as páginas existem em português, inglês e espanhol, com a URL de cada idioma declarada para os mecanismos de busca. O FAQ de cada página também é publicado como dados estruturados, para poder aparecer diretamente nos resultados de busca.

Onde encontrá-las

As dez linguagens e os quatro bancos de dados aparecem no rodapé de todas as páginas, em colunas próprias, e as linguagens também aparecem no menu Recursos do topo, sem passar pelo hub.

Limpeza

Páginas-protótipo que nunca foram anunciadas saíram do ar junto com alguns arquivos de imagem não usados. Nenhuma URL publicada antes foi removida.
6 de setembro de 2026

Planos, limites e guias na documentação

A página Planos e limites reúne preços, recursos e limites da plataforma, junto com as versões disponíveis e os bancos de dados gerenciados. Os valores agora têm uma referência pública centralizada.
  • O plano Free passa a ser descrito como opção de teste, para experimentar a plataforma antes de usá-la em produção, com os limites aplicáveis ao lado.
  • O SLA publicado foi padronizado em todas as páginas.
  • Nova seção “Guias”, com conteúdo passo a passo sobre como hospedar bots do Discord e fazer deploy de aplicações Node.js.
  • As entradas recentes do changelog foram adicionadas à navegação, para que tenham uma URL publicada.
  • Títulos e descrições das páginas foram atualizados para explicar a que cada página responde.

Novo design de e-mails

Os e-mails de acesso, de plano e de alerta ganharam um layout flat, com o logo da Vertra, links de redes sociais, cantos suaves, divisórias discretas e informações melhor organizadas. Os botões agora usam fundo claro com contorno, inclusive na versão para o Outlook. O layout tem versões clara e escura; as cores finais também dependem do cliente de e-mail usado.

Tutorial de primeiros passos no dashboard

Na barra lateral do dashboard, Guia de Início percorre cinco passos, com um GIF e instruções sobre o que clicar. A aplicação só entra no ar depois de Novo Projeto. O progresso é salvo naquele navegador; quando todos os passos estiverem concluídos, aparece uma confirmação e o guia desaparece. O botão de upgrade para o próximo plano aparece no mesmo lugar; ele não aparece no último passo.

Termos, privacidade e uso aceitável reescritos

Os três documentos que regem o uso da Vertra Cloud foram reescritos e agora existem em português, inglês e espanhol: Termos de Uso, Política de Privacidade e a nova Política de Uso Aceitável. Os três se referenciam entre si e identificam quem presta o serviço e quem é responsável pela proteção de dados.
  • Você pode desistir em até 7 dias da primeira compra de um plano pago, com reembolso integral pelo mesmo meio de pagamento, como garante o Código de Defesa do Consumidor. Os termos antigos diziam “sem reembolso”, uma cláusula que não tinha validade. Renovações e upgrades continuam sem direito de desistência.
  • A expiração do plano é descrita como realmente funciona: os projetos são desligados, a plataforma mantém um snapshot de cada aplicação e banco de dados por 30 dias, e renovar dentro desse prazo restaura tudo. Os termos antigos mencionavam suspensão após 1 dia e exclusão após 7, e diziam que o pagamento era somente via Pix e que nenhum plano tinha backups. Nada disso era verdade.
  • A Política de Privacidade agora informa quem trata seus dados e por quê. Quando a Vertra é a controladora e quando é apenas operadora do conteúdo dos seus projetos; a base legal de cada finalidade; onde os dados são armazenados e as transferências internacionais; por quanto tempo cada tipo de dado é mantido; como exercer cada direito previsto na LGPD, com prazo de resposta de 15 dias; e o compromisso de comunicar incidentes de segurança. O encarregado de proteção de dados (DPO) é identificado, e o canal de contato é [email protected].
  • A Política de Uso Aceitável agora é um documento próprio. Diz o que pode e o que não pode rodar na plataforma, o que caracteriza abuso de recursos, como denunciá-lo e quais são as penalidades. Só uma violação grave gera ação sem aviso; nos demais casos você é notificado e tem prazo para responder.
  • Os Termos e a Política de Uso Aceitável agora exigem 30 dias de aviso para qualquer mudança relevante (antes, eram 7), definem a lei e o foro aplicáveis e deixam claro que consumidores podem ajuizar ação no seu domicílio.
  • A janela de 30 dias do snapshot agora aparece onde importa, e não só nos Termos. O e-mail de plano expirado mostra o prazo e o caminho de recuperação (renovar, recriar o projeto, restaurar pela página de Snapshots ou baixar o .zip). Os lembretes de expiração e o cartão do plano em Faturamento avisam que, sem renovação, os projetos ficam apenas como snapshot por 30 dias.
  • /lgpd leva à Política de Privacidade, e o rodapé agora a chama de “Privacidade e LGPD”.
  • O banner de cookies agora diz o que realmente acontece: analytics e gravação de sessão apenas nas páginas públicas, com consentimento, e nunca no dashboard.

Novo projeto a partir de um snapshot

Em Novo Projeto, Restaurar de um snapshot abre uma caixa para encontrar a aplicação ou o banco de dados e escolher o backup. O resto do fluxo é igual ao de criar o recurso. Voltar ao seletor de tipo, ou o ícone de lixeira no zip, limpa o arquivo e remove o nome e a descrição até que uma nova origem seja informada. Em Projetos, o menu Mais opções leva direto a criar uma aplicação, criar um banco de dados, restaurar um snapshot ou resgatar um código.

Lista de projetos em cards ou em lista

Na lista de Projetos, ao lado da busca, um alternador troca entre list (o padrão) e cards, com até três por linha. A escolha fica salva para aquela aba do navegador: se a lista recarregar, o esqueleto de carregamento já tem o mesmo layout, sem piscar o outro.O menu … de um projeto agora cabe na tela. Quando a janela é baixa demais para mostrar todas as ações, o menu rola até Excluir projeto em vez de cortar a parte de baixo.
setembro de 2026

Dashboard

  • A barra lateral lista Docs, Tutoriais, llms.txt e Servidor MCP acima do divisor da conta. Docs, tutoriais (YouTube @vertracloud) e llms.txt abrem em uma nova aba. O Servidor MCP está bloqueado por enquanto.
  • A visão geral do workspace agora responde se a frota está saudável. RAM, pico de CPU e uma pontuação de saúde ficam em cards com um medidor segmentado; recursos acima de 80% de RAM ou CPU aparecem listados antes das listas de aplicações e bancos de dados.
  • Abrir uma aplicação ou um banco de dados no celular usa uma barra inferior, em vez de uma fileira de rótulos que você precisava rolar para o lado. Overview, logs, arquivos, snapshots e configurações ficam ao alcance do polegar; a atividade continua no menu.
  • Dentro de um projeto, os mesmos medidores mostram CPU, RAM e rede (ou armazenamento e conexões, em um banco de dados), com iniciar, reiniciar e parar ao lado do status. Os números de requisições e conexões marcados como “preview” são placeholders até que a API os exponha.
  • A página publicada de uma aplicação fica em um card grande com iframe (cerca de 44% do cabeçalho da visão geral). Clique nele para abrir o site no ar em uma nova aba. Ao lado, aparecem tópicos rotulados: ID da aplicação, domínios (subdomínio e domínio personalizado juntos), status com uptime ao lado do cluster, data de criação e origem. A prévia recarrega uma vez por minuto enquanto a página está visível. Um reinício ainda precisa fazer o build, então o card não atualiza dois segundos depois de você clicar. Sem publicação web, o mesmo card continua no lugar e leva às configurações de Rede para publicar.
  • A origem de uma aplicação (zip enviado ou repositório do GitHub) aparece na visão geral imediatamente. Conectar ou desconectar o GitHub ainda acontece em Configurações; a visão geral não espera mais uma segunda requisição só para mostrar o rótulo.
  • O gerenciador de arquivos abre mais rápido e funciona no celular. Pastas e arquivos compartilham uma só lista, a trilha do caminho leva a qualquer pasta ancestral, e soltar um zip prepara um commit no lugar, em vez de cobrir a página. Ao abrir um arquivo, aparece o placeholder do editor, não a lista de pastas, e navegar por uma pasta já aberta não pisca mais em vazio.
  • Os consoles de log podem ser expandidos para uma visão maior. O controle de expandir fica ao lado do menu de overflow; o download fica nesse menu. Esc ou o mesmo controle devolve o console ao seu lugar na página.
  • Um plano que vence em três dias corridos ou já venceu mostra um aviso acima da lista de projetos, com uma ação de renovar que leva a Faturamento. “Hoje” e “amanhã” seguem o calendário de Brasília, e o relógio é de 24 horas no horário de Fortaleza com o período do dia (“02:14 da madrugada”, não um “02:14” de 12 horas que poderia ser lido como tarde). A pequena linha “expira em N dias” ao lado do nome do plano foi removida.
  • O seletor de projetos lista primeiro o projeto aberto, depois os que estão rodando e por último os parados.
  • A seção Recursos no menu do site mobile agora abre com um toque. Antes, ela fechava no mesmo gesto.
  • Suporte é uma página, não um card de FAQ apertado. Discord, e-mail e documentação ficam como três links; as perguntas usam o mesmo acordeão de duas colunas da página de planos; os guias abaixo levam a deploy, erros comuns, downgrade e cobrança. O texto antigo que mencionava tickets e chat ao vivo como um produto separado foi removido.
  • Depois de um minuto no dashboard, um card no canto inferior esquerdo convida para a comunidade no Discord. Fechá-lo oculta o card por sete dias. O convite da landing page ainda usa o atraso de um minuto e não mantém esse adiamento tão longo.
  • Criar um projeto é uma tela dividida. A coluna da esquerda traz uma dica curta para a etapa em que você está; o formulário fica em um só card à direita. Tipo e origem dividem a primeira etapa. Depois de escolher um ZIP ou um repositório do GitHub, você pode dar um nome ao projeto e adicionar uma descrição opcional antes de continuar. Uma aplicação então passa por build, variáveis de ambiente e rede como etapas separadas antes da revisão; um banco de dados passa por motor e armazenamento, e depois pela revisão. Voltar e Continuar ficam fixos na parte inferior desse card depois que você sai da primeira escolha. Se o plano não tiver RAM suficiente para a memória escolhida, a etapa de build avisa e o Continuar fica desabilitado. A importação do GitHub começa com a URL de um repositório, ou você escolhe entre os repositórios da sua conta. As variáveis de ambiente usam o mesmo painel lateral da aba Ambiente de uma aplicação.
  • Nomes de projeto seguem o limite da API de 50 caracteres. Uma importação de ZIP ou do GitHub antes mantinha o nome completo do arquivo ou repositório (muitas vezes um timestamp mais um UUID) e então falhava na criação. O assistente agora corta esse nome derivado, e o campo de nome do banco de dados para em 50.
  • Snapshots usam a mesma lista e os mesmos diálogos do restante do dashboard. Busca e filtro são iguais aos de Projetos e Atividade, criar um snapshot escolhe um projeto da mesma forma que você adiciona um a um workspace, e a lista de snapshots (na página Snapshots e dentro de um projeto) tem o mesmo layout de linhas. O botão de criar tem o mesmo tamanho de Novo Projeto, sem o preenchimento de destaque.
  • Mudar a memória de um projeto agora aparece na lista de projetos imediatamente. A quantidade alocada antes ficava no valor antigo até a lista ser carregada de novo.
  • O menu de overflow de uma linha de projeto começa com Detalhes e Configurações. Logs e terminal mantêm seu lugar embaixo, sem repetir “Abrir” em cada linha. Quando o menu não cabe na janela, ele rola para que Excluir continue acessível.
  • Projetos podem ser vistos como lista (o padrão) ou como cards, por um controle ao lado da busca. A escolha vale para a aba; os placeholders de carregamento seguem o mesmo layout.
  • As chaves de variáveis de ambiente mantêm a caixa que você digita. O campo antes reescrevia cada chave em maiúsculas enquanto você digitava; caixa mista é válida e não é mais forçada.
  • No plano Free, abrir Projetos mostra um diálogo de upgrade com o que um plano pago acrescenta. Ele diz que você cria um projeto, não uma aplicação e um banco de dados, porque o Free não cria bancos de dados. A ação leva a Revisar pedido do Economy (mensal, Pix), não à página de planos. Dispensar o diálogo o oculta para a sessão; um aviso na superfície continua acima da lista. O cabeçalho é tingido com a cor do próximo plano (dourado para o Economy), não listrado.
  • Um plano pago com 85% do teto de RAM abre o mesmo diálogo para o próximo plano. Economy → Pro (laranja), Pro → Scale (verde), Scale → Intermediary (roxo), Intermediary e superiores → Enterprise (azul). O Enterprise 32, já no topo, não recebe aviso.
  • Novo projeto na lista pessoal é um botão dividido. A seta abre Resgatar código como um diálogo em Projetos (?redeem= também funciona). Depois de um resgate bem-sucedido, o mesmo card de plano usado nos avisos de upgrade agradece e lista o que o novo plano acrescenta em relação ao anterior. O painel de navegação mobile lista Docs, Tutoriais, llms.txt e Servidor MCP acima da linha da conta, como a barra lateral do desktop. Criar um projeto continua na página Projetos, não nesse menu.
  • Mudar a RAM de uma aplicação não trata mais a memória sobrando do plano como o orçamento total. Os 448 MB não usados do plano são o que sobra depois desta aplicação; ela ainda pode manter ou reduzir a própria alocação até 512 MB sem um upgrade. O campo descreve a RAM do container, e “Precisa de mais RAM no plano?” abre o diálogo de upgrade, sem citar o teto desta aplicação.
  • Métricas ao vivo de CPU, memória, armazenamento e rede ficam na visão geral mesmo abaixo de 512 MB, inclusive os gráficos: duas amostras ao vivo bastam para traçar a linha. O piso de 512 MB só libera as métricas avançadas (o histórico de 10m / 30m / 24h), e o título do aviso diz isso. “Expandir RAM” leva às configurações do projeto quando o plano ainda tem 512 MB para dar a este projeto, ou abre o mesmo diálogo de upgrade usado em Projetos (?upgrade=pro&upgrade_for=advancedMetrics) para o próximo plano que de fato tem 512 MB: Pro, não Economy (256 MB). A página antes substituía a seção inteira de telemetria por um card vazio de “hardware insuficiente”.
  • Recursos bloqueados pelo plano abrem esse mesmo diálogo de upgrade, em vez de levar à página de planos. Os cards de Configurações perderam o selo “A partir do Intermediary” no cabeçalho; o nome do plano agora aparece em um aviso dentro do card, com um link Fazer upgrade do plano. O gerenciador de arquivos e a aba de dados de banco usam o mesmo layout vazio de Snapshots. Criar um snapshot em um plano sem backups (abaixo do Scale) abre o diálogo de upgrade para o Scale, em vez de um toast de erro. O título e a descrição seguem o recurso que abriu o diálogo (snapshot, arquivos, reinício automático, deploy, métricas e assim por diante) e não reutilizam mais o texto “a memória chegou ao teto”, a menos que a própria RAM tenha sido o gatilho. O botão “Upgrade para …” da barra lateral, depois do guia de primeiros passos, usa o mesmo diálogo (?upgrade=), não um segundo pop-up. Atualizar o dashboard não pisca mais o Economy antes do próximo plano real.
  • Linhas de conexão que sobem ou vão para a esquerda não dão mais a volta comprida. A curva segue os dois cards, em vez de passar por cima deles antes.
  • O nome do projeto na visão geral abre um diálogo para renomeá-lo, editar a descrição e mudar a RAM. Um lápis fica ao lado do título. Salvar uma nova quantidade de memória ainda pergunta se deve reiniciar agora, como em Configurações. Depois de salvar, o cabeçalho atualiza na hora; antes, mantinha o nome antigo até você recarregar a página.
  • Voltar na barra lateral de um projeto sobe um nível. Em Dados, logs, arquivos ou configurações, volta para a visão geral daquele projeto; só a partir da visão geral vai para a lista de projetos.
  • O nome do plano em Projetos é uma placa colorida, com a cor desse plano e um brilho passando por ela. O link de Faturamento fica embaixo da placa.

Workspaces

  • Um workspace não some mais quando o plano termina. Quando um plano pago expira, a conta volta ao Free, que não pode criar workspaces, e a página de Workspaces antes escondia os que você já tinha atrás do aviso de upgrade. Quem estava no Free e pertencia ao workspace de outra pessoa via a mesma tela vazia. A lista agora sempre aparece; só o botão de criar depende do plano.
  • Um workspace cujo plano do dono expirou fica congelado, não excluído. Nada é removido: membros, projetos e o próprio workspace permanecem. O que para é a escrita. Renomear, convidar, mudar um papel e vincular um projeto são recusados enquanto o plano não existir, e a linha é marcada como Congelado. Ver, remover um membro ou projeto, sair e excluir continuam disponíveis, e tudo volta a funcionar no momento em que o plano é renovado. O plano que conta é o do dono: um membro no Free de um workspace pago não é afetado.
  • Os papéis agora correspondem ao que a tabela diz. Operador pode iniciar, parar e reiniciar aplicações e bancos de dados, que é o objetivo do papel e até então era recusado com um erro de acesso. E o Desenvolvedor não pode mais excluir uma aplicação ou um banco de dados: a exclusão é irreversível, e a tabela de permissões nunca a concedeu. Excluir é só para Dono e Admin. Todo o resto continua igual; o Desenvolvedor segue fazendo deploy, editando arquivos, variáveis de ambiente, rede e configuração.

Workspaces v2

  • Códigos de convite foram removidos. Traga pessoas por e-mail (um convite real enviado a um endereço, válido por 7 dias) ou por link (uma URL compartilhável, válida por 24 horas, opcionalmente limitada a um número de usos). Os dois atribuem um papel de antemão, pela aba Convites do workspace.
  • Membros podem ter data de expiração. Defina uma ao convidar ou depois, e o acesso termina sozinho nessa data. Isso é útil para um prestador de serviço ou um colaborador temporário, sem que ninguém precise lembrar de removê-lo.
  • Atividades e logs de auditoria agora são do workspace, e não só das suas próprias ações dentro dele. Veja tudo o que qualquer pessoa da equipe fez, com a mesma exportação CSV do faturamento.
  • As configurações do workspace ficam na barra lateral, não em uma fileira de abas. Ao abrir um workspace, aparecem Geral, Notas, Membros, Papéis, Convites, Projetos, Atividade, Faturamento, Pedidos e Zona de perigo, na mesma navegação do restante do dashboard. A lista de workspaces usa a mesma busca, os mesmos filtros e o mesmo alternador lista/cards de Projetos.
  • Um quadro de notas compartilhado para contexto rápido da equipe: notas adesivas em sete cores, visíveis para todos no workspace, agora na própria aba Notas em vez de misturadas em Geral.
  • Links de convite continuam copiáveis depois de criados. Um convite por link mostrava a URL uma vez e depois só um botão de revogar. A ação de copiar fica nessa linha durante toda a sessão, e criar um link já o copia para você.
  • A aba Projetos é a mesma lista da visão geral do dashboard, com busca, filtros, cards e abertura de projeto, e não uma lista simplificada de nomes.
  • Atingir o limite de papéis abre o diálogo de upgrade para o próximo plano que de fato tenha mais papéis, em vez de um toast de erro de plano na folha de criar papel.
  • Ações sensíveis podem ser solicitadas em vez de recusadas. Um membro sem permissão para excluir um projeto ou gerenciar um snapshot agora pode pedir; quem tem essa permissão aprova ou rejeita o pedido em uma nova aba Pedidos, e aprovar executa a ação de verdade.
  • Um e-mail de resumo semanal resume o que aconteceu nos projetos de um workspace na última semana.
  • Você pode sair de um workspace, e um dono pode transferi-lo para outro membro, ambos pelas configurações do workspace.
  • Salvar uma nota em um workspace congelado abre o upgrade para o Enterprise. Você ainda pode preencher o editor; Criar nota o fecha e mostra qual plano libera notas no workspace, em vez de um toast de erro de plano.

Rede

  • Criar uma aplicação dentro de um workspace não bloqueia mais a publicação web como recurso exclusivo de plano quando o plano do dono do workspace já a inclui. O assistente antes consultava o plano de uma aplicação que ainda não existia, então Enterprise (e Pro+) parecia Free nessa etapa.
  • A publicação web pode ser ativada e desativada depois da criação. Uma aplicação criada sem subdomínio antes ficava privada para sempre; a única saída era recriá-la. Nas configurações de Rede da aplicação, agora dá para publicá-la e despublicá-la quando quiser. Publicar sem um plano que permita escolher o nome gera um subdomínio atribuído pela plataforma; com um plano que permite, você escolhe.
  • Despublicar destaca o endereço em negrito, e você digita EXCLUIR (ou DELETE / ELIMINAR) no lugar do nome do projeto para confirmar. Escolher um subdomínio personalizado em vertraweb.app é indicado como recurso do Scale nas configurações de Rede; o aviso de bloqueio antes dava a impressão de que o cartão inteiro de endereço estava bloqueado.
  • Duas coisas para saber antes de fazer isso. Ligar ou desligar a publicação recria o container, então a aplicação reinicia: espere um curto tempo fora do ar. E despublicar libera o subdomínio: ele não fica reservado para você, então outra pessoa pode registrá-lo. Qualquer domínio personalizado vinculado à aplicação é desvinculado ao mesmo tempo.
  • Publicar exige 512 MB de RAM, o mesmo piso que um site criado como site tem. Se a aplicação tiver menos, a requisição avisa e mostra quanto ela tem e quanto precisa, para que você aumente e tente de novo.
  • A limpeza do cache de borda voltou a funcionar. O botão nas configurações de Rede nunca chegava à CDN: a requisição era recusada antes de chegar, e a versão da CLI informava sucesso ao limpar um hostname que não existe. Agora a limpeza atinge os hosts reais da aplicação, e você ainda pode indicar hostnames ou URLs específicos para uma limpeza mais restrita.
  • Trocar um domínio personalizado agora desvincula o antigo. Vincular um segundo domínio antes deixava o anterior para trás, ainda apontando para a plataforma sem nada que o possuísse. O substituto só é desvinculado depois que o novo domínio está no lugar, então uma falha nunca deixa a aplicação sem domínio.

Site e compartilhamento

  • As páginas em português e espanhol agora declaram o idioma. Toda página do site se declarava em inglês para navegadores e mecanismos de busca, qualquer que fosse o idioma lido: uma página /pt-br era servida marcada como en-us. Tradutores, leitores de tela e buscadores recebiam a informação errada sobre o idioma.
  • Cada página tem de novo seu próprio endereço e prévia. Preços, Enterprise, Bancos de dados, Blob Storage, CLI e VS Code apontavam os mecanismos de busca para a página inicial como endereço canônico, então competiam com ela em vez de ranquear por conta própria.
  • Links para o site mostram um card de prévia. Páginas como Sobre, Termos e Privacidade eram compartilhadas sem nenhuma imagem de prévia. As páginas que têm imagem própria, como Preços e Enterprise, geravam a imagem com a chave de texto não traduzida impressa dentro, em vez do título real.
  • O Intermediary é uma faixa completa de plano em Preços, acima do Enterprise, no mesmo layout amplo da infraestrutura dedicada, e não uma nota de uma linha apontando para a comparação.
  • Preços usa o mesmo card de oferta Enterprise da página Enterprise, com texto de capacidade, arte das colunas, slider e checkout, em vez de uma faixa compacta separada.
  • Cada card de plano tem um controle “Mais +” que abre a lista completa de recursos, incluindo o que aquele plano não inclui.
  • A página de hospedagem de Go agora conta a origem da linguagem. Depois da dobra: por que Go é um binário único, três princípios de design e um retrato do gopher. Depois, a mesma tabela de versões e a mesma configuração de antes.
  • O cabeçalho começa com Preços, depois Produto, Enterprise, Desenvolvedores e Recursos. Comunidade saiu da barra superior: Discord, documentação, a referência da API e tickets de suporte ficam em Desenvolvedores, como cards maiores com ícone e uma descrição curta. Produto e CLI/VS Code usam o mesmo tamanho de card.
  • Mover entre Produto, Desenvolvedores e Recursos mantém o menu aberto. Passar o mouse de um item do cabeçalho para o seguinte fechava o painel em vez de trocá-lo, então o segundo menu nunca aparecia.
  • A tabela comparativa de planos em Preços é legível no celular. Abaixo de uma largura de notebook, cada recurso vira uma lista de planos e valores, em vez de seis colunas espremidas na tela. A partir de lg, a matriz lado a lado não muda.

Gerenciador de arquivos

  • Validação de caminho mais rigorosa no gerenciador de arquivos ao criar pastas e resolver caminhos.

Deploys

  • As dependências agora são instaladas fora da memória do plano. A instalação e a compilação antes rodavam dentro do container da sua aplicação, sob um teto de memória dimensionado para executar seu app, não para construí-lo. Só o npm ocioso já usa 60–100 MB. Agora a instalação acontece em um container de vida curta com memória da plataforma, e sua aplicação só inicia depois que ela termina com sucesso. Quando falha, falha uma vez com um motivo, em vez de entrar em loop.
  • O console mostra a instalação enquanto ela acontece. Enquanto as dependências são instaladas, o container da aplicação ainda não existe; antes, o console ficava vazio e o projeto parecia parado. Agora ele transmite a saída da instalação ao vivo, então um pip compilando um pacote a partir do código-fonte é algo que você pode acompanhar em vez de adivinhar.
  • Uma instalação pode ser interrompida. Enquanto as dependências são instaladas, a única ação oferecida é Parar: ela cancela a instalação, em vez de deixar um botão “Iniciar” para algo que já está rodando.
  • Salvar requirements.txt ou package.json não trava mais o diálogo de reinstalação. Ele confirma e fecha; a pasta é limpa e o reinício reinstala em segundo plano, com o console mostrando o que acontece. A pasta limpa agora é a certa para a linguagem: o caminho pós-salvamento conhecia só Python e Node, então pedir reinstalação em um projeto Go, PHP, Ruby ou Rust não apagava nada. Editar go.mod, composer.json, Gemfile ou Cargo.toml agora também oferece a reinstalação, e um package.json dentro de um projeto Python não a oferece mais por engano.
  • Reiniciar uma aplicação agora mantém o log. Os registros salvos só continham quedas: parar ou excluir uma aplicação salvava o log, e reiniciar o descartava, e reiniciar é o gesto comum. O que a aplicação disse antes de um reinício normal agora é guardado como qualquer outra execução.
  • A instalação continua no log depois que termina. O container de instalação é descartado ao terminar, e a saída dele antes ia junto. Agora ela é anexada ao log da própria aplicação e reproduzida com o histórico: recarregar a página ou reabrir o console ainda mostra o que a instalação fez e por que falhou, quando falhou.
  • Um projeto instalando dependências não aparece mais como “parado”. O dashboard e o cabeçalho do projeto mostram instalando dependências enquanto isso acontece, na lista e dentro do projeto.

Ciclo de vida e API

  • Um projeto parado não aparece mais como quebrado. Uma aplicação ou banco de dados parado não tem container, que é como a parada funciona, e pedir o status dele respondia com erro de servidor. O dashboard tratava isso como uma requisição com falha e continuava mostrando a última leitura boa, então um projeto que você acabara de parar ficava na tela como em execução, com o uptime congelado, até você recarregar a página. Agora o status responde normalmente para um recurso parado, com tudo zerado.
  • Parar algo que já está parado não é mais um erro. A ação confirma, e o estado registrado é corrigido para parado. Antes, uma aplicação cujo container tinha morrido sozinho continuava marcada como em execução para sempre: o botão Parar falhava em toda tentativa, e não havia como colocar o projeto de volta em um estado consistente.
  • Duas operações ao mesmo tempo no mesmo projeto agora avisam isso. Iniciar, reiniciar, parar, excluir, instalações de dependências, deploys e restaurações de snapshot são feitos um por vez em cada projeto. Pedir uma segunda enquanto a primeira ainda roda responde outra operação está em andamento e não muda nada, em vez de uma falha genérica que parecia ter quebrado sua aplicação. Espere alguns segundos e tente de novo. Pela API, isso é HTTP 409 OPERATION_IN_PROGRESS.
  • Clicar em Iniciar duas vezes em uma aplicação parada (duas abas abertas, um duplo clique) não a reinicia mais em silêncio duas vezes. Se a aplicação já estiver rodando ou iniciando, Iniciar agora responde este projeto já está em execução ou iniciando em vez de repetir silenciosamente todo o boot. Pela API, isso é HTTP 409 CONTAINER_ALREADY_RUNNING. Clicar em Reiniciar duas vezes seguidas também é coberto: o segundo clique agora responde outra operação está em andamento em vez de reiniciar a aplicação uma segunda vez em silêncio.
  • Reduzir a memória de uma aplicação é recusado quando os arquivos não cabem mais. O espaço em disco acompanha a memória que você aloca, então reduzir a memória reduz o teto. Aplicar um teto abaixo do que o volume já guarda não apaga nada, mas faz toda gravação seguinte falhar: a aplicação quebra na hora, por um motivo que nada no painel explica. A mudança agora é recusada antecipadamente, informando quanto você precisa liberar antes.
  • Os botões de ciclo de vida compartilham um orçamento por aplicação. Iniciar, reiniciar, parar e instalar dependências agora permitem dez requisições por minuto por aplicação, somadas, em vez de uma cota separada para cada um. O uso normal nunca chega perto disso; um script em loop para antes de prejudicar o projeto.

Bancos de dados

  • Bancos de dados têm uma aba Dados, a partir do plano Intermediary. Navegue e edite o que está armazenado de fato, sem sair do dashboard e sem colar uma string de conexão em lugar nenhum. PostgreSQL e MySQL mostram schemas, tabelas, colunas, índices e um navegador de linhas paginado; MongoDB mostra coleções, índices e documentos; Redis mostra o keyspace, o valor de cada chave por tipo e seu TTL. O plano que conta é o do dono do banco de dados: membros do workspace usam a aba em um banco cujo dono tem o plano.
  • Existe um console SQL. Ele roda no seu próprio banco de dados com o seu próprio usuário de banco, então nada é filtrado ou reescrito. O que é aplicado são limites: 10 segundos por instrução (aplicados pelo próprio motor), 200 linhas por padrão e 1.000 no máximo, 64 KB de SQL, 5 MB de resultado e uma consulta do console por vez em cada banco.
  • Editar uma linha sempre passa pela chave primária (a completa, incluindo chaves compostas), nunca pela posição dela na página. O mesmo vale para documentos (_id) e chaves (a chave nomeada na URL).
  • A leitura é aberta a todos os membros do workspace; a escrita e o console SQL não são. Eles exigem dono ou admin, e toda alteração é registrada no log de atividades do banco com a operação e o objeto, nunca o conteúdo.
  • A API expõe a mesma superfície em /v1/databases/{id}/data/*, com códigos de erro estáveis documentados junto.
  • Um banco de dados em um workspace agora mostra a RAM alocada. Abrir um banco a partir de um workspace antes travava a visão geral e deixava o campo de memória em branco, mesmo quando o banco tinha RAM atribuída, porque a lista do workspace não trazia esses campos. O detalhamento de RAM em Projetos também inclui isso.
  • Excluir ou redefinir um banco de dados agora faz antes um snapshot de segurança, automaticamente. Se o backup falhar, a ação é bloqueada e o banco não é destruído nem apagado. Antes, excluir ou redefinir não deixava backup nenhum.

Checkout

  • Trocar de plano no checkout é um catálogo, não um dropdown. O plano selecionado continua no formulário; ao abri-lo, aparecem Economy, Pro, Scale e Intermediary como cards (RAM, vCPU, limite de aplicações) e Enterprise como uma lista. É o mesmo catálogo da página de preços, sem sair do pagamento.
agosto de 2026

Site

  • A página Enterprise agora segue o mesmo padrão da landing page. Mesmo mesh, escala tipográfica e cards; o seletor de planos usa o mesmo azul da página de planos, em vez do laranja.
  • A página de planos agora segue o mesmo padrão da landing page. Economy, Pro, Scale e Enterprise ficam nos mesmos cards, Enterprise está em azul em vez de laranja, e a tabela comparativa fica fixa enquanto você rola a página — com uma caixa de busca e grupos em acordeão, no desktop e no celular.
  • As telas de login e de cadastro agora seguem o mesmo padrão do restante do site. Mesmo cabeçalho e rodapé da landing page, um formulário de entrada centralizado, uma visão rápida de Economy / Pro / Scale e um FAQ compacto — com um link para a página completa de planos.
  • Login e cadastro agora são a mesma tela. Digite seu e-mail e receba um código — sem formulário de cadastro separado e sem nome para digitar. Novas contas recebem um nome inicial a partir do endereço de e-mail, que você pode alterar a qualquer momento nas configurações do seu perfil.

Desempenho

  • O site agora abre mais rápido. A landing page e todas as páginas institucionais — Sobre, Preços, Planos, Bancos de dados, Enterprise, CLI, VS Code, Blob Storage, Privacidade e Termos — agora são pré-renderizadas com antecedência e servidas sem nenhum processamento no servidor a cada visita.
  • Bem menos para baixar e executar na landing page. O mapa global agora é uma imagem pré-gerada, em vez de ser construído no navegador a cada carregamento, e as animações da página agora rodam em CSS, em vez de JavaScript.
  • As traduções agora são carregadas por página, em vez de o site inteiro baixar os textos dos três idiomas em cada tela.
  • O dashboard carrega somente o que você está vendo. Painéis pesados — o editor de arquivos, o terminal e os gráficos — agora são carregados sob demanda, em vez de logo no início, e as requisições em segundo plano que antes rodavam em telas onde nem eram usadas foram removidas.

E-mails

  • Todos os e-mails transacionais foram redesenhados. Códigos de confirmação, comprovantes de compra e de resgate, lembretes de renovação, avisos de vencimento de plano e de exclusão de projeto agora compartilham um só layout, com a informação principal — o código, o valor, o prazo — em primeiro lugar, em vez de escondida em um parágrafo.
  • O logo da Vertra Cloud agora aparece na sua caixa de entrada. Ele era enviado como SVG, formato que o Gmail, o Outlook para desktop e o Yahoo não exibem de forma alguma, então a maioria dos destinatários via uma imagem quebrada.
  • Os e-mails agora trazem uma linha de pré-visualização, seguem o tema claro ou escuro do sistema e ficam legíveis no celular e com as imagens bloqueadas.
  • Corrigido o e-mail de resgate que mostrava o placeholder {{duration}} em vez da duração do plano, e os e-mails de compra em inglês e espanhol que mostravam o valor sem a moeda.

Backups e exclusão automática

  • Projetos nunca são excluídos sem um backup verificado. O vencimento do plano e o job de limpeza do plano FREE agora criam primeiro um snapshot e só excluem os recursos cujo snapshot foi concluído. Qualquer recurso cujo backup falhe é parado e mantido no lugar em vez de excluído, e fica sinalizado para revisão manual.
  • O job de limpeza do plano FREE antes excluía projetos offline sem criar nenhum snapshot. Agora ele cria um antes.
  • Os snapshots anteriores à exclusão ignoram a permissão de backup do plano — um projeto prestes a ser removido sempre tem backup, independentemente do nível.
  • Snapshots de projetos grandes agora funcionam. O limite de tamanho que fazia os backups de projetos maiores falharem por completo foi removido.
  • Os arquivos de snapshot não incluem mais conteúdo que pode ser reinstalado (node_modules, virtualenvs, vendor, caches de build) nem o histórico do git, por isso são bem menores.
  • Um snapshot só é registrado depois que a existência do arquivo no armazenamento é confirmada, e o tamanho informado agora vem do próprio armazenamento — um snapshot não pode mais aparecer na sua lista sem um arquivo real por trás.

Validação e mensagens de erro

  • Endpoints que recebem um ID de workspace, de aplicação, de banco de dados ou de variável de ambiente agora rejeitam um ID malformado com um 400 claro, em vez de falhar com um erro interno genérico.
  • Atualizar uma aplicação ou um workspace com um corpo vazio agora retorna um erro de validação, em vez de falhar.
  • start_command agora é limitado a 512 caracteres no momento em que você salva, em vez de falhar apenas depois, durante um rebuild.
  • Enviar um .zip corrompido ou truncado ao criar uma aplicação agora retorna INVALID_ZIP, em vez de um erro interno genérico.
  • Gravar um arquivo sobre um caminho que já existe como pasta agora retorna TARGET_IS_DIRECTORY, em vez de um erro interno genérico.
julho de 2026

Prévia da landing page

A nova prévia da landing page da Vertra Cloud ganhou uma abertura mais focada no produto e uma malha visual mais consistente.
  • Hero responsivo refinado, mantendo o card de deploy ao vivo como uma seção própria do produto.
  • Adicionada uma transição hachurada entre o hero e o conteúdo da página.
  • Interseções da malha refinadas: os losangos das bordas são cortados em direção ao conteúdo, e losangos completos aparecem apenas nos cruzamentos internos reais.
  • Malha do rodapé expandida, para deixar a transição até o rodapé do site mais clara.
  • Menu de navegação do produto aprimorado, com estados de abertura e fechamento animados e acessíveis.

Dashboard v2

  • O dashboard real foi movido para a nova estrutura responsiva, incluindo a navegação de workspaces, a busca na paleta de comandos e o fluxo de navegação no celular.
  • As listas de visão geral, de aplicações e de bancos de dados agora atualizam o status automaticamente.
  • Upload, snapshots, logs, configurações, cobrança, suporte e workspaces foram atualizados para a nova estrutura do dashboard.
  • A navegação de Arquivos da aplicação foi substituída por uma árvore de arquivos do projeto expansível, na barra lateral do desktop e na folha de navegação do celular.
  • As listas de aplicações e de bancos de dados foram unificadas em linhas pesquisáveis e paginadas, com ações rápidas mais seguras, e os estados vazios, restritos, de notificação e de modal do dashboard foram padronizados.
  • As ações de início rápido, reinício e parada agora mostram um indicador de transição e aguardam o status atualizado da visão geral antes de aceitar outro comando.

Novo projeto e templates

  • A tela de Novo Projeto foi redesenhada como um fluxo dedicado de tela cheia, sem a barra lateral, focado exclusivamente na criação do projeto.
  • O upload de .zip virou a forma principal de começar, com importação do GitHub e um atalho para banco de dados como opções secundárias.
  • Adicionada uma seção de Templates, marcada como “em breve” enquanto o catálogo pronto para deploy é construído.
  • Toda ação “Novo” do dashboard agora abre diretamente a tela de criação, onde você escolhe o que construir.
  • O antigo assistente passo a passo foi substituído por um fluxo único com rolagem: cada etapa (origem, configuração, revisão e deploy) aparece em ordem conforme você conclui a anterior, em vez de alternar entre telas inteiras com botões de voltar e avançar.
  • A etapa separada de nome e descrição do projeto foi removida: o nome agora é derivado automaticamente do nome do arquivo .zip enviado ou do repositório conectado, e pode ser editado depois nas configurações do projeto. A seleção de workspace passou para a etapa de configuração, em vez de ter uma tela própria.
  • Runtime e engine de banco de dados agora são escolhidos em cards selecionáveis, em vez de um dropdown simples ou de uma grade manual.
  • Adicionada uma opção de importação de arquivo na etapa de variáveis de ambiente, que aceita arquivos .env ou .txt, em vez de digitar cada variável à mão.

Detecção de dependências ausentes

  • Os deploys agora analisam o projeto enviado em busca de imports que não estão declarados no manifesto de dependências (requirements.txt, package.json, go.mod, Gemfile, composer.json, Cargo.toml, pom.xml), mesmo quando o manifesto não existe, em todas as linguagens suportadas.
  • Quando dependências ausentes são detectadas antes do deploy, o fluxo de criação oferece adicioná-las ao manifesto e fazer o deploy uma vez com a correção aplicada, em vez de exigir um rebuild depois.
  • Se dependências ausentes forem encontradas no deploy ou no upload de arquivos de uma aplicação existente, uma notificação é enviada com um link de volta para a aplicação, e há um endpoint disponível para instalar as dependências ausentes e disparar um rebuild.

Logs em tempo real

  • O terminal de logs da aplicação foi reconstruído sobre um engine de terminal real, então os logs ao vivo fluem com suavidade e não congelam mais a página quando uma aplicação ou um bot inicia e gera muita saída.
  • A transmissão ao vivo agora sobrevive a reinícios: o terminal mantém a conexão aberta durante um reinício, em vez de desconectar.
  • Eventos da plataforma agora aparecem na transmissão de logs, destacados, incluindo os reinícios de aplicações.
  • Os logs das aplicações, tanto de execuções normais quanto de falhas, são mantidos em disco com rotação automática.
  • A página de não encontrado foi reformulada, com um status de rota mais claro e links diretos para a página inicial ou para o dashboard.

Templates de e-mail

  • Todos os seis templates de e-mail transacionais (magic link, confirmação de compra, sucesso de resgate, vencimento de plano, lembrete de plano e exclusão de projeto) foram redesenhados para um sistema visual unificado.
  • O antigo layout com cabeçalho laranja foi substituído por um logo centralizado sobre o fundo de papel quente, um card de conteúdo branco com borda de 1px e tipografia Inter consistente.
  • A paleta de cores foi padronizada em todos os templates, com a cor de destaque reservada para os botões.

Correções de bugs

  • Corrigidas as cores dos toasts, para que as confirmações de sucesso e de deploy sigam o tema claro ou escuro ativo.
  • Corrigido o espaçamento dos diálogos de erro do terminal, para que os detalhes e as ações dos logs usem o corpo e o rodapé padrão dos diálogos.
  • O raio da prévia de logs do terminal foi ajustado à escala dos controles do dashboard.
  • O campo Account ID foi padronizado com o mesmo estilo de input usado nas configurações de localização e de e-mail.
  • Corrigido um bug de recorte de imagem na landing page.

SEO e prévias em redes sociais

  • Corrigidas as prévias de link (Discord, WhatsApp, Slack, X): links compartilhados da Vertra Cloud agora mostram um card de marca adequado, em vez de uma imagem quebrada ou genérica.
  • Adicionados cards de prévia dedicados para as páginas de Preços, Enterprise, Bancos de dados, Blob Storage, CLI e da extensão do VS Code, cada um exibindo o título próprio da página.
  • Adicionados título e descrição adequados para as páginas Sobre, Política de Privacidade, Termos de Serviço, Login e Cadastro — elas não mostram mais o título da página inicial quando compartilhadas ou encontradas na busca.
  • Corrigido o link canônico das páginas em português e espanhol, que antes sempre apontava para a versão em inglês.
  • Publicado o llms.txt, um resumo curto e legível por máquina do produto para assistentes de IA e ferramentas de busca.
21 de março de 2026

Visão geral

A versão 26.0 é a maior atualização da Vertra Cloud desde o lançamento. Ela introduz workspaces colaborativos, vários provedores de autenticação e um dashboard redesenhado.

Novas funcionalidades

Workspaces

Espaços de equipe colaborativos com controle de acesso baseado em funções.
  • Criar, editar e excluir workspaces
  • 5 funções: Dono, Administrador, Desenvolvedor, Operador e Visualizador
  • Gerenciamento de membros com links de convite
  • Atribuir aplicações e bancos de dados aos workspaces
  • Disponível a partir do plano Enterprise (de 5 a 24 membros)

Autenticação

Várias opções de login e gerenciamento de conta.
  • Magic Link — Autenticação por e-mail sem senha
  • GitHub OAuth — Login e vinculação de conta
  • Google OAuth — Login e vinculação de conta
  • Discord OAuth — Provedor que já existia, agora com vinculação e desvinculação de conta
  • Troca de conta — Até 5 contas salvas no mesmo navegador
  • Gerenciamento de sessões — Ver sessões ativas, revogar todas as sessões
  • Geração de chave de API — Para acesso programático

Notificações

Sistema de notificações da plataforma integrado ao dashboard.
  • Notificações pela API com status de lida e não lida
  • Marcar notificações individuais ou todas como lidas
  • Exibição em tempo real no cabeçalho do dashboard
  • Templates de e-mail localizados em 3 idiomas (EN, PT-BR, ES)
  • Templates para: vencimento do plano, aviso de exclusão e confirmação de compra

Downgrade de plano

Os usuários agora podem fazer o downgrade do plano diretamente pelo dashboard ou pela API.
  • Downgrade para o plano Free via POST /v1/users/me/downgrade
  • Limite de requisições para evitar abuso
  • Avisos sobre o impacto nos recursos existentes

Snapshots

Substituiu o sistema anterior de backup e commit por snapshots unificados.
  • Criar snapshots manuais de aplicações e bancos de dados
  • Restaurar a partir de qualquer snapshot anterior (com cooldown)
  • Baixar o conteúdo do snapshot
  • Injeção automática de vertracloud.config durante a criação do snapshot
  • Visualização de snapshots agrupados no dashboard

Limpeza do plano Free

Gerenciamento automático dos recursos inativos do plano Free.
  • Projetos offline há 30 dias ou mais são excluídos automaticamente
  • Notificações por e-mail nos dias 7, 23 e 27
  • Link de reativação incluído nos avisos

Versões dinâmicas de runtime

A seleção de runtime agora busca as versões disponíveis dinamicamente.
  • Seletor de versão no assistente de criação de projeto
  • Tags recommended e latest
  • Novas linguagens suportadas: Ruby, Rust e Java

Dashboard

Redesenho completo

O dashboard foi reconstruído do zero.
  • Assistente de novo projeto — Criação em várias etapas, com layout vertical animado
  • Gerenciador de arquivos — Reescrito com o Monaco Editor (arrastar e soltar, upload de ZIP, validação de caminhos proibidos)
  • Terminal embutido — Transmissão de logs em tempo real via SSE, com cores ANSI e rolagem automática
  • Configurações da conta — Conexões de autenticação, gerenciamento de sessões, geração de chaves de API e códigos de resgate
  • Cabeçalho responsivo — Modo compacto, prevenção de overflow e menus que fecham ao clicar fora

Internacionalização

Suporte completo a i18n em todo o dashboard.
  • 3 idiomas: inglês, português (BR) e espanhol
  • Mensagens de erro, mensagens de sucesso e templates de e-mail localizados
  • Arquivos de mensagens granulares, organizados por funcionalidade

Integração com o GitHub

Suporte aprimorado ao GitHub no fluxo de criação de projetos.
  • Seleção de repositório, incluindo repositórios privados
  • Seleção de branch
  • Alternativa com ZIP quando o GitHub está indisponível
  • Configuração de webhook para deploys automáticos

Mudanças na API

Novos endpoints

  • POST /v1/users/me/downgrade — Downgrade de plano
  • GET /v1/users/me/sessions — Listar sessões ativas
  • DELETE /v1/users/me/sessions — Revogar todas as sessões
  • POST /v1/users/me/generate-api-key — Gerar chave de API
  • GET /v1/notifications — Listar notificações
  • POST /v1/notifications/:id/read — Marcar como lida
  • POST /v1/notifications/read-all — Marcar todas como lidas
  • POST /v1/workspaces — Criar workspace
  • GET /v1/workspaces — Listar workspaces
  • GET/PUT/DELETE /v1/workspaces/:id — CRUD de workspace
  • POST/DELETE /v1/workspaces/:id/members — Gerenciamento de membros
  • POST/DELETE /v1/workspaces/:id/apps/:appId — Associação de aplicação
  • POST/DELETE /v1/workspaces/:id/databases/:dbId — Associação de banco de dados
  • GET /v1/apps/runtimes — Versões de runtime disponíveis
  • POST /v1/orders — Criar pedido
  • GET /v1/orders — Listar pedidos
  • POST /v1/orders/:id/initiate/pix — Pagamento PIX
  • POST /v1/redeem/:code — Resgatar código

Formato de resposta

Formato de resposta da API padronizado em todos os endpoints:
  • Sucesso: { "status": "success", "response": { ... } }
  • Erro: { "code": "ERROR_CODE", "message": "..." }

Tipagem

  • Publicado o pacote @vertracloud/api-types, com definições completas em TypeScript
  • Todos os tipos de resposta dos endpoints REST documentados, com links @see para a documentação
  • Cobertura completa de tipos: aplicações, bancos de dados, workspaces, pedidos, snapshots e notificações

Melhorias

Detecção de loop de falhas

Auto-restart inteligente com prevenção de abuso.
  • 5 falhas em 10 minutos desativam o auto-restart por 24 horas
  • Filtragem por código de saída (o código de saída normal 0 não é contado)
  • Intervalo de 1 hora entre reinícios
  • Mínimo de 60 segundos de execução para ser considerado estável

Logs em tempo real

Transmissão de logs aprimorada, com mais confiabilidade e entrega em tempo real.

Gerenciamento de subdomínio personalizado

  • Selecionar um subdomínio personalizado durante a criação do projeto
  • Alterar o subdomínio pela API (PATCH /v1/apps/:id/network/subdomain)
  • Validação de disponibilidade

Gerenciador de arquivos

  • Upload por arrastar e soltar, com suporte a ZIP
  • Validação de diretórios e arquivos proibidos
  • Ordenação inteligente da árvore de arquivos
  • Mensagens de erro localizadas

Correções de bugs

  • Corrigidas inconsistências no monitoramento de status dos bancos de dados
  • Corrigida a entrega de notificações durante a migração de dados
  • Corrigido o overflow horizontal no cabeçalho responsivo do dashboard
  • Corrigidos diversos bugs no fluxo do assistente de criação de projeto
  • Corrigida a detecção de loop de falhas em containers com erros de sintaxe
  • Corrigida a verificação de registros DNS do domínio personalizado

Mudanças que quebram compatibilidade

Revise estas mudanças antes de atualizar. Elas podem afetar integrações existentes.
  • Sistema de snapshots — Substituiu o sistema anterior de backup e commit. Os endpoints antigos de backup estão obsoletos.
  • Autenticação — Nova autenticação baseada em sessão. As chaves de API existentes continuam funcionando.
  • Endpoints de workspace — /v1/organizations/* renomeado para /v1/workspaces/*
  • Comportamento do auto-restart — Agora inclui detecção de loop de falhas com desativação automática
  • Limpeza do plano Free — Projetos inativos são excluídos após 30 dias (com avisos por e-mail)

v26.1 — 25 e 26 de março de 2026

Correções de bugs

  • Exclusão de arquivos no deploy do GitHub — Corrigido o caso em que os deploys removiam agressivamente o .env e os arquivos de configuração não rastreados
  • Preservação de arquivos no deploy da aplicação — Atualizações da aplicação agora preservam os arquivos locais existentes, em vez de apagar o conteúdo não rastreado
  • Coleta de métricas — Corrigido o caso em que as métricas não eram coletadas para algumas aplicações em execução
  • Exibição de métricas — Corrigidos campos de rede ausentes, falhas com valores nulos e rótulos de tempo duplicados nos gráficos
  • Validação de UUID — Os parâmetros de rota da API para IDs de aplicação e de banco de dados agora validam o formato UUID, retornando 400 para valores inválidos
  • Exclusão de variável de ambiente — Corrigida a chamada do endpoint de exclusão a partir do dashboard (faltava o ID da variável no caminho da URL)
  • Edição da chave de variável de ambiente — Corrigido o campo de chave, que não era atualizado ao editar uma variável existente
  • Cor do texto da sobreposição de upload — Corrigido o texto de descrição com baixo contraste no diálogo de progresso do upload de commit

Melhorias

  • Persistência do vertracloud.config — O arquivo de configuração agora é gravado no diretório da aplicação na criação, garantindo que os uploads futuros herdem a configuração
fevereiro de 2026

Visão geral

Fevereiro de 2026 trouxe recursos essenciais de gerenciamento de bancos de dados e ferramentas de desenvolvimento integradas. A extensão oficial para VSCode, o suporte a bancos de dados gerenciados e os recursos de segurança aprimorados tornam a Vertra Cloud uma plataforma completa para desenvolvimento full-stack.

Novas funcionalidades

Extensão para VSCode

Extensão oficial da Vertra Cloud para o VS Code.
  • Deploy direto pelo editor
  • Gerenciamento de aplicações a partir do VS Code
  • Visualização de logs em tempo real na barra lateral
  • Exibição rápida de status e métricas
  • Criação de projetos integrada
  • Disponível no VS Code Marketplace

Bancos de dados gerenciados

Hospedagem de bancos de dados pronta para produção, com gerenciamento automático.
  • PostgreSQL 17
  • MongoDB 8.0

Certificados TLS automáticos

Conexões com bancos de dados criptografadas desde o início.
  • Geração automática de certificados TLS
  • Gerenciamento da renovação de certificados
  • Suporte a certificados de cliente
  • Exigência de conexões seguras

Suporte ao MySQL

Hospedagem de bancos de dados MySQL 8.0.
  • MySQL 8.0 com os recursos mais recentes
  • Autenticação X509 obrigatória por segurança

Melhorias

Entrega de e-mails

Desempenho do sistema de e-mails otimizado.
  • Velocidade de entrega aprimorada dos magic links por e-mail
  • Melhor roteamento de e-mails
  • Latência de entrega reduzida
  • Mais confiabilidade

Correções de domínio personalizado

Problemas de configuração de DNS resolvidos.
  • Corrigidos erros 404 em algumas configurações de domínio personalizado
  • Tratamento aprimorado da propagação de DNS
  • Melhor provisionamento de certificados para domínios personalizados

Gerenciamento de bancos de dados

Tratamento aprimorado de certificados e credenciais.
  • Corrigidos casos extremos na geração de certificados
  • Melhor exibição e gerenciamento de credenciais
  • Teste de conexão com o banco de dados aprimorado

Correções de bugs

  • Corrigidos problemas de tempo na entrega de e-mails
  • Corrigida a geração de certificados em casos extremos
  • Corrigida a configuração de DNS do domínio personalizado
  • Resiliência da conexão com o banco de dados aprimorada

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade. Aplicações e bancos de dados existentes continuam funcionando sem modificação.
janeiro de 2026

Visão geral

Janeiro de 2026 marcou o lançamento oficial da beta pública da Vertra Cloud, com uma API REST completa e documentação abrangente. A plataforma se abriu para a comunidade com recursos de colaboração em equipe.

Funcionalidades

API v1

A primeira versão pública da API REST da Vertra Cloud.
  • API REST abrangente para todas as operações da plataforma
  • Documentação completa da referência da API
  • Exemplos de requisição e resposta
  • Autenticação por chave de API
  • Limites de requisições e gerenciamento de cotas

Workspaces

Colaboração em equipe com controle de acesso baseado em funções.
  • Criar e gerenciar workspaces para equipes
  • 5 funções predefinidas: Dono, Administrador, Desenvolvedor, Operador e Visualizador
  • Gerenciamento de permissões por função
  • Convite e gerenciamento de membros
  • Isolamento e segurança entre workspaces

Beta pública

Lançamento oficial do período de beta aberta.
  • Plataforma aberta para o cadastro público de usuários
  • Testes beta e coleta de feedback
  • Suporte à comunidade de usuários
  • Melhorias de estabilidade e desempenho com base no feedback

Documentação

Documentação completa da API e da plataforma.
  • Site da documentação em docs.vertracloud.app
  • Referência da API com todos os endpoints
  • Exemplos de código e tutoriais
  • Guias de primeiros passos
  • Perguntas frequentes e solução de problemas

Infraestrutura

Suporte a SSL/TLS

Certificados SSL/TLS automáticos, provisionados e renovados para todas as aplicações e domínios personalizados.

Melhorias

  • Base sólida de API para integrações
  • Hierarquia de funções clara para equipes
  • Documentação abrangente para desenvolvedores

Correções de bugs

  • Consistência das respostas da API
  • Precisão da documentação

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade. Esta é a primeira versão da beta pública.
dezembro de 2025

Visão geral

Dezembro trouxe suporte a novos runtimes de linguagem e aprimorou o sistema promocional com o cupom de fim de ano VERTRA30. As melhorias na entrega de e-mails garantem uma comunicação melhor com os usuários em toda a plataforma.

Novas funcionalidades

Suporte à linguagem Go

Adicionado o runtime Go para aplicações de alta performance.
  • Suporte à linguagem Go para deploy
  • Compilação automática em Go
  • Gerenciamento de dependências de módulos Go
  • Tempos de build rápidos
  • Ideal para microsserviços e ferramentas de linha de comando

Suporte à linguagem PHP

Adicionado o runtime PHP 8.x para aplicações web.
  • Suporte ao runtime PHP 8.x
  • Compatibilidade com os principais frameworks web em PHP
  • Suporte a configuração de Apache/Nginx
  • Gerenciamento de pacotes PHP via Composer
  • Hospedagem de aplicações web

Sistema de cupons

Suporte a códigos promocionais com desconto nos pedidos.

Melhorias

  • Entrega de e-mails e renderização de templates mais confiáveis

Correções de bugs

  • Corrigidas falhas na entrega de e-mails
  • Corrigidos os cálculos de datas e de duração
  • Tratamento de fuso horário aprimorado

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade nesta versão. Todas as aplicações existentes continuam funcionando sem modificação.
novembro de 2025

Visão geral

Novembro trouxe melhorias críticas de infraestrutura e um grande redesenho do modelo de preços. O novo sistema de auto-restart evita loops de falha, o novo plano Intermediary amplia o acesso, e a hospedagem de sites estáticos possibilita deploys apenas de frontend.

Novas funcionalidades

Auto-restart

Reinício inteligente do container com detecção de falhas, para evitar loops de falha.
  • Monitora o status do container continuamente
  • Reinicia somente em falhas reais de execução (crashes), e não em erros de configuração ou de sintaxe
  • Evita loops infinitos de reinício que desperdiçariam recursos
  • Estabilização automática para problemas transitórios

Arquivo .vertraignore

Controle de quais arquivos e pastas são excluídos do deploy automático.
  • Funciona de forma semelhante ao .gitignore, para o deploy
  • Evita o envio de arquivos desnecessários
  • Otimiza a velocidade do deploy e reduz o tamanho do pacote

Commits aprimorados

Fluxo de commits aprimorado, para mais estabilidade e confiabilidade.
  • Processo de deploy simplificado
  • Melhor rastreamento de commits e opções de rollback
  • Maior confiabilidade dos deploys

Hospedagem de sites estáticos

Nova opção de linguagem para hospedar aplicações puramente de frontend.
  • Deploy direto de sites em HTML, CSS e JavaScript
  • Opção de linguagem static na criação de projetos
  • Ideal para sites estáticos, SPAs e documentação
  • Servir os arquivos automaticamente com os tipos MIME corretos

Nova estrutura de planos

Níveis de preço redesenhados, com alocações de recursos claras.
  • Plano Intermediary — R$ 18,99/mês com suporte a domínio personalizado
  • Plano PRO — Domínio personalizado incluído, hospedagem de até 2 APIs por R$ 5,99/mês
  • vCPU alocadas atualizadas por nível de plano
  • Proposta de valor mais clara em cada nível

Pagamentos com cartão de crédito

Interface inicial para o método de pagamento com cartão de crédito.
  • Base para o processamento de cartões de crédito
  • Preparação para opções de pagamento mais completas
  • Checkout mais agradável

Baixar .env

Exporta as variáveis de ambiente do projeto como um arquivo.
  • Baixa todas as variáveis de ambiente de uma vez
  • Prático para configurar o desenvolvimento local
  • Acesso offline seguro à configuração

Melhorias de interface e desempenho

Melhorias visuais

  • Botão de download adicionado à aba de arquivos
  • Carregamento do dashboard mais rápido
  • Melhorias de responsividade para celulares e tablets
  • Detecção automática ao colar variáveis de ambiente
  • Nova grade de projetos com opções de visualização em lista e em cards
  • Melhorias nas interações do cabeçalho e do menu de perfil

Desempenho

  • Uploads de arquivos mais rápidos
  • Operações de commit mais ágeis
  • Tempos de reinício, parada e início reduzidos

Nova página de pagamento

Fluxo de pagamento completamente redesenhado.
  • Opções de pagamento mais claras
  • Experiência do usuário aprimorada durante o checkout
  • Suporte a vários métodos de pagamento
  • Histórico de transações e acesso às faturas

Melhorias

  • Bloqueio de funcionalidades por plano aprimorado
  • Mensagens de erro aprimoradas em toda a plataforma
  • Responsividade para celulares aprimorada em todas as páginas
  • Navegação mais intuitiva entre os níveis de plano

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade nesta versão. Todos os deploys existentes continuam funcionando sem modificação.
setembro de 2025

Visão geral

Setembro trouxe ferramentas essenciais para desenvolvedores e um sistema de logs unificado. O runtime Bun adiciona uma alternativa moderna de JavaScript, as métricas inteligentes oferecem insights sobre o comportamento das aplicações, e a extensão do VSCode leva os deploys da Vertra Cloud diretamente para o seu editor.

Novas funcionalidades

Sistema de logs unificado

Rastreamento centralizado de erros e falhas de todas as aplicações.
  • Erros e falhas agora armazenados em uma aba LOGS dedicada
  • Interface unificada para visualizar todos os logs das aplicações
  • Filtragem e busca fáceis no histórico de logs
  • Melhor depuração e investigação de problemas

Suporte ao Bun

Runtime rápido de JavaScript e TypeScript agora disponível.
  • Deploy de aplicações com Bun 1.2.2 ou superior
  • Alternativa ao Node.js com desempenho mais rápido
  • Suporte completo a TypeScript desde o início
  • Compatível com os pacotes npm existentes

Métricas inteligentes

Monitoramento automatizado de desempenho em intervalos regulares.
  • Métricas coletadas a cada 5 minutos
  • Acompanhamento de uso de CPU, consumo de memória e número de requisições
  • Dados históricos para análise de desempenho
  • Base para recursos de auto-scaling

Aba de logs da aplicação

Nova interface dedicada de logs para as aplicações.
  • Transmissão de logs em tempo real
  • Recuperação de logs históricos
  • Recursos de filtragem e busca nos logs
  • Integração com o rastreamento de erros

Extensão do VSCode

Extensão oficial da Vertra Cloud publicada para testes beta.
  • Deploy diretamente pelo VS Code
  • Gerenciamento de aplicações a partir do editor
  • Visualização de logs e métricas na barra lateral
  • Versão alpha disponível no marketplace do VS Code

Atualizações de runtime

Versões do Node.js

Várias versões do Node.js agora suportadas.
  • Node.js 22.18.0
  • Node.js 24.5.0
  • Seleção automática de versão durante o deploy

Versão do Python

Suporte ao Python 3.13, a versão mais recente, disponível.

Runtime Bun

  • Bun 1.2.2

Melhorias

  • Navegação da barra lateral aprimorada
  • Melhor organização dos recursos de gerenciamento de aplicações
  • Interface de logs mais limpa
  • Visualização de métricas aprimorada

Correções de bugs

  • Corrigidos problemas de conexão no streaming de logs
  • Clareza das mensagens de erro na aba de logs aprimorada
  • Corrigidos casos extremos no cálculo de métricas
  • Corrigidos problemas de navegação na extensão do VSCode

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade. A aba LOGS é uma adição que não afeta as funcionalidades existentes.
agosto de 2025

Visão geral

Agosto trouxe um redesenho completo da plataforma, com um gerenciador de arquivos modernizado, documentação completa da API e um tratamento simplificado das credenciais de banco de dados. A atualização visual e as melhorias de funcionalidades tornam a plataforma mais intuitiva e amigável para desenvolvedores.

Novas funcionalidades

Modernização do gerenciador de arquivos

Reformulação visual e funcional completa do sistema de gerenciamento de arquivos.
  • Nova interface moderna, com mais usabilidade
  • Botão de commit para os usuários do gerenciador de arquivos fazerem deploy das alterações diretamente
  • Botão de reinstalar dependências para usuários do plano Free
  • Visualização em árvore de arquivos aprimorada
  • Suporte a arrastar e soltar
  • Recursos de extração de arquivos ZIP

Certificados de banco de dados

Gerenciamento simplificado de certificados para conexões seguras com bancos de dados.
  • Fluxo unificado de cópia de certificados para Redis, MongoDB e PostgreSQL
  • Nova aba de certificados nas configurações do banco de dados
  • Cópia de certificados para a área de transferência com um clique
  • Exibição clara das informações do certificado
  • Melhor organização dos certificados

Referência da API

Documentação completa da API REST publicada.
  • Documentação completa do endpoint de Aplicações
  • Referência do endpoint de Bancos de dados
  • Documentação do endpoint de Organizações
  • Referência do endpoint de Usuários
  • Documentação do endpoint de Serviços
  • Exemplos interativos da API e amostras de requisição e resposta

Suporte a TSX

Adicionado suporte a arquivos TypeScript JSX no gerenciador de arquivos.
  • Arquivos .tsx agora são reconhecidos e editáveis
  • Realce de sintaxe completo para TSX
  • Tratamento adequado dos arquivos nos commits
Cards de projetos do dashboard aprimorados.
  • Para sites e APIs, a URL do deploy agora aparece diretamente nos cards de projeto
  • Acesso rápido para visualizar as aplicações no ar
  • Navegação com um clique até a aplicação em execução

Abrir aplicação

Comportamento aprimorado ao abrir uma aplicação.
  • Agora abre na mesma aba, em vez de uma nova aba
  • Melhor experiência do usuário
  • Melhor gerenciamento das abas do navegador

Redesenho da plataforma

Modernização visual completa do site inteiro.
  • Esquema de cores e design system atualizados
  • Tipografia e espaçamento aprimorados
  • Melhor hierarquia visual
  • Componentes de interface modernos em todo o site
  • Melhorias de design responsivo

Melhorias de gerenciamento

CRUD de organizações

Rotas aprimoradas para o gerenciamento de organizações e projetos.
  • Fluxo de criação de organizações aprimorado
  • Melhor adição e remoção de projetos das organizações
  • Interface de gerenciamento de membros mais intuitiva

Descrições detalhadas

Descrições completas adicionadas em vários recursos.
  • A seção de organizações tem explicações detalhadas
  • Descrições da página Explorar para facilitar a descoberta
  • Seção de backups com contexto útil
  • Páginas de configurações com instruções mais claras

Aumento do limite de pedidos

Limite de pedidos simultâneos de planos aumentado.
  • Agora é possível ter até 3 pedidos de plano simultâneos
  • Melhor suporte a mudanças de plano em lote
  • Fluxo de checkout aprimorado

Terminal e logs

Terminal aprimorado

Experiência de visualização do terminal melhorada.
  • Ver os últimos logs mesmo quando a aplicação está offline
  • Melhor preservação dos logs
  • Corrigido o bug de requisição duplicada
  • Rolagem dos logs aprimorada

Suporte a linguagens e runtimes

Correção no upload de Python

Corrigidos problemas de deploy em projetos Python.
  • Melhor tratamento de projetos Python com diferentes estruturas de diretórios
  • Detecção de pacotes aprimorada
  • Processo de deploy mais confiável

Versões do Python

Versões recomendada e mais recente agora disponíveis.
  • Python 3.11 (recomendada para estabilidade)
  • Python 3.12 (versão mais recente)

Recursos adicionais

Página de privacidade

Adicionada uma página dedicada à política de privacidade.
  • Endpoint /privacy disponível
  • Declaração de privacidade clara para os usuários
  • Informações de conformidade e tratamento de dados

Melhorias de desempenho

Instalação de pacotes

Instalação de dependências significativamente mais rápida.
  • Velocidade de instalação de pacotes 1,5x maior
  • Deploys mais rápidos
  • Tempos de build reduzidos

Responsividade do cabeçalho

Desempenho e responsividade do cabeçalho aprimorados.
  • Corrigidos problemas de responsividade em telas menores
  • Melhor tratamento de overflow
  • Interações mais fluidas

Correções de bugs

  • Corrigidas diversas inconsistências da interface
  • Tratamento de erros aprimorado em toda a plataforma
  • Corrigidos casos extremos na geração de certificados
  • Corrigidos problemas de ordenação no gerenciador de arquivos
  • Estabilidade da conexão com bancos de dados aprimorada

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade. Todos os deploys e funcionalidades existentes continuam funcionando sem modificação.
julho de 2025

Visão geral

Julho marcou um grande marco com o lançamento do sistema de pagamento, do gerenciamento de organizações e das configurações completas de aplicações. A plataforma evoluiu de um serviço básico de hospedagem para um sistema completo de gerenciamento de aplicações, com colaboração em equipe e recursos de cobrança.

Novas funcionalidades

Abas de configurações da aplicação

Gerenciamento organizado das aplicações em abas dedicadas.
  • General — Configurações e informações básicas da aplicação
  • Environment Variables — Gerenciamento de segredos e configurações
  • Deploys — Histórico de deploys e configuração de deploy automático
  • Network — Domínio personalizado e opções de rede
  • Danger Zone — Operações destrutivas, como a exclusão da aplicação

Variáveis de ambiente

Sistema completo de gerenciamento de segredos e configurações.
  • Operações CRUD completas para variáveis de ambiente
  • Seção dedicada a segredos para dados sensíveis
  • Suporte a colagem em massa para configuração rápida
  • Injeção de variáveis de ambiente em tempo real
  • Criptografia de variáveis em repouso

Domínios personalizados

Gerenciamento de DNS e subdomínios das aplicações.
  • Configurar um domínio personalizado para qualquer aplicação
  • Orientação e validação das configurações de DNS
  • Personalização de subdomínio
  • Provisionamento de certificados SSL/TLS

Deploys automáticos

Deploy automático a partir de webhooks do GitHub.
  • Integração com webhooks do GitHub
  • Deploy automático a cada push na branch especificada
  • Configuração e gerenciamento de webhooks
  • Logs e histórico de deploys

Organizações

Gerenciamento completo de equipes com controle de acesso baseado em funções.
  • Criar e gerenciar organizações
  • Gerenciamento de membros com atribuição de funções
  • Permissões de commit por função
  • Controle de acesso aos backups por função
  • Exclusão de organizações

Página de preços

Estrutura completa de preços com comparação de planos.
  • Tabela comparativa dos níveis
  • Lista de funcionalidades por plano
  • Preços dos planos de banco de dados
  • Opções de preço anual
  • Diferenciação clara entre os planos

Sistema de pagamento

Integração com o Mercado Pago para cobrança.
  • Integração com PIX — Método de pagamento instantâneo brasileiro
  • Página de faturas com o histórico de transações
  • Página de pagamento para compras de planos
  • Gerenciamento de renovação de planos
  • Suporte a múltiplas opções de pagamento

Códigos de resgate

Resgate de códigos promocionais.
  • Resgatar códigos promocionais
  • Validação e verificação de códigos
  • Registro de uso e histórico

Gerenciamento de planos

Interface amigável para gerenciar planos.
  • Upgrade para um nível superior
  • Downgrade para um nível inferior
  • Renovação de plano
  • Histórico de mudanças de plano

Notificações de vencimento do plano

Alertas sobre o vencimento próximo do plano.
  • E-mail de aviso antes do vencimento
  • Indicadores de aviso no dashboard
  • Informação sobre o tempo restante para renovar
  • Aviso de renovação nas configurações

Chave de API

Solicitar e gerenciar chaves de API a partir do dashboard.
  • Gerar chaves de API
  • Revogar chaves
  • Interface de gerenciamento de chaves
  • Uso da chave de API nas aplicações

Atividades e logs de auditoria

Rastreamento completo de atividades para responsabilização.
  • Rastreamento de atividades das aplicações
  • Logs de atividade dos bancos de dados
  • Histórico de ações do usuário
  • Data e detalhes de cada ação
  • Exportação

Recursos de banco de dados

Redesenho das configurações do banco de dados

Interface de gerenciamento de bancos de dados aprimorada.
  • Seção de reset para operações de reinicialização do banco de dados
  • Gerenciamento e exibição de credenciais
  • Aba de visão geral com as informações do banco de dados
  • Opções de backup e restauração

Recursos de deploy

Integração com o GitHub

Configuração simplificada de projetos a partir de repositórios existentes.
  • Seleção de repositório do GitHub no fluxo de novo projeto
  • Suporte a repositórios privados
  • Seleção de branch
  • Configuração automática de webhook

Controle de acesso

Permissões por plano

Disponibilidade de funcionalidades de acordo com o plano selecionado.
  • Auto-restart limitado aos planos pagos
  • Gerenciador de arquivos restrito a determinados níveis
  • Disponibilidade de domínio personalizado por plano
  • Visibilidade das métricas por plano
  • Funcionalidade de backup por plano
  • Disponibilidade de deploy automático
  • Bloqueio de funcionalidades baseado no plano

Melhorias no terminal

Terminal em tempo real

Transmissão de logs ao vivo aprimorada, com mais estabilidade e confiabilidade.

Melhorias

  • Diferenciação mais clara entre os planos
  • Melhores recursos de colaboração em equipe
  • Fluxo de pagamento aprimorado
  • Organização das aplicações aprimorada
  • Melhor gerenciamento de variáveis de ambiente

Correções de bugs

  • Corrigidos problemas na geração de chaves de API
  • Entrega de webhooks mais confiável
  • Corrigidos casos extremos na exclusão de organizações
  • Corrigida a verificação de permissões do plano

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade. Todas as aplicações existentes continuam funcionando sem modificação.
junho de 2025

Visão geral

Junho trouxe recursos fundamentais que transformaram a Vertra Cloud de um serviço básico de deploy em uma plataforma completa de gerenciamento de aplicações. A reconstrução completa do dashboard, a implementação do gerenciador de arquivos e o sistema de logs em tempo real formaram a base de todo o desenvolvimento futuro.

Novas funcionalidades

Reconstrução do dashboard

Redesenho completo da interface principal de aplicações.
  • Nova navegação em layout com barra lateral
  • Organização mais limpa e intuitiva
  • Design responsivo para todos os tamanhos de tela
  • Indicadores de status em tempo real
  • Gerenciamento de aplicações simplificado

Gerenciador de arquivos

Sistema completo de gerenciamento de arquivos para aplicações.
  • Navegar e editar os arquivos da aplicação diretamente
  • Exclusão em massa
  • Suporte à edição de arquivos de configuração
  • Upload e download de arquivos
  • Navegação em árvore de diretórios
  • Criação e edição de arquivos

Organizações

Estrutura de colaboração e gestão de equipes.
  • Criar e gerenciar organizações
  • Adicionar membros às organizações
  • Controle de acesso baseado em funções
  • Configurações no nível da organização
  • Convites para membros
  • Gerenciamento de permissões

Logs em tempo real

Transmissão de logs das aplicações ao vivo.
  • Atualização de logs em tempo real enquanto as aplicações rodam
  • Filtragem e busca nos logs
  • Recuperação de logs históricos

Suporte ao idioma espanhol

Internacionalização para usuários de língua espanhola.
  • Traduções completas para espanhol (ES)
  • Seleção de idioma nas configurações do usuário
  • Todo o texto da interface traduzido
  • Modelos de e-mail em espanhol

Sistema de commits

Versionamento de aplicações e rastreamento de deploys.
  • Criar commits de aplicações
  • Reverter para commits anteriores
  • Visualização do histórico de commits
  • Rastreamento de deploys
  • Gerenciamento de versões

Backups

Funcionalidade de backup e restauração de aplicações.
  • Criar backups manuais
  • Ver o histórico de backups
  • Restaurar a partir de um backup
  • Agendamento de backups
  • Integração com a API

Nova landing page

Página inicial completamente redesenhada.
  • Design e layout modernos
  • Proposta de valor clara
  • Destaques de funcionalidades
  • Botões de chamada para ação
  • Navegação melhorada

Página de preços

Estrutura inicial de preços e planos.
  • Comparação de planos
  • Lista de funcionalidades por nível
  • Transparência de preços
  • Diferenciação entre os níveis

Páginas adicionais

Novas páginas informativas da plataforma.
  • Página de Termos de Serviço
  • Página Sobre
  • Página de suporte e contato
  • Documentação de ajuda

Componentes e visualização

Gráficos

Componentes de visualização de métricas.
  • Gráficos de uso de recursos
  • Exibição de métricas de desempenho
  • Visualização de dados históricos
  • Interações com os gráficos
  • Vários tipos de gráfico

Atividades

Rastreamento e exibição de atividades.
  • Logs de atividade das aplicações
  • Logs de atividade dos bancos de dados
  • Rastreamento de ações do usuário
  • Detalhes completos das atividades
  • Filtragem de atividades

Suporte a Markdown

Cards de logs e atividades

Formatação de texto aprimorada.
  • Renderização de Markdown nos logs
  • Markdown nos cards de atividades
  • Melhor legibilidade do conteúdo
  • Suporte a blocos de código nos logs
  • Renderização de links

Melhorias

  • Interface do usuário mais limpa em todo o sistema
  • Melhor organização dos recursos
  • Fluxo de navegação aprimorado
  • Gerenciamento de aplicações mais intuitivo
  • Visibilidade melhorada do status das aplicações
  • Exibição mais clara da utilização de recursos

Correções de bugs

  • Corrigidos problemas de renderização do dashboard
  • Entrega de logs em tempo real aprimorada
  • Corrigidos casos extremos do gerenciador de arquivos
  • Corrigidos bugs de navegação
  • Tratamento de erros aprimorado

Mudanças que quebram compatibilidade

Nenhuma mudança que quebra compatibilidade. Todos os deploys de maio continuam funcionando sem modificação.
maio de 2025

Visão geral

Maio marca o início da Vertra Cloud com o lançamento do dashboard inicial. Esta versão fundamental traz o gerenciamento básico de aplicações, a conexão com bancos de dados e a base para todos os recursos seguintes.

Novidades

Dashboard

Página inicial do dashboard para gerenciamento de aplicações e bancos de dados.
  • Ver todas as aplicações implantadas
  • Ver todos os bancos de dados conectados
  • Visão geral rápida do status
  • Listagem e filtragem de projetos
  • Gerenciamento básico de recursos

Detalhes do banco de dados

Interface de gerenciamento dos bancos de dados conectados.
  • Ver as informações do banco de dados
  • Exibição das credenciais de conexão
  • Estatísticas de uso do banco de dados
  • Gerenciamento de configuração
  • Integração com a API

Detalhes da aplicação

Gerenciamento de aplicações e visualização de arquivos.
  • Visão geral da aplicação
  • Integração com o gerenciador de arquivos
  • Navegação por abas a partir de parâmetros da URL
  • Logs da aplicação
  • Status do deploy

Páginas de aplicações e bancos de dados

Páginas de listagem dedicadas para organização.
  • Página de aplicações com todas as aplicações
  • Página de bancos de dados com todos os bancos de dados
  • Filtragem e ordenação
  • Ações rápidas por recurso

Campo de domínio personalizado

Suporte inicial a domínio personalizado no modelo de aplicação.
  • Configuração de domínio personalizado nas aplicações
  • Validação de domínio
  • Orientação para configuração de DNS
  • Base para os recursos de domínio personalizado

Configuração de desenvolvimento

Ferramentas de qualidade de código

Padrões profissionais de desenvolvimento.
  • Configuração do ESLint para análise de código
  • Configuração do Prettier para formatação de código
  • Verificações automatizadas de qualidade de código
  • Aplicação consistente do estilo de código

Design system

Configuração personalizada do Tailwind.
  • Tailwind CSS para estilização
  • Sistema de cores personalizado com as cores da marca
  • Design tokens e utilitários
  • Framework de design responsivo

Melhorias

  • Interface limpa e funcional
  • Gerenciamento de aplicações intuitivo
  • Base para os recursos futuros
  • Base arquitetural sólida
  • Pronta para a expansão da plataforma

Infraestrutura

Plataforma inicial

Infraestrutura básica de hospedagem e deploy.
  • Sistema de deploy em containers
  • Suporte a DNS e SSL
  • Roteamento básico
  • Isolamento de aplicações

Mudanças que quebram compatibilidade

Esta é a versão inicial. Não há mudanças que quebram compatibilidade a considerar.
Última modificação em 26 de outubro de 2026