| v1.8 |
15JAN2026 |
Correção |
Changelog: correção da ordenação do log de atualizações para priorizar corretamente o campo 'versao' em vez da data, garantindo leitura cronológica lógica das versões. |
log_sistema.csv;app.py |
Geral |
| v1.8 |
14JAN2026 |
Regra de Negócio |
Relatório PDF (IN): reforço da regra de que apenas militares da equipe registrada na OMS e pertencentes à OM da missão podem assinar o relatório, salvo acesso via perfil master. |
app.py |
Geral |
| v1.8 |
14JAN2026 |
Correção |
Relatório PDF (IN): correção de duplicidade de assinaturas quando o 01 ou 02 mais antigo constava na equipe, assegurando manutenção da assinatura em sua posição original com identificação correta (Oficial/Adjunto de Serviço). |
app.py |
Geral |
| v1.8 |
14JAN2026 |
Correção |
Relatório PDF (IN): correção definitiva da lógica de assinaturas para garantir vinculação estrita à Organização Militar da missão, eliminando exibição indevida de assinantes de outras OMs. |
app.py |
Geral |
| v1.8 |
11JAN2026 |
Correção |
Relatório PDF (IN): identificação de falha na exibição de meios empregados e composição da equipe após ajustes recentes, motivando revisão da lógica de carga dos dados da missão. |
app.py |
Geral |
| v1.8 |
08JAN2026 |
Correção |
Admin (Exclusão de OM): correção de erro HTTP 405 ao excluir Organização Militar, ajustando método HTTP permitido e coerência entre rota Flask e formulário HTML. |
app.py;admin_excluir_oms.html |
Geral |
| v1.8 |
08JAN2026 |
Correção |
API Consulta de Embarcação: alinhamento entre parâmetros do formulário HTML e a rota /api/ultima_abordagem_embarcacao, garantindo coerência entre numero_inscricao e numero_protocolo. |
app.py;abordagem.html |
Geral |
| v1.8 |
08JAN2026 |
Correção |
API Consulta de Embarcação: correção de NameError causado por chamada incorreta de função de descriptografia, restabelecendo o funcionamento estável da rota /api/ultima_abordagem_embarcacao. |
app.py |
Geral |
| v1.7 |
06JAN2026 |
Correção |
Seleção de Missão (OMS): correção de erro de navegação e exceção na rota /missao/selecionar, garantindo carregamento consistente da lista de OMS conforme a Organização Militar do usuário e evitando falhas por variáveis inexistentes ou mal inicializadas. |
app.py;missao_selecionar.html |
Geral |
| v1.7 |
06JAN2026 |
Correção |
Controle de acesso: correção de erro HTTP 403 indevido ao acessar a rota /abordar, garantindo validação correta de sessão ativa, missão selecionada e permissões associadas à OMS. |
app.py |
Geral |
| v1.7 |
06JAN2026 |
Regra de Negócio |
Missões (OMS): ajuste definitivo na lógica de numeração para garantir unicidade por Organização Militar (ex.: CPSC 001/2026, DelItajaí 001/2026), eliminando conflito entre OMs distintas e preservando histórico independente. |
app.py;missoes.csv |
Geral |
| v1.7 |
06JAN2026 |
Correção |
Missões (OMS): correção de gravação e leitura do CSV após ajuste de numeração por OM, restaurando exibição correta do NIP do inspetor responsável e do número da OMS nas telas de abordagem e listagem. |
app.py;missoes.csv;abordagens.html |
Geral |
| v1.7 |
05JAN2026 |
Correção |
Abordagens: correção de falha de leitura de dados da missão ativa (OMS) ao acessar /abordar, evitando erro de chave inexistente e assegurando carregamento correto das informações da missão vinculada à sessão. |
app.py |
Geral |
| v1.7 |
05JAN2026 |
Correção |
Missões (OMS): padronização e alinhamento do cabeçalho canônico do CSV de missões, evitando desalinhamento de colunas e perda de dados após inclusões de novos campos. |
app.py;missoes.csv |
Geral |
| v1.6 |
30DEZ2025 |
Funcionalidade |
Estatísticas: inclusão de gráfico comparativo entre todas as OMs, permitindo visualização lado a lado do quantitativo de abordagens (e, quando aplicável, notificações) por OM dentro do período/filtros selecionados, com suporte à visão master e consolidação automática. |
estatisticas.html;app.py |
Geral |
| v1.6 |
30DEZ2025 |
Correção |
Estatísticas: correção na inicialização dos gráficos Chart.js, garantindo renderização adequada após aplicação de filtros e evitando exibição de gráficos em branco por ausência de datasets válidos. |
estatisticas.html;app.py |
Geral |
| v1.6 |
30DEZ2025 |
Correção |
Consulta de última abordagem: ajuste na API para exibir corretamente o nome do inspetor que realizou a abordagem, bem como a Organização Militar responsável, eliminando respostas incompletas no histórico por número de inscrição ou protocolo. |
app.py |
Geral |
| v1.6 |
30DEZ2025 |
Regra de Negócio |
Consulta por embarcação: refinamento da regra para inscrições genéricas ('A SER INSCRITA'), exigindo obrigatoriamente o número de protocolo para consulta de histórico, evitando associação indevida entre abordagens distintas. |
app.py;abordagem.html |
Geral |
| v1.5 |
24DEZ2025 |
Correção |
Estatísticas: correção no comportamento dos filtros combinados (PIN/Área/Inspetor), evitando tela esmaecida ou bloqueio visual após a primeira seleção e garantindo recomposição correta dos overlays e gráficos ao aplicar ou limpar filtros. |
estatisticas.html;app.py |
Geral |
| v1.5 |
24DEZ2025 |
Funcionalidade |
Estatísticas: limitação dinâmica das opções de filtros (ex.: Inspetor, PIN, Área), exibindo apenas valores com ocorrências reais no período selecionado, evitando listagem de opções sem abordagens registradas. |
estatisticas.html;app.py |
Geral |
| v1.5 |
24DEZ2025 |
Correção |
Abordagens: identificação e saneamento de registros duplicados no arquivo abordagens.csv (mesma data e horário aproximado), preservando abordagens legítimas realizadas em dias distintos e eliminando duplicidades decorrentes de falha de salvamento. |
abordagens.csv;app.py |
Geral |
| v1.5 |
24DEZ2025 |
Correção |
Estatísticas (Mapa de Jurisdição): ajuste no carregamento e recomposição dos overlays geográficos ao aplicar filtros, garantindo contraste correto entre áreas selecionadas e o restante do mapa. |
estatisticas.html |
Geral |
| v1.4 |
23DEZ2025 |
Correção |
Abordagens: correção na apresentação automática da data, garantindo exibição consistente e alinhada ao registro efetivo da abordagem. |
app.py;abordagem.html;abordagem_editar.html |
Geral |
| v1.3 |
22DEZ2025 |
Funcionalidade |
Abordagens: inclusão de captura e armazenamento de coordenadas GPS (latitude e longitude) no momento do registro da abordagem, com suporte a preenchimento automático via geolocalização do dispositivo e persistência no CSV para uso em estatísticas e relatórios. |
app.py;abordagem.html;abordagens.csv |
Geral |
| v1.3 |
22DEZ2025 |
Correção |
Abordagens (Edição): correção para persistir alterações do campo nome_embarcacao ao salvar, incluindo o campo na lista de campos editáveis do POST e garantindo regravação correta da linha no CSV. |
app.py;abordagem_editar.html |
Geral |
| v1.3 |
22DEZ2025 |
Segurança |
Abordagens (Edição): tratamento defensivo para CPF/Nome em formulário; evita exibição de token criptografado (gAAAA...), realiza descriptografia condicional para exibição, normalização de CPF/CNPJ e recriptografia antes da gravação no CSV. |
app.py;abordagem_editar.html |
Geral |
| v1.3 |
22DEZ2025 |
Correção |
Relatório PDF (IN): correção de quebra de linha automática para textos extensos de infrações/enquadramentos, evitando corte de conteúdo entre páginas. |
app.py |
Geral |
| v1.3 |
22DEZ2025 |
Correção |
Relatório PDF (IN): ajuste de renderização contínua de infrações múltiplas na mesma abordagem, garantindo fluxo correto de página e preservação de todas as informações. |
app.py |
Geral |
| v1.3 |
22DEZ2025 |
Correção |
Abordagens (Edição): correção para persistir alterações do campo nome_embarcacao ao salvar, incluindo o campo na lista de campos editáveis do POST e garantindo regravação correta da linha no CSV. |
app.py;abordagem_editar.html |
Geral |
| v1.3 |
22DEZ2025 |
Segurança |
Abordagens (Edição): tratamento defensivo para CPF/Nome em formulário (evita exibição de token 'gAAAA...'); descriptografa quando necessário, normaliza CPF/CNPJ e recriptografa antes de gravar no CSV; exibição em tela usa versão descriptografada. |
app.py;abordagem_editar.html |
Geral |
| v1.2 |
21DEZ2025 |
Funcionalidade |
Estatísticas: inclusão de filtro por OPERAÇÃO (atalho de período fixo), com suporte inicial à 'OPERAÇÃO NAVEGUE SEGURO 2025/2026' e forçamento automático do período (data_ini/data_fim) ao selecionar a operação. |
estatisticas.html;app.py |
Geral |
| v1.1 |
21DEZ2025 |
Funcionalidade |
Estatísticas: limitar o resumo por infração/tipo/local para exibir apenas as TOP 5 ocorrências, evitando listas crescentes e poluídas. |
estatisticas.html;app.py |
Geral |
| v1.1 |
21DEZ2025 |
Interface |
Estatísticas: ajustes de apresentação/cores no gráfico de pizza para melhorar leitura e consistência visual. |
estatisticas.html |
Geral |
| v1.1 |
21DEZ2025 |
Interface |
Relatório PDF (IN): reorganização visual e informacional; embarcações notificadas em negrito e exibição do número da infração e enquadramento legal associado. |
app.py |
Geral |
| v1.1 |
21DEZ2025 |
Correção |
Abordagens: correção de conflito de endpoint ao adicionar rota de exclusão (AssertionError: overwriting endpoint excluir_abordagem) por duplicidade de nome de view function. |
app.py |
Geral |
| v1.0 |
21DEZ2025 |
Funcionalidade |
Criação de LOG de Atualizações (changelog) exibido como link na tela de login e página dedicada para consulta. |
log_sistema.csv;log_sistema.html;login.html;app.py |
Geral |
| v0.9 |
20DEZ2025 |
Funcionalidade |
Relatório PDF: regra de assinatura (definir_assinaturas) para parametrizar assinaturas no relatório completo. |
app.py |
Geral |
| v0.9 |
20DEZ2025 |
Correção |
Admin: correção de erro 500 ao excluir OMs em /admin/excluir_oms. |
app.py;admin_excluir_oms.html |
Geral |
| v0.9 |
20DEZ2025 |
Segurança |
Criptografia: correção/ajuste de chave Fernet/secret key e tratamento de variável de ambiente SISGIN_SECRET_KEY para evitar chave inválida. |
app.py |
Geral |
| v0.8 |
19DEZ2025 |
Interface |
Admin Sessões: página 'Usuários logados' revisada com informações do usuário e links de navegação. |
admin_sessoes.html |
Geral |
| v0.8 |
19DEZ2025 |
Interface |
Entrega/atualização integral do estatisticas.html com melhorias de filtros e apresentação (incluindo ajustes solicitados). |
estatisticas.html |
Geral |
| v0.7 |
18DEZ2025 |
Correção |
Ajuste/rollback na rota de abordagem para restabelecer exibição de artigos (itens legais) após alterações no fluxo. |
abordagem.html;app.py |
Geral |
| v0.6 |
17DEZ2025 |
Funcionalidade |
Relatório PDF: ajuste de cargo/identificação no relatório e consistência de dados de inspetores (posto/grad). |
app.py |
Geral |
| v0.6 |
17DEZ2025 |
Regra de Negócio |
Padronização das informações de equipe, cargo e assinaturas no Relatório PDF. |
app.py |
Geral |
| v0.5 |
16DEZ2025 |
Regra de Negócio |
Relatório PDF: equipe deve refletir apenas equipe_missao.csv; criador da OMS não entra automaticamente no relatório. |
app.py |
Geral |
| v0.5 |
16DEZ2025 |
Regra de Negócio |
Bloqueio de edição de abordagens em OMs encerradas (encerramento impede alterações). |
app.py;abordagem_editar.html |
Geral |
| v0.5 |
16DEZ2025 |
Correção |
Estatísticas: correção de erro de carregamento após exclusão de eventos da agenda (página de estatísticas não aparecia para usuário CPSC). |
app.py;estatisticas.html;admin_agenda.html |
CPSC |
| v0.5 |
16DEZ2025 |
Correção |
Revisão de inconsistências em estatísticas (ex.: filtro de meio empregado retornando totais incoerentes); verificação/normalização de CSVs. |
abordagens.csv;missoes.csv;app.py |
Geral |
| v0.5 |
16DEZ2025 |
Funcionalidade |
Estatísticas: filtro agregado 'GRANDE FLORIANÓPOLIS' (Florianópolis, Florianópolis Norte, Florianópolis Sul) para consolidação na CPSC. |
estatisticas.html;app.py;pins_areas.csv |
CPSC |
| v0.5 |
16DEZ2025 |
Funcionalidade |
Estatísticas: inclusão de filtro para identificar se a abordagem foi realizada por Viatura ou por Embarcação. |
estatisticas.html;app.py;abordagens.csv |
Geral |
| v0.5 |
16DEZ2025 |
Funcionalidade |
Agenda de missões: extração a partir de PDF de Subsídio PMPE para CPSC; correção para exibir também quando filtrado por CPSC. |
app.py;admin_agenda.html |
CPSC |
| v0.5 |
16DEZ2025 |
Funcionalidade |
Agenda de missões: suporte a PDFs das subordinadas (DelLaguna e preparação para DelSFSul) com padrões de texto distintos. |
app.py |
DelLaguna/DelSFSul |
| v0.5 |
16DEZ2025 |
Interface |
Agenda de missões: apresentação dividida por meses para reduzir desorganização em listas extensas. |
admin_agenda.html |
Geral |
| v0.5 |
16DEZ2025 |
Funcionalidade |
Normalização de número de inscrição de embarcação para consultas e estatísticas. |
app.py;estatisticas.html |
Geral |
| v0.5 |
16DEZ2025 |
Funcionalidade |
Implementação de estatística analítica de infrações com identificação do tipo predominante. |
app.py |
Geral |
| v0.5 |
16DEZ2025 |
Funcionalidade |
Implementação da geração de Relatório de Inspeção Naval em PDF por missão. |
app.py |
Geral |
| v0.4 |
15DEZ2025 |
Segurança |
Admin: restrição para que administradores das subordinadas visualizem apenas usuários logados de suas próprias OMs. |
admin_sessoes.html;app.py |
DelItajaí/DelLaguna/DelSFSul |
| v0.4 |
15DEZ2025 |
Segurança |
Segregação de acesso entre OMs (CPSC, DelItajaí, DelLaguna, DelSFSul), permitindo acesso cruzado apenas via senha master para usuários autorizados da CPSC. |
app.py |
Geral |
| v0.4 |
15DEZ2025 |
Correção |
Edição de abordagem: correção para persistir alterações (ex.: número de inscrição) ao salvar edição. |
abordagem_editar.html;app.py |
Geral |
| v0.4 |
15DEZ2025 |
Funcionalidade |
Edição de equipe: inclusão de exclusão/edição de integrantes e funções (além de apenas adicionar). |
equipe_missao.html;app.py |
Geral |
| v0.4 |
15DEZ2025 |
Funcionalidade |
Edição de meios empregados na OMS: criação/ajuste da rota e tela para editar meios vinculados a uma missão. |
meios_editar_missao.html;app.py |
Geral |
| v0.4 |
15DEZ2025 |
Segurança |
Implementação da segregação lógica de dados por Organização Militar (CPSC, DelItajaí, DelLaguna e DelSFSul). |
app.py |
Geral |
| v0.4 |
15DEZ2025 |
Segurança |
Criação do perfil master para usuários da CPSC com permissão de acesso cruzado às OMs subordinadas. |
app.py |
Geral |
| v0.4 |
15DEZ2025 |
Segurança |
Restrição de administradores das OMs subordinadas para visualização apenas de dados e sessões da própria OM. |
app.py;admin_sessoes.html |
DelItajaí/DelLaguna/DelSFSul |
| v0.4 |
15DEZ2025 |
Regra de Negócio |
Implementação da regra de encerramento de OMS impedindo alterações posteriores em abordagens, equipe e meios. |
app.py;abordagem_editar.html;meios_editar_missao.html |
Geral |
| v0.4 |
15DEZ2025 |
Segurança |
Implementação de regra de permissão para exclusão de OMS (criador, administrador ou master). |
app.py;admin_excluir_oms.html |
Geral |
| v0.4 |
15DEZ2025 |
Funcionalidade |
Implementação da edição completa da equipe de missão com inclusão, edição e exclusão de integrantes. |
app.py;equipe_missao.html |
Geral |
| v0.4 |
15DEZ2025 |
Funcionalidade |
Controle de edição de equipe por índice do CSV para evitar inconsistências e duplicações. |
app.py;equipe_missao.csv |
Geral |
| v0.3 |
11DEZ2025 |
Infraestrutura |
Padronização do ambiente Windows 10 (32 bits) e dependências para execução do SISGIN; correção de execução com Python 32 bits e instalação de bibliotecas (ex.: reportlab). |
app.py;requirements/instalação |
Geral |
| v0.3 |
11DEZ2025 |
Funcionalidade |
Inclusão de campos de auditoria nas abordagens (nip_registro e nome_registro) para identificação do responsável pelo lançamento. |
app.py;abordagens.csv |
Geral |
| v0.3 |
11DEZ2025 |
Funcionalidade |
Inclusão do campo numero_protocolo nas abordagens para rastreabilidade administrativa. |
app.py;abordagens.csv |
Geral |
| v0.3 |
11DEZ2025 |
Funcionalidade |
Registro da Organização Militar responsável pela abordagem no lançamento dos dados. |
app.py;abordagens.csv |
Geral |
| v0.3 |
11DEZ2025 |
Correção |
Implementação de rotina de normalização e correção de registros inconsistentes em arquivos CSV de missões. |
app.py;missoes.csv |
Geral |
| v0.3 |
11DEZ2025 |
Funcionalidade |
Criação do fluxo de cadastro de Missão (OMS) com associação de PINs dinâmicos conforme a OM do usuário. |
app.py;missao_nova.html;pins_areas.csv |
Geral |
| v0.3 |
11DEZ2025 |
Funcionalidade |
Filtragem automática de meios cadastrados conforme a Organização Militar da missão. |
app.py;meios_mb.csv |
Geral |
| v0.3 |
11DEZ2025 |
Funcionalidade |
Criação do cadastro administrativo de inspetores com campo de cargo/função. |
app.py;admin_inspetores.html;inspetores.csv |
Geral |
| v0.3 |
11DEZ2025 |
Segurança |
Implementação de reset de senha de inspetor via painel administrativo. |
app.py;admin_inspetores.html |
Geral |
| v0.3 |
11DEZ2025 |
Segurança |
Implementação da função administrativa de zerar dados do sistema com geração automática de backups (.old). |
app.py;admin_zerar_dados.html |
Geral |
| v0.3 |
11DEZ2025 |
Funcionalidade |
Administração de PINs e áreas com controle de escopo por Organização Militar. |
app.py;admin_pins.html;pins_areas.csv |
Geral |
| v0.3 |
11DEZ2025 |
Regra de Negócio |
Relatório/Meios: exigência de preenchimento de Saída e Chegada da OMS antes de gerar relatório e validação defensiva para impedir KM de chegada menor que KM de saída. |
app.py;relatorio_meios.html |
Geral |
| v0.2 |
08DEZ2025 |
Correção |
Consulta por número de inscrição: correção para exibir 'última abordagem em dd/mm/aa' e para o filtro por número de inscrição em estatísticas. |
app.py;estatisticas.html;abordagem.html |
Geral |
| v0.2 |
08DEZ2025 |
Interface |
Estatísticas: seleção de semana por mês (segunda a domingo) para visualizar missões agendadas com antecedência de forma semanticamente correta. |
estatisticas.html;app.py |
Geral |
| v0.2 |
08DEZ2025 |
Interface |
Reestruturação da tela 'Selecionar Missão' para tabela com colunas NR OMS, OM, DATA (XXMMMYYYY), PIN e STATUS, com destaque visual por status e centralização de títulos e dados. |
missao_selecionar.html |
Geral |
| v0.2 |
08DEZ2025 |
Funcionalidade |
Criação do painel administrativo de sessões para visualização de usuários logados no sistema. |
app.py;admin_sessoes.html |
Geral |
| v0.2 |
08DEZ2025 |
Segurança |
Implementação da função de logout forçado de usuários ativos pelo administrador. |
app.py;admin_sessoes.html |
Geral |
| v0.2 |
08DEZ2025 |
Funcionalidade |
Implementação de filtros avançados em estatísticas (data, PIN, inspetor, tipo de embarcação, OM). |
app.py;estatisticas.html |
Geral |
| v0.1 |
05DEZ2025 |
Configuração |
Ajuste de modo debug do Flask (debug True/False) para operação controlada em produção. |
app.py |
Geral |
| v0.1 |
05DEZ2025 |
Segurança |
Implementação do fluxo de autenticação por NIP com criação de sessão e controle de acesso ao sistema. |
app.py;login.html |
Geral |
| v0.1 |
05DEZ2025 |
Segurança |
Criação do fluxo de primeiro acesso sem senha: usuário informa apenas o NIP e é direcionado para definição de senha. |
app.py;login.html;definir_senha.html |
Geral |
| v0.1 |
05DEZ2025 |
Segurança |
Implementação da definição de senha (4 a 12 caracteres) com armazenamento seguro (hash) no cadastro do inspetor. |
app.py;definir_senha.html;inspetores.csv |
Geral |
| v0.1 |
05DEZ2025 |
Segurança |
Implementação de logout de usuário com encerramento de sessão ativa. |
app.py |
Geral |