# Changelog

O histórico de mudanças do SDK e dos plugins: o que entrou em cada release, o que quebrou compatibilidade e o que foi removido.

## Formato de uma entrada

Cada entrada tem três coisas:

- **Versão + data** — o número da release e quando ela saiu (ou, se ainda em preparação, o alvo).
- **Mudanças por pacote** — agrupadas por pacote (`@fayz-ai/cli`, `@fayz-ai/db`, plugins…), porque cada pacote versiona por conta própria.
- **Notas de compatibilidade** — quando algo muda de comportamento ou exige um passo de migração.

Enquanto o SDK está pré-1.0, versões `0.x` podem trazer mudanças de comportamento em releases menores — leia as notas antes de subir de versão. Veja [Versionamento](/pt-BR/docs/referencia/versoes) para a política completa.

---

## CLI 0.3.0 — fluxo de banco de dados {% badge status="beta" %}

**Em preparação** — descrito aqui para você acompanhar; ainda não publicado.

Esta leva foca em levar um app do mock a um Supabase real por um caminho previsível e auditável.

**`@fayz-ai/cli`**

- Novo comando **`fayz db apply`**: monta um plano de migração ordenado e o aplica via API de gestão do Supabase.
  - `--dry-run` mostra o plano inteiro **sem rede** — bom para revisar antes de tocar o banco.
  - Contrato de ambiente explícito: exige `SUPABASE_PROJECT_REF` e `SUPABASE_PAT` (alias `SUPABASE_ACCESS_TOKEN`), nunca assume padrão.
  - Confirmação obrigatória: pede `y` num TTY e **se recusa** em shell não interativo a menos que `--yes` seja passado.
- Scaffold do `fayz create` mais completo: agora gera **`.env.example`** (com as chaves de runtime e de tooling comentadas) e **`AGENTS.md`** (guia de agente neutro de fornecedor, com `CLAUDE.md` apontando para ele).

**`@fayz-ai/db`**

- Passa a embarcar o **SQL da espinha** (schema base compartilhado) dentro de `migrations/`, que o `fayz db apply` consome como o primeiro passo do plano.
  - Até a 0.1.2, o passo da espinha sai vazio e o dry-run avisa `installed @fayz-ai/db ships no migrations/`. A partir da **0.1.3** esse passo é preenchido.

**Compatibilidade.** Apps existentes seguem rodando em `backend.provider: "mock"` sem mudança. O caminho de banco real é opt-in: só quem preenche o `.env.local` e roda `fayz db apply` é afetado.

{% callout type="warn" %}
As versões e o escopo acima descrevem trabalho **em preparação** e podem mudar até a publicação. Quando a release sair, esta entrada é atualizada com a data real.
{% /callout %}
