Skip to content

v0.1.0-beta.7

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jul 16:07
· 3 commits to main since this release

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.