Desabilitados botoes de escalacao para partidas ja simuladas ou com horario de inicio atingido na tela de Proximos Jogos e no backend.
Ajuste
Filtro Preciso de Próximos Jogos
Ajustado filtro de 10 dias para ignorar restrição ao filtrar por competição ou busca textual, e corrigido cálculo para não exibir partidas retroativas não simuladas.
Ajuste
Correção na Sincronização do Ranking
Garante valor padrão numérico para o código do árbitro ao gravar ou atualizar partidas no ranking oficial, prevenindo erros de restrição de integridade (NOT NULL).
Novo
Janela de 10 Dias em Próximos Jogos
Implementada limitação padrão de janela de no máximo 10 dias no futuro para a lista de jogos ativos e contador da home, reduzindo o excesso de partidas distantes de ligas com alternador rápido para ver todas as datas.
Design
Ajuste de Largura dos Botões de Filtro
Corrigido estilo dos botões de filtro rápido em Próximos Jogos & Escalações para largura automática e inline, evitando esticamento para 100% causado por login.css.
Novo
Filtro de Competições Internacionais
Adicionado filtro rápido para exibir apenas partidas de competições internacionais na tela de Próximos Jogos & Escalações, com identificador visual dedicado no card do confronto.
Ajuste
Exibição de Jogos em Competições de Terceiros
Corrigida a consulta de Próximos Jogos & Escalações para vincular o comando do clube ao país associado na vaga (competicao_times), permitindo visualizar partidas em competições de outros usuários mesmo contra equipes externas ou importadas via YMT. Adicionados filtros rápidos por competição e resolução dinâmica de nomes e escudos.
Ajuste
Correção de Mapeamento de Mentalidade e Estilo do Técnico
Corrigido o mapeamento de exibição da mentalidade e do estilo de jogo do treinador na página de perfil e nos módulos do sistema, alinhando os índices com a base oficial de 1 a 5 utilizada no motor de jogo e na criação do técnico.
Ajuste
Convocação de Atletas em Seleções Femininas
Corrigida a consulta de atletas elegíveis no painel rápido de convocação para seleções nacionais femininas, garantindo a identificação do gênero correto da equipe e disponibilizando apenas jogadoras femininas.
Ajuste
Correção de Pênaltis Ausentes Gravados como -1 em Amistosos
Corrigida a gravação do placar de pênaltis em amistosos e jogos de seleções, garantindo que partidas encerradas sem disputa de pênaltis sejam registradas estritamente com valor NULL no banco de dados e súmulas, em vez de -1.
Novo
Inclusão Geral de Árbitros da CONFUSA em Competições
Adicionada a opção CONFUSA no seletor de federações das opções da competição e na criação de competições, permitindo incluir em lote todos os trios de arbitragem da confederação de uma só vez no banco SQLite do torneio, com sincronização dinâmica no seletor visual e inserção em transação única otimizada.
Ajuste
Validação Obrigatória e Sinalização de Árbitros na Simulação Hexacolor
O simulador manual e o cron de partidas agora sinalizam explicitamente a ausência de árbitros cadastrados na competição, impedindo o erro fatal ArrayIndexOutOfBoundsException no motor Java. A interface de opções da competição agora exibe alertas visuais destacados quando nenhum árbitro está cadastrado e exige a seleção de ao menos um trio de arbitragem antes de salvar as configurações.
Ajuste
Correção na Sincronização de Times com Tabelas Expandidas no SQLite da Competição
Corrigida a inserção de jogadores e entidades no SQLite da competição que falhava quando as colunas de suspensão/lesão já haviam sido criadas por simulações anteriores, devido à falta de especificação explícita das colunas no INSERT. O tratamento de erros de gravação no SQLite também foi corrigido para não mascarar falhas com falsos sucessos.
Ajuste
Correção de Posições Táticas e Salvamento Fiel na Escalação Pré-Jogo
Corrigida a inicialização de posições na tela de escalação pré-jogo para refletir fielmente a posição tática que o titular já ocupa na equipe (evitando que jogadores versáteis, como o ponta-esquerda do Orion, apareçam com a ponta oposta). A rotina de salvamento agora aloca os titulares estritamente conforme a posição selecionada no dropdown e atualiza os slots táticos e posições na simulação, corrigindo a inversão de meio-campistas e atacantes que afetava o Chroma.
expand_more23/10/2026
Ajuste
Correção de Colisão e Isolamento Estrito de Slots em Competições
Eliminadas as condições de matching frouxas e colisões por ID negativo no método definirSlotTime e na listagem de jogos. Slots de grupos agora são vinculados estritamente pelo identificador nominal e grupo correspondente, impedindo que times temporários ou índices de vagas sobrescrevam outros confrontos na tabela.
expand_more14/10/2026
Ajuste
Isolamento de Homônimos e Correção do Histórico de Partidas no PoltronaScore (v4.2)
Corrigida a consulta de estatísticas e histórico de partidas do atleta no PoltronaScore. O sistema agora restringe a busca de partidas anteriores aos clubes aos quais o jogador realmente pertenceu (contrato atual, histórico de transferências e partidas com ID explícito), impedindo que homônimos com o mesmo nome (como o Salazar do Miflason/Orion versus Salazar do EC Atlântico/Gavil) herdem jogos, gols e notas de equipes e países diferentes.
Ajuste
Correção de Collation MariaDB para Jogadores com Caracteres Especiais no PoltronaScore
Resolvido o erro fatal 1267 (Illegal mix of collations latin1_swedish_ci e utf8mb4) no MariaDB que impedia a abertura do modal de perfil de atletas com caracteres turcos, azeris ou sinais diacríticos (como Elmir Şahmarli, Kərəm Orhanlı, Tōrāj Zarābādi). Corrigidos também nomes de colunas de substituição e guards de funções no backend.
Ajuste
Escalação Real e Formação Tática Fiel no Campinho do PoltronaScore (v4.1)
Implementada a leitura da titularidade (titularidade = 1) e da posição única do atleta na escalação (posicaoBase) a partir de contratos_jogador no MariaDB e da tabela escalacao dos bancos SQLite (.db3), espelhando com fidelidade a tática exibida no teamstatus. O campinho e o badge agora refletem o esquema real da equipe (ex: 4-3-3 no Veyran [U20] com 1 PD, 1 PE e 1 Aa), sem forçar 4-4-2 nem duplicar posições. Atualizado o Service Worker e badges visuais para v4.1.
Novo
Indicador Visual de Versão do PoltronaScore no Frontend
Adicionado badge visual de versão (v4.0) no cabeçalho superior e no rodapé do PoltronaScore, permitindo ao usuário verificar imediatamente se o seu navegador ou aplicativo PWA está executando a versão mais recente dos scripts ou se ainda está preso a uma versão antiga em cache.
Ajuste
Remoção de Nota para Jogador Reserva Não Utilizado no Perfil do Atleta
Corrigida a lógica de avaliação das partidas recentes no perfil do atleta no PoltronaScore. Jogadores reservas que não entraram em campo não recebem mais nota sintética da partida, preservando a integridade da média de carreira e exibindo status de atuação detalhado (Titular, Entrou aos X' ou Reserva).
Ajuste
Correção do Nome do Clube Adversário nas Últimas Partidas do PoltronaScore
Corrigida a resolução do adversário no histórico de partidas recentes do atleta e clubes no PoltronaScore, unificando a consulta com os nomes cadastrados nas tabelas de clubes e bancos SQLite locais, eliminando a exibição genérica de 'vs Adversário'.
Ajuste
Atualização Automática do PWA e Estratégia Network-First no PoltronaScore
Atualizada a versão do Service Worker (v4) com migração para a estratégia Network-First em páginas HTML, scripts e estilos do PoltronaScore, impedindo que o PWA fique preso a versões antigas em cache e forçando a busca direta da versão mais recente na rede.
Ajuste
Cálculo Dinâmico de Formações e Correção de Links de Jogadores no PoltronaScore
Corrigida a identificação de esquemas táticos para que reflitam a escalação real de cada equipe (ex: 4-3-3, 3-5-2, 4-5-1) tanto no backend quanto dinamicamente no campinho 2D, eliminando a exibição fixa de 4-4-2. Corrigida a abertura de modais e perfis de atletas cujos nomes contêm caracteres especiais, acentuação (ex: turco, escandinavo) ou apóstrofos através de atributos codificados por data-attributes e busca de fallback em bancos SQLite de competição (.db3).
Ajuste
Correção das Posições e Alinhamento Tático no Campinho do PoltronaScore
Corrigido o mapa canônico de decodificação de posições (StringPosicoes) nos endpoints do PoltronaScore, eliminando a inversão de índices que convertia zagueiros (Z) em laterais esquerdos (LE) e meio-campistas (MC) em pontas direitos (PD). Implementada a leitura da tabela de escalação real dos bancos de competição SQLite (.db3), ordenação lateral tática espelhada por flanco, isolamento de técnicos no card de Comissão Técnica e distribuição tática equilibrada de atletas titulares.
Ajuste
Desativação de Fallback Arbitrário e Preservação Fiel da Escalação do Banco
Desabilitados todos os fallbacks de emergência e rotinas que inventavam formações 4-4-2 ou sintetizavam dados arbitrários para as equipes. Removidos auto-convocação de atletas, criação automática de seleções não cadastradas, geração de técnicos padrão, criação de reservas genéricos e injeção de atributos sintéticos. O sistema agora opera estritamente com os dados reais do banco de dados, em total conformidade com a exportação .ymt e competições oficiais.
Ajuste
Ocultação de Placares Prematuros no PoltronaScore
Corrigido vazamento de placares, marcadores e eventos em partidas antecipadamente simuladas no PoltronaScore. Agora o sistema valida a conclusão da partida no tempo real antes de exibir resultados na tela de Rodadas & Jogos, Chaveamento de Mata-Mata, Retrospecto de Clubes, Perfil de Atletas e Detalhes da Partida.
Ajuste
Conversão Automática de WebP e Normalização de Escudos/Uniformes na Simulação
Integrada a rotina de normalização e conversão dinâmica de imagens WebP para PNG no banco SQLite de simulação, garantindo que escudos e uniformes cadastrados no banco principal sejam carregados perfeitamente pelo motor Hexacolor sem exceções de imagem nula.
Ajuste
Inclusão de Uniformes (kitTeam1 e kitTeam2) na Agenda de Simulação
Adicionadas as propriedades obrigatórias kitTeam1 e kitTeam2 no payload JSON enviado ao motor HexacolorYMTv2.jar, prevenindo falhas de leitura (JSONException) na definição de uniformes da partida.
Ajuste
Correção de Mapeamento de Colunas de Estádio e Clima na Simulação
Corrigida a ordem das colunas no registro do estádio no SQLite temporário da simulação (ID, Nome, Capacidade, Clima, Altitude, Caldeirao) e adicionada validação para strings de temperatura e estilo suportadas pelo Hexacolor, impedindo NullPointerException ao sortear fenômenos climáticos.
Ajuste
Compatibilidade de Colunas Suspenso e Lesionado no SQLite
Preservada a estrutura canônica de 8 colunas da tabela jogador no SQLite para total compatibilidade com inserções sem especificação de campos, implementando projeção dinâmica via PRAGMA em obterJogadoresClubeSQLite com fallback seguro para Suspenso e Lesionado.
Ajuste
Suporte a IDs Negativos e Auto-Recuperação na Verificação SQLite
Corrigido o filtro de cobradores de pênaltis para aceitar IDs negativos de times importados via .ymt, removida a restrição desnecessária de goleiro obrigatoriamente na posição 1 da escalação e adicionada auto-recuperação/fallback de estádio e técnico no banco SQLite da competição, eliminando falsos positivos na auditoria de integridade.
expand_more13/10/2026
Novo
Verificação de Integridade de Times no SQLite da Competição
Adicionado verificador direto no banco de dados SQLite da competição (.db3) na tela de escolha de times. Permite verificar tanto equipes importadas via arquivo .ymt quanto sincronizadas do portal, validando elenco mínimo/máximo, 11 titulares, técnico, capitão, batedores de pênalti, goleiros, idade limite e estádio com clima cadastrado, prevenindo falhas na simulação de partidas.
Design
Ajuste de Dimensionamento dos Botões de Categoria de Amistosos
Corrigido o dimensionamento dos seletores de categoria de amistosos, impedindo a sobreposição de estilos globais legados de botões e garantindo o alinhamento inline horizontal e tamanho compacto automático de cada pill.
Ajuste
Correção no Carregamento da Lista de Times
Corrigida uma falha de sintaxe JavaScript no fechamento do handler assíncrono de sincronização que impedia a execução do carregamento inicial da tabela de vagas e times da competição.
Ajuste
Persistência de Sessão e Correção de Expiração ao Fechar Navegador
Corrigida a perda de sessão que ocorria ao fechar o navegador. Removido o descarte prematuro e indevido de sessões por abort durante o encerramento da requisição, garantida a emissão e renovação contínua do cookie de sessão com expiração persistente de 30 dias (SameSite Lax e detecção aprimorada de HTTPS/proxies) tanto no login padrão quanto na impersonação, mantendo o usuário conectado continuamente.
Novo
Simulador de Amistosos de Seleções
Adicionada nova tela dedicada para geração e simulação de amistosos avulsos entre seleções nacionais com suporte a categorias (Principal, Sub-20, Sub-18 e Olímpica), histórico de confrontos (head-to-head), opção de envio direto para o CONFUSA Live e respeito estrito ao Sigilo Temporal, revelando o placar, súmula e cômputo no ranking apenas após o término da partida no tempo real.
Ajuste
Correção de Coluna tipo_times e Avisos de Parâmetros Nulos
Adicionada autocriação e fallback seguro para a coluna tipo_times em jogos_clube caso a tabela ainda não a possua no banco de produção. Corrigidos também avisos de chave indefinida idPais em selecoesdopais.php e tratamento de valores nulos passados para strip_tags em time.php.
Ajuste
Correção de Depreciação no Perfil Magazine do Time
Tratamento de valores nulos passados para htmlspecialchars nos blocos de próximo confronto e partidas recentes na página de apresentação magazine do clube, evitando avisos de depreciação do PHP 8.1+.
Ajuste
Correção de Escudo e Uniformes na Exportação .YMT
Corrigido erro na exportação de seleções e clubes (.ymt) que deixava as equipes sem escudo no simulador Hexacolor. Foi adicionada a conversão automática de imagens WebP para PNG em base64 garantindo compatibilidade com o leitor Java do simulador, bem como fallback automático para a bandeira do país caso a seleção não possua escudo próprio cadastrado.
Novo
Verificação de Integridade de Times em Competições
Adicionado botão individual em cada vaga e botão no topo da página de seleção de times de competições para verificar a integridade técnica das equipes (quantidade no elenco, capitão, cobradores de faltas/pênaltis, goleiros, 11 titulares, limite de idade, técnico único e estádio/clima), exibindo relatório detalhado com checklist de aprovação ou listagem de pendências a corrigir.
Ajuste
Avanço Automático de Fases em Competições Mata-Mata
Corrigido o avanço automático de fases em competições de mata-mata, filtrando estritamente pelo identificador do simulador interno (simulador_interno = 1) para que confrontos históricos ou de edições anteriores não bloqueiem indevidamente a criação das fases seguintes. Corrigida também a consulta de árbitros e a auto-resolução de nomes das equipes classificadas.
Ajuste
Correção de BYEs e Paginação na Lista de Jogos
Corrigido o cálculo de equipes com avanço direto (BYE) na tela de lista de jogos de mata-mata, restringindo a verificação estritamente aos times inscritos na competição. Eliminada a iteração global sobre o cadastro geral de clubes que gerava centenas de páginas e partidas fictícias com equipes de fora do torneio.
expand_more12/10/2026
Novo
Competições de Seleções e Integração com o Ranking
Adicionado seletor nas opções de competições para definir se o torneio é disputado por Clubes ou Seleções Nacionais, com escolha do campeonato correspondente no Ranking Oficial. Partidas de competições de seleções passam a ser registradas automaticamente no ranking apenas após o término do horário real da partida (respeitando o sigilo temporal) e deixam de constar nas estatísticas e listagens de jogos de clubes.
Ajuste
Correção na Simulação de Partidas de Equipes YMT
Corrigidas falhas na simulação automática e manual de partidas de times importados via .ymt. Resolvido o erro de estádio não definido com auto-resolução do estádio no SQLite da competição e suporte a IDs negativos, o erro de ArrayIndexOutOfBoundsException em Escalacao e o NullPointerException em ModeloPartida.criacaoJogada causado pela ausência de execução no cadastro SQLite do técnico (Tecnico::createSqlite), garantindo a criação e validação automática de técnicos, mentalidades, estilos e atributos no SQLite antes da simulação.
expand_more11/10/2026
Ajuste
Correção dos Escudos de Clubes no PoltronaScore
Corrigida a prioridade de resolução dos escudos na tabela de classificação, lista de rodadas e detalhes de partidas do PoltronaScore, garantindo que o banco de dados principal do portal (MariaDB) prevaleça sobre caches temporários de simulação da engine Java, restaurando os escudos WebP e oficiais de equipes como da Superliga Orionesa.
Ajuste
Suporte a Equipes YMT e Placeholders no PoltronaScore
Corrigida a exibição de equipes externas importadas via .ymt (IDs negativos) e placeholders de partidas pendentes no PoltronaScore, integrando a classificação, detalhes de partidas e elencos ao banco de dados SQLite da competição.
Segurança
Restrição de Transferências de Clubes de Terceiros
Restrita a alteração e exclusão de transferências históricas na tela do jogador a clubes pertencentes ao próprio usuário ou agentes livres, reservando a administradores qualquer operação que envolva clubes de outros participantes.
Ajuste
Otimização de Sessões e Prevenção de Arquivos Órfãos
Corrigido o mecanismo de persistência de sessão para descartar automaticamente sessões de 0 bytes de visitantes e robôs, remover a recriação forçada de session_id sob concorrência e padronizar o nome de cookie nas APIs, eliminando o acúmulo desnecessário de arquivos no servidor.
expand_more10/10/2026
Ajuste
Notificações de Transferências Reais no Discord
Centralizado o disparo de notificações de transferências no Discord para acionar tanto em propostas aceitas quanto em transferências diretas entre clubes. Adicionado filtro para ignorar agentes livres e movimentações entre equipes de um mesmo usuário, além de proteção com timeout e logs de diagnósticos.
Ajuste
Exibição de Escudos com Apóstrofo em Transferências
Corrigida a renderização do atributo src das imagens de escudos na página de transferências, evitando o truncamento do link causado por aspas simples quando o arquivo do escudo possui apóstrofo (').
Ajuste
Exibição de Jogadores de Times YMT na Escalação Pré-Jogo
Corrigida a tela de escalação pré-jogo (escalacao_jogo.php) para carregar os atletas e posições táticas prioritariamente do banco SQLite da competição, viabilizando a exibição e seleção de atletas de equipes temporárias importadas via .ymt (com IDs negativos) e mantendo o fallback no MariaDB para clubes do portal.
Ajuste
Tratamento Seguro de Parâmetros na Verificação de Exportação
Adicionado operador de coalescência nula nos parâmetros POST de verificar_exportacao.php (como codigo_sede, codigo_federacao e codigo_genero), evitando avisos de chave indefinida (Undefined array key) no PHP 8+.
Ajuste
Preservação e Sincronização Cirúrgica de Slots em Partidas
Removida a geração artificial de templates que causava placeholders espúrios e garantida a preservação e associação estrita dos slots reais (como time externo em A3 e placeholders originais como B1) em jogos de competições.
Ajuste
Filtro Estrito de Atletas no Departamento Médico de Competições
Corrigida a consulta de lesionados e suspensos na tela de estatísticas da competição (estatisticas.php) para restringir a exibição exclusivamente aos atletas dos times participantes da competição (incluindo elencos de times temporários importados via YMT com IDs negativos), consultando tanto o histórico do MySQL quanto o status de lesão direto no SQLite da competição.
Ajuste
Exibição e Sincronização de Times Temporários (YMT) em Jogos e Estatísticas
Corrigida a identificação e sincronização de times temporários importados via arquivo YMT (que possuem IDs negativos no banco da competição), garantindo a exibição correta dos nomes dos clubes, botões de escalação e simulação na tela de partidas, e a contabilização precisa de tabelas de classificação, artilharia, assistências e chaves de mata-mata na tela de estatísticas.
Ajuste
Tratamento Seguro de Índices de Elenco e Escalação
Corrigido o tratamento de arrays na vinculação e sincronização de times em competições e exportações SQLite, garantindo o preenchimento de todos os 23 jogadores, técnico, 11 titulares, capitão e cobradores de pênaltis com valores padrão para evitar avisos de chave indefinida (Undefined array key) quando o clube tiver dados incompletos.
Ajuste
Compatibilidade com PHP 8+ na Sanitização de Parâmetros de Partidas
Adicionada tipagem e conversão segura para string ao sanitizar identificadores de partidas em competicao_clube.php, evitando mensagens de depreciação ao passar valores nulos para strip_tags().
expand_more09/10/2026
Ajuste
Conferência Obrigatória de Times no Envio de Fichas
Adicionada validação completa e conferência prévia das regras de elenco (técnico, capitão, cobradores de pênaltis, titulares e limites de idade) ao submeter times pela tela de Envio de Fichas e no backend de vinculação à competição.
Novo
Opção de Ressincronização Individual de Times em Competições
Disponibilizado botão administrativo 'Sync' na lista de times da competição (inclusive para administradores impersonando) para permitir ressincronizar individualmente o elenco, comissão técnica, escalação e atributos diretamente do portal para o banco SQLite da competição.
Ajuste
Detecção e Alerta Visual de Duplicidade de Técnicos na Tela do Time
A tela do time (teamstatus.php) agora lista todos os técnicos associados à equipe e exibe um alerta em destaque quando houver mais de um técnico vinculado simultaneamente, permitindo desconvocar ou demitir os excedentes diretamente no painel. Além disso, as rotinas de conferência passam a detalhar a contagem exata de duplicidade.
expand_more04/10/2026
Ajuste
Correção de Encoding e Apóstrofos em Nomes de Jogadores e Estatísticas
Implementada decodificação completa de entidades HTML e caracteres de escape em nomes de jogadores e clubes nas tabelas de artilharia, assistências, suspensões, pendurados e departamento médico, além de prevenir a gravação indevida de entidades nos métodos de cadastro e edição de atletas.
Ajuste
Exibição Fiel das Zonas e Faixas na Tabela de Estatísticas
Removidos os estilos de zonas e rebaixamento padrão forçados que eram atribuídos automaticamente em tabelas de pontos corridos e grupos, exibindo agora exclusivamente as faixas e cores que forem configuradas nas opções da competição.
Ajuste
Sincronização de Escudos e Clubes do Portal nas Estatísticas
Corrigida a consulta aos clubes no banco de dados principal nas páginas de estatísticas, soma de tabelas e exportação da competição, garantindo que escudos, siglas e nomes reais cadastrados no portal sobrescrevam os caminhos locais do SQLite e não gerem erros 404.
expand_more03/10/2026
Ajuste
Correção Estrutural de Layout e Vetorização com Padding no Octamotor
Corrigido o aninhamento de divs na tela ao vivo do Octamotor restaurando a tabela de classificação lado a lado na metade direita da tela, posicionado o botão de alternar visualização de forma limpa junto aos controles sem sobrepor o badge 'AO VIVO', e adicionado padding perimetral com seleção por área no vetorizador para contornar perfeitamente o traçado em pistas que tocam as bordas da imagem como Bombin.
Novo
Painel Drawer de Convocação Rápida para Seleções
Criado painel lateral deslizante (Drawer) em tela cheia na tela da Seleção Nacional para convocar e desconvocar atletas com 1 clique, busca em tempo real, filtros por posição (Goleiros, Defensores, Meio-campo, Atacantes e Convocados), exibição de clube atual, nível e proteção contra flickering de imagens com sincronização instantânea do elenco.
Ajuste
Física do Radar, Grid de Largada e Vetorização de Circuitos
Ajustado o radar de pista do Octamotor para manter os carros estacionados no grid antes da largada (sem voltas antes do sinal verde), implementado modelo de pelotão com distâncias e gaps reais (líder sempre na frente puxando o ritmo da prova), e adicionada resolução inteligente de nomes de autódromos para carregar perfeitamente o traçado em qualquer corrida de campeonato.
Novo
Radar Dinâmico de Pista ao Vivo no Octamotor
Implementado o radar de pista em tempo real na tela de corrida ao vivo que vetoriza automaticamente os traçados a partir dos PNGs das pistas e renderiza os carros correndo pelo circuito a 60 FPS com números, cores das equipes, destaque de líder, Safety Car, tooltips informativos e sincronização ao passar o mouse na tabela de classificação.
Ajuste
Limite Máximo de 12 Reservas no Painel do Time
Restaurada e reforçada a validação de no máximo 12 jogadores no banco de reservas tanto nos botões de ação rápida quanto na troca manual e na validação do backend.
Ajuste
Seleção Padrão Correta ao Convocar Jogadores
Corrigido o seletor do modal de convocação na busca de jogadores para selecionar automaticamente a primeira seleção compatível e válida (país, sexo e idade), evitando que seleções anteriores ou de outras categorias permaneçam selecionadas.
Ajuste
Padronização das Regras e Restrições de Clima do Hexacolor
Alinhadas todas as opções de estilo/condição climática às regras oficiais do motor Hexacolor com base na temperatura (Muito Frio, Frio, Normal, Quente e Muito Quente) na Criação de Clima, no painel de Meus Climas e no modal de criação rápida.
Novo
Criação Rápida de Clima no Cadastro de Estádio
Adicionada opção e modal integrado para cadastrar novos climas e definir o comportamento sazonal das estações diretamente a partir do modal de Novo Estádio, com atualização instantânea do seletor.
Design
Redesign Completo dos Modais de Estádio e Clima
Reformulação visual moderna dos modais com backdrop com desfoque, tipografia em Outfit, cards interativos para Altitude/Caldeirão e bloco sazonal com ícones temáticos para as quatro estações.
Novo
Criação Rápida de Estádio no Cadastro de Times
Adicionado botão e modal para cadastrar novos estádios diretamente na tela de Criação de Time via AJAX, selecionando o novo estádio automaticamente sem sair da página.
Novo
Entrada Hexadecimal para Cores dos Uniformes
Adicionados campos de texto para inserção direta de códigos hexadecimais ao lado dos seletores de cor dos uniformes titular e reserva, com sincronização bidirecional em tempo real.
Ajuste
Correção de Posicionamento do Card de Status e Semáforo da FOCA
Ajustada a altura e alinhamento vertical do card de bandeiras (Safety Car, Chequered Flag) para que os textos fiquem perfeitamente centralizados e longe da borda inferior, além de corrigir o dimensionamento e posicionamento interno das luzes do semáforo de largada dentro do gantry.
Novo
Painel de Gestão de Origens & Demografia para Administradores
Implementado módulo completo no painel administrativo para gerenciar o catálogo de origens culturais, cadastrar novas culturas, adicionar e editar primeiros nomes e sobrenomes com flags de gênero (M/F), importar listas em lote com higienização de marcadores e opção de detecção automática de gênero por sufixos eslavos/russos (ov/ova, ev/eva, in/ina, sky/skaya).
expand_more02/10/2026
Novo
Filtros por Gênero e País em Meus Jogadores
Adicionados controles modernos na tela de Meus Jogadores com seletor rápido de gênero (Todos, Masculino e Feminino) e dropdown de países, permitindo filtrar instantaneamente o elenco em tempo real.
Ajuste
Fim do Limite de 150 Jogadores e Carregamento Otimizado
Removida a limitação de 150 registros na listagem de Meus Jogadores com ativação de compressão de transferência e lazy loading de imagens, permitindo visualizar e ordenar todo o elenco completo sem lentidão.
Novo
Página e Balanço de Minhas Transferências
Adicionada a página consolidada de transferências do usuário no Mercado com balanço financeiro unificado (total em vendas, compras e saldo líquido) e histórico completo de transações dos clubes e atletas nacionais no exterior.
Ajuste
Filtro de Propostas Concluídas
Ajustado o painel de propostas de jogadores e técnicos para exibir apenas transferências reais entre clubes nas propostas concluídas, ocultando movimentações diretas de agentes livres/sem clube.
expand_more27/09/2026
Ajuste
Visibilidade e Estilização do Botão de Transmissão (TV) no Octamotor
Corrigida a cor do ícone de TV nas etapas de competições do Octamotor que ficava preto sobre fundo escuro, adicionando botão com acabamento ciano neon, efeito hover e propagação de clique isolada para assistir à corrida.
Novo
Central de Estatísticas & Hall da Fama do Octamotor
Implementada a tela completa de estatísticas do Octamotor com filtros por categoria (FOCA, FOCA 2, ligas regionais e geral), Hall da Fama com maiores vencedores, títulos de temporadas de pilotos e construtores, pontos acumulados, taxa de confiabilidade/DNF e recordes de tempo por circuito.
Novo
Classificação de Equipes e Construtores
Adicionado seletor de abas nas competições do Octamotor para alternar instantaneamente entre a Classificação de Pilotos e a Classificação de Equipes/Construtores tanto por temporada quanto por corrida individual.
Design
Revamp Visual & Acabamento Automobilístico no Octamotor
Modernização visual com glassmorphism escuro refinado, realce dos botões com animação das rodas na home, badges de pódio em ouro/prata/bronze e tabelas modernas, preservando a essência e o fundo clássico automobilístico.
Ajuste
Edição de Nome de Jogadores no Exterior
Permitida a edição do nome de jogadores que pertencem ao usuário mesmo quando contratados por clubes de outros proprietários, tanto na tela do time quanto na listagem de jogadores, preservando a trava de proteção nos demais atributos contratuais e técnicos do atleta.
Ajuste
Filtro de Sugestões e Bugs em Aberto
Ajustado o filtro padrão da central de sugestões para exibir tanto itens pendentes quanto em processo (ocultando apenas completos e cancelados) com opção de alternar para visualizar todos os registros.
Novo
Salvar Visões Agrupadas no Índice de Competições
Permitido salvar e fixar dashboards de tabelas agrupadas (como Apertura + Clausura) com nome personalizado e badge destacada na listagem de competições do usuário, mantendo o cálculo dinâmico e acesso instantâneo com um clique.
Novo
Módulo de Soma de Tabelas & Dashboard Agregado (Apertura/Clausura)
Criada a página de soma de tabelas que permite selecionar duas competições para consolidar a classificação geral anual unificada, artilharia somada, líderes de assistências, cartões e médias ponderadas de notas dos jogadores.
Novo
Geração de Tabela com Inversão de Mandos (Modo Apertura & Clausura)
Adicionado assistente na geração de tabelas para espelhar confrontos de outra competição invertendo automaticamente mandantes e visitantes e alocando estádios e árbitros de forma coerente.
Design
Padronização Visual Premium de Todos os E-mails do Sistema
Criado template HTML responsivo oficial do CONFUSA.top e padronizados todos os e-mails transacionais (propostas de jogadores e técnicos, boas-vindas a novos usuários, redefinição de senha, solicitações de cadastro e formulário de contato) com cabeçalho institucional, cards modernos, badges e botões de ação direta.
Ajuste
Correção de Paradas de Pit Stop no Octamotor
Corrigida a lógica de execução de estratégias de pit stop no simulador do Octamotor, eliminando o bloqueio antecipado nas voltas finais e permitindo paradas sob Safety Car e pista molhada, garantindo que todos os pilotos realizem suas paradas planejadas.
Ajuste
Revisão e Controle de Tempo Limite de Prova no Octamotor
Ajustado o cálculo de voltas programadas e o encerramento por tempo limite na simulação de corridas do Octamotor, considerando o ritmo real de prova e interrompendo a prova com precisão para não ultrapassar a duração máxima definida pela competição.
Novo
Cores e Faixas Customizadas na Tabela de Competições
Adicionado gerenciador visual nas opções da competição para definir faixas de classificação personalizadas com posições de início e fim, seletor de cores, legendas explicativas e presets rápidos (G4+Z4, Brasileirão, Libertadores). As cores e a legenda são exibidas automaticamente na tabela de estatísticas.
Ajuste
Correção na Importação de Jogadores (.jog) em Lote
Corrigida a importação de múltiplos arquivos .jog para processamento direto em lote, permitindo enviar vários jogadores simultaneamente para o clube selecionado sem interrupções e restringindo o assistente de duplicatas exclusivamente para importação de times (.ymt).
Design
Centralização dos Modais de Proposta na Visão do Usuário
Corrigido o contêiner e o posicionamento fixed dos modais de proposta de transferência e contratação de técnicos, garantindo que abram sempre centralizados no campo de visão atual da tela sem exigir rolagem da página.
Ajuste
Melhoria na Alternância de Aa/Am no Mobile no Campinho Tático
Adicionada tolerância a micro-movimentos do dedo no toque longo (long press) e implementado suporte a duplo toque rápido (double-tap) nos marcadores de jogadores, facilitando a troca entre atacante avançado (Aa) e recuado (Am) em telas touch.
Ajuste
Correção de Acentuação e Encoding nos E-mails do Sistema
Configurado o charset UTF-8 e codificação base64 padrão na inicialização do PHPMailer, corrigindo a renderização de caracteres acentuados no assunto e corpo de todos os e-mails enviados pelo portal.
Novo
Painel de Diagnóstico e Teste de E-mails
Criada uma ferramenta administrativa para monitorar a conectividade do servidor SMTP, inspecionar configurações de disparo e realizar envios de teste com simulação real de propostas e escudos de clubes.
Ajuste
Exibição de Escudos com Espaços nos E-mails de Proposta
Corrigida a codificação da URL dos escudos (utilizando rawurlencode e imagem HTTPS direta) nos e-mails de proposta de transferência de jogadores e técnicos, garantindo que clubes com nomes compostos ou com espaços sejam exibidos perfeitamente em todos os provedores de e-mail.
Ajuste
Correção no Mapeamento de Clubes na Importação de Jogos
Corrigido o repasse da lista de clubes para o componente de busca (Select2) na tela de revisão de importação de jogos, permitindo buscar e mapear clubes não encontrados na súmula.
Ajuste
Ajustes na Tela de Últimas Transferências
Filtradas transferências com 'Sem clube' para exibir apenas negociações reais entre clubes, e corrigido o alinhamento flex no mobile para evitar sobreposição entre o valor e seu rótulo.
Novo
Coluna de Data na Central de Sugestões e Bugs
Adicionada a coluna 'Data' na tabela de sugestões e bugs, exibindo quando cada solicitação foi registrada no sistema e permitindo ordenação cronológica.
Ajuste
Correção na Definição de Posições na Criação de Jogadores
Corrigida a lógica de montagem da sequência binária de posições e detecção de goleiro no formulário de criação de jogadores, garantindo que jogadores de linha sejam gravados com suas posições corretas em vez de serem atribuídos como goleiros.
Ajuste
Correção na Edição do Nome de Ligas
Corrigida a captura do texto digitado na edição inline da tela de Minhas Ligas, garantindo que o novo nome da liga seja persistido corretamente no banco de dados e mantido após recarregar a página.
Novo
Notificação por E-mail ao Resolver Sugestões / Bugs
Ao atualizar o status de uma sugestão ou bug, o administrador agora pode disparar automaticamente um e-mail de notificação para o originador com detalhes da solicitação e incluir uma mensagem personalizada.
Novo
Identificação do Autor nas Sugestões e Bugs
Adicionada a coluna 'Usuário' na tabela da central de sugestões e bugs, exibindo quem cadastrou cada item e permitindo a ordenação e busca por autor.
expand_more21/09/2026
Novo
Edição Inline sem Recarregamento e Ações em Lote em 'Meus...'
As telas de gerenciamento (Meus Clubes, Jogadores, Técnicos, Estádios, Climas, Países, Minhas Ligas e Parâmetros) agora realizam a gravação inline via AJAX preservando a paginação e a posição da tela. Ao colocar mais de uma linha em edição, uma barra flutuante 'Aceitar todos' permite salvar ou cancelar todas as alterações simultaneamente.
Ajuste
Desativação de Links no Modo de Edição de Técnicos
Corrigido o comportamento ao clicar para editar o nome do técnico na tela de Meus Técnicos e na página do Clube, desabilitando o redirecionamento pelo link para permitir a alteração do texto diretamente.
expand_more20/09/2026
Ajuste
Exibição da Posição Natural para Jogadores Suplentes
Ajustada a exibição nas listagens do Mercado de Transferências para que atletas que estejam como suplentes em seus clubes exibam sua posição natural de ofício (ex: Goleiro, Zagueiro, etc.) em vez do texto 'Suplente'.
Novo
Recálculo Individual de Passe na Lista de Jogadores mais Valiosos
Adicionado botão de ação para administradores recalcularem instantaneamente o passe e o salário de um atleta específico na listagem de Jogadores mais Valiosos, aplicando os parâmetros personalizados e atualizando a interface em tempo real via AJAX.
Novo
Edição Inline de Valores de Mercado para Administradores
Adicionada a opção para administradores alterarem diretamente na listagem de Jogadores mais Valiosos (/mercado/transferencias.php?type=jogadores) o valor de mercado de cada atleta com salvamento imediato via AJAX.
Ajuste
Correção de Vínculo de Seleções na Lista de Jogadores mais Valiosos
Ajustada a consulta da lista de jogadores mais valiosos para considerar apenas vínculos de clubes profissionais regulares, impedindo que convocações para seleções nacionais sobrescrevessem o clube ou duplicassem atletas na lista.
Novo
Personalização de Parâmetros de Cálculo de Passe e Recálculo em Massa
Criado novo card e painel de configuração na Minha Área para personalização detalhada dos parâmetros da fórmula de mercado (percentual de salário mensal, multiplicadores de idade, bônus de falta, pesos por setor/posição, polivalência e faixas de nível), com simulador interativo em tempo real e ferramenta de recálculo em massa de passes e salários dos atletas dos clubes do usuário.
Ajuste
Preservação de Foto no Merge de Atletas
Corrigida a lógica de herança de fotos durante a fusão de atletas para reconhecer e priorizar fotos personalizadas em relação aos avatares padrão do sistema, além de incluir controle visual para escolha de qual foto manter diretamente na tela de merge.
Ajuste
Correção na Importação de Atributos e Valores de Jogadores via DB3
Corrigido o mapeamento de tabelas e colunas no importador de arquivos .db3 para ler atributos, posições e dados de goleiros/jogadores com tolerância a maiúsculas/minúsculas, além de distribuir atributos e calcular passes realistas automaticamente quando ausentes na base de origem.
Ajuste
Exibição do Nome do País na Edição de Jogadores
Ajustada a lista de seleção de nacionalidade na tela de Meus Jogadores para exibir o nome completo do país em vez da sigla.
Ajuste
Ordenação por Cabeçalhos na Lista de Meus Jogadores
Corrigida a ordenação de todas as colunas da tabela de jogadores (nome, data de nascimento, mentalidade, cobrança de falta, valor, posições, nível, país, clube e status), com alternância ascendente/descendente e indicação visual das setas.
expand_more19/09/2026
Ajuste
Correção de Vínculo de Contratos e Status de Empréstimo
Corrigida a gravação do clube de vínculo na transferência e importação de jogadores para que contratações definitivas não sejam identificadas incorretamente como empréstimos.
Novo
Ferramenta de Merge de Atletas Duplicados
Criada uma tela administrativa com abas para comparar atletas lado a lado, detector automático de possíveis duplicatas (por similaridade de nome e fonética Soundex), histórico de auditoria de merges e fusão com migração automática de contratos, partidas, eventos, gols e transferências.
Ajuste
Correção no Lado dos Gols e Eventos no PoltronaScore
Corrigida a identificação e posicionamento dos eventos de partida na timeline do PoltronaScore, garantindo que gols e cartões do time mandante apareçam corretamente no lado esquerdo e os do time visitante no lado direito.
Ajuste
Correção na Paginação e Exibição de Clubes em Meus Times
Corrigido o cálculo de índices da paginação para garantir que o último clube da lista seja renderizado corretamente em todas as páginas.
expand_more18/09/2026
Design
Identificação de Gênero [M]/[F] nas Listas de Times para Propostas
Adicionada a identificação explícita de categoria ([M] para masculino e [F] para feminino) nos menus de seleção de clubes de destino ao realizar propostas para técnicos e jogadores, e liberada a contratação de técnicos/técnicas para qualquer categoria de equipe.
Ajuste
Correção na Exibição de Ações e Download YMT de Seleções
Corrigida a validação de permissão de dono de país na listagem de seleções e árbitros, normalizando a comparação de tipos de dados para garantir que os botões de edição e download do arquivo .ymt sejam exibidos corretamente aos donos.
Ajuste
Correção no Fallback de Exibição de Mascotes Ausentes
Ajustada a exibição e criação de mascotes para que times sem mascote cadastrado exibam corretamente o placeholder padrão em vez de tentar carregar '0.png'.
Novo
Exportação de Backup do Banco de Dados (SQL) no Painel do Administrador
Criada ferramenta dedicada na Área do Administrador para geração e download de backups completos ou estruturais do banco MySQL em arquivos .sql ou compactados .sql.gz via streaming seguro, com operação 100% em modo leitura.
Ajuste
Tratamento Anti-Colisão de IDs na Exportação YMT com IDs Externos
Implementado algoritmo de resolução automática de colisões na exportação de banco .db3: caso o ID local do MySQL de um registro sem externalID coincida com o externalID de outra entidade, o sistema realoca dinamicamente um identificador seguro e exclusivo, preservando a integridade de todas as relações de elenco e escalação.
Ajuste
Atualização e Exibição de Técnicos e Estádios na Importação DB3
Padronizada a exibição de estatísticas e o processamento de atualização de técnicos e estádios no importador DB3, garantindo que registros já existentes sejam devidamente atualizados e discriminados como 'atualizados' na prévia e no relatório final.
Novo
Exportação YMT com Opção de IDs Externos e Persistência de Referências
Adicionada opção na tela de exportação de database YMT para utilizar os IDs externos originais em clubes, jogadores, técnicos, estádios e climas, preservando as chaves e integridade referencial de elencos e escalações.
Ajuste
Sincronização de Técnicos sem Clube na Importação de DB3
Corrigido o processamento de importação de bases SQLite (.db3) para cadastrar e sincronizar todos os técnicos da base (inclusive os que estão sem clube ou fora de elencos), evitando que apareçam como 'novos' em conferências subsequentes.
expand_more16/09/2026
Segurança
Gerenciamento de Permissões de Importação DB3 no Painel Administrativo
Criada interface de controle de acesso no painel do administrador para concessão ou revogação individual da permissão de importação de bancos SQLite (.db3) para cada usuário cadastrado, com alternância instantânea.
Novo
Importação de SQLite (.db3) na Minha Área com Restrição por Titularidade
A ferramenta de importação e sincronização de arquivos .db3 foi integrada à Minha Área para usuários autorizados, restringindo a seleção e o processamento exclusivamente aos países sob administração do usuário logado.
Novo
Proposta Automática para Jogadores Nacionais em Clubes de Outros Usuários na Importação de DB3
Na importação de SQLite (.db3), atletas do país importado que já estejam jogando em clubes de outros usuários não são transferidos compulsoriamente; em vez disso, o sistema acessa o jogador e gera automaticamente uma proposta formal de transferência com o comentário '-- proposta automatica --'.
Ajuste
Validação de Arquivo e Prevenção de Erro em Corrida Ao Vivo (OctaMotor)
Adicionada validação de existência de arquivo e checagem de parâmetros vazios antes da leitura de dados da corrida, prevenindo avisos de leitura em diretório e acesso a índice nulo.
expand_more13/09/2026
Ajuste
Correlação de Atletas de Seleções aos seus Clubes de Origem na Importação de DB3
Ajustada a conferência prévia para identificar atletas de seleções nacionais que já pertencem a clubes do arquivo .db3 ou do banco de dados (via externalID e nome), exibindo-os corretamente como 'Convocado' com o nome do clube de origem em vez de sugerir 'Criar Novo' duplicado.
Novo
Suporte a Seleções Nacionais e Sub-Categorias na Importação de DB3
Implementada a identificação automática de Seleções Nacionais (Principal, Olímpica/Sub-21, Sub-20 e Sub-18) na importação de bancos SQLite (.db3), preservando simultaneamente os contratos profissionais dos atletas em seus clubes locais (tipoContrato = status) e a vinculação correta de técnicos de seleções.
Ajuste
Remoção de Restrição de Sigla Única no Banco de Dados
Removida a restrição legada de unicidade de sigla (TresLetras) no banco de dados e no cadastro de clubes, permitindo que seleções de base e clubes compartilhem a mesma sigla de 3 letras exatamente como definido na base de origem.
Ajuste
Otimização de Performance e Prevenção de Timeout 500 na Importação de DB3
Implementado pré-carregamento em memória (hashmaps O(1)) e correção de campos nas consultas de técnicos e atletas, acelerando a conferência prévia e importação de bancos .db3 de mais de 120s para menos de 1s e prevenindo erro HTTP 500.
Design
Padronização do Fundo do Tema Claro na Importação de DB3 e Criação de Times
Corrigido o background das telas de Importação de Bancos SQLite (.db3) e Criação de Times para aplicar com precisão o gradiente suave do Tema Claro sem interferência do tema escuro ou marcas d'água legadas.
Ajuste
Tratamento Seguro de Origem de Nomes no Hexagen e Criação de Clubes
Corrigido o aviso PHP de chave indefinida 'origemNomes' e 'origemSobrenomes' na geração de jogadores e técnicos pelo Hexagen, adicionando verificação de existência e fallback automático para sorteio demográfico.
Ajuste
Rebalanceamento de Metas de Conquistas no TOPERO
Atualizadas as metas de conquistas: 'Chuva de gols' para 700 gols na carreira, 'O\'Harrison' para 70 gols pela seleção nacional e 'Incansável' para 1100 jogos oficiais na carreira.
Ajuste
Correção no Desbloqueio da Conquista Com Moral no TOPERO
Ajustado o gatilho da conquista 'Com moral' para ser concedida exclusivamente ao término da carreira (aposentadoria), garantindo que o atleta tenha mantido o histórico 100% fair play até o fim.
Ajuste
Filtro Estrito de Gênero na Importação e Associação de Times
Garantido que as buscas de correspondência e sugestões de vinculação de clubes, jogadores e técnicos durante a importação respeitem estritamente o gênero selecionado na entrada (masculino ou feminino), impedindo comparações cruzadas indevidas entre categorias distintas.
Novo
Upload e Exibição de Imagens de Troféus para Ligas, Copas e Competições
Adicionada a opção de incluir imagens personalizadas de troféus para Ligas, Copas e Competições no momento da criação ou edição, com processamento e otimização automática em WebP mantendo canal alfa e transparência, e exibição nas listagens e painéis principais.
Novo
Copas Continentais de 2º e 3º Níveis e Ajuste de Seleções no TOPERO
Implementada a simulação das copas continentais secundárias e terciárias de clubes: Taça Nery Pumpido (FEASCO), Taça Trifon Ivanov (FEMIFUS), Taça LID (COMPACTA) e Taça Andy Selva (FEMIFUS), mantendo a validação estrita de 1º nível para as conquistas. Corrigido também o torneio continental de seleções da COMPACTA para Escudo da Távola.
Ajuste
Separação e Correção de Minhas Carreiras e Hall da Fama no TOPERO
Separadas as visualizações das abas 'Minhas Carreiras' e 'Hall da Fama' em telas independentes e corrigido o carregamento de detalhes de carreiras salvas com auto-criação da tabela e junção correta de usuários.
Novo
Sistema de Conquistas (Achievements) no TOPERO
Implementada galeria completa de 23 conquistas temáticas baseadas na história e desafios do universo CONFUSA, com notificações de desbloqueio em tempo real, progresso salvo no perfil e exibição no resumo final da carreira.
Novo
Importação Completa de Bancos SQLite .db3 com Conferência
Disponibilizada ferramenta administrativa para importar arquivos .db3 completos de países, com tela de conferência prévia interativa e otimizada para inspecionar clubes, elencos, funções e escalações antes de sincronizar no banco com externalID e filtro de gênero.
Ajuste
Tratamento Seguro de Verificação de Dono e Atributos de Atletas/Técnicos
Corrigido aviso de acesso a offset de array em booleano (fetch retornando false) nas consultas de permissão, posições e atributos de jogadores e técnicos.
Novo
Desambiguação Automática de Gênero (Masc/Fem) por Demografia de Nomes
Implementado sistema de fallback inteligente para diferenciar equipes masculinas e femininas em jogos raspados: ao cruzar os primeiros nomes de atletas e autores de eventos com a base demográfica gen_nomes, o sistema infere o gênero da partida e prioriza a versão correta do clube (masculina ou feminina) mesmo com nomes idênticos.
Ajuste
Correção no Carregamento de Favoritos e Jogos de Times no PoltronaScore
Corrigido erro SQL que impedia o funcionamento da aba de favoritos para clubes e partidas no PoltronaScore, unificando a busca de confrontos entre a base de jogos externos (poltrona_matches) e o simulador interno (jogos_clube), além de corrigir junções de rodadas e tabelas de competições.
Ajuste
Priorização de Correspondência Exata em Clubes e Atletas
Ajustada a resolução de nomes de clubes, atletas e competições no PoltronaScore e na API de busca, garantindo que termos idênticos (correspondência 100% exata) tenham prioridade máxima sobre termos semelhantes ou parciais antes de aplicar LIMIT 1.
expand_more12/09/2026
Ajuste
Sanitização Prévia de Escalações e Prevenção de Erro de Simulação
Implementada camada prévia de sanitização no PHP para normalizar posições táticas, balancear setores da escalação (defesa, meio e ataque) e substituir previamente desfalques nos titulares antes do envio à engine Java, além de adicionar mecanismo automático de retry com formação padrão de emergência caso a simulação falhe por falta de marcadores válidos.
Ajuste
Correção na Leitura de Competições no PoltronaScore
Corrigida a identificação da competição nas partidas e histórico recente de atletas e clubes no PoltronaScore, aplicando a lógica condicional unificada da tabela jogos_clube para diferenciar torneios simulados internamente (competicao_lista) de ligas e copas legadas (liga e campeonatos_clube).
Novo
Exclusão Segura de Competições
Adicionada a funcionalidade de exclusão de competições no índice e no painel da competição, disponível para o criador e administradores. A exclusão é bloqueada caso a competição já possua jogos simulados ou finalizados, e realiza a limpeza completa e segura em cascata (confrontos pendentes, regulamento, times vinculados, banco SQLite e arquivos de imagem).
Ajuste
Compatibilidade de Imagens WEBP no Cron de Simulação
Corrigido erro no cron que causava 'image == null' na engine Java ao simular competições com escudos em formato WEBP. O simulador agora converte automaticamente imagens WEBP para PNG em cache e assegura o fallback de placeholder para arquivos ausentes ou corrompidos sem travar a simulação.
Ajuste
Crash Fatal no Cron por Evento Duplicado
Corrigido erro que derrubava o cron de simulação ao tentar gravar dois eventos com o mesmo minuto e tempo na tabela jogos_clube_eventos (violação da unique key 'eventoUnico'). O INSERT agora usa INSERT IGNORE, tolerando colisões sem interromper o processamento das demais partidas.
Novo
Data Mínima para Agendamento de Jogos
Os campos de data em competições agora bloqueiam qualquer data anterior a 01/01 do ano corrente, tanto ao criar um novo jogo quanto ao editar um existente inline na tabela, evitando agendamentos em anos passados.
Novo
Indicador de Tamanho do Arquivo de Súmulas
Adicionado card de estatística no painel de Cron de Simulação (/admin/cron_logs.php) mostrando o tamanho total em disco e a contagem de arquivos de súmulas (.hyl e outros) da pasta hexacolor/Partidas.
Ajuste
Resolução e Fallback Automático de Imagens no Simulador
Implementada verificação e fallback inteligente de escudos e uniformes dos clubes no SQLite antes da execução do motor Java (Hexacolor), evitando exceções de imagem nula e garantindo liberação segura de locks e conexões do SQLite entre partidas consecutivas.
Design
Disposição Vertical das Escalações no Mobile (PoltronaScore)
Ajustada a exibição das listas de jogadores titulares e reservas abaixo do campinho tático: em telas mobile as listas passam a se organizar verticalmente (uma equipe abaixo da outra), evitando qualquer corte ou estouro horizontal e tornando a leitura dos atletas e notas fluida.
Design
Valor de Mercado Abreviado no Mobile (PoltronaScore)
Otimizada a exibição do valor de mercado total do elenco nos cards de estatísticas do clube, utilizando formato compacto e abreviado (ex: $ 12.5M, $ 850k) em dispositivos móveis para evitar estouro visual e manter o layout limpo.
Ajuste
Ajuste de Quebra de Linha nos Nomes dos Times (Mobile)
Ajustada a tipografia e o dimensionamento dos cards de partidas no PoltronaScore com quebra de linha fluida (text wrap) e limite de duas linhas com reticências para nomes extensos de times, impedindo estouro horizontal no mobile.
Ajuste
Compatibilidade Linux do Simulador e Tratamento de Locks SQLite
Resolvida a falha de leitura de escudos padrões no motor Java em ambiente Linux (case-sensitivity em pastas de imagens) e implementado flush atômico de checkpoints WAL para prevenir erros de I/O em bancos SQLite durante simulações contínuas.
Ajuste
Cálculo Dinâmico de Lesões por Data de Partida
Ajustado o cálculo de desfalques por lesão no pós-jogo para usar a data da partida como base temporal em vez de CURDATE(), garantindo suporte e recuperação fidedigna em competições retroativas e regulares.
Novo
Painel de Monitoramento e Logs do Cron de Simulação
Criada tela administrativa dedicada (/admin/cron_logs.php) para acompanhar em tempo real as execuções do agendador, inspecionar logs de terminal e da engine Java, analisar partidas pendentes e disparar simulações manuais sob demanda.
Novo
PoltronaScore: Sistema Completo de Favoritos com Sincronização em Nuvem (⭐)
Implementada a funcionalidade de Favoritos no PoltronaScore no estilo SofaScore: salve partidas, clubes, ligas e jogadores com um toque na estrela. Inclui arquitetura híbrida de persistência local e sincronização automática em nuvem no banco de dados para usuários autenticados, além de aba dedicada com agenda unificada de partidas.
Ajuste
Ajuste na Escala de Barras de Atributos
Calibrada a escala visual das barras de atributos dos atletas (máximo 10 para goleiros, máximo 7 para habilidades técnicas de jogadores de linha e máximo 5 para força e velocidade), exibindo a pontuação relativa de forma fidedigna.
Ajuste
Diagnóstico e Rastreamento Automático do Cron de Simulação
Implementado log autônomo com registro de disparos, runtime do PHP e saídas detalhadas do motor de simulação no cron_simular_jogos.php para diagnóstico transparente de execuções agendadas.
Ajuste
Refinamento de Atributos e Mentalidade do Atleta
Ajustada a exibição de atributos no perfil do jogador: lançamentos foi movido para o grupo de goleiro, atributos técnicos agora só aparecem para jogadores de linha, mentalidade passou a ser exibida como tipo/personalidade (ex: Líder, Sangue Frio) e determinação foi removida.
Novo
Notas de Atletas no Match Center e Perfil do Jogador
Adicionada exibição das notas de desempenho dos jogadores no campinho tático e nas escalações do Match Center (a partir dos dados de partida .hyj), bem como a média geral de notas e as avaliações individuais nas últimas partidas dentro do perfil do atleta.
Ajuste
Sobreposição de Modais e Badge de Nível no PoltronaScore
Corrigido o empilhamento de camadas (z-index dinâmico) para garantir que o perfil do atleta sempre abra à frente do modal do clube (e vice-versa), e ajustado o overflow da foto do jogador para que o balão de nível não seja cortado.
Ajuste
Validação de Transferências sem Clube na Exclusão de Time
Ajustada a verificação de integridade de clubes para ignorar movimentações de/para sem clube (origem ou destino zerados), permitindo que contratações livres e dispensas não bloqueiem a exclusão do time.
Novo
PoltronaScore: Perfil Completo do Jogador (Fase 2)
Criado modal de perfil do atleta com bio, atributos técnicos, físicos e mentais em barras progressivas com cores por nível, clube atual, estatísticas de carreira e histórico das últimas partidas disputadas.
Novo
PoltronaScore: Match Center com Campinho Tático 2D (Fase 3)
Adicionado campinho tático 2D interativo no Match Center com demarcações reais de gramado, posicionamento dinâmico por esquema tático das equipes, nós dos atletas com número e nível, e listas completas de titulares e banco de reservas.
Novo
PoltronaScore: Perfil do Clube, Elenco e Calendário (Fase 4)
Criado modal de perfil do clube exibindo dados de estádio e capacidade, métricas de elenco (média de idade, nível médio e valor de mercado), elenco completo agrupado por setores e calendário de partidas anteriores e futuros confrontos.
Ajuste
Ajuste na Exclusão de Técnico e Clube
Corrigido erro na verificação de competições (tabela competicao_times) ao apagar clube e ajuste na contagem de parâmetros SQL do técnico, garantindo retorno JSON limpo em ambas as operações.
Design
Modal de Decisão Centralizado no Topero
Restaurado o modal centralizado de decisões no Topero para visualização imediata e direta de dilemas e transferências sem necessidade de rolagens na tela.
Novo
Easter Eggs Secretos e Raros no Topero
Adicionados momentos decisivos ultra-raros e bem-humorados no Topero, incluindo a chance de herdar o trono real do Khemed, chamado do Planeta Cúbico de Mali pela confederação espacial COMETA e fortuna repentina em ToperoCoin, com troféus exclusivos e aposentadoria especial.
Novo
Exclusão de Técnico para Administrador Impersonado
Adicionado botão de exclusão permanente de técnico no painel do time (teamstatus.php) para administradores impersonados, com validação de contratos e transferências exclusivas.
Novo
Exclusão de Clube para Administrador Impersonado
Implementada a funcionalidade de exclusão permanente de clubes para administradores impersonados, protegida por verificações rigorosas de integridade (partidas jogadas, competições, histórico de transferências, finanças e contratos de terceiros).
Novo
Acesso e Rebaixamento de Divisão no Topero
Implementada a dinâmica de promoção e rebaixamento no modo carreira do Topero: vencer uma divisão de acesso garante a subida para a divisão imediatamente superior no ano seguinte, enquanto campanhas abaixo do esperado na elite resultam em rebaixamento para a divisão inferior.
Ajuste
Exclusão de Jogadores com Propostas Recusadas
Corrigida a validação de exclusão de jogador para considerar apenas transferências efetivamente executadas (status_execucao = 1), permitindo que jogadores com histórico de propostas recusadas ou canceladas possam ser apagados normalmente.
Novo
Exclusão Direta de Jogador para Administrador Impersonado
Adicionado botão de apagar jogador no elenco do time (teamstatus.php) para administradores em modo impersonado, com validação estrita de segurança para permitir exclusão somente se o atleta possuir histórico e contrato exclusivos com o clube atual.
Ajuste
Sincronização de Gênero na Importação e Atualização de Clubes
Corrigida a dessincronização do gênero na importação de times e jogadores, garantindo a atualização correta da coluna Sexo no banco de dados, alinhamento automático com a liga selecionada e leitura consistente em listagens.
Ajuste
Tratamento de Exceções e Conexão na Súmula de Partidas
Corrigido erro PDO::prepare() na recuperação de cores, uniformes, jogadores e estádios na súmula de partidas, adicionando verificação de existência da base SQLite e tratamento de falhas com fallbacks seguros em Competicao_clube.
Ajuste
Filtro de Competições Próprias no Índice de Competições
Ajustada a listagem e pesquisa da tela de competições para exibir exclusivamente as competições criadas e pertencentes ao usuário logado.
Ajuste
Correção de Parâmetros na Consulta de Clubes Ativos
Corrigido erro SQLSTATE[HY093] na verificação de atividade de clubes ao consultar partidas pendentes e histórico de jogos, garantindo identificadores únicos de parâmetros no prepared statement do PDO.
expand_more11/09/2026
Novo
Importação Completa de Bancos SQLite .db3
Disponibilizada ferramenta administrativa para importar arquivos .db3 completos de países, sincronizando times, atletas, elencos e escalações com persistência do externalID e suporte a filtro de gênero.
Novo
Revisão e Upload Individual na Importação de Times
Limitado o envio de times a 1 arquivo por vez para todos os usuários e liberada a tela de revisão e associação para usuários comuns, com isolamento estrito de país para evitar vinculações indevidas.
Ajuste
Geração de Jogos de Ida e Volta na Fase de Grupos de Competições Mistas
Corrigida a geração de tabela em competições mistas para respeitar a configuração de turnos da fase de grupos, gerando corretamente as rodadas de ida e volta com inversão de mandos e estádios de cada equipe.
Ajuste
Tratamento Seguro de Posições na Exportação de Bases e Times
Normalizada a string de posições dos jogadores (StringPosicoes) com preenchimento seguro de 15 caracteres na exportação de bases SQLite, pacotes e vinculação de clubes, prevenindo avisos de offset não inicializado e falhas na gravação.
expand_more10/09/2026
Ajuste
Exibição de Estádios em Partidas Simuladas
Adicionado relacionamento dinâmico com a tabela de estádios e mandos de campo de clubes nos endpoints de jogos e classificação, garantindo que o nome do estádio seja exibido em todas as partidas e detalhes de competições.
Ajuste
Ordem Cronológica Decrescente Unificada em Todos os Jogos
Padronizada a ordenação cronológica decrescente dos lances de jogo (mais recentes no topo e primeiros minutos na base) tanto para os jogos ao vivo/anteriores da tela principal do scraper quanto para as partidas de competições simuladas.
Ajuste
Reconhecimento Preciso de Fase de Grupos e Classificação
Ajustado o reconhecimento de etapas de grupos em campeonatos com múltiplos formatos, garantindo que as tabelas de classificação de grupos e pontos corridos sejam sempre exibidas sem serem ocultadas erroneamente pela mensagem de mata-mata.
Design
Linha do Tempo Bilateral e Cartões Sólidos nos Lances
Redesenhada a linha do tempo de lances do PoltronaScore no estilo SofaScore, com eventos em ordem cronológica decrescente (mais recentes no topo), separados pelos lados das equipes (mandante à esquerda, visitante à direita, minuto centralizado) e cartões em blocos sólidos preenchidos na cor correspondente.
Ajuste
Ajuste na Exibição de Grupos e Tabelas de Competições
Corrigida a alternância automática para a visualização de Grupos ao selecionar competições mistas e de fase de grupos, garantindo que o chaveamento de mata-mata não sobrescreva as tabelas de classificação.
Novo
Quadro Visual de Disputa de Pênaltis
Adicionado painel visual dedicado na súmula da partida com sequência de acertos e erros (bolinhas verdes e vermelhas com checks e Xs) e tabela detalhada das cobranças individuais por atleta com link para o perfil.
Novo
Chaveamento de Mata-Mata e Detalhes de Partidas no PoltronaScore
Adicionada visualização de Chave de Mata-Mata em copas e competições eliminatórias com identificação de vencedores, placares com pênaltis e integração completa do modal de detalhes com os jogos de competições.
Ajuste
Correção nas Consultas MySQL do PoltronaScore
Corrigido o mapeamento de tabelas no MySQL (tabela clube e competicao_lista) nos endpoints de competições e classificação do PoltronaScore, eliminando dependências externas e falhas de carregamento.
Novo
PoltronaScore: Tabelas de Classificação e Ligas
Implementada a expansão estilo SofaScore no PoltronaScore com Bottom Navigation Bar, visualização dinâmica de Tabelas de Classificação (pontos, vitórias, saldo, aproveitamento e forma recente) e listagem de competições e rodadas.
Novo
Exportação Completa de Competições para Excel
Adicionado botão e funcionalidade para exportar todos os dados da competição diretamente para uma planilha Excel multiabas estruturada contendo Classificação, Jogos, Artilharia, Assistências, Cartões e DM/Suspensões.
Ajuste
Separação de Disputa de Pênaltis e Gols Regulares
Ajustado o processamento e exibição de eventos de partidas para garantir que as cobranças em disputas de pênaltis pós-jogo não sejam computadas como gols regulares do tempo normal/prorrogação, exibindo o placar de pênaltis separadamente na súmula e detalhes do jogo.
Ajuste
Correção de Compatibilidade de Schema (SQLite/MySQL)
Corrigido erro de sintaxe SQL na verificação e migração de schema da tabela de opções e log de alterações de competição em conexões SQLite e MySQL.
Ajuste
Correção na Edição de Jogos de Competições
Corrigido erro de parâmetro PDO (bindParam) ao atualizar partidas com clubes indefinidos/zerados na edição de jogos.
Ajuste
Ajuste no Cron de Simulação e Detalhes de Partidas
Corrigido o tratamento de ambiente para o cron de simulação (compatibilidade com CLI/CGI da hospedagem), adicionado sigilo temporal em estatísticas de jogadores (gols e cartões), corrigida a exibição do nome da competição no visualizador de partidas e restaurado o preenchimento de nomes de atletas nas escalações.
Ajuste
Correção no Carregamento da Criação de Liga
Corrigido erro de sintaxe (Parse error) no arquivo de criação de ligas que causava erro HTTP 500 no carregamento da página.
Ajuste
Robustez no Carregamento de Sessão e Usuários
Padronizada a resolução de caminhos absolutos e inclusão de dependências em login_info.php e conexão de banco de dados, prevenindo falhas de inicialização de classes em páginas do sistema.
Ajuste
Registro de Linha do Tempo e Eventos em Simulações Automáticas
Unificada a gravação de eventos minuto a minuto (gols, cartões amarelos e vermelhos) na tabela jogos_clube_eventos durante simulações automáticas via leitura das súmulas .hyl.
Ajuste
Correção de Nome de Competição e Placares no Gerenciador de Jogos
Corrigido o relacionamento de competições (competicao_lista) na listagem geral de jogos e ajustada a formatação de placares para jogos futuros ou sob sigilo temporal, eliminando a exibição de 'null'.
Ajuste
Resolução Automática de Nomes de Atletas via SQLite na Súmula
Implementada a busca e recuperação automática de nomes e posições de atletas a partir da base SQLite da competição e do arquivo .hyl no visualizador de partidas, garantindo exibição completa das escalações mesmo em partidas anteriores.
expand_more09/09/2026
Ajuste
Diferenciação de Modalidade para Clubes Homônimos no Time Traveler
A lista de seleção de clubes no Time Traveler agora identifica automaticamente clubes com nomes idênticos e exibe a indicação [Masculino] ou [Feminino], facilitando a escolha correta da equipe.
Novo
Lançamento do Módulo de Competições
O módulo de Competições foi disponibilizado na tela inicial, permitindo criar, estruturar formatos, gerenciar partidas e simular torneios completos.
Ajuste
Tratamento de Sessão e Sanitização na Exportação de Database
Corrigidos avisos de parâmetros nulos em strip_tags nos objetos de usuários e parâmetros, e adicionada validação de sessão ativa na exportação de database.
expand_more08/09/2026
Novo
Link de Referência para Técnicos
Adicionado suporte a links de referência externa para técnicos na tela Meus Técnicos, permitindo vincular e consultar links diretamente pela listagem.
Ajuste
Correção na Contagem de Janelas de Alterações de Elenco
Corrigido o nome da coluna de relacionamento com clubes na consulta SQL que contabiliza as janelas abertas de alteração de elenco em Minha Área.
Ajuste
Correção de Atributos Físicos e Mentais na Criação de Goleiros
Corrigido erro de chave indefinida ao salvar novos goleiros, garantindo o envio e persistência corretos dos atributos de visão de jogo, velocidade e força.
expand_more07/09/2026
Design
Elencos em Accordion e Confirmação de Remoção
Os elencos dos clubes na tela de Alterações de Elenco agora iniciam recolhidos em formato accordion clicável para melhor organização visual, e as desinscrições agora contam com modal popup estilizado de confirmação antes de efetivar a ação.
Ajuste
Restrição de Alterações de Elenco a Torneios Internacionais
Ajustada a exibição das opções de alteração de elenco e listagem em Minha Área para restringir essa dinâmica exclusivamente a competições internacionais.
Novo
Desinscrição Livre e Gestão de Elencos em Minha Área
Atualizada a tela de Alterações de Elenco para listar todas as competições dos clubes do usuário. As desinscrições (remoções) são livres a qualquer momento, preservam o histórico e estatísticas do atleta no torneio e bloqueiam sua re-inscrição posterior na mesma competição.
Novo
Central de Alterações de Elenco em Minha Área
Criado novo card e painel dedicado em Minha Área para gerenciar substituições, inclusões de atletas em vagas abertas e remoções de elenco durante janelas ativas de transferências nas competições.
Novo
Configuração de Cartões por Expulsão com 2 Amarelos
Adicionada opção nas regras de Cartões & Suspensões da competição para definir o destino dos amarelos em expulsões por duplo amarelo no mesmo jogo: descartar ambos os cartões (padrão), contabilizar 1 amarelo ou contabilizar ambos no acumulado individual do atleta.
Novo
Troca Inteligente nos Critérios de Desempate de Grupos
Implementada troca automática inteligente (swap) entre os 4 critérios de desempate da fase de grupos para evitar que o usuário selecione regras repetidas acidentalmente.
Novo
Validação e Ocultação Condicional de Alterações de Elenco
Reorganizada a seção de Alterações de Elenco com a flag de permissão no topo (ocultando datas e quantidade quando inativa) e validações estritas de datas que impedem início antes do início da competição ou término anterior ao início das trocas.
Novo
Configuração de Formato dos Jogos (Ida/Volta) e Validação de Grupos
Adicionada a escolha de formato de jogos (Apenas Ida ou Ida e Volta) para grupos e mata-mata em torneios mistos e eliminatórios, posicionamento da 'Final em jogo único' no formato, reorganização da seção 'Regras de Desempate' e validação dinâmica para impedir que o número de vagas dos grupos exceda o total de times.
Novo
Suporte a até 128 Times e Fase 64-avos de Final
Expandido o limite de participantes das competições para entre 2 e 128 times, com criação e suporte completo à fase 64-avos-de-final no chaveamento automático de mata-mata e no simulador.
Ajuste
Ajuste na Digitação do Número de Times e Alterações
Corrigida a validação de formulário nas opções da competição para não resetar nem bloquear a digitação intermediária de valores (ex: digitar 16 sem travar no 1).
Novo
Edição de Opções e Parâmetros do Hexacolor por Competição
Adicionada a personalização completa do simulador Hexacolor nas opções da competição: escolha de Balizamento (Tradicional ou Internacional 2022 com descrição de comportamento), substituições e paradas, prorrogação, VAR, limite de lesões, cores do simulador e sliders de frequências de gols, faltas, impedimentos, cartões, estilo de jogo e bandeiras.
Design
Padronização Visual da Criação de Competições
Ajustado o título da página para o padrão com emoji ('➕ Criar Competição') e corrigida a largura dos campos de Nome e Ano para ocuparem 100% da largura do formulário com preenchimento confortável.
Novo
Agendamento Avançado de Jogos e Calendário nas Competições
Adicionadas opções para definir data inicial da competição, limite máximo de jogos por dia, seleção de múltiplos dias da semana permitidos, intervalo entre rodadas em semanas e horários alternados de partidas para a geração automática de tabelas.
Ajuste
Correção de Depreciação de Parâmetros Nulos no PHP 8.1+
Tratados valores nulos passados para funções nativas como strlen() e htmlspecialchars() no perfil de clubes e técnicos, evitando warnings de depreciação.
Ajuste
Correção no Envio de Notificação de Proposta por E-mail
Adicionado tratamento defensivo nas consultas de dados de jogador, clube e usuário em transferências, prevenindo avisos de tipo booleano (array offset on bool) e falhas no disparo de e-mails.
Ajuste
Correção no Salvamento de Escudos e Uniformes com Apóstrofos
Corrigida a geração dos nomes de arquivos de escudo e uniformes na importação de times (.ymt) contendo apóstrofos e aspas no nome, sanitizando os caracteres especiais e garantindo o salvamento correto no disco e banco.
Ajuste
Reconhecimento de Jogadores com Apóstrofos na Importação
Ajustada a busca exata e similar no assistente de importação para reconhecer jogadores, clubes e técnicos existentes que contenham apóstrofos ou entidades HTML no nome (ex: Ka'ai), evitando duplicações desnecessárias.
Segurança
Travas de Segurança e Isolamento na Importação de Times
Implementadas travas de escopo que impedem usuários comuns (e admins impersonando) de sobrescrever clubes de outros usuários ou de ligas diferentes, permitindo atualização somente em clubes do próprio usuário dentro da mesma liga.
Ajuste
Correção no Vínculo de Jogadores na Importação de Times
Corrigida a persistência e recuperação do ID dos jogadores recém-criados durante a importação (.ymt), garantindo que todo o elenco seja corretamente transferido, escalado e vinculado ao clube.
Ajuste
Correção de Caracteres Especiais e Aspas em Nomes de Estádios
Corrigida a importação, cadastro e exibição de estádios contendo apóstrofos e aspas simples (ex: Ka'ai Fa'alulu), garantindo a decodificação de entidades HTML e evitando a gravação de códigos como ' no banco de dados.
Ajuste
Preservação da Data de Início de Contrato na Importação de Times
Corrigida a importação de times (.ymt) para manter a data de início de contrato original dos jogadores que já pertenciam ao clube, evitando que uma nova transferência com data atual seja registrada indevidamente.
expand_more06/09/2026
Ajuste
Correção no Salvamento de Foto, Altitude e Caldeirão de Estádios
Corrigida a gravação da coluna 'foto' e a validação booleana das propriedades 'altitude' e 'caldeirao' no método Estadio::create(), além de resolver a inclusão de funções de imagem.
Ajuste
Tratamento de Exceções e Siglas Duplicadas em Clubes
Adicionado tratamento de PDOException no método Time::alterar() com captura de erro de integridade (1062 - entrada duplicada) na chave única de sigla por país/sexo, retornando aviso amigável ao usuário e prevenindo travamentos fatais.
expand_more05/09/2026
Novo
Minhas Carreiras & Hall da Fama no TOPERO
Adicionada interface com abas no TOPERO para visualizar o histórico de carreiras salvas pelo usuário e o Hall da Fama global do CONFUSA.top, permitindo reabrir os cards completos de carreira, rever a galeria de troféus e os clubes defendidos.
Novo
Convocações e Torneios de Seleções no TOPERO
Adicionada a mecânica de convocação para seleções nacionais no TOPERO, com cálculo de força baseado em atletas em ligas Tier 1 da CONFUSA (mesmo para nações sem liga local) e disputa de torneios continentais de federações (FEASCOPA, Copa dos Três Mares, Taça dos Hemisférios) e Copa do Mundo de Seleções.
Ajuste
Rebalanceamento do Mercado e Simulação do TOPERO
Refinadas as ofertas de transferências com base na idade e patamar do atleta, restrita a Bola de Ouro apenas para atletas da 1ª divisão (Tier 1), eliminadas dispensas arbitrárias de jovens e campeões, balanceada a Taça Nacional e renomeado o torneio continental de clubes para Copa do Mundo CONFUSA de Clubes.
Ajuste
Sincronização de Chaveamento e Cruzamentos de Mata-Mata
Corrigida a correspondência de confrontos e BYEs no chaveamento em estatísticas para refletir fielmente os jogos gerados na fase seguinte, além de gravar a identificação da chave na geração inicial e no cron de avanço.
Novo
Nova Funcionalidade: Time Traveler
Lançada a funcionalidade Time Traveler para reconstituição histórica de elencos de clubes em qualquer data do passado a partir do histórico de transferências, com estatísticas da época, linha do tempo de entradas/saídas, visualização tática por setores e exportação direta do clube em .ymt.
Design
Redesign Responsivo da Lista de Competições
Reformulado o layout da página de índice de competições para dispositivos móveis com transformação em cards dinâmicos elegantes, alinhamento flexível de atributos sem sobreposição de rótulos, paginação touch e botão de criação integrado ao cabeçalho.
Ajuste
Correção na Atualização de Clubes
Corrigida a execução da atualização de dados do clube no método Time::alterar(), garantindo que os parâmetros de texto e entidades HTML sejam sanitizados previamente e vinculados por referência válida na query SQL.
Ajuste
Correção de Prepared Statements em Competições
Corrigida a chamada de consultas SQL parametrizadas em getTeamColors, getTeamUniform, getTeamPlayers e getNomeEstadio para utilizar prepare() em vez de query(), evitando erros fatais de execução no PDO.
Ajuste
Transferência Efetiva no Evento Maior Rival no TOPERO
Ajustado o evento 'Proposta do Maior Rival' no TOPERO para que a escolha de aceitar a proposta transfira o atleta para um clube rival da mesma liga ou país, atualizando o clube atual e histórico da carreira.
Segurança
Criação da Licença Não-Comercial (CC BY-NC-SA 4.0) e Atualização do README
Criado o arquivo LICENSE oficial com a licença Creative Commons Não-Comercial (CC BY-NC-SA 4.0), proibindo o uso e cópia com fins lucrativos de qualquer código ou ativos do projeto, e atualizado o README.md com as novas funcionalidades e módulos do sistema.
expand_more04/09/2026
Ajuste
Aposentadoria Fixada aos 40 Anos no TOPERO
Ajustada a longevidade da carreira no TOPERO para que todos os atletas atuem até os 40 anos completos de idade, eliminando aposentadorias prematuras aleatórias.
Design
Logos, Troféus e Estatísticas no Card Exportado do TOPERO
Corrigido o buffer de subpaths do Canvas com isolamento estrito via beginPath(), carregamento prévio garantido de fontes Google (Outfit e Montserrat), vetores Path2D para troféus e contraste reforçado, assegurando que as 5 caixas de estatísticas, o badge de OVR, todos os títulos e todos os clubes defendidos apareçam nítidos, vibrantes e destacados.
Ajuste
Maior Paciência com Jovens Atletas no TOPERO
Ajustada a regra de renovação contratual para que clubes tenham paciência com atletas em início de carreira (abaixo de 21 anos), garantindo sempre a opção de permanecer e se desenvolver no clube sem dispensas prematuras.
Ajuste
Correção na Escolha de Clubes de Base no TOPERO
Corrigida a seleção de propostas de clubes de formação ao escolher países sem liga cadastrada ou com ligas de gênero específico, garantindo que as opções pertençam estritamente ao país mais próximo determinado geograficamente em vez de clubes aleatórios globais.
Ajuste
Correção no Avanço de Temporada do TOPERO
Corrigida referência de variável indefinida na filtragem de clubes do mercado de transferências que impedia o processamento e travava o botão de avançar temporada.
Ajuste
Correção de Status e Avanço de Fases no Mata-Mata
Corrigido falso status de competição 'Finalizada' ao término de rodadas preliminares como 32-avos de final, garantindo que torneios eliminatórios só sejam dados como concluídos após a Final (fase 8). Corrigida também a detecção da primeira fase e a ordem de processamento das fases eliminatórias (32-avos ➔ 16-avos ➔ Oitavas ➔ Quartas ➔ Semis ➔ Final) no Cron de simulação automática, ajustando o intervalo entre fases para 7 dias.
Design
Ajuste de Responsividade e Centralização no TOPERO
Ajustado o layout mobile do TOPERO com correção de centralização, padding seguro, quebra e alinhamento flexível de tags, chips de opções, cards de estatísticas, modais de decisão e histórico de temporadas sem sobreposição de elementos ou overflow.
Novo
Lançamento do Jogo TOPERO (Simulador de Carreira PWA)
Criado o novo jogo TOPERO como Web App (PWA) Standalone independente em Dark Theme (com manifest, service worker e instalação na tela inicial no estilo do Poltrona Score). Inclui escolha de gênero (Masculino e Feminino) com separação estrita de ligas e clubes para cada modalidade, início com 3 propostas de base em países ativos e ranqueados do CONFUSA, métricas dedicadas para goleiros (Gols Sofridos e Clean Sheets), primeiras temporadas sem transferências precoces, dilemas raros exclusivos, renovações contratuais realistas e correção de contraste no card da Carreira Histórica.
Ajuste
Correção de Deprecation na Propriedade de Foto de Estádio
Declarada explicitamente a propriedade pública foto na classe Estadio e garantida a gravação correta do arquivo ao alterar estádio.
Design
Ajuste na Coluna de Usuário da Central de Logs
Limitada a largura e adicionada quebra de linha automática (word-wrap) para a identificação e e-mail dos usuários na tabela de logs de erro, mantendo a tabela compacta e legível.
Ajuste
Correção de Inicialização na Súmula da Partida
Corrigido erro fatal por variável não definida ($lite_competicao) ao carregar cores, uniformes, elencos e dados da partida na tela de súmula, além de adicionar proteções e fallbacks para registros vazios.
Ajuste
Correlação de Jogadores na Importação de Jogos
Corrigida a importação de partidas em Gerenciador > Jogos, garantindo que os IDs de jogadores e eventos sejam mapeados pelo elenco do clube cadastrado no banco de dados e não por IDs locais do arquivo simulado, além de ajustar o link de comissão técnica para a página correta de técnicos.
expand_more03/09/2026
Ajuste
Tratamento de Dados e Nulidade na Visualização da Súmula
Adicionada verificação segura para carregamento dos arquivos de súmula e proteção contra erros fatais de tipo e propriedades nulas em partidas antigas ou sem dados gravados.
Ajuste
Correção de Deprecation no Perfil de Técnicos
Ajustado o tratamento de campos nulos de liga e país de técnicos sem clube para evitar advertências e manter compatibilidade com PHP moderno.
Novo
Identificação de Usuário nos Logs de Erros
Adicionada uma nova coluna na Central de Logs do painel administrativo exibindo o nome real e usuário que gerou cada erro registrado no sistema.
expand_more02/09/2026
Ajuste
Chaveamento de Mata-Mata com BYEs e Avanço de Fase
Ajustada a lógica de avanço de mata-mata para respeitar o chaveamento consolidado com times de BYE e condicionada a criação automática da fase seguinte ao término do tempo de jogo das partidas da fase atual (120min ou 150min com pênaltis).
Ajuste
Exibição de Ações de Edição de Times na Liga e em Meus Times
Corrigida a verificação de permissões do dono do país e de administradores na página da liga e na listagem de Meus Times, normalizando os tipos de dados para que os botões de edição, movimentação e upload de uniformes/escudos sejam exibidos corretamente.
Novo
Suporte a Competições Nacionais e Internacionais
Adicionada a opção de escolher entre competições Internacionais e Nacionais durante o cadastro. Competições nacionais têm país e sede vinculados automaticamente e desativam a importação de arquivos .ymt temporários, utilizando exclusivamente os clubes registrados no país.
Ajuste
Rescisão Automática de Contratos e Seleção ao Registrar Falecimento de Jogador
Garantido que, ao ser registrado o falecimento de um atleta (ou técnico), todos os contratos ativos em clubes e convocações em seleções sejam devidamente rescindidos e removidos do banco de dados.
Novo
Cards de Últimas Partidas Escalado no Perfil do Jogador
Adicionada uma nova seção em cards no perfil do jogador exibindo suas últimas partidas disputadas, com placar, escudos, resultado da equipe, status de titularidade e destaques individuais para gols marcados, cartões amarelos e cartões vermelhos com link para a súmula oficial.
Ajuste
Simulação de Jogos Pendentes no Passado via Cron
Ajustada a rotina automática (cron_simular_jogos.php) para buscar e simular todas as partidas com status pendente (status = 0) agendadas até as próximas 24 horas, incluindo jogos atrasados com data no passado que ainda não haviam sido simulados.
Ajuste
Posição Real de Jogadores em Exportações
Garantido que na exportação de times e jogadores (ex: Footscore) a posição do jogador utilize sua posição base ou primeira posição de ofício, sem registrar 'S' de suplente.
Segurança
Atualização da Biblioteca PHPMailer (v6.9.3)
Atualizada a biblioteca de envio de e-mails para a versão 6.9.3, garantindo compatibilidade total com o PHP 8.2+ e prevenindo avisos de depreciação e incompatibilidades.
expand_more01/09/2026
Novo
Opção de Técnico Falecido e Identidade Visual de Luto
Adicionado suporte completo ao status de Falecido para técnicos na tabela de Meus Técnicos e no perfil individual (coachstatus.php), com data de falecimento, badge mortuário com cruz (†), filtro em escala de cinza na foto e demissão automática do clube atual.
Ajuste
Correção de Parâmetros PDO na Busca Avançada do Mercado
Corrigida a duplicação do placeholder de usuário logado e normalizado o tratamento de filtros nulos e vazios nos métodos de busca avançada de jogadores e técnicos, eliminando a exceção SQLSTATE[HY093].
Ajuste
Tratamento de Valores Nulos em Funções de Jogador e Status do Time
Adicionada proteção contra valores nulos em strip_tags, strpos e strtotime nos métodos da classe Jogador e na página teamstatus.php, eliminando avisos de depreciação do PHP 8.1+.
Ajuste
Correção de Sintaxe na Consulta de Propostas de Técnicos
Ajustada a interpolação de limites e tipagem de parâmetros no método lerPropostasPendentes da classe Tecnico, eliminando erros de sintaxe de compilação.
Design
Identificação de Jogadores Emprestados na Busca do Mercado
Jogadores sob empréstimo (clubeVinculado ativo) agora exibem badge 'EMPRESTADO', menção ao clube de origem e botão de proposta bloqueado para terceiros, mantendo-se acessível para o clube que detém o empréstimo negociar compra definitiva ou extensão.
Ajuste
Exibição no Mercado de Atletas Convocados Sem Clube
Ajustadas as consultas de busca avançada de jogadores e técnicos para filtrar contratos de clube (tipoContrato = 0) na junção principal, garantindo que atletas convocados para seleções nacionais mas sem clube apareçam normalmente como livres no mercado.
Novo
Opção de Jogador Falecido e Badge Mortuário
Adicionada opção para marcar jogadores como Falecidos na tabela de Meus Jogadores, com badge mortuário contendo cruz pontuda (†), data de falecimento, sinal de luto, aplicação de filtro preto e branco (grayscale) e bloqueio total com efeito grayed out na edição de atributos de jogadores falecidos.
Novo
Controle Individual de Envio ao CONFUSA Live por Jogo
Adicionada a opção de ativar ou desativar o envio de partidas para o CONFUSA Live individualmente por jogo na tabela de competições, respeitando o padrão configurado na competição e permitindo ajustes na edição inline ou ao criar novas partidas.
Ajuste
Correção de Inicialização da Busca de Transferências
Ajustada a conversão booleana da variável JS emTestes na página de transferências e busca avançada, eliminando o erro de sintaxe que impedia o carregamento dos sliders, checkboxes e estilos de busca em produção.
Ajuste
Correção de Demissão Involuntária ao Editar Jogador
Removida a chamada automática a demitir() no método de edição geral de jogadores ao salvar atributos ou posições, prevenindo que atletas sejam removidos indevidamente de seus clubes.
Ajuste
Tratamento de Parâmetro Ausente em Transferências
Adicionado fallback seguro para o parâmetro GET 'type' em mercado/transferencias.php, eliminando o aviso de Undefined array key ao acessar a listagem.
Ajuste
Correção de Redeclaração de Função na Criação de Times
Removida a declaração duplicada da função hexToRgb() no fluxo de submissão do formulário em criar_time.php, eliminando o erro fatal Cannot redeclare hexToRgb().
Segurança
Inclusão do PHPMailer no .gitignore
Adicionada a pasta utils/PHPMailer e PHPMailer no .gitignore para evitar o versionamento desnecessário da biblioteca de terceiros.
Ajuste
Tratamento de Retorno Nulo em Métodos de Usuário
Adicionada checagem is_array nos retornos de consulta dos métodos idByEmail(), ID(), readName(), password() e obterApiKey() na classe Usuario, prevenindo o aviso de array offset on value of type bool quando o usuário ou e-mail não é encontrado.
Ajuste
Compatibilidade com PHP 8.2+ no HTMLPurifier
Declaradas explicitamente as propriedades $idDef e $_entity_parser nas classes do HTMLPurifier, eliminando os avisos de depreciação de criação de propriedades dinâmicas.
Ajuste
Correção de HeadlessException na Simulação de Partidas
Adicionada limpeza automática da tabela jogadorpendente e inclusão de versões adicionais de compatibilidade no SQLite temporário antes da execução da engine Java, impedindo que o motor dispare janelas de diálogo gráficas (JOptionPane) em ambiente headless de servidor.
expand_more30/08/2026
Ajuste
Correção e Compatibilidade em Transações Financeiras
Removido bind de parâmetro inexistente em getOptions() e adicionada tipagem segura com validação de nulos em retrieveTransactions(), create() e apagar() na classe Transaction, prevenindo erros PDO e avisos de depreciação do strip_tags/htmlspecialchars no PHP 8.1+.
Segurança
Restrição de Clubes da CONFUSA em Competições
A listagem e preenchimento de vagas nas competições agora restringe estritamente a escolha a clubes de países com federação oficial membro da CONFUSA (FEASCO, FEMIFUS, COMPACTA). Países Não-Confederados (NC) ou do mundo real não podem ter clubes inscritos, enquanto atletas estrangeiros continuam permitidos nos elencos.
Segurança
Bloqueios de Permissões para Usuários em Período de Testes
Usuários em período de testes agora possuem bloqueios de segurança completos contra a criação de países, criação/importação de competições e opções, importação e manipulação de jogos de clubes (jogos_clube) e criação/geração de novos jogadores via Hexagen ou Categorias de Base.
Novo
Simulador de Notificações do Discord no Painel Admin
Criada uma tela de testes (/admin/teste_discord.php) e card no menu do administrador que permite preencher e disparar notificações fakes de transferências para verificar o funcionamento do webhook do Discord em produção.
Ajuste
Links de Clubes de Origem e Destino em Propostas de Técnicos
Os nomes dos clubes de origem e destino na tabela de Propostas de Técnicos agora são clicáveis e direcionam para o perfil do respectivo clube, padronizando a navegação com a tela de propostas de jogadores.
Ajuste
Compatibilidade de Retorno JsonSerializable no Octamotor
Adicionado tipo de retorno mixed e atributo #[\ReturnTypeWillChange] aos métodos jsonSerialize() das classes Driver e Car, eliminando avisos de depreciação do PHP 8.1+.
Ajuste
Tratamento de Deprecation no Status da Liga
Adicionada tipagem segura e conversão para string em variáveis passadas ao htmlspecialchars no cabeçalho de leaguestatus.php, prevenindo avisos de depreciação com valores nulos.
Novo
Módulo de Personificação de Usuários (Impersonate) no Painel Admin
Adicionado seletor no Painel do Administrador (/admin/index.php) que permite personificar instantaneamente qualquer usuário cadastrado com um clique, além de botões e links diretos no menu para encerrar a personificação e retornar à conta de administrador sem necessidade de refazer login.
Novo
Padronização Global de Otimização e Conversão WebP de Imagens
Unificado e ativado o processamento automático de imagens para formato .webp em todo o sistema (escudos, uniformes, mascotes, logos de ligas, competições, bandeiras, estádios, fotos de jogadores/técnicos, capa da revista e Octamotor), garantindo redimensionamento proporcional e preservação de transparência/canal alfa, eliminando dependências legadas do pngquant.
Design
Otimização Visual dos Cards Mobile nas Páginas 'Meus *'
Aprimorado o layout mobile dos cards nas telas de Meus Países, Meus Climas, Meus Estádios, Meus Parâmetros, Meus Técnicos, Meus Times, Meus Jogadores e Ligas: contenção e quebra segura de nomes longos para evitar sobreposição, alinhamento compacto dos bloquinhos de cores e bandeiras à direita, e agrupamento horizontal dos botões de opções.
Ajuste
Identificação de Competições no Perfil do Clube
Corrigida a consulta de últimas partidas e próximo confronto na página do clube, isolando as tabelas de competições do simulador interno (competicao_lista) das tabelas legadas (liga e campeonatos_clube) para exibir o nome correto do campeonato.
Novo
Avanço Automático de Fase e Pareamento no Mata-Mata
Quando todos os confrontos de uma fase do mata-mata forem simulados e concluídos, o sistema automaticamente classifica os vencedores (e os times com BYE), gerando as partidas da fase seguinte (ex: 32-avos ➔ 16-avos ➔ Oitavas ➔ Quartas ➔ Semifinal ➔ Final).
Ajuste
Tratamento de Tipos e Deprecations em Login e Status
Adicionada validação de existência e verificação estrita de arrays para evitar avisos PHP de array offset on bool e deprecations do password_verify com hash nulo em login_info.php e competitionstatus.php.
Ajuste
Filtragem Estrita de Clubes Participantes na Tabela
A tabela de classificação em Estatísticas agora exibe exclusivamente os clubes que foram escalados e confirmados na competição (Lista de Times/Slots), removendo clubes substituídos ou excluídos que permaneciam no banco SQLite anterior.
Ajuste
Ocultação do Rótulo (current) na Paginação
Adicionada a classe .sr-only com display: none para ocultar o texto de acessibilidade (current) no item de página ativa da paginação na lista de jogos e demais páginas com paginação.
Design
Select2 com Campo de Busca nos Filtros do Mercado
Atualizados os filtros da Busca Avançada no Mercado (transferencias.php), adicionando Select2 com barra de pesquisa para seleção rápida de Nacionalidade, Liga, Mentalidade e Estilo.
Novo
Filtro Dinâmico de Times Já Selecionados na Competição
Na tela de gerenciamento de vagas (listatimes.php), times que já estão escalados em alguma vaga deixam de aparecer nas opções das outras vagas, evitando seleções duplicadas acidentais.
Design
Toasts Flutuantes de Validação em Lista de Times
Substituídas as mensagens estáticas de erro do topo da página em listatimes.php por toasts flutuantes modernos e fixos na viewport, permitindo que o usuário visualize avisos e validações de times sem precisar rolar até o início da tela.
Novo
Seleção de País em Massa para Vagas da Competição
Adicionada ferramenta na tela de gerenciamento de vagas (listatimes.php) que permite definir o mesmo país para todas as vagas da competição de uma só vez, agilizando a configuração de ligas e torneios.
Ajuste
Correção de Estrutura das Abas e Layout de Elenco e Campinho
Corrigido o aninhamento indevido de tags HTML na página do time (teamstatus.php) que ocultava o campinho tático de posicionamento, e restaurada a distribuição flexbox do elenco para exibição das tabelas de Titulares, Reservas e Suplentes perfeitamente lado a lado no desktop.
Design
Tabelas em Cards Verticais no Mobile
Otimizada a visualização mobile das telas de gerenciamento (Meus Times, Meus Países, Meus Estádios, Meus Técnicos, Meus Climas, Meus Parâmetros e Jogadores no Exterior), transformando as tabelas densas em cards verticais responsivos e com rótulos destacados para cada atributo.
Design
Nova Imagem do Card de Desfalques
Atualizada a imagem de capa do card 'Central de Desfalques' no Dashboard do Usuário com a arte temática do Departamento Médico (deptomedico.jpg).
Ajuste
Garantia de Criação da Tabela de Suspensões no Painel do Usuário
Ajustada a ordem de execução no Dashboard do Usuário para garantir a inicialização automática da tabela competicao_suspensos antes das consultas de desfalques e jogos ativos, prevenindo erros de preparação SQL em bancos sem a tabela previamente criada.
Ajuste
Bloqueio de Edição de Escalação em Jogos Simulados
Ocultado o botão de escalação na Lista de Jogos (listajogos.php) para partidas com status 'Simulado' ou 'Encerrado' (status = 1), e adicionada proteção no backend (escalacao_jogo.php) para impedir a alteração tática ou substituição de atletas em jogos já processados pelo simulador.
Ajuste
Tratamento de Sessões Corrompidas e Compatibilidade PHP 8.1+ em Elencos
Implementada proteção contra falhas de decodificação de sessão no session_start() e adicionado tratamento seguro contra passagem de valores nulos em strip_tags() na alteração de elencos (time.php).
Design
Novo Layout de Estado Vazio (Empty State) para Competições
Criado um card visual elegante para quando não houver competições cadastradas ou quando a pesquisa não retornar resultados, exibindo ícones temáticos, mensagens orientativas, botão para limpar busca e atalho para criação da primeira competição.
expand_more29/08/2026
Novo
Envio Automático de Partidas Simuladas para o CONFUSA Live
Implementada a integração que envia as súmulas (.hyl) e metadados das partidas automaticamente para o CONFUSA Live quando a opção 'Subir jogos no Live?' estiver habilitada na competição (tanto na simulação manual quanto via cron), com suporte a proxy intermediário (Cloudflare Workers) para contornar restrições de porta de saída na hospedagem.
Novo
Status 'Finalizada' e 'Em Andamento' no Painel da Competição
Aprimorada a identificação de status da competição em competitionstatus.php, detectando automaticamente quando o torneio foi concluído (Final disputada ou todos os jogos realizados) para exibir a badge 'Finalizada', em vez de 'Pronta para simular'.
Novo
Filtro Inteligente de Competições e Clubes Ativos na Central de Desfalques
Implementada verificação dinâmica que preserva todo o histórico no banco de dados e oculta automaticamente suspensões e pendurados de competições concluídas (Final realizada) ou de clubes já eliminados da disputa, mantendo a tela focada apenas nas pendências reais dos próximos jogos.
Ajuste
Ajuste de Largura e Contenção dos Botões de Ação na Edição de Jogos
Otimizados os tamanhos máximos de inputs editáveis (times, datas, horários e estádios) e expandida a largura do card da Lista de Jogos para 1420px, garantindo que os botões de Salvar e Cancelar nunca quebrem ou caiam para fora da tabela durante a edição.
Design
Exibição de Árbitro Definida como Aleatório na Lista de Jogos
Atualizada a coluna de Árbitro na tabela de jogos para exibir sempre 'Aleatório', refletindo o comportamento real do motor de simulação que sorteia a arbitragem dinamicamente a cada partida.
Ajuste
Validação de Estádio Obrigatório para Simulação de Partidas
Implementada validação no frontend e backend (simulação manual e cron) que bloqueia a tentativa de simular partidas sem estádio definido ou inválido (N/A), evitando exceções no motor de simulação Java.
Novo
Central de Desfalques e Departamento Médico Centralizado
Criada a página Central de Desfalques (desfalques.php) e integrado um card com contador em tempo real no Dashboard do Usuário, permitindo acompanhar em um único local todos os atletas no Departamento Médico (com previsão de retorno e contagem regressiva de dias) e suspensões/cartões por competição.
Ajuste
Correção de Alinhamento e Altura das Linhas nas Tabelas de Estatísticas
Padronizado o alinhamento das células de time e cartões com a classe .team-cell em vez de display:flex no <td>, eliminando falhas visuais de alturas desiguais nas tabelas de estatísticas da competição.
Ajuste
Sincronização e Consulta de Lesões no Departamento Médico
Ajustado o processamento de pós-jogo para extrair durações de lesões do arquivo .hyj e aprimorada a consulta em Estatísticas para integrar lesões registradas tanto na tabela global de jogadores quanto na tabela da competição.
Design
Novo Layout para Partidas Agendadas e em Andamento na Súmula
Substituída a mensagem simples de texto na tela de súmula por um card moderno (Design 2.0) com glassmorphism, dados completos do confronto, horários previstos e botões de navegação.
Ajuste
Sigilo Temporal Estrito na Lista de Jogos
Ajustada a exibição da Lista de Jogos para ocultar o placar de partidas simuladas antecipadamente até o horário real de término do jogo, mantendo a experiência de sigilo para todos os usuários.
Ajuste
Ativação do Botão de Simulação Individual na Lista de Jogos
Corrigido o manipulador de clique no botão de bola de futebol (Simular) na Lista de Jogos, conectando-o ao motor Hexacolor com modal de progresso e atualização imediata do placar e súmula da partida.
Ajuste
Migração do Mecanismo de Planilhas Excel para SimpleXLSX / SimpleXLSXGen
Substituída a biblioteca pesada legada por SimpleXLSX e SimpleXLSXGen nativos em lib/simplexlsx, eliminando dependências complexas do Composer e resolvendo integralmente erros de depreciação e advertências do PHP 8.x na importação e exportação de competições e elencos.
Ajuste
Central de Logs: Agrupamento Estrito por Mensagem, Arquivo e Linha
Aprimorado o algoritmo de deduplicação e exclusão de logs em admin/logs.php para comparar exclusivamente o tipo, a mensagem e o arquivo/linha do erro, ignorando variações de parâmetros no stack trace completo para somar corretamente todas as ocorrências idênticas (Nx).
Novo
Seleção Interativa e Bloqueio de Slots do Sorteio na Lista de Times
Adicionado dropdown individual de Slot/Sorteio para cada equipe na Lista de Times (ex: A1, A2, B1, etc.) com confirmação de segurança. Ao definir o slot de um time, o sistema atualiza instantaneamente todos os jogos correspondentes na tabela gerada, bloqueia o dropdown para prevenir alterações indevidas e desativa o slot nas demais vagas.
Ajuste
Compatibilidade PHP 8.1+ e 8.2+ (strip_tags, number_format e propriedades dinâmicas)
Corrigidos avisos de depreciação ao passar valores nulos para strip_tags() e number_format(), declaradas propriedades de classe ausentes em TrioArbitragem e Time, e blindado o início de sessões contra saídas de cabeçalhos já emitidas.
Novo
Propagação Automática de Slots / Vagas na Lista de Times
Ao definir ou alterar um clube em uma vaga na Lista de Times (ex: Vaga #2 = A2), todos os jogos da tabela gerados com esse slot são automaticamente atualizados de uma só vez com o time selecionado e seu estádio, sem precisar editar jogo por jogo.
Ajuste
Prevenção de Erro de Cabeçalhos HTTP (headers already sent)
Adicionada verificação preventiva com headers_sent() no cabeçalho geral (header.php) antes de emitir instruções de Cache-Control e Pragma, evitando avisos e falhas de envio de cabeçalho.
Ajuste
Estatísticas: Classificação Separada por Grupos
Corrigida a detecção e montagem das tabelas de classificação por grupo em estatísticas, que anteriormente unificava todos os times em uma única tabela geral devido ao mapeamento restrito apenas a partidas já finalizadas.
Ajuste
Geração de Grade com Slots / Placeholders
Implementada a geração correta de confrontos com placeholders (A1, A2, B1, Slot 1...) ao escolher a opção de Sorteio Intermediário, permitindo definir a grade inicial e alocar os clubes posteriormente na Lista de Jogos.
Ajuste
Correção ao Gerar Tabela de Competição
Corrigido erro fatal (SQLSTATE 1364) ao gerar tabela de jogos e ao importar partidas, atribuindo corretamente o identificador do proprietário da competição (dono) e definindo valor padrão na tabela jogos_clube.
Ajuste
PoltronaScore: Jogos passados fora dos Próximos
Corrigido bug em que partidas com status 'next' desatualizado na fonte apareciam entre os Próximos Jogos. A API agora valida a data/hora real de cada jogo e move automaticamente os que já passaram para Resultados Anteriores, corrigindo também o banco de dados.
Ajuste
PoltronaScore: Times com '&' não duplicam mais
Corrigido bug em que nomes de times contendo '&' podiam ser gravados no banco como '&', gerando entradas duplicadas e agrupamentos incorretos. O scraper agora aplica decodificação de entidades HTML em todos os textos extraídos da fonte.
Novo
Seleção de País na Importação de Árbitros
Adicionado seletor de país/nacionalidade na tela de importação de árbitros (.tda), permitindo definir o país de destino manualmente ou manter a detecção automática pela sigla no arquivo.
Ajuste
Correção dos Modais de Recordes em Jogos
Corrigida exceção fatal do PDO (SQLSTATE[HY093]) nos métodos adversariosMaisEnfrentados e maioresDerrotas em objetos/jogos.php e objetos/jogos_clube.php que tentavam vincular parâmetros em consultas globais sem placeholders, restaurando a exibição correta de todos os modais de estatísticas e recordes.
Ajuste
Verificação de Propriedade de Ligas na Exportação
Corrigida a validação de propriedade de ligas (isFromUser) e consulta múltipla de clubes na exportação de banco de dados HYMT, eliminando o erro indevido de liga não pertencente ao usuário decorrente de comparações de tipo estritas e vinculação por referência no PDO.
Ajuste
Prevenção de Reenvio de Formulários (Padrão PRG)
Implementado o fluxo Post/Redirect/Get (PRG) no login, logout e em todas as telas de criação e inserção (árbitros, países, ligas, clubes, seleções, jogadores, estádios, climas, parâmetros e usuários), eliminando o aviso de reenvio de formulário ao voltar ou recarregar a página.
Ajuste
Limpeza de Logs no Console
Comentadas todas as instruções de log e debug no console do navegador em arquivos de páginas e scripts do sistema para manter o ambiente de execução e inspeção limpo.
Novo
Restrição de Idade em Ligas e Bloqueio de Escalação
Adicionado suporte a limite de idade máxima configurável por liga (ex: Sub-20, Sub-18) na criação e edição inline em Minhas Ligas, com bloqueio automático no backend e frontend para escalação de titulares e reservas acima da idade (restringindo-os a suplentes) e sinalização com ícone de cadeado.
Ajuste
Validação de Técnico e Elenco na Exportação (.ymt)
Corrigidas as consultas SQL dos métodos verificarTecnicos e verificarElencoMenor em time.php que não contabilizavam corretamente clubes sem registros associados, garantindo que o backend barre a exportação e notifique o usuário caso o clube não possua técnico cadastrado ou elenco suficiente.
Ajuste
Criação de Seleções e Padronização Visual
Definidos valores padrão para os campos da tabela clube no método create de time.php, resolvendo a falha de inserção SQL, e padronizados os botões e formulário da tela de criação de seleções no Design 2.0.
Ajuste
Criação de Países e Remoção de Unicidade de Sigla
Removida a constraint de sigla única da tabela de países no banco de dados, definidos valores padrão na inserção e aprimorada a validação de upload de bandeiras em criar_pais.php.
Ajuste
Exportação de Seleções e Times (.ymt)
Corrigido caminho de inclusão das funções auxiliares e adicionada validação de existência de arquivos de imagens (escudos e uniformes) em get_ymt_info.php, prevenindo erros de resposta do servidor na exportação de times e seleções.
Design
Redesenho e Separação Visual da Demografia dos Países
A tela de demografia e o formulário de inserção de fatias demográficas foram completamente reformulados: agora separam de forma clara a distribuição de Nomes Próprios e Sobrenomes em cards distintos, adicionando barras de composição empilhada proporcionais, legendas coloridas, indicadores de frequência relativa, ocorrência de nomes duplos, miscigenação e botões padronizados no Design 2.0.
Design
Compactação e Enquadramento da Edição de Times
Ajustadas as larguras percentuais das colunas, paddings e dimensões dos campos de edição inline na listagem de times (Meus Times), garantindo que todos os controles permaneçam 100% enquadrados na tela sem transbordar o card principal.
Ajuste
Trava de Envio Duplo em Envio de Fichas
Adicionado bloqueio imediato de botões com indicador 'Enviando...' / 'Importando...' na tela de Envio de Fichas (enviar_fichas.php) para evitar disparos duplicados enquanto a requisição está em processamento.
Ajuste
Convocação de Técnicos
Definido o valor padrão para o campo 'salario' na inserção de contratos no método convocar de tecnico.php, prevenindo o erro SQL 1364 de campo sem valor padrão.
Design
Ajuste de Largura no Mercado e Janelas de Transferência
Aumentada a largura máxima do contêiner principal para 1380px em transferencias_redesign.css e otimizadas as colunas mensais da tabela de Janelas de Transferência, garantindo que todas as 15 colunas caibam perfeitamente dentro do card.
Novo
Link para Home no Logo do Cabeçalho
Adicionado link no logotipo CONFUSA.top do cabeçalho superior (header.php) para permitir o retorno rápido à página inicial a partir de qualquer tela.
Novo
Navegação para o Jogador na Apresentação Placar
Adicionado link interativo nos cards em formato de figurinha (titulares) e nas tags do banco de reservas na Apresentação Placar do Time (team_presentation_magazine.php) para redirecionar diretamente ao perfil individual do jogador (/ligas/playerstatus.php).
Ajuste
Compatibilidade SQL em Jogos do Clube
Removida referência à coluna inexistente 'origem' nos métodos de consulta de últimas partidas e próximo jogo em jogos_clube.php, corrigindo o erro 1054 do MySQL na tela de Apresentação Placar do time.
Ajuste
Inicialização Segura de Sessão
Condicionada a alteração de parâmetros de sessão (ini_set, session_set_cookie_params e session_name) ao estado inativo da sessão em session.php, prevenindo warnings quando a sessão já se encontra ativa.
Ajuste
Tratamento de Sessão e URL no Header
Protegido o acesso às variáveis de sessão ($_SESSION['impersonated']) e segmentação de rotas ($currentPage) em header.php contra notices de índices e offsets indefinidos no PHP 8.
Ajuste
Compatibilidade de Métricas em Status do País
Tratado o cálculo e formatação de médias (idade, jogadores e valor de mercado) em paisstatus.php com fallback de tipagem segura para evitar avisos de deprecation no number_format() em ligas sem jogadores cadastrados.
Ajuste
Parser de Logs com Stack Traces no PHP 8
Aprimorado o agrupamento e interpretação de logs de erro na Central de Logs (admin/logs.php), tratando corretamente linhas multilinha de Stack Trace e identificando avisos de depreciação e erros com precisão.
Ajuste
Sanitização em countAll de Times
Ajustado o tratamento de parâmetros nulos no método countAll de time.php, eliminando avisos de depreciação do strip_tags() no PHP 8.1+.
Ajuste
Redimensionamento de Imagens e PHP 8.1+
Corrigida a conversão implícita de float para int e a tipagem de dimensões em todas as rotinas de redimensionamento e upload de imagens (times, estádios, técnicos, competições, países, jogadores, destaques e octamotor), garantindo compatibilidade com o PHP 8.1+.
Ajuste
Tratamento de REQUEST_URI no Header
Adicionado fallback seguro com o operador null coalescing para a variável $_SERVER['REQUEST_URI'] nos formulários de autenticação e modais do cabeçalho, prevenindo avisos de índice indefinido.
Ajuste
Compatibilidade com PHP 8
Modernizado o tratamento de codificação de arquivos XML em rotas de importação, substituindo funções legadas por conversões seguras compatíveis com PHP 8.2+.
Novo
Edição de Times no Status da Liga
Adicionada a funcionalidade de editar o nome, escudo e uniformes (1 e 2) dos clubes diretamente pela tabela na tela de Status da Liga (leaguestatus).
Ajuste
Detecção de Ambiente Local nos Logs de Erros
Ajustada a identificação de ambiente local (suportando domínios como local.confusa.top, Virtual Hosts e Windows) para que a central de logs grave e consulte o arquivo local php_errors.log sem afetar o caminho centralizado de produção.
Ajuste
Sincronização e Exclusão Automática no PoltronaScore
O robô de sincronização do PoltronaScore agora remove automaticamente do banco de dados local as partidas que foram canceladas ou apagadas da origem (CONFUSALive).
Novo
Unificação de Partidas, Próximo Jogo & Sigilo Temporal
Unificado o armazenamento de todas as partidas na tabela jogos_clube com a flag discriminadora simulador_interno, integrando eventos detalhados e escalações pós-jogo. Adicionada a exibição da Próxima Partida na revista do clube e implementado o sigilo temporal: partidas simuladas com antecedência só têm seus placares e súmulas revelados após o término real do confronto no relógio (120min para tempo normal e 150min em caso de pênaltis).
Novo
Customização de Grupos, Preliminar e Turnos em Competições
O criador de competições agora permite definir a quantidade de grupos e o número de times por grupo, com alocação automática de times excedentes em uma fase preliminar (com opção de jogo único ou ida e volta). Em pontos corridos, agora é possível escolher entre 1, 2, 3 ou 4 turnos.
Novo
Modo de Sorteio com Slots / Placeholders e Edição Inline
Adicionada opção de sorteio intermediário com geração de tabela por slots (placeholders), permitindo ao organizador encaixar ou alterar os times dos confrontos agendados diretamente na Lista de Jogos.
Design
Exibição de Pênaltis na Chave de Mata-Mata
A aba Chave de Mata-Mata agora exibe o placar de pênaltis e o destaque do classificado quando uma partida for decidida nas penalidades.
Novo
Últimas Partidas na Revista do Time
Adicionada uma seção na página de apresentação (revista Placar) exibindo os últimos 3 jogos do clube, integrando partidas de ligas/amistosos (jogos_clube) e competições oficiais com placares, escudos, indicadores de vitória/empate/derrota e datas.
expand_more28/08/2026
Novo
Edição de Sigla (TresLetras) e Remoção de Unicidade
Removida a restrição de sigla única para clubes e seleções, permitindo agora a alteração e edição direta da sigla de 3 letras de cada clube no quadro Meus Times.
Ajuste
Validação Completa na Exportação (.db3, .ymt e .jog)
Estendida a verificação prévia de exportação para a exportação individual de times (.ymt) e jogadores (.jog). Para times, são checadas todas as regras de integridade (elenco mín/máx, 11 titulares, 1 goleiro, capitão, batedores de pênalti, limite de idade, técnico e clima/estádio). Para jogadores, valida-se o vínculo, limite de idade e posições válidas.
Novo
Número da Camisa no Perfil do Jogador
Adicionada a exibição do ícone com a numeração da camisa ao lado do nome do jogador na página individual do atleta.
Design
Nova Tipografia Global (Outfit)
Substituição da fonte Kanit pela Outfit em todos os títulos, cabeçalhos, cards e elementos do sistema para proporcionar maior legibilidade, modernidade e conforto visual.
Ajuste
Visualização de Ligas e Times para Administradores na Importação
Permitido que administradores visualizem e selecionem todas as ligas e todos os times cadastrados no sistema ao realizar importações de clubes e jogadores.
Ajuste
Refinamento na Busca de Correspondência de Jogadores
Alterada a lógica de pesquisa de homônimos de OR para AND. Agora o sistema exige que todas as partes do nome pesquisado estejam presentes no cadastro do banco para sugerir o match, eliminando sugestões irrelevantes.
Ajuste
Rebaixamento de Jogadores não Listados no XML
Garantido que jogadores preexistentes no clube que não constam na nova importação do XML sejam removidos da titularidade, da reserva e da capitania/batedor, passando ao status de suplentes.
Ajuste
Rescisão de Contrato do Técnico Anterior
Se um novo técnico for atribuído a um clube durante a importação, o contrato do técnico anterior com o respectivo clube é rescindido automaticamente, tornando-o agente livre.
Ajuste
Correção de Erro 500 no Cadastro de Técnicos
Resolvido erro de banco de dados no modo estrito (Strict Mode) ao inserir um novo técnico, definindo um valor padrão vazio para a coluna 'referencia' na query de criação.
Ajuste
Correção de Valor de Gênero para Técnico Importado
Corrigido erro que causava falha 500 no MySQL Strict Mode por enviar o campo 'Sexo' do técnico vazio durante a importação. Agora o valor é capturado e enviado corretamente.
Ajuste
Persistência do Valor dos Selects ao Recarregar a Página
Adicionado gatilho de inicialização via jQuery para sincronizar automaticamente os campos ocultos do formulário com os valores preservados pelo navegador nos dropdowns de liga e time após retornos de página ou recarregamentos.
Novo
Alerta de Vínculo de Clube entre Países Distintos
O sistema agora exibe um alerta de divergência crítica de vínculo apenas se o jogador/técnico sugerido estiver atualmente em um clube pertencente a um país diferente do país de destino da importação.
expand_more26/08/2026
Novo
Troca de Mensagens e Histórico em Transferências (Jogadores e Técnicos)
Agora é possível enviar mensagens e justificativas ao criar uma proposta, ao efetuar uma contraproposta ou ao recusar uma transferência de jogadores e técnicos, com histórico interativo em formato de chat.
Ajuste
Balanço Financeiro Restrito a Transferências Efetivadas
Garantido que transações e propostas de transferências ainda não efetivadas ou pendentes não sejam contabilizadas nas finanças e balanço de caixa dos clubes.
Novo
Gerenciamento de Status de Sugestões para Administradores
Administradores agora podem alterar o status (Pendente, Em processo, Completo, Cancelado) das sugestões e bugs diretamente na tabela via AJAX.
Ajuste
Aumento do Limite de Upload de Arquivos (.HYL / .YMT)
O limite máximo permitido para envio de súmulas (.hyl) e arquivos de times (.ymt) foi ampliado para 10 MB, evitando erros de arquivo muito grande em partidas longas.
Ajuste
Correção na Edição e Salvamento de Climas
Corrigida a tipagem e conversão do campo Hemisfério para o banco de dados e aprimorado o retorno de mensagens de erro na edição inline de climas.
Design
Remoção do Atributo Determinação em Jogadores no Exterior
Removida a exibição do atributo de determinação nas tags dos jogadores na tela de Jogadores no Exterior.
Novo
Página de Perfil e Histórico de Técnicos (Coach Status)
Criada a nova tela detalhada do perfil do técnico (coachstatus.php) no padrão Visual 2.0, exibindo foto, idade, nacionalidade, nível, estilo tático, mentalidade, clube atual e todo o histórico de transferências e contratos.
expand_more25/08/2026
Ajuste
Otimização de Memória no Upload de Bandeiras
Ajustado o limite de memória e otimizado o carregamento de imagens em criar_pais.php e alterar_pais.php, prevenindo estouro de memória (Allowed memory size exhausted) ao processar imagens de alta resolução.
Novo
Paginação Dinâmica via AJAX no Ranking
A navegação de páginas e a troca de filtros por federação no Ranking de Seleções agora ocorrem dinamicamente via AJAX, sem recarregar a tela, mantendo a URL atualizada e navegação instantânea.
Design
Modernização da Importação de Jogos do Ranking
Redesenho completo da tela de importação de súmulas e conferência de jogos de seleções no padrão Visual 2.0 (Light Theme), com cards glassmorphism, campos integrados, cabeçalho dinâmico e tabela de revisão moderna.
Design
Redesenho e Organização do Editor de Jogos de Seleções
Reformulação completa da tela de Criar/Editar Jogo no padrão Visual 2.0, removendo conflitos de CSS externos, organizando o placar, escalações lado a lado e eventos com design limpo.
Ajuste
Correção Visual na Caixa de Upload de Súmulas
Corrigida a visibilidade dos estados de carregamento, sucesso e erro na caixa de upload de arquivos, exibindo agora apenas a instrução inicial de arrastar/selecionar.
Ajuste
Ajuste de Contraste no Botão Editar Partida
Corrigida a cor do texto do botão 'Editar Partida' em Detalhes da Partida do Ranking, garantindo contraste branco e legibilidade perfeita sobre o fundo azul.
Ajuste
Ajuste Visual no Editor de Partidas de Seleções
Corrigido o dimensionamento do botão 'Salvar Partida' para tamanho compacto e ajustado o alinhamento e espaçamentos internos dos dropdowns de seleções e atletas (Select2).
Design
Padronização das Larguras na Tabela de Eventos
Definido layout fixo e larguras equilibradas para as colunas de minuto, seleção, tipo de lance, atleta e botão de adicionar evento na tela de edição de partidas.
Ajuste
Correção nos Dropdowns de Busca de Seleções
Removido o botão 'X' de limpeza de seleção nos dropdowns e corrigida a API de busca de países (/api/paises/buscar.php) para carregar e listar corretamente as opções de seleções.
Ajuste
Suporte a Atletas Manuais e Salvamento de Eventos
Corrigida a persistência de eventos e escalações para atletas fora do banco ('➕ Digitar nome'), exibindo o campo de texto automaticamente e salvando os nomes e lances corretamente na partida.
Segurança
Ajuste de Permissões no Módulo de Seleções
A criação de novos jogos e a importação de súmulas estão liberadas para qualquer usuário autenticado; a edição de partidas existentes permanece estritamente restrita a administradores.
Ajuste
Correção na Seleção de Atletas Existentes via AJAX
Corrigida a injeção do elemento option no DOM ao selecionar atletas existentes no Select2, garantindo que o ID e o nome do jogador sejam serializados e gravados corretamente na partida.
Ajuste
Ajuste Visual no Botão de Fechar do Toast
Removido o fundo quadrado azul do botão 'X' de fechamento nas notificações flutuantes (toasts), mantendo fundo transparente integrado à cor do alerta.
Ajuste
Exibição de Pênaltis em Jogos & Recordes
Corrigida a condição de exibição de pênaltis nas listagens de partidas, garantindo que disputas em que uma das seleções fez 0 gols de pênalti (ex: 3x0) sejam mostradas corretamente.
Ajuste
Correção na Consulta de Escalação de Seleções
Corrigido o relacionamento com a tabela de posições no método getSingleMatchLineup, permitindo que as escalações cadastradas sejam exibidas corretamente na tela de Detalhes da Partida.
Ajuste
Suporte a Pênaltis Nulos e Correção na Importação
Alteradas as colunas timeA_penaltis e timeB_penaltis na tabela jogos para permitir valores nulos (NULL), distinguindo partidas sem disputa de pênaltis daquelas com placares reais (ex: 1x0 ou 3x0) e eliminando erros de integridade na importação.
Ajuste
Preservação do Status Calculado em Jogos Existentes
Ao importar súmulas de jogos já existentes no banco de dados, o campo 'calculado' é mantido inalterado, evitando desmarcar partidas que já haviam sido processadas pelo ranking.
expand_more24/08/2026
Ajuste
Reenvio Automático na Simulação de Partidas
Implementada detecção e reenvio automático do comando de simulação quando o motor Java executa rotinas de compatibilidade/migração com o portal web, garantindo a geração contínua das súmulas.
Ajuste
Correção no Gerador de Tabela em Fase de Grupos
Corrigida a referência da variável de índice ($j) no cálculo de confrontos do algoritmo Berger para torneios mistos (fase de grupos), eliminando avisos e notices de PHP.
expand_more23/08/2026
Design
Modernização de Seleções e Subtelas de Usuário
Atualização das telas de Criar Seleção, Seleções do País, Demografia do País e Configurações para o padrão Visual 2.0 com cards glassmorphism, formulários e tabelas modernos integrados ao novo cabeçalho e rodapé.
Design
Redesenho do Blog da FOCA no Light Theme 2.0
Modernização completa da página do Blog da FOCA para o padrão Light Theme 2.0 com cards translúcidos glassmorphism em fundo claro, lista de posts estilizada com indicador de post ativo, painel de leitura refinado e tipografia aprimorada.
Novo
Escalações e Gestão em Jogos de Seleções
Inclusão de suporte completo a escalações nos jogos de seleções do Ranking oficial (titulares, reservas, comissão técnica e substituições), com importação automática, visualização lado a lado e novo editor visual moderno restrito a administradores.
Novo
Conferência na Importação de Jogos de Clubes
Implementação da tela de revisão e conferência interativa na importação de jogos de clubes, permitindo mapeamento com autocompletion, detecção de duplicatas e confirmação em lote.
Ajuste
Blindagem Transacional e Proteção de Dados de Partidas
Implementação de transações PDO atômicas com rollback em todas as rotas de gravação e importação de partidas, garantindo integridade e prevenindo perda acidental de dados.
Design
Novo Cabeçalho e Rodapé no OctaMotor
Atualização do cabeçalho e rodapé em todas as páginas do OctaMotor para a estrutura moderna em tom preto translúcido, corrigindo o overflow vertical e preservando integralmente o layout e identidade visual clássica do simulador.
Design
Redesenho do 7vidas no Dark Theme 2.0
Modernização completa do simulador de draft e sobrevivência 7vidas para o padrão Dark Theme 2.0 com cards translúcidos glassmorphism sobre fundo clássico CONFUSA, campinho tático aprimorado, roleta estilizada, placar de simulação com eventos coloridos e novo modal de regras.
Design
Redesenho dos Escudos Pops no Light Theme 2.0
Modernização visual da página de Escudos Pops para o padrão Light Theme 2.0 com cards translúcidos glassmorphism, grid responsivo, botão de alternância de fases estilizado, animação de zoom nos escudos e feedback visual aprimorado para palpites corretos e incorretos.
Design
Redesenho Completo do Ranking no Light Theme 2.0
Modernização integral de todas as páginas da seção de Ranking (Masculino, Seleções, Regras, Jogos & Recordes, Perfil da Seleção e Detalhes da Partida) com o padrão Visual 2.0, navegação por abas com indicador de página ativa, cards glassmorphism, filtros de federação estilizados, badges de posição e paginação moderna, preservando a estrutura da página de retrospecto.
Design
Novo Card de Sem Confrontos no Retrospecto
Aprimorada a exibição da página de retrospecto quando duas seleções nunca se enfrentaram: os medidores e tabelas vazias são ocultados em favor de um card informativo e amigável com destaque dos países.
Design
Redesenho dos Jogos de Clubes no Light Theme 2.0
Migração completa da Central de Jogos de Clubes (listagem com busca em tempo real e ordenação interativa, detalhes da partida com placar em destaque e linha do tempo de eventos, escalações em dois blocos e formulário de edição/criação) para o padrão Light Theme 2.0.
expand_more22/08/2026
Ajuste
Proteção de Memória no Extrato Financeiro
Corrigido erro de estouro de memória (Fatal Error Memory Exhausted) no filtro de registros financeiros através da validação obrigatória do ID do time antes de executar as consultas de movimentações e transferências.
Design
Redesenho de Jogadores no Exterior com Busca AJAX
Migração da página de atletas no exterior para o Light Theme 2.0, incluindo pesquisa instantânea com debounce, ordenação interativa de todas as colunas, paginação dinâmica e modal modernizado de repatriação.
Design
Redesenho da Exportação para HYMT
Interface moderna em Light Theme para seleção de países, ligas e opções de pacotes de banco de dados HYMT, com controles elegantes e feedback visual do download.
Design
Redesenho de Parâmetros HYMT e Criação
Atualização das telas Meus Parâmetros e Criar Parâmetros para o padrão Light Theme 2.0, com barras de estilo visualmente aprimoradas, edição inline limpa e sliders modernos.
Ajuste
Correção na Importação de Elencos .ymt Externos
Corrigido erro que impedia a importação de times (.ymt) com mais de 23 jogadores para competições, limitando a vinculação de posições e parâmetros aos limites físicos suportados pela tabela de elencos e escalações do SQLite.
Ajuste
Ajuste no Modo de Edição de Meus Climas
Corrigido o transbordo da tabela de climas durante a edição inline, aplicando layout fixo, proporções otimizadas de colunas e contenção visual em todos os seletores de estações climáticas.
Ajuste
Correção e Auto-Migração de Desfalques em Competições
Adicionada auto-migração da coluna lesionado_ate na tabela competicao_suspensos para garantir o registro e controle de lesões em jogadores de times importados (.ymt), além de tratamento de exceções (try/catch) na simulação e escalação.
Design
Padronização do Componente de Paginação
Atualizado o componente global de paginação (elements/paging.php e tabelas dinâmicas) com setas de navegação direta («, ‹, ›, »), facilitando o salto rápido para a primeira e última páginas e melhorando a fluidez visual em todas as tabelas do sistema.
Design
Redesenho e AJAX em Estádios, Climas e Técnicos
Migração completa das páginas Meus Estádios, Meus Climas, Meus Técnicos e suas respectivas telas de criação e importação para o padrão Light Theme 2.0, incluindo busca em tempo real, ordenação por colunas e paginação dinâmica via AJAX.
Ajuste
Correção dos emails de proposta de técnico
Emails de nova proposta para técnico agora incluem nome do técnico, nome e escudo do clube proponente e nível. Corrigido bug em que o usuário recebia email vazio sem informações da proposta.
Ajuste
Auto-aceite de proposta de técnico livre
Corrigido bug em que propostas para técnicos sem clube (clubeOrigem=0) sempre disparavam email mesmo quando o proponente era o próprio dono do técnico — agora o sistema auto-aceita corretamente.
Design
Redesenho do Quadro e Criação de Times
Migração das páginas 'Meus Times' e 'Criar Time' para o novo layout premium Light Theme, com ordenação por coluna, ocultação de botões secundários ao editar, correção de transbordo de upload, sliders modernos e responsividade completa.
Novo
Alertas de Divergência na Associação de Importados
Implementados avisos visuais automáticos no assistente de associação que sinalizam quando um clube está em outra liga ou quando um jogador/técnico pertence a um time diferente do que está sendo importado.
Novo
Acesso Restrito ao Assistente de Associação
Restringida a funcionalidade de associação/atualização inteligente de importados exclusivamente a administradores. Usuários regulares importam diretamente como novos por padrão.
Ajuste
Correção no Voto de Sugestões
Corrigido erro 500 ao votar em sugestões. A lógica de curtir/votar foi portada de stored procedure do banco para consultas puras em PHP/PDO, eliminando dependências que causavam falhas se a procedure estivesse ausente.
Ajuste
Ajustes na Exibição e Ordenação de Sugestões
Configurada a página de sugestões para exibir apenas as pendentes por padrão ao carregar, e ajustadas as consultas e algoritmos de ordenação para que itens pendentes sempre apareçam no topo.
Design
Redesenho das Páginas de Contato, Sugestões e Sobre
Remodeladas as páginas de Contato, Sugestões/Bugs e Sobre/Tutorial com o novo design responsivo Light Theme, tabelas com badges de status, formulários com visual premium e conteúdo atualizado.
Design
Renovação de Login, Modais e Área de Admin
Atualizados os modais de login/logout, a página apenas_membros.php e todas as telas da Área de Admin para os novos padrões visuais Light e Dark Theme 2.0. Corrigidos bugs de redirecionamento e redeclaração de funções na área admin.
expand_more21/08/2026
Ajuste
Evitar Histórico de Autotransferência
Impedido o registro de log de transferência no histórico de jogadores e técnicos quando o clube de origem é o mesmo do clube de destino.
expand_more19/08/2026
Novo
Apresentação Estilo Revista Placar
Nova apresentação oficial de clubes inspirada no design editorial clássico da revista Placar dos anos 90/00, incluindo foto portrait de destaque e cards de jogadores estilo figurinha colecionável.
expand_more19/08/2026
Ajuste
Correção de Erro 500 na Associação de Importados
Corrigidos conflitos de campos obrigatórios sem valor padrão (como ModificadorNivel, salario e clubeVinculado) em bancos MySQL em modo estrito ao salvar contratos de técnicos e jogadores.
Novo
Assistente de Importação e Associação de Jogadores
Implementado assistente inteligente na importação de times (.ymt) e elencos (.jog) para associar jogadores aos registros existentes e preservar o histórico. Modernizado visualmente o dropzone e o layout de todas as páginas de importação (jogadores, times e árbitros) no padrão Visual Guidelines 2.0.
Ajuste
Ajuste na Exportação de Pacotes
Corrigida a exportação do banco de dados SQLite (database.db3) que saía vazio ao adicionar um checkpoint de gravação WAL e fechar a conexão de forma segura antes de realizar a compressão ZIP.
expand_more18/08/2026
Ajuste
Importação de .ymt e Desfalques Externos
Corrigido o botão de importação .ymt (ajuste de delegação de eventos e filtro de extensão do arquivo) e adicionado suporte para controle de lesões/cartões de equipes importadas.
Ajuste
Correção de Erro 500 nas Estatísticas de Competições
Corrigido um erro de sintaxe (chave não fechada no loop de jogadores suspensos) que causava erro 500 ao carregar a página de estatísticas de competições.
Novo
Ativação das Janelas de Transferência e Redesenho de Buscas
Restaurada a cor de destaque (verde/vermelha) na listagem de janelas e removida a coluna legada. Redesenhados os formulários e filtros de busca avançada de jogadores e técnicos no padrão Light Theme com sliders e seletores modernos. Implementado bloqueio de propostas em janelas fechadas.
Design
Redesenho e Paginação AJAX das Listagens do Mercado
Atualização das listagens de Últimas e Maiores Transferências, Jogadores mais Valiosos e Janelas de Transferência no Mercado (/mercado/transferencias.php) para o novo Light Theme visual padrão, com paginação reativa via AJAX e melhor espaçamento entre clubes e ligas.
Design
Redesenho do Mercado (Green Theme)
Atualização da página principal do Mercado (/mercado/) para o novo layout baseado em cards e grid, com o tema visual verde (esmeralda e deep green).
Ajuste
Correção na Importação de .ymt e Desfalques Externos
Corrigido o botão de importação de arquivo .ymt em competições e implementado o controle de lesões e cartões para times externos (não cadastrados no portal) por meio da tabela de status do torneio.
Ajuste
Ajuste no Processamento de Lesões
Correção de erro de propriedade indefinida ao processar a duração de lesões de jogadores a partir do arquivo de partida.
Design
Redesenho do Quadro de Árbitros
Atualização das páginas de listagem, inserção e importação de árbitros para o novo layout (Light Theme), melhorando a responsividade e consistência visual do site.
Novo
Integração do Poltrona Score e Melhoria de Cronologia
Adicionado card de atalho na Home para o Poltrona Score. Ajustada a aba de resultados anteriores para agrupar as partidas por data em ordem cronológica decrescente, com identificação das competições direto nos cards.
Ajuste
Ajuste na Posição dos Marcadores no Mapa de Países
Ajustado o alinhamento do texto dos marcadores de países (ligas/mapa) para o lado esquerdo caso estejam localizados muito próximos da borda direita do mapa, evitando que o texto ultrapasse a tela ou quebre o layout.
expand_more16/08/2026
Novo
Nova Regra de Status na API de Países
Alterada a lógica do filtro de status na API de busca de países: 0 agora filtra apenas países ativos e 1 traz tanto ativos quanto inativos (sem aplicar filtro de atividade).
Ajuste
Correção na Remoção de País da CONFUSA
Corrigida a lógica de atualização no banco de dados que impedia a desmarcação da opção 'CONFUSA?' ao salvar as alterações do país na área do usuário.
Design
Redesign da Tela de Quadro de Ligas (Light Theme)
Atualizado o quadro de ligas (geral.php) para o novo padrão visual Light Theme do site, com contêineres e cards translúcidos, tabelas modernas responsivas adaptadas para celulares e tipografia premium.
Novo
Edição e Exclusão de Transferências Históricas
Adicionado recurso para donos de jogadores editarem e excluírem qualquer registro do histórico de transferências do jogador diretamente através da tabela de transferências. Reposicionadas as marcas de carreira gerais para uma barra horizontal abaixo das informações gerais com cores corretas para os cartões. Adicionado suporte e exibição garantida de desempenho por clube na tabela e botões de ação padronizados. Aplicada otimização responsiva completa para dispositivos móveis, garantindo o tamanho fixo do campo tático para perfeito alinhamento, movendo o botão de salvar atributos para dentro do card e corrigindo uma tag HTML de fechamento extra (stray div) que causava espaçamento indesejado abaixo do rodapé no servidor.
Design
Redesign da Tela de Detalhes do Jogador (Light Theme)
Modernizada a página de visualização do jogador aplicando o layout Light Theme (padrão das páginas internas do site), integrando desfoque de fundo (backdrop-filter) e ajustando o gráfico Plotly para o tema claro. Corrigido o alinhamento de blocos, sobreposições e alinhamento das colunas da tabela de transferências; removida tag PHP perdida na página.
Novo
Registro de Transferências Históricas de Jogadores
Adicionado recurso para donos de jogadores registrarem transferências do passado diretamente no histórico do jogador através de um novo modal na tela de detalhes do jogador, sem alterar o contrato ou clube atual.
Novo
Atualização das regras do projeto para o Agent
Adicionadas regras específicas no AGENTS.md sobre tratamento case-sensitive em SQL e fallback para comandos executados via shell_exec.
Ajuste
Correção de erro de sintaxe SQL em transferências
Corrigida a caixa (case-sensitivity) do alias da tabela clube (CD.Escudo para cd.Escudo) na consulta de transferências, resolvendo o erro de prepare no banco de dados em ambientes Linux.
Ajuste
Ajuste na compressão de PNG com pngquant
Implementado fallback automático para carregar a imagem original caso o otimizador pngquant falhe ou não esteja disponível no servidor, evitando erros fatais durante o upload de escudos e imagens.
expand_more15/08/2026
Ajuste
Criação de Páginas de Erro Estáticas SHTML
Criadas as versões .shtml estáticas das páginas de erro (400, 403, 404, 500 e 503) livres de PHP, prontas para serem copiadas e configuradas diretamente no servidor Web (Apache/Nginx). Adicionado flex-shrink: 0 ao rodapé (footer) para manter a altura padrão de 60px sem sofrer compressão flexbox.
Ajuste
Correção de Falha Crítica na Simulação de Partidas (Motor Java)
Corrigido o erro que interrompia a simulação de partidas com a mensagem 'Erro ao criar compatibilidade com a versão 2.10'. A limpeza de tabelas temporárias residuais foi aplicada tanto na simulação manual (simular_partida.php) quanto na simulação automática (cron_simular_jogos.php).
Novo
Prevenção de Travamentos no SQLite (WAL & Busy Timeout)
Ativado o modo de gravação WAL (Write-Ahead Logging) e configurado o busy_timeout de 5 segundos nas conexões SQLite para evitar erros de banco travado (database is locked).
Ajuste
Ajuste na Exportação do Banco (Tratamento de Caracteres Especiais)
Corrigido erro que interrompia a exportação de banco de dados do país devido a nomes de escudos com caracteres especiais/entidades HTML duplicadas (como '&amp;'). Agora os caminhos são limpos e testados antes da cópia.
Novo
Limpeza de Logs de Depuração na Listagem de Jogos
Comentado o log de aviso de nenhum jogo encontrado para uma competição no refresh_match_list.php para evitar a poluição do arquivo php_errors.log.
Ajuste
Ajuste de Limite de Memória e Correção no Upload de Escudos
Aumentado o limite de memória global para 256M a fim de evitar estouros no processamento de imagens, e corrigida a verificação do formato PNG na função de importação.
Ajuste
Correção no Importador de Planilha de Elenco
Corrigido erro 'Undefined offset' que ocorria ao finalizar a leitura de linhas na importação de planilha de jogadores.
Novo
Liberação de Edição de Países e Novo Design
Habilitada a opção para mover países para fora da CONFUSA no Quadro de Países, e a tela foi completamente redesenhada com o novo design system Light Theme premium.
Novo
Desativação do Deploy via GitHub Actions
Desativado o fluxo de deploy automático via FTP no GitHub Actions devido a problemas de leitura do arquivo de estado no servidor.
Ajuste
Ajuste na Validação de Redirect URI no Confusauth
Ajustada a comparação de redirect_uri no fluxo OAuth para ignorar a porta quando o host for localhost, permitindo o desenvolvimento local flexível.
expand_more14/08/2026
Ajuste
Limpeza do .htaccess de Erros
Removidas as diretivas locais de ErrorDocument do .htaccess principal, delegando o tratamento de páginas de erro ao servidor LiteSpeed.
Novo
Gitignore Atualizado (Octamotor)
Adicionado o diretório de configurações do Octamotor no .gitignore para evitar o envio de credenciais e backups de banco locais.
Novo
Contador e Lista de Enviar Fichas
Adicionado um contador dinâmico de fichas pendentes no card do painel, e corrigida a exibição de competições sem prazo definido na lista.
Ajuste
Correção de Erro nas Opções de Competição
Corrigido erro 500 ao salvar opções de competição, garantindo a criação das tabelas no SQLite, adicionando tratamento de exceções robusto e validando conexões nulas na classe SQLiteDatabase.
Novo
Restauração do Quadro de Fichas
Restaurado o card para 'Enviar Fichas' na página inicial do painel de usuário.
Novo
Ativação da COISO TV
Habilitada a área da COISO TV na página inicial com link direto para coisotv.libracromos.site.
Novo
Gitignore Atualizado
Adicionada a pasta 'full hexa suite' no .gitignore para evitar commits acidentais de arquivos locais.
Ajuste
Filtro de Notificações de Transferências
Ajustado o fluxo para notificar apenas transferências legítimas de clube para clube, ignorando contratações de agentes livres (sem clube) ou importações automáticas de jogadores.
Ajuste
Links e Tipagem no Notificador do Discord
Remoção de marcações Markdown que quebravam links de escudos, correção do caminho absoluto da bandeira do país do jogador e mapeamento amigável dos tipos de transferência para exibir nomes em vez de IDs numéricos.
Novo
CI/CD com GitHub Actions e FTP
Criação do fluxo de deploy automático para sincronizar apenas arquivos modificados na produção via FTP a cada novo push no branch master.
expand_more12/08/2026
Ajuste
Configuração SMTP do PHPMailer
Configurado o SMTPOptions para contornar problemas de verificação de SSL/TLS com o hostname, resolvendo a falha no envio do e-mail de Boas-vindas e Recuperação de Senha.
Ajuste
Prevenção de Fatal Error no Cadastro
Adicionado tratamento de exceção com try-catch ao enviar o e-mail de boas-vindas no cadastro de usuários, evitando que a tela trave caso ocorra um erro de SMTP.
expand_more11/08/2026
Novo
Prevenção de Travamentos no Banco de Dados
Configurado o busy_timeout de 5 segundos e o modo de gravação WAL no SQLite para evitar o erro de banco travado (database is locked), otimizando a concorrência e compatibilidade com pastas sincronizadas.
expand_more10/08/2026
Ajuste
Compatibilidade com PHP Legado em Propostas
Removida a tipagem de propriedades e métodos nas classes Transfer e TransferNotifier para garantir compatibilidade completa com versões do PHP anteriores à 7.4, resolvendo o erro de sintaxe ao aceitar propostas.
Ajuste
Correção do Service Worker (PWA)
Migrado o Service Worker raiz para uma estratégia Network-First limpa e segura. Isso garante que os usuários sempre carreguem os estilos e ícones mais recentes direto da rede ao estarem online, mantendo a instalação do PWA funcionando.
expand_more09/08/2026
Design
Cards de Jogadores no Elenco
Eliminada a tabela legada da aba Elenco, substituída por grade de cards modernos com bordas coloridas por titularidade (verde = Titular, azul = Reserva, cinza = Suplente), glassmorphism e hover com elevação.
Ajuste
Correção de Troca de Elenco (Internal Server Error)
Corrigido bug crítico onde a classe CSS do card invadia a div #quadro-container, corrompendo o ID do time enviado via AJAX e causando erro 500 nas trocas.
Design
Uniformes e Fotos dos Jogadores no Campinho
Adicionada a foto circular do jogador ao lado do uniforme em cada posição no campo tático. O goleiro também passou a exibir seu uniforme (camisa 2) e foto. Cores do campinho agora são sólidas por linha (Goleiro=Amarelo, Defesa=Azul, Volante=Teal, Meia=Verde, Armador=Roxo, Atacante=Vermelho).
Design
Badges de Atacante (Am / Aa) Visíveis
As siglas de estilo de jogo dos atacantes (Am = Movimentação, Aa = Área) agora aparecem como badges coloridos no canto superior do card do campinho e continuam alternando corretamente ao clicar com o botão direito.
Ajuste
Arrastamento sem Rolar a Página
Adicionado touch-action: none nos blocos do campinho para impedir que o arrasto de jogadores role a página em dispositivos touchscreen.
Design
Toast de Atualização Flutuante
O aviso 'Atualizando...' que deslocava o layout da página ao aparecer foi substituído por um toast flutuante no canto inferior direito, que aparece e desaparece automaticamente sem mexer no conteúdo.
Design
Botão e Formulário de Capitão/Cobradores Redesenhados
O painel de seleção de Capitão e Cobradores de Pênalti foi reformulado com tipografia Kanit, campos estilizados e botão de envio centralizado com gradiente esmeralda e micro-animação. Campos sem seleção continuam sendo destacados em vermelho (lightcoral).
Design
Redesign das Telas Financeiras
Padronização das telas de resumo financeiro e de inserção de transações com o Light Theme padrão do site (fundo claro com gradiente e glassmorphism), inputs e selects modernos, além da inclusão de tags data-label e wrappers cell-value para responsividade mobile e botões de retorno unificados.
Design
Ajustes de Layout e Usabilidade Mobile no Painel do Time
Centralização dos uniformes, estádio e botão de apresentação no mobile. Correção de colisão de dados e ocultação definitiva de elementos fantasma na listagem de jogadores. Implementação de botões de ação rápidos inline na aba de elenco e inclusão da biblioteca Touch Punch para habilitar drag-and-drop por toque no campinho tático simplificado no mobile.
expand_more08/08/2026
Novo
Desativação Temporária do Seletor de Árbitro
Desabilitado e estilizado (grayed out) o seletor de árbitros na lista de jogos por se tratar de uma funcionalidade ainda não implementada.
expand_more05/08/2026
Novo
Algoritmo Berger de Tabela
Implementado o algoritmo oficial de Berger do Hexacolor Scheduler v1.2 na geração de tabelas de pontos corridos e mistas, assegurando a rotação ideal de equipes e alternância correta de mandos de campo.
Novo
Análise Tática Comparativa de Seleções
Desenvolvido o relatório de avaliação e previsão tática para o confronto Polusca vs Orion com base nos parâmetros .ymt importados, detalhando estilos e mentalidades de técnicos, goleiros e punição de formação.
Ajuste
Regras do Mata-mata
Corrigida a opção de pênaltis e prorrogação no mata-mata e na final, carregando as regras dinâmicas no JSON de simulação. Corrigido o bug que exibia a fase de pontos corridos como Oitavas de Final e impedia a exibição da classificação única. Ajustamos a fase de grupos do formato Misto para fase 2 (fase de grupos) e corrigimos o mapeamento de rótulos do mata-mata no painel de estatísticas.
Ajuste
Desativação de Logs Excessivos
Comentado o log temporário do arquivo config/session.php que escrevia continuamente no arquivo debug_session.txt em cada requisição de página para evitar consumo excessivo de disco (estava acumulando até 84MB).
expand_more03/08/2026
Ajuste
Ajuste na Simulação Headless e Cron
Adicionado parâmetro -Djava.awt.headless=true para corrigir erros de AWTError no servidor Linux. O cron foi configurado para buscar partidas das próximas 24h a partir do momento de execução. Além disso, criamos uma validação para impedir que falhas na simulação salvem um placar falso de 0x0 no banco de dados, um injetor automático das versões de compatibilidade requeridas pela engine no SQLite temporário (2.8, 2.9.1, 2.10, 2.13), e desenvolvemos um script utilitário (/competicoes/hexacolor/reset_failed_simulations.php) para varrer e resetar automaticamente os jogos que ficaram travados em 0x0 sem arquivo de súmula.
expand_more02/08/2026
Novo
Navegação Padronizada em Competições
Adicionado um botão padronizado de 'Voltar para a Competição' no rodapé de todas as subpáginas de gerenciamento (Estatísticas, Jogos, Equipes, Opções e Escalação), facilitando o retorno rápido à tela principal do torneio.
Ajuste
Correção no Motor de Simulação
Corrigido erro que impedia a simulação correta das partidas no ambiente de produção (jogos 0x0) e consequentemente não gerava a imagem da súmula. Ajuste nos caminhos absolutos do servidor Linux e unificação para utilização da versão V2 do motor de simulação (HexacolorYMTv2.jar) em todos os ambientes.
Ajuste
Correção de Layout Mobile em Competições
Corrigido o layout quebrado da listagem de competições no celular, organizando a exibição em cards e centralizando as informações de destaque.
Ajuste
Correção de Privilégios na Impersonação
Ajustado o sistema para que, ao impersonar um usuário (login via Admin%Usuario), a sessão assuma corretamente os mesmos privilégios e permissões do usuário destino, permitindo testes mais precisos sem manter status de administrador, mas preservando o selo visual de impersonação.
Ajuste
Correção: Erro ao Salvar Árbitros nas Opções da Competição
Corrigido erro fatal (PDOException) que impedia salvar as configurações de árbitros de uma competição. O INSERT na tabela SQLite 'trioarbitragem' usava nomes de colunas incorretos (NomeArbitro, NomeAuxiliarUm, NomeAuxiliarDois) em vez dos nomes reais do schema (Arbitro, Auxiliar1, Auxiliar2).
expand_more01/08/2026
Ajuste
Correção: Erro ao Inserir Times na Competição
Corrigidos múltiplos bugs que impediam a inserção de times em competições: (1) Parâmetros PDO duplicados na query SQL de alterarPaisTime causavam erro fatal; (2) O método directRun do SQLite aplicava htmlspecialchars na query SQL, corrompendo os dados antes da execução; (3) getConnection do SQLite fazia echo do erro quebrando respostas JSON; (4) Tabelas SQLite não eram inicializadas em competições novas.
Novo
Adição de COISO TV (Em Breve) na Home
Alterado o antigo link do Portal COISO para COISO TV e sinalizado como 'Em Breve' (desabilitado) na página inicial.
Novo
Módulo de Envio de Fichas na Área do Usuário
Adicionado novo card e gaveta de ações para 'Envio de Fichas' diretamente na tela inicial do usuário. Permite enviar times do portal ou importar arquivos .ymt para competições ativas dentro do prazo de envio de forma totalmente inline, com sinalização de urgência quando restarem menos de 7 dias.
Ajuste
Ajuste na Criação de Competição e Notificações Toast
Redirecionamento automático para a tela de índice de competições após criar uma competição com sucesso. Correção do posicionamento dos alertas (toasts) para que flutuem no topo direito (estilo toast moderno) sem entrar atrás do cabeçalho da página, com suporte a auto-ocultação após 5 segundos. Correção do erro fatal de classe 'SQLiteDatabase' ausente ao abrir competições recém-criadas. Correção da chamada da imagem da federação para letras minúsculas para compatibilidade com sistemas Linux (ex: feasco.png).
Design
Redesign da Página de Jogos Ativos
Migrada a página de jogos ativos para o padrão estético de tema claro (estilo branco) consistente com as demais páginas redesenhadas (como Minhas Propostas e Competições), ajustando o contraste de textos, botões e elementos informativos.
Ajuste
Correção Global do Rodapé Flutuante (Footer Sticky)
Implementada detecção ultra-robusta via $_SERVER['REQUEST_URI'] no arquivo elements/footer.php para aplicar os estilos de rodapé sticky ('position: relative !important') nas páginas redesenhadas. Corrigido o colapso de layout removendo dinamicamente 'margin-bottom: 50px' de html/body nessas páginas para evitar que o conteúdo transborde, e mapeado o aprendizado de fluxo de diagnóstico nas diretrizes gerais do projeto (.agents/AGENTS.md).
Ajuste
Correção de Duplicidade de Perfil em Páginas Antigas
Ajustada a visibilidade do cabeçalho em páginas antigas (sem CSS redesign): ocultados o avatar e nome redundantes no botão do menu (exibindo o ícone tradicional de três linhas) e mantido apenas o identificador padrão para evitar poluição visual.
Novo
Notificador de Transferências no Discord
Finalizada a integração do notificador de transferências com o Discord. Corrigida a formatação de imagens usando caminhos absolutos e adicionado suporte para exibição estilizada de valores e data da transferência.
Ajuste
Ajuste de Escala dos Avatares no Cabeçalho
Adicionado estilo global de fallback para os avatares do usuário no cabeçalho e menu lateral, impedindo que imagens grandes fiquem gigantescas em áreas ainda não repaginadas do site.
Design
Redesign da Tela de Preferências e Alterar Senha
Repaginada a tela de alterar senha e preferências de conta com base nas novas diretrizes de design system, implementando glassmorphism real e corrigindo o conflito de cabeçalho e rodapé antigos.
Ajuste
Correção e Ajuste Layout em Jogos Ativos
Corrigido o erro Fatal PDOException 'Invalid parameter number' na tela de jogos ativos do usuário, separando os placeholders nomeados na consulta. Ajustado o layout do container para usar 'redesign-container', resolvendo o footer flutuante e adicionando espaçamento superior para não cortar no cabeçalho.
Ajuste
Páginas de Erro Personalizadas
Criação de páginas de erro estilizadas (400, 403, 404, 500 e 503) com layout de glassmorphism, suporte responsivo e imagens divertidas fornecidas pelo usuário.
Novo
Refatoração do Módulo de Competições
Renomeado o arquivo principal de índice de competições (de indice_competicoes.php para index.php) visando simplificação de rotas e consistência de padrões de URL do projeto.
Novo
Integração de Perfil no Menu Sanduíche e Upload de Avatar
Incorporado o crachá de perfil do usuário (nome e avatar/foto) diretamente no botão acionador do menu sanduíche, ocultando a barra de texto central no topo do site para uma navegação mais limpa. Adicionado suporte a banco de dados e upload de avatar personalizado na página de preferências, além de um banner de perfil detalhado com etiqueta/badge especial de Administrador no topo do menu lateral.
Novo
Escalações Centralizadas, Exportação Excel de Tabela e Salvar Definitivo
Adicionado painel de próximos jogos de times do usuário na área de membros com realce e contador de desfalques ativos. Criada exportação e importação via Excel (.xlsx) das tabelas de jogos das competições com validação de escopo. Implementada a opção de salvar a escalação modificada em jogo de forma definitiva para o clube. Realizado rebranding da tela de criação de competições com Glassmorphism e botões da barra de ferramentas. Implementado mecanismo de fila de espera (lock de concorrência com timeout de 45s) na simulação de partidas para evitar conflitos de simulação concorrente no servidor e garantir atualização automática da tela do usuário quando liberado.
Design
Melhorias de Permissões, Visual de Lesões e Loader de Simulação
Implementada tela de carregamento (loader) em tela cheia com progresso detalhado dinâmico durante a simulação de jogos. Adicionada badge visual destacando lesões ativas na página do jogador. Concedidos privilégios de gerenciador/administrador das competições para seus criadores correspondentes.
expand_more31/07/2026
Ajuste
Correção de Simulação Travada e Streaming de Súmula
Corrigido o travamento (loop infinito) ao simular partidas definindo como null todas as declarações PDO ativas antes de fechar a conexão SQLite, liberando totalmente o banco database.db3. Impedida a edição/exclusão de partidas já simuladas. Configurado o streaming dinâmico da imagem PNG da súmula em qualquer rodada usando glob via PHP para contornar erros 404 e problemas de caracteres especiais no Windows.
expand_more30/07/2026
Novo
Suporte a Escalação por Jogo Específico
Implementada a possibilidade de salvar escalações e desfalques manuais específicos para cada partida. O sistema agora carrega e aplica essas alterações temporariamente durante a simulação do jogo sem sobrescrever de forma definitiva a escalação padrão do clube.
Ajuste
Correção no Salvamento de Escalação
Corrigido o erro de índices indefinidos (Undefined index) ao salvar a escalação pré-jogo, mapeando corretamente as colunas de posições no banco de dados SQLite.
expand_more29/07/2026
Novo
Melhorias na Tela de Escalação Pré-Jogo
Corrigido erro fatal ao carregar a escalação. Adicionado seletor de posição por jogador com base nas posições disponíveis, opção de marcar jogador como indisponível manualmente e limite visual de 11 titulares com contador em tempo real. Layout reformulado com tema escuro e botões corrigidos.
Ajuste
Ajuste de Layout e Paginação na Lista de Jogos
Corrigida a importação dupla de cabeçalho que quebrava os estilos na página de confrontos e refatorado o visual dos botões de paginação ativa para evitar textos desbotados.
Novo
Criação da Tela de Estatísticas da Competição
Desenvolvido o painel completo de estatísticas do torneio contendo tabela de classificação de grupos, chaves de mata-mata, artilharia, assistências, cartões, suspensões e departamento médico.
Novo
Prioridade de Desempate na Fase de Grupos
Adicionado seletor de prioridade de desempate para a fase de grupos nas configurações da competição, permitindo ordernar os critérios de Saldo de Gols, Gols Pró, Vitórias e Confronto Direto.
Design
Redesign da Tela de Opções da Competição
Atualizada a tela de opções e configurações com cartões translúcidos integrados ao tema claro, novos controles de inputs e Select2 múltiplos totalmente estilizados no padrão CONFUSA 2.0.
Novo
Seleção de Árbitros e Estádios
Adicionado painel de configuração de arbitragem (específicos, país ou federação) e estádios (da sede, com opção de desativar os estádios padrões de mandantes) na tela de opções da competição.
Design
Redesign da Tela de Lista de Jogos
Removidos estilos inline e reestruturada a página de lista de confrontos da competição com cards responsivos no mobile, formulário de novos jogos e placares modernos.
Design
Redesign da Tela de Lista de Times
Atualizada a tela de gerenciamento de equipes participantes da competição com cards responsivos de vagas, customização moderna para Select2 e botões de ação estilizados.
Novo
Migração de Desfalques para MySQL
Migrado o controle de desfalques do SQLite para o banco central MariaDB: adicionada coluna lesionado_ate (data limite) na tabela jogador e criada tabela competicao_suspensos (por torneio), com sincronização dinâmica no simulador.
Design
Redesign da Tela de Status da Competição
Reestruturada a página principal de status de competições com visual moderno, banner da competição em glassmorphism, barra de progresso de equipes inseridas e grid de ações estilo home hub.
Design
Redesign do Índice de Competições
Aplicadas melhorias visuais e estilização responsiva na página do índice de competições para alinhar-se com o layout premium e cores das telas de propostas.
Ajuste
Ajuste na Escalação Pré-Jogo do SQLite
Corrigido erro no carregamento e salvamento de escalações onde colunas como Titular, Capitao e Clube eram lidas diretamente do jogador ao invés de usar as tabelas elenco/escalacao.
Ajuste
Correção no Buscador de Competições
Corrigido erro 500 no endpoint de busca de competições adicionando tratamento de exceções robusto e mantendo compatibilidade de parsing no frontend.
Novo
Correções de Estabilidade e Índices no Site
Corrigidos avisos de índice indefinido para o parâmetro de time nas ligas e ranking (teamstatus.php). Adicionado tratamento global amigável para falhas de conexão com o banco de dados (database.php) para evitar Fatal Errors.
expand_more28/07/2026
Novo
Configuração do Gitignore para Ferramenta de Compatibilidade
Atualizado o arquivo .gitignore para ignorar arquivos locais e relatórios gerados pela ferramenta de compatibilidade de PHP (PHPCS e PHPCompatibility).
Novo
Datas de Envio e Conclusão nas Propostas
Adicionada a exibição das colunas de Data de Proposta e Data de Conclusão (exibida em branco se não houve ação) nas tabelas de jogadores e técnicos. O banco de dados agora atualiza a data de conclusão (dataConclusao) automaticamente ao aceitar, recusar ou contrapropor.
Ajuste
Ajuste na Contagem de Propostas e Redesign de Técnicos
Ajuste na contagem de propostas ativas da Minha Área para focar somente em ações pendentes (recebidas e contrapropostas) e redesign da tela de propostas de técnicos no mesmo estilo visual moderno.
Design
Redesign da Tela de Propostas de Jogadores
Atualização da tela de Minhas Propostas de Jogadores para um design limpo e moderno. A página conta com um fundo cinza claro premium e marca d'água azul da CONFUSA, com as propostas exibidas em linhas coloridas de acordo com o status (verde para aceitas, vermelho para recusadas, amarelo para contrapropostas), botões de ação e paginação moderna sem textos auxiliares redundantes.
Design
Redesign Moderno da Minha Área
Atualização da página de Minha Área para o novo sistema visual 2.0 com um tema exclusivo em tons de laranja e âmbar, incluindo marca d'água integrada em laranja e fundo dos cartões em tom terracota escuro. Os links agora são exibidos em cards modernos no estilo glassmorphism, com imagens superiores dinâmicas e novos indicadores em tempo real para propostas de transferências pendentes e status de sincronização com o simulador HYMT.
Ajuste
Correção de Erro 500 na Confirmação de Importação
Corrigido um erro fatal que ocorria ao tentar confirmar a importação de jogos duplicados/existentes, direcionando a chamada para o método correto de atualização de placar no banco de dados.
Design
Tela de Importação de Jogos: Visual e UX Aprimorados
A tabela de revisão de jogos agora utiliza o mesmo estilo visual do restante do site (fundo branco, bordas suaves, cores laranja e azul escuro). O box de upload e os seletores de campeonato/fase ficam ocultos durante a revisão, evitando poluição visual. Linhas fantasmas (sem arquivo válido) são filtradas automaticamente. Adicionado botão 'Nova importação' para reiniciar o fluxo sem recarregar a página.
expand_more27/07/2026
Ajuste
Importação de Jogos do Ranking em Duas Etapas e Correção com Select2
Criado um fluxo de validação intermediário para arquivos .hyl. Agora, o usuário visualiza uma tabela de revisão com o status dos jogos, mapeamento automático de países/bandeiras e pode corrigir divergências usando seletores dinâmicos (Select2) antes de confirmar a importação do lote todo de uma só vez.
expand_more26/07/2026
Design
Redesign 2.0 da Página Inicial (Home Hub)
Criado o novo layout e estilo da home (index_v2.php e css/home_redesign.css) com base nas diretrizes de alta fidelidade visual. O novo hub conta com glassmorphism real, grid responsiva moderna, tipografia limpa e links sanitizados.
Novo
Refatoração de Simulação & Cron
Criado o script Cron para simulação automática diária das partidas agendadas. Implementado o controle de suspensões e lesões no JAR, a padronização em data/database.db3, a tela de escalação pré-jogo (escalacao_jogo.php) com consulta ao dono da equipe pela MariaDB e obtenção de PosicaoBase via JOIN na tabela posicaojogador, agendador com rodadas espaçadas em 3 dias para torneios mistos e ícone de escalação ao lado dos times.
expand_more18/07/2026
Ajuste
Correção na Aprovação de Transferências
Corrigida falha na aprovação de propostas de transferências para jogadores com siglas de posições textuais (caso do Jogador 51276). Corrigido erro de chamada estática inexistente na classe Transfer e adicionado bloco try-catch capturando Throwable para registro detalhado de erros no servidor.
expand_more14/07/2026
Ajuste
Correção de Erros e Avisos no Painel do Time e Ligas
Corrigidos múltiplos avisos de índices indefinidos (Undefined index) na página de apresentação do time (team_presentation.php) e no status do país (paisstatus.php), um erro de sintaxe SQL (PDOException) em Time::readExtraInfo, e um erro de coluna não encontrada (PDOException) no método countAll da classe Liga através da parametrização de consultas SQL e validação de parâmetros.
expand_more12/07/2026
Novo
Infraestrutura de Assistente de IA (MCP) Híbrida
Criação do servidor MCP nativo híbrido (SSE e POST) sem dependências. Suporta autenticação automática por tokens gerados na conta, buscas por nome do clube, ferramenta para comparação de elencos e filtros inteligentes de mercado (como posições, nacionalidade do jogador e dono do time).
Design
Painel de Preferências da Conta
Redesenhada a antiga página de alteração de senha para um painel completo de Preferências. Permite editar o Nome Real de exibição separadamente da senha, traz o link do MCP parametrizado com manual passo a passo explicativo (@ChatGPT) e o download do ícone oficial.
Ajuste
Compatibilidade PHP e Correções de Bugs
Desenvolvimento do script check_php, inclusão do polyfill mbstring, correção de divisão por zero no status da liga, tratamento de erro de tipo de dados nos técnicos e limpeza de avisos de chaves indefinidas no status do time.
Novo
Garbage Collection de Sessões
Implementada limpeza assíncrona automática de sessões locais expiradas (com mais de 30 dias) para controlar o crescimento do diretório no servidor compartilhado.
expand_more11/07/2026
Design
Otimização Mobile da Área do Usuário
Ajustado o layout da Área do Usuário (Painel) para ser totalmente responsivo em dispositivos móveis, adaptando os quadros de opções de forma idêntica à página principal.
Segurança
Prevenção de Injeção SQL
Corrigidas vulnerabilidades de injeção de SQL em diversas consultas do sistema (classes Clube, Liga, Paises, Competicao_clube) migrando para Prepared Statements com bindParam e validação numérica rigorosa para neutralizar entradas maliciosas.
Novo
Infraestrutura e Performance
Aumentado o limite de uploads simultâneos (max_file_uploads = 300) em php.ini, ampliada a memória do script de busca (memory_limit = 512M) para evitar erros de estouro de RAM e adicionado suporte a variáveis de ambiente (.env).
Ajuste
Correção de Erros Críticos
Implementada compactação recursiva segura (addDirToZip) no ZipArchive para evitar erros de pastas tratadas como arquivos, adicionado tratamento robusto com Throwable no envio de e-mails via PHPMailer e validações de existência de arquivos temporários antes de excluir.
Ajuste
Correção de Avisos do PHP
Corrigidos múltiplos avisos de variáveis, offsets e índices indefinidos na navegação de usuários deslogados, no gerador de elencos (tamanho mínimo 25) e em páginas como alterar_atributos.php, criar_demografia.php, listajogos.php, match_info.php e alterar_time.php.