# Changelog Todas as mudanças notáveis deste projeto serão documentadas neste arquivo. O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/), e este projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR/). ## [1.3.1] - 2026-02-06 ### Adicionado - Calculadora arrastável via drag handle no header do dialog - Callback `onSelectValue` na calculadora para inserir valor diretamente no campo de lançamento - Aba "Changelog" em Ajustes com histórico de versões parseado do CHANGELOG.md ### Alterado - Unificadas páginas de itens ativos e arquivados em Cartões, Contas e Anotações com sistema de tabs (padrão Categorias) - Removidas rotas separadas `/cartoes/inativos`, `/contas/inativos` e `/anotacoes/arquivadas` - Removidos sub-links de inativos/arquivados da sidebar - Padronizada nomenclatura para "Arquivados"/"Arquivadas" em todas as entidades ## [1.3.0] - 2026-02-06 ### Adicionado - Indexes compostos em `lancamentos`: `(userId, period, transactionType)` e `(pagadorId, period)` - Cache cross-request no dashboard via `unstable_cache` com tag `"dashboard"` e TTL de 120s - Invalidação automática do cache do dashboard via `revalidateTag("dashboard")` em mutations financeiras - Helper `getAdminPagadorId()` com `React.cache()` para lookup cacheado do admin pagador ### Alterado - Eliminados ~20 JOINs com tabela `pagadores` nos fetchers do dashboard (substituídos por filtro direto com `pagadorId`) - Consolidadas queries de income-expense-balance: 12 queries → 1 (GROUP BY period + transactionType) - Consolidadas queries de payment-status: 2 queries → 1 (GROUP BY transactionType) - Consolidadas queries de expenses/income-by-category: 4 queries → 2 (GROUP BY categoriaId + period) - Scan de métricas limitado a 24 meses ao invés de histórico completo - Auth session deduplicada por request via `React.cache()` - Widgets de dashboard ajustados para aceitar `Date | string` (compatibilidade com serialização do `unstable_cache`) - `CLAUDE.md` otimizado de ~1339 linhas para ~140 linhas ## [1.2.6] - 2025-02-04 ### Alterado - Refatoração para otimização do React 19 compiler - Removidos `useCallback` e `useMemo` desnecessários (~60 instâncias) - Removidos `React.memo` wrappers desnecessários - Simplificados padrões de hidratação com `useSyncExternalStore` ### Arquivos modificados - `hooks/use-calculator-state.ts` - `hooks/use-form-state.ts` - `hooks/use-month-period.ts` - `components/auth/signup-form.tsx` - `components/contas/accounts-page.tsx` - `components/contas/transfer-dialog.tsx` - `components/lancamentos/table/lancamentos-filters.tsx` - `components/sidebar/nav-main.tsx` - `components/month-picker/nav-button.tsx` - `components/month-picker/return-button.tsx` - `components/privacy-provider.tsx` - `components/dashboard/category-history-widget.tsx` - `components/anotacoes/note-dialog.tsx` - `components/categorias/category-dialog.tsx` - `components/confirm-action-dialog.tsx` - `components/orcamentos/budget-dialog.tsx` ## [1.2.5] - 2025-02-01 ### Adicionado - Widget de pagadores no dashboard - Avatares atualizados para pagadores ## [1.2.4] - 2025-01-22 ### Corrigido - Preservar formatação nas anotações - Layout do card de anotações ## [1.2.3] - 2025-01-22 ### Adicionado - Versão exibida na sidebar - Documentação atualizada ## [1.2.2] - 2025-01-22 ### Alterado - Atualização de dependências - Aplicada formatação no código