Skip to content

Releases: contabase-app/contabase

ContaBase v1.0.0-beta.7

Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Nov 23:09
  • v1.0.0-beta.7 — prerelease publicada em 1 de novembro de 2026 — Cancelamentos, estornos e operabilidade de Investimentos

    A Beta 7 conclui o ciclo de Investimentos: cancelamento integral de lotes com transferências vinculadas, estorno individual de compras adicionais, cancelamento de registro inicial record-only e aplicações sem transferência automática. Os recibos são imutáveis e idempotentes; compras estornadas saem do principal ativo sem apagar o histórico.

    A migration 82 corrige o P1 em que contas e lotes ficavam bloqueados após um estorno individual. A revalidação histórica de recibos não depende mais de saldos, versões, status ou arquivamento atuais, e a validação no INSERT continua exigindo o estado financeiro completo. O schema avança de 77 para 82 sem rebuild das tabelas financeiras.

    A entrada monetária de cadastro, reaplicação e posição passa a considerar os dois últimos dígitos digitados como centavos: 1644041 exibe R$ 16.440,41. Valores brasileiros completos colados mantêm seu significado. Instalações novas nascem com CONTABASE_FEATURE_INVESTMENTS=false; atualizações preservam a configuração existente.

    As listagens de Lançamentos, Contas a pagar/receber e Lançamentos dentro das faturas passam a usar cards individuais com agrupamento por data preservado. Transferências mostram a logo da instituição de origem e de destino, com fallback pelo marcador da conta. A dica de swipe volta como rodapé discreto apenas no mobile, orientando confirmação, movimentação de parcelas e exclusão. Faturas e parcelamentos tiveram a movimentação de ocorrências, o escopo por workspace e os gestos de arraste finalizados.

    Atualização: v1.0.0-beta.6 → v1.0.0-beta.7. Faça backup antes de atualizar. As migrations 79 a 82 são transacionais e não reconstroem as tabelas financeiras. A política de recuperação automática continua restrita à Beta 6; a Beta 7 não tem downgrade automático nem restore automático de banco.

    P2 conhecido: a movimentação de recorrências legadas pode ignorar ocorrências em faturas PAID. Não corrigido nesta versão. Adoção histórica e resgates financeiros das novas aplicações permanecem indisponíveis. A recuperação automática de atualização para a linha Beta 7 exige revisão específica em versão futura.

    Distribuição: tag v1.0.0-beta.7, GitHub Release prerelease, artifacts Linux amd64 e arm64 com checksums e imagem GHCR v1.0.0-beta.7. A promoção do canal Beta e da imagem :beta acontece somente após o smoke real de instalação e atualização desta tag.

    Veja as notas da versão.

v1.0.0-beta.6

v1.0.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 Oct 01:34

Candidata Beta da linha 1.0 com aplicações de investimento, correções de interface e estabilidade.

Status: prerelease mantida como draft. Tag, artifacts e imagem GHCR gerados. A publicação depende de validação final e autorização.

Investimentos

O módulo fica disponível por padrão quando CONTABASE_FEATURE_INVESTMENTS está ausente, tanto em instalações novas quanto nas atualizadas. Configurações explícitas são preservadas, inclusive vazio e valores desconhecidos, que continuam desabilitando o módulo. O cadastro permite escolher a conta de investimento e a conta de origem. A primeira aplicação e as seguintes criam uma transferência e atualizam os dois saldos na mesma transação. O histórico liga cada aplicação ao seu lançamento, e repetir a mesma requisição não duplica seus efeitos.

Use esse fluxo para dinheiro que ainda não foi transferido. Registros patrimoniais antigos não geram débito retroativo. O total aplicado é distinto da posição manual e da cotação de mercado. As transferências preservam a política existente, inclusive saldo negativo permitido.

O fluxo funciona no schema 77. Adoção histórica e resgates financeiros das novas aplicações permanecem indisponíveis. As flags de operações financeiras controladas continuam opt-in. Veja o guia de Investimentos para disponibilidade e limites.

Interface e segurança

  • Relatórios, Contatos, Configurações e Administração usam componentes Premium e receberam melhorias de navegação, formulários, foco e responsividade.
  • Configurações e Administração alinham conteúdo e espaçamento; ações de contas/cartões e detalhes da posição aplicada ocupam menos espaço no mobile.
  • Contas, Investimentos e Notificações reutilizam o controle global de privacidade, com máscaras financeiras e estado preservado na sessão do navegador.
  • Correções locais incluem nome acessível em Metas, contraste do badge Vencido, alvos de toque e títulos de Notificações em duas linhas.
  • Auditoria administrativa exige autorização; configuração SMTP preserva a senha ao receber campo vazio e não a devolve ao formulário. Relatórios reforçam permissões de leitura e proteções nas exportações.

Correções

  • O executor de pagamentos agendados reserva o escritor SQLite antes de recarregar o pagamento, evitando conflitos com outros jobs no startup. Débito, histórico e notificação permanecem atômicos.
  • Corrigido o menu "Mais opções" em Metas e Reservas para evitar interferência visual com os cartões ao fundo.
  • A página de Faturas agora abre automaticamente no próximo mês com uma fatura em aberto quando o mês atual já está totalmente pago.
  • A contagem de dias até o fechamento usa datas civis nos cartões de Faturas e do Dashboard. O valor deixa de divergir do resumo do ciclo na virada do dia, do mês, do ano e em fusos com horário de verão.

Credenciais e recuperação

A identidade de seed histórica não é mais reativada durante o startup. Hashes vazios, inválidos ou correspondentes à senha pública conhecida são inutilizados, e a conta passa a exigir recuperação administrativa explícita. A contenção preserva status, vínculos, permissões, dados de workspace e fatores 2FA; nenhuma senha temporária é emitida automaticamente pelo processo de inicialização.

Para recuperar o acesso, um administrador usa a redefinição de senha existente em Administração > Usuários ou o Admin CLI. O fluxo gera uma senha temporária, exige troca no próximo login, revoga sessões e desafios anteriores e mantém os fatores 2FA cadastrados. Se o autenticador também foi perdido, a desativação de 2FA é uma ação administrativa separada. Não edite a tabela users diretamente nem reintroduza um build que recrie a credencial pública.

SECURITY_MASTER_KEY deve ser configurada explicitamente, com exatamente 32 bytes, em qualquer ambiente. Não há mais fallback público em desenvolvimento. Sem a chave, uma senha SMTP nova não pode ser gravada e alertas que dependam de senha cifrada não são enviados; o ciphertext existente não é apagado. Se a senha SMTP tiver sido cifrada pelo fallback antigo, configurar uma chave nova não recupera esse valor. Preserve banco e chaves e informe novamente a senha pela Administração; recuperar o segredo antigo sem conhecê-lo exigiria uma migração offline específica, não incluída nesta versão.

Atualização e recuperação

Caminho de atualização previsto: v1.0.0-beta.5 → v1.0.0-beta.6.

Faça backup antes da atualização e preserve AUTH_ENCRYPTION_KEY e SECURITY_MASTER_KEY. A atualização não regenera chaves, não restaura banco e não reverte migrations automaticamente.

Os fluxos de instalação e atualização só reativam automaticamente um bundle ou imagem anterior quando existe prova administrativa local de que ele é uma cópia verificada da própria Beta 6, com conteúdo exato, emitida após health válido, e quando a candidata ainda não foi iniciada. A prova fica fora do bundle e não é uma assinatura de fornecedor. Não há downgrade automático para a Beta 5. Depois de qualquer tentativa de startup da candidata, o retorno automático é bloqueado, pois o schema pode ter avançado: mantenha o serviço parado, preserve banco, WAL, uploads, configuração, chaves e backups, e repare com um artefato verificado compatível com o schema atual. Restaurar banco ou voltar schema exige plano e autorização próprios.

O upgrade operacional Beta 5 → Beta 6 pelo instalador público ainda não foi comprovado integralmente. A validação funcional em Docker DEV não substitui o ensaio de atualização em uma instalação real.

Esta é uma prerelease da linha 1.0 e não uma versão estável.


Artefatos oficiais: contabase-linux-amd64.tar.gz, contabase-linux-arm64.tar.gz e checksums.txt. A imagem fixa é ghcr.io/contabase-app/contabase:v1.0.0-beta.6.

v1.0.0-beta.5

v1.0.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 02:04

ContaBase v1.0.0-beta.5

Beta pública controlada da linha 1.0.

Destaques

  • Home/Dashboard renovado, com resumos financeiros organizados em cartões mais compactos e legíveis.
  • Metas, Limites e Reservas com apresentação revisada e cartões/formulários reorganizados.
  • Novo catálogo e seletor de ícones para categorias, limites e reservas.
  • Identidade visual atualizada no shell, nas telas de acesso e nos assets do PWA.
  • Resumo de Lançamentos reorganizado e responsivo, com resultado líquido.
  • Saldo da conta somente para leitura ao editar os metadados.

Home e interface financeira

A posição financeira foi reorganizada e os resumos passaram a ser apresentados em cartões compactos, com leitura mais direta dos valores principais. Limites e metas ganharam barras de progresso e estados visuais mais claros, e o comportamento responsivo foi ajustado para desktop e mobile.

Metas, Limites e Reservas

Cartões, resumos e formulários foram reorganizados para facilitar a leitura e a escolha de ícones. A versão inclui a migration 66, aditiva, que acrescenta as chaves de ícone e normaliza categorias antigas que ainda não tinham escolha explícita.

Ícones e identidade visual

Um catálogo de símbolos atende categorias, limites e reservas. Os assets de marca do shell, das telas de acesso e do PWA foram atualizados.

Lançamentos

O resumo por situação e o resultado líquido foram reorganizados, com apresentação responsiva.

Contas

Ao editar os metadados de uma conta, o saldo aparece somente para leitura no formulário.

Atualização

Upgrade suportado: v1.0.0-beta.4 → v1.0.0-beta.5.

Recomendamos fazer backup antes de atualizar e validar o restore, usando os mecanismos oficiais de atualização. O banco é migrado de forma aditiva (schema 64 → 66) e os dados existentes são preservados.

Sobre esta versão

Esta é uma prerelease — beta pública controlada da linha 1.0 — e não uma versão estável. A distribuição usa a tag fixa v1.0.0-beta.5 e as imagens versionadas publicadas no GHCR, além dos pacotes Linux amd64 e arm64 com checksums publicados nesta release.

v1.0.0-beta.4

v1.0.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Sep 19:49
release: prepare v1.0.0-beta.4

v1.0.0-beta.3

v1.0.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Sep 01:38

ContaBase v1.0.0-beta.3

Terceira candidata da linha 1.0. Esta é uma prerelease para validação controlada; não é a versão stable.

Destaques

  • Shell V2 canônico nas rotas autenticadas, com navegação unificada, responsiva e acessível.
  • Catálogo global de instituições, seletor pesquisável e logos consistentes em Dashboard, Configurações, Faturas e Lançamentos.
  • Nova Central de Faturas (/faturas) com carrossel de cartões, competência contínua de 12 meses e preservação do cartão selecionado.
  • Seletor de competência padronizado em Lançamentos, Contas, Relatórios e Faturas.
  • Faturas fechadas permanecem ajustáveis até o pagamento; reembolsos reduzem o saldo sem criar receita.
  • Transferências mostram origem e destino e passam a respeitar o filtro de conta.

Upgrade

Caminho pretendido: v1.0.0-beta.2 → v1.0.0-beta.3.

Faça backup WAL-consistente e valide o restore antes de atualizar ambientes com dados importantes. Consulte o CHANGELOG.md e a documentação da release para o detalhamento e os pontos de validação pendentes.

v1.0.0-beta.2

v1.0.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Aug 23:45

ContaBase v1.0.0-beta.2

Prerelease pública da linha 1.0.0. Não é uma versão stable.

Destaques

  • Recorrências: a ação Este e os próximos volta a encerrar séries legadas com histórico estrutural incompleto, preservando pagamentos de fatura, faturas fechadas/quitadas e exceções manuais.
  • Lançamentos no mobile: descrição, metadados, valor e data passam a abrir o editor no mesmo alvo de toque; status, swipe e seleção em lote seguem como ações independentes.
  • Faturas em Lançamentos: títulos longos não sobrepõem mais os valores; em pagamentos parciais, Total e Pago se organizam em linhas separadas em telas estreitas.
  • A beta preserva os recursos introduzidos na beta.1: agendamento por confirmação de lançamento futuro, backups diários protegidos, e a identidade CB no PWA e favicons.

Distribuição

  • Imagem multi-arquitetura: ghcr.io/contabase-app/contabase:v1.0.0-beta.2.
  • Packages Linux amd64 e arm64, com checksums.txt, estão anexados a esta Release.
  • O canal Beta oficial aponta para esta tag fixa.

Atualização

Antes de atualizar uma instalação com dados importantes, faça backup e teste a restauração. Esta é uma prerelease; a validação em LXC/systemd real permanece uma etapa operacional recomendada.

Veja as notas técnicas completas.

v0.1.0-beta.9

v0.1.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Aug 17:05

ContaBase v0.1.0-beta.9

A Beta.9 corrige o problema de portabilidade do backup/restore que levou
à retirada da Beta.8 e reforça o processo de atualização self-hosted.
Também conclui o resumo mensal de planejamento de reservas na área de
Metas.

Destaques

Atualização self-hosted mais segura

Os fluxos Docker, source e release agora aplicam uma política única de
versão e proveniência antes de qualquer alteração da instalação.

  • versão já instalada não é reinstalada;
  • downgrade e estados ambíguos são rejeitados;
  • a revisão Git alvo é congelada durante a atualização;
  • checkout e estado só são promovidos após validação do novo runtime;
  • uma nova tentativa após falha intermediária pode convergir novamente
    sem misturar revisões.

No Docker, o updater também confirma identidade do container, projeto
Compose, mounts críticos, versão embarcada, healthcheck e estabilidade do
runtime antes de concluir a atualização.

Backup e restore — BSD, GNU e BusyBox

Foi corrigida a incompatibilidade de metadata que afetava o backup
canônico em algumas instalações GNU/Linux e BusyBox.

A matriz oficial foi validada em:

  • macOS/BSD;
  • GNU/Linux;
  • Alpine/BusyBox.

O backup continua fail-closed: se não puder ser concluído corretamente,
o update é interrompido antes de migrations ou troca do bundle.

O restore também passa a aceitar corretamente metadata produzida pelas
variantes compatíveis de stat.

Metas e Reservas

O planejamento mensal de reservas recebeu um resumo mais completo,
incluindo:

  • saldo reservado;
  • valor disponível;
  • aportes programados;
  • margem estimada quando calculável;
  • cobertura do custo essencial;
  • indicação da origem usada para calcular essa cobertura.

A apresentação também foi ajustada para desktop e mobile e continua
funcionando normalmente quando não existem reservas ou referências
suficientes para determinados cálculos.

Upgrade da Beta.8

A v0.1.0-beta.8 permanece marcada como RETIRADA / NÃO USAR PARA
ATUALIZAÇÃO
por causa do problema de portabilidade no backup canônico.

Nenhuma corrupção de dados foi demonstrada no incidente: o updater
interrompia a operação antes das migrations ou da troca do runtime.

A Beta.9 contém a correção desse problema.

Caminhos previstos/suportados pelo fluxo de atualização:

  • v0.1.0-beta.7 → v0.1.0-beta.9
  • v0.1.0-beta.8 → v0.1.0-beta.9

Os contratos desses caminhos possuem cobertura automatizada. Smokes reais
de upgrade sobre ambientes descartáveis não foram executados nesta
publicação por ainda não existir harness oficial apropriado.

Validação da release

Antes da criação da tag, o SHA público passou pelo novo Release Preflight
com:

  • TZ=UTC go test ./... -count=1;
  • go vet;
  • builds;
  • backup/restore GNU, BSD e BusyBox;
  • packages Linux amd64 e arm64;
  • validação dos archives;
  • checksums.

Os mesmos gates de release foram executados novamente após a tag antes
da publicação dos artifacts e da imagem GHCR.

Downloads

A Release disponibiliza packages Linux para:

  • amd64
  • arm64

Os hashes oficiais estão no arquivo checksums.txt anexado à Release.

Container

Imagem multi-arquitetura:

ghcr.io/contabase-app/contabase:v0.1.0-beta.9

Canal Beta

O canal Beta oficial aponta para:

v0.1.0-beta.9

A versão Stable continua inalterada.

v0.1.0-beta.8 — RETIRADA / NÃO USAR PARA ATUALIZAÇÃO

Choose a tag to compare

@github-actions github-actions released this 11 Aug 17:56

⚠️ ATENÇÃO — ESTA VERSÃO FOI RETIRADA

A v0.1.0-beta.8 foi retirada das superfícies mutáveis de distribuição (GHCR :beta e canal beta) devido a um incidente de portabilidade no backup canônico que impede a atualização em GNU/Linux e BusyBox.

Resumo do incidente:

  • Fresh install da beta.8 é funcional.
  • O problema está no caminho de atualização/backup canônico.
  • O updater aborta de forma fail-closed antes de qualquer mutação (migrations ou troca de bundle).
  • Nenhuma corrupção de dados foi demonstrada no incidente reproduzido.

O que fazer:

  • Se você já está na beta.8 (fresh install ou update funcional): mantenha-se nela. A beta.9 corrigirá o problema e suportará upgrade a partir da beta.8.
  • Se você está na beta.7: permaneça na beta.7. O canal beta voltou a apontar para beta.7.
  • Não force o update para beta.8. Aguarde a beta.9.

A v0.1.0-beta.9 está em preparação e corrigirá a incompatibilidade stat BSD/GNU no fluxo de backup/restore canônico. Ela suportará atualização direta a partir de beta.7 e beta.8.


As notas abaixo são preservadas como registro histórico da publicação original. O aviso de retirada acima representa o estado operacional atual desta versão.


ContaBase v0.1.0-beta.8

Destaques

Esta Beta evolui o tratamento de datas financeiras para preservar a data de calendário sem depender do fuso horário do servidor. Novos lançamentos, pagamentos, agendamentos e recorrências passam a registrar também a data civil correspondente.

As recorrências ficam mais previsíveis e seguras. A edição de uma série valida a sua cadeia antes de gravar; os cortes em "Este e futuros" respeitam a data escolhida; e "Toda a série" aplica a mudança de forma atômica.

Correções importantes

  • Repetir uma confirmação de pagamento não duplica movimentação de saldo, troca de conta nem histórico.
  • A conta de pagamento pode ser ajustada apenas em receitas e despesas pendentes simples. Transferências, faturas, cartões e recorrências permanecem protegidos.
  • A exclusão de "Apenas este lançamento" em uma recorrência deixa um registro persistente para que a ocorrência não seja criada novamente pela projeção.
  • Estados, totais pagos e saldo pendente de faturas passam a usar pagamentos efetivos de forma consistente. Faturas históricas, seus pagamentos e lançamentos vinculados não são reabertos nem alterados automaticamente.
  • Pagamentos de fatura podem ser revertidos por usuário autenticado, com motivo, responsável, data e lançamento de reversão registrados no histórico.

Recorrências

  • Apenas este lançamento: a ocorrência removida continua ausente nas próximas projeções.
  • Este e futuros: encerra o intervalo correto da série sem apagar o passado elegível.
  • Toda a série: encerra a recorrência completa de forma atômica.
  • Lançamentos pagos, exceções manuais e itens em faturas fechadas ou pagas permanecem protegidos.

Atualização self-hosted

O build de CSS usa Tailwind CSS 4.3.3 travado pelo lockfile. Node.js 24 LTS é a versão recomendada; Node.js 22 LTS continua compatível. No fluxo source, a compatibilidade é validada antes de interromper o serviço, e os assets de autenticação passam a usar versões para reduzir cache desatualizado.

Backup canônico obrigatório

Os updaters Docker, source e release exigem backup canônico completo (banco SQLite + uploads) antes de qualquer mutação. Falha no backup interrompe o update; --no-backup é rejeitado; e não há fallback em cópias cruas de DB/WAL/SHM.

Rollback e restore explícito

Se o healthcheck do novo runtime falhar, o serviço permanece parado e o runtime antigo não é reativado automaticamente. O retorno à versão anterior exige restore explícito do pacote pré-update.

Data e timezone visíveis

O rodapé das páginas autenticadas agora mostra a data, a hora e a timezone reconhecidas pelo ContaBase. Isso ajuda administradores de instalações self-hosted a confirmar visualmente se a aplicação está usando a configuração temporal esperada.

O horário é renderizado pelo servidor, usando a configuração global da aplicação, e é atualizado em carregamentos completos. Não existe relógio em tempo real. O indicador não modifica lançamentos, vencimentos ou datas históricas, nem garante sincronização NTP ou integridade financeira.

Faturas — movimentação manual

Lançamentos individuais de cartão de crédito podem ser movidos manualmente entre faturas elegíveis. A mudança persiste em invoice_override_id e respeita:

  • faturas abertas ou fechadas financeiramente elegíveis;
  • preservação de pagamentos modernos e legados;
  • proteção de faturas quitadas ou liquidadas;
  • proteção da fatura de origem contra reabertura indevida quando há pagamento legado;
  • retorno ao vínculo automático quando apropriado;
  • manutenção da competência, data e valor originais da compra.

A movimentação é coberta por testes de concorrência (CAS), replay e rollback para garantir unicidade do vencedor e consistência dos saldos.

Reservas — planejamento mensal

Adicionado o núcleo matemático puro para projeções de reservas, incluindo:

  • cálculo determinístico de aporte necessário por alvo e data;
  • projeção com rendimento composto;
  • estimativa de meses/mês;
  • saldo projetado;
  • indicadores de suficiência/insuficiência;
  • arredondamento e tratamento de centavos;
  • correção da fronteira de precisão usando FV raw.

O resumo de planejamento mensal usa essas projeções para orientar a situação das reservas.

Banco de dados

A atualização evolui o schema da versão 51 para a 59. Ela preserva os dados existentes, mas executa validações de integridade antes de concluir o upgrade:

  • 52 — civil_date_columns: cria as colunas de data civil usadas pelos fluxos atuais. O preenchimento de dados legados é uma operação separada e controlada; não ocorre automaticamente durante a migration ou na inicialização da aplicação.
  • 53 — recurring_rules_active_leaf_invariant: valida a cadeia de versões das recorrências e interrompe o upgrade com diagnóstico se encontrar uma regra ativa com descendentes.
  • 54 — recurring_occurrence_skips: grava tombstones para exclusões unitárias persistentes de recorrências.
  • 55 — box_monthly_recharge_identity: identifica aportes automáticos por reserva e mês para impedir duplicidade.
  • 56 — box_contribution_lifecycle: registra o ciclo de vida de aportes automáticos de reservas.
  • 57 — workspace_monthly_planning_references: adiciona referências mensais de planejamento por workspace.
  • 58 — invoice_payment_reversal_identity: registra a identidade e a proveniência de reversões de pagamento de fatura, com unicidade por workspace.
  • 59 — recurring_occurrence_blocks: impede resultados terminais contraditórios para uma mesma ocorrência recorrente.

Compatibilidade e rollback

Faça um backup WAL-consistente antes de atualizar bancos com dados importantes. Caso uma validação de integridade encontre uma cadeia recorrente, uma identidade de pagamento ou uma ocorrência em conflito, o upgrade é interrompido sem escolher ou corrigir os dados automaticamente. Resolva o diagnóstico indicado antes de tentar novamente.

Depois que uma exclusão unitária for registrada, não faça downgrade para um binário anterior que não reconheça recurring_occurrence_skips: ele pode recriar a ocorrência que foi removida intencionalmente. Mantenha o schema e volte apenas para uma versão que respeite esses tombstones. As migrations 55 a 59 também introduzem identidades e referências usadas pelos fluxos atuais; faça restore explícito do pacote pré-update se precisar retornar os dados ao estado anterior.

Monitoramento self-hosted

O endpoint GET /health pode ser usado por Docker e por ferramentas de monitoramento como o Uptime Kuma para verificar a disponibilidade do ContaBase.

  • 200 {"status":"healthy"} indica que o processo HTTP está respondendo e o acesso básico ao SQLite está funcionando.
  • 503 {"status":"unhealthy"} indica que o processo responde, mas o banco de dados não está acessível.
  • Métodos diferentes de GET são rejeitados com 405 Method Not Allowed.
  • As respostas não contêm detalhes internos do banco, caminhos de arquivo ou dados de usuários.
  • O status healthy não substitui backup, auditoria financeira ou verificação de integridade dos dados.

Há orientações na documentação para configurar um monitor interno (rede Docker ou IP privado) e um monitor externo por HTTPS com verificação de certificado TLS.

Problemas conhecidos

Nenhum problema adicional foi incluído nesta nota para a topologia self-hosted oficialmente suportada.

v0.1.0-beta.7

v0.1.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jul 16:07

ContaBase v0.1.0-beta.7 - Beta publica controlada

Status: Em preparacao; ainda nao publicada

Estagio: Beta publica controlada, nao stable

Principais mudancas desde v0.1.0-beta.6

Adicionado

  • Recorrencias — serie versionada: cada lancamento fixo passa a pertencer a uma serie. As alteracoes viram versoes da mesma serie, preservando o historico e mantendo o passado intacto.
  • Recorrencias — materializacao automatica: as ocorrencias futuras sao mantidas em uma janela movel de aproximadamente 15 meses, sem acao manual.
  • Recorrencias — projecao sempre atualizada: varredura diaria, varredura leve no start da aplicacao e preenchimento sob demanda em Dashboard e Lancamentos mantem as recorrencias futuras atualizadas sem travar as telas.

Alterado

  • Editar "apenas esta": a ocorrencia vira excecao manual; as demais nao mudam e a excecao nao e sobrescrita.
  • Editar "esta e futuras": cria uma nova versao da serie a partir do ponto escolhido; a versao anterior e encerrada no corte, mantendo a mesma serie.
  • Editar "toda a serie": atualiza as ocorrencias mutaveis, protegendo excecoes manuais, lancamentos pagos e itens em faturas fechadas/pagas.
  • Excluir "esta e futuras": encerra a serie no ponto escolhido, remove apenas as futuras elegiveis e nao regenera as apagadas.
  • Projecao sob demanda restrita: o preenchimento por acesso ocorre apenas em Dashboard e Lancamentos. Faturas e Relatorios nao disparam.
  • Lancamentos — visibilidade padrao: a listagem /lancamentos agora inclui lancamentos pagos por padrao, sem selecionar o filtro manualmente.
  • Lancamentos Business — separacao de competencia e vencimento: a listagem agrupa pelo vencimento (due_date) quando disponivel, preservando a competencia real (date) para edicao. Indicador discreto "Comp. DD/MM/AAAA" aparece apenas quando competencia difere do vencimento.
  • Lancamentos Business — layout mobile: descricao ocupa ate duas linhas; cliente truncado; conta visivel; categoria oculta em telas pequenas.

Corrigido

  • Sem duplicidade: o motor de materializacao e idempotente; rodar a projecao mais de uma vez nao duplica ocorrencias por serie/sequencia nem por regra/sequencia.
  • Lancamentos Business — edicao: formulario de edicao carrega date e due_date reais, sem sobrescrever a competencia pelo vencimento. Alterar datas recarrega a listagem automaticamente e move o lancamento para o grupo correto.
  • Lancamentos Business — badge removido: badge grande "Venc." removido dos cards mobile, eliminando poluicao visual.

Seguranca

  • Preservacao financeira: faturas fechadas/pagas e transacoes pagas sao preservadas; saldos e faturas seguem consistentes apos as atualizacoes automaticas.

Testes

  • Recorrencias e materializador: cobertura para serie versionada, edicao single/future/all, exclusao future, estado/lock/throttle de materializacao, job/boot/fallback e isolamento por workspace.
  • Lancamentos: cobertura para listagem com pagos visiveis por padrao, separacao de competencia e vencimento no Business, formulario de edicao carregando datas corretas, refresh automatico apos alteracao de datas e template com indicador "Comp." condicional.

Contrato de instalacao

Canal stable

curl -fsSLo /tmp/contabase-install.sh https://get-contabase.pages.dev/install.sh
bash /tmp/contabase-install.sh

Enquanto nao houver stable publicada, este fluxo deve abortar com mensagem clara.

Canal beta

curl -fsSLo /tmp/contabase-install.sh https://get-contabase.pages.dev/beta/install.sh
bash /tmp/contabase-install.sh

Este fluxo instala a versao apontada por public/channels/beta.json.

Versao fixa (Docker)

export CONTABASE_VERSION=v0.1.0-beta.7
export CONTABASE_DATA_DIR=/opt/contabase/data
curl -fsSLo /tmp/contabase-install.sh https://get-contabase.pages.dev/beta/install.sh
bash /tmp/contabase-install.sh

Versao fixa (LXC/VPS - binario)

export CONTABASE_VERSION=v0.1.0-beta.7
export CONTABASE_INSTALL_DIR=/opt/contabase
curl -fsSLo /tmp/contabase-install.sh https://get-contabase.pages.dev/beta/install.sh
bash /tmp/contabase-install.sh

Imagem Docker

docker pull ghcr.io/contabase-app/contabase:v0.1.0-beta.7

Atualizacao

export CONTABASE_VERSION=v0.1.0-beta.7
cd /opt/contabase && bash scripts/update-contabase-docker.sh

Notas tecnicas

  • Serie versionada: as recorrencias usam as tabelas recurring_series e recurring_rules. Cada edicao "esta e futuras" cria uma nova regra ligada a mesma serie por series_id, com parent_rule_id apontando para a versao anterior e effective_start_sequence/effective_end_sequence delimitando o intervalo de cada versao.
  • Excecao manual: editar "apenas esta" marca a transacao com is_recurring_exception = 1; a materializacao nao sobrescreve ocorrencias marcadas.
  • Estado de materializacao: a tabela recurring_materialization_state controla, por workspace, o horizonte ja materializado, o lock e o throttle. O motor central mantem a janela movel de ~15 meses.
  • Disparadores: um job diario, uma varredura assincrona no boot e um fallback leve em Dashboard e Lancamentos mantem a projecao atualizada. O fallback nao bloqueia a requisicao e nao roda em Faturas nem Relatorios.
  • Migrations 50 e 51: a atualizacao cria recurring_series e faz o backfill de series_id em regras e lancamentos recorrentes antigos (migration 50) e cria recurring_materialization_state (migration 51). O processo e aditivo e nao altera saldos nem faturas.

Limitacoes conhecidas

  • Stable ainda nao publicada. A versao recomendada e a ultima beta.
  • Instalacao publica aponta para get-contabase.pages.dev. O dominio get.contabase.net ainda nao esta ativo.
  • Em bancos migrados, as colunas series_id, parent_rule_id e contact_id sao adicionadas sem chave estrangeira (migracao aditiva). Instalacoes novas criam essas colunas com a restricao completa. A convergencia e planejada para uma fase futura.
  • Backup antes de atualizar ambientes com dados reais continua obrigatorio.

v0.1.0-beta.6

v0.1.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:16
  • v0.1.0-beta.6 — Relatório contábil empresarial com exportações CSV, PDF e ZIP

    O workspace Business ganhou um relatório contábil novo, com resumo, macros e saldos de contas. As exportações CSV, PDF e ZIP agora saem do mesmo contrato de relatório, incluindo o total de saldos nas saídas.

    Macros e categorias. O contrato de macros foi centralizado para classificar as linhas do relatório de forma consistente. As categorias canônicas do Business foram reparadas e a base financeira empresarial recebeu seed de receita para validar o fluxo.

    UI e consistência. O dashboard recebeu um card carousel redesenhado com controles em grid e sem painel de resumo. O Tailwind foi atualizado para v4.3.0, os saldos passaram a usar cores semânticas e o espaçamento das configurações mobile foi normalizado.

    Validação. Foi adicionado um smoke fixture de relatório contábil e cobertura de testes para PDF, CSV, ZIP, macro grouping e renderização.