3.00.237 - Evita logs duplicados causados por auto-discovery do Laravel; BCC oculta em todas as mensagens configurável via MAIL_BCC_ADDRESS
3.00.236 - SubscriptionService garante uma assinatura ativa/trialing por usuário; migration deduplica existentes; Register, Auth, GoogleAuth e malange:assign-trial refatorados
3.00.235 - Exibe nível máximo atingido (MASANIELLO/MARTINGALE/SOROS) na interface e no relatório da sessão
3.00.233 - E-mail para trial vencendo, questionário de avaliação, cupom LAUNCH, contato WhatsApp/Telegram, painel admin de avaliações
3.00.232 - CLOUD: E-mail trial vencendo (questionário, cupom LAUNCH), job diário 8h, painel avaliações admin
3.00.231 - Cronômetro da página Status alinhado com logs do container via robot_started_at; em restart a sessão permanece
3.00.230 - Cronômetro da página Status alinhado com o exibido nos logs do container (robot_started_at); em restart a sessão permanece e o cronômetro não reinicia
3.00.229 - Página Status do robô: remove ID do container, adiciona cronômetro HH:MM:SS e PnL Hoje no fuso horário local do usuário
3.00.228 - Status do robô: remove ID do container, adiciona cronômetro de duração da sessão (HH:MM:SS), PnL Hoje no timezone local do usuário
3.00.227 - Salva corretora escolhida no config para não perguntar novamente na próxima execução
3.00.226 - Permite valor da entrada, stop win e stop loss em percentuais na configuração interativa
3.00.225 - - deploy_desktop_full.ps1: log completo (deploy_full_*.log), ErrorAction Continue
3.00.224 - - build_and_deploy_desktop.py: prioriza v2, paths /api/v2/, aviso backup na mensagem WhatsApp
3.00.223 - Ao carregar do sample (config.txt ausente), remove corretora da configuração
3.00.222 - Importação substitui totalmente a configuração preexistente; corrige problemas reportados pelos usuários
3.00.221 - Admin Robôs: ícone fullscreen na área do título abre tabela em tela cheia com coluna Confluências após Estratégia
3.00.220 - Admin Robôs: coluna ID à esquerda em ambas as tabelas
3.00.219 - Admin Robôs: coluna Gerenciamento exibe níveis entre parênteses (ex: MARTINGALE (4), MASANIELLO (6))
3.00.218 - Admin Robôs: ícone de olho para ocultar/mostrar colunas nome e email (privacidade)
3.00.217 - Orquestrador: reata sessão ao container em execução (label) quando container_id 404 ou vazio - robô volta a aparecer na interface
3.00.216 - Corrige leitura dos parâmetros pl_* e sr_* em produção: fallback AJUSTES -> AVANCADOS no ConfigManagerDB
3.00.215 - O scale que escalava os stakes pelo valor_entrada podia amplificar os valores
3.00.214 - Valida existência da estratégia antes de gravar strategy_id na sessão.
3.00.213 - Corrige início/parada de robô pela lista web (rotas web e sessão).
3.00.212 - Estratégia 46 Lógica de Preço: config.txt pl_*/sr_*, Malange Cloud (menu, parâmetros, export/import), manuais atualizados
3.00.211 - Indicador de operação pendente na coluna PnL passa a ser círculo amarelo com P em vez de asterisco.
3.00.210 - Indicador TTZ pausado na página Admin Robôs: círculo vermelho com T quando filtro TTZ ativo e mercado fora da cor autorizada.
3.00.211 - Admin Robôs: operação pendente passa a ser indicada por círculo amarelo com P em vez de asterisco.
3.00.210 - Indicador TTZ pausado na página Admin Robôs (círculo vermelho com T quando mercado fora da cor autorizada).
3.00.209 - Comentário no código explicando que PDF e PNG usam a mesma captura; defeitos aparecem iguais.
3.00.208 - Evita recorte da metade inferior das letras na exportação; overflow visible, line-height e padding no clone.
3.00.206 - PDF em formato A4; PNG em alta resolução e layout de exportação legível (largura mín. 1200px, escala 4).
3.00.204 - Exportação PDF/PNG sempre em tema claro; corrige blocos escuros quando dark mode está ativo.
3.00.202 - Corrige exportação na Dashboard tratando oklab() além de oklch() (html2canvas não suporta).
3.00.200 - Corrige exportação PDF/PNG copiando cores computadas do original para o clone (evita parse de oklch pelo html2canvas).
3.00.198 - Corrige exportação PDF/PNG convertendo oklch para rgb no clone (html2canvas não suporta oklch do Tailwind v4).
3.00.196 - Exportar relatório de sessão e dashboard para PDF ou PNG a partir da interface web, preservando o visual.
3.00.194 - Atualização automática de versão
3.00.193 - Atualização automática de versão
3.00.192 - Atualização automática de versão
3.00.191 - Atualização automática de versão
3.00.190 - Atualização automática de versão
3.00.189 - Atualização automática de versão
3.00.188 - Inclui parâmetros RSI (zonas compra/venda), Keltner (tipo de média) e tendência na tela de configuração dos robôs.
3.00.186 - Atualização automática de versão
3.00.185 - Atualização automática de versão
3.00.184 - Adiciona logs de debug para o fluxo de envio de e-mail (reset de senha e qualquer e-mail) para suporte ao usuário
3.00.183 - Corrige erro 'An email must have a From or Sender header' quando MAIL_FROM_ADDRESS está vazio em produção
3.00.182 - Corrige conflito da propriedade subject no PasswordResetMail com Illuminate\Mail\Mailable (redefine redefinição de senha)
3.00.181 - Atualização automática de versão
3.00.180 - Cronômetro: sempre buscar duration_seconds na API quando tiver sessão (mesmo com started_at do arquivo/DB).
3.00.179 - Cronômetro após restart: API retorna duration_seconds; bot usa duração do servidor + delta local (independente do relógio do container).
3.00.178 - Atualização automática de versão
3.00.176 - Cronômetro: não travar em 00:00 quando relógio do container está atrás do servidor (fallback para contar a partir de agora).
3.00.180 - Cronômetro: sempre buscar duration_seconds na API quando tiver sessão (mesmo com started_at do arquivo/DB).
3.00.179 - Cronômetro após restart: API retorna duration_seconds; bot usa duração do servidor + delta local (independente do relógio do container).
3.00.177 - Cronômetro: fallback só quando atraso do relógio >1 min (evita zerar no restart com skew pequeno).
3.00.176 - Cronômetro: não travar em 00:00 quando relógio do container está atrás do servidor (fallback para contar a partir de agora).
3.00.175 - Incluir MALANGE_APP_URL no environment do serviço web para o orquestrador repassar ao container do robô. Config services e .env.example.
3.00.174 - Cronômetro: fallback de URL da API quando MALANGE_APP_URL não está no container (MALANGE_BASE_URL ou https://malangecloud.com.br). Inclui script de teste da API.
3.00.173 - Cronômetro: fallback via API Laravel quando MySQL e arquivo falham; MALANGE_APP_URL no container.
3.00.172 - Cronômetro: arquivo em /app/.session_started_at (fixo); logs ao gravar/carregar para diagnóstico.
3.00.174 - Cronômetro: fallback de URL da API quando MALANGE_APP_URL não está no container (MALANGE_BASE_URL ou https://malangecloud.com.br).
3.00.173 - Cronômetro: fallback via API Laravel (GET /api/bot/session-started-at) quando MySQL e arquivo falham; MALANGE_APP_URL no container.
3.00.172 - Cronômetro: arquivo em /app/.session_started_at (fixo); logs ao gravar/carregar para diagnóstico.
3.00.171 - Cronômetro após reinício: started_at persistido em arquivo no container (não depende do MySQL no restart).
3.00.170 - Cronômetro: retentativas ao buscar started_at no banco e conversão de timezone segura (reinício com env correto).
3.00.169 - Cronômetro: interface moderna consulta started_at a cada desenho via getter (corrige zerado após reinício).
3.00.168 - Cronômetro após reinício: definir session_id a partir de MALANGE_SESSION_ID antes de conectar ao banco para o fallback do started_at funcionar.
3.00.167 - Relatório de sessão emite datas em ISO UTC para o frontend exibir em horário local
3.00.165 - Cronômetro da interface moderna: fallback para buscar started_at do banco quando falha na inicialização (reinício).
3.00.165 - Cronômetro da interface moderna: fallback para buscar started_at do banco quando falha na inicialização (reinício).
3.00.164 - Robô travado passa a ser reiniciado em vez de parado; criado RestartRobotJob.
3.00.163 - Reverte heartbeat do bot para hora local; CheckRobotStuckJob compara em America/Sao_Paulo para evitar parada indevida.
3.00.162 - Heartbeat e updated_at da sessão em UTC para evitar parada indevida pelo CheckRobotStuckJob.
3.00.161 - Remove sinal de parada residual na entrada do loop; correções de cronômetro (negativo/UTC) e cursores no SessionManagerDB.
3.00.160 - Cronômetro da interface moderna usa início da sessão após reinício para manter duração alinhada.
3.00.159 - Página Status do robô exibe corretora e tipo de conta na seção Session Info (badge por tipo Real/Demo/Tournament); removido do cabeçalho. Novas chaves i18n robot_status_broker e robot_status_account_type.
3.00.158 - Manuais em PDF com parágrafos alinhados à esquerda e sem hifenização automática (text-align: left; hyphens: none).
3.00.157 - - Novo CheckRobotStuckJob: para sessões running sem heartbeat há 5 min
3.00.156 - Página Status exibe cor atual do TTZ quando o filtro Trader Timer Zone está ativo (facilita entender por que o robô não efetua entradas).
3.00.156 - Página Status: exibe cor atual do TTZ quando filtro Trader Timer Zone está ativo (facilita entender por que o robô não entra).
3.00.155 - Atualização automática de versão
3.00.154 - Asterisco antes do PNL para manter alinhamento; cor azul no light mode e amarelo no dark mode.
3.00.153 - Asterisco de operação pendente à direita do PNL em vez do W/L.
3.00.154 - Admin Robôs: asterisco de operação pendente antes do PNL (alinhamento); azul (light) / amarelo (dark).
3.00.153 - Admin Robôs: asterisco de operação pendente passa a aparecer à direita do PNL em vez do W/L.
3.00.152 - Corrige vírgula dupla nos JSON de locale (build Vite).
3.00.151 - Admin Robôs: coluna Gerenciamento (MARTINGALE/MASANIELLO/SOROS/MÃO FIXA); asterisco no W/L quando há operação pendente na sessão.
3.00.150 - Timestamps em d/m H:i e container max-w-6xl nas duas páginas de sessões.
3.00.148 - Página de todas as sessões acessível pelo menu, com coluna do robô.
3.00.146 - Página de sessões respeita dark mode em todo o layout (cards, tabela, textos e links).
3.00.144 - Na listagem de sessões, coluna STATUS exibe error_message quando o robô está parado e a mensagem está preenchida.
3.00.142 - Remove mensagens de debug do TelegramManager da tela do robô
3.00.141 - Corrige erro na confluência CHOP: result_text não definido quando retorna True
3.00.140 - Botão Reiniciar robô na página de Status só visível após saldo atual da conta ser preenchido (robô pronto).
3.00.139 - Bloco Estratégia antes de Parâmetros Avançados; blocos colapsados ao abrir a página.
3.00.139 - Config robô: bloco Estratégia antes de Parâmetros Avançados; blocos colapsados ao abrir a página.
3.00.138 - Adiciona campo Gale Oposto na seção Martingale da interface; novos robôs passam a ter inverter_gale, gale_oposto e somente_recuperacao gravados como N no banco.
3.00.137 - Adiciona Gale Oposto na interface Malange Cloud; defaults N para inverter_gale, gale_oposto e somente_recuperacao em robôs novos.
3.00.136 - Evita CALL às 10:58 com cruzamento das 10:53 (sinal já obsoleto, EMAs
3.00.135 - Corrige inversão de direção no martingale quando opção gale invertido está desligada; padrão de inverter_gale alterado para False em config_manager e config_manager_db.
3.00.134 - Corrige padrão de inverter_gale para False; martingale não inverte direção quando opção desligada (Malange Cloud).
3.00.133 - - ema_cross.py: quando velas[0].get('to') is None, usar velas[:-1]
3.00.132 - ENUM subscriptions.status inclui 'pending'; evita Data truncated ao criar assinatura.
3.00.131 - Fix: ENUM subscriptions.status inclui 'pending' (evita Data truncated ao criar assinatura).
3.00.130 - Cancela assinaturas antigas só após sucesso na ASAAS; evita cliente ficar canceled quando criação falha.
3.00.129 - Assinatura: cancela assinaturas antigas só após sucesso na ASAAS (evita cliente ficar canceled quando criação falha).
3.00.128 - Checkout com dark mode nos blocos e labels (fundo escuro e contraste legível).
3.00.127 - Checkout: dark mode nos blocos e labels (fundo escuro e contraste legível)
3.00.126 - - ema_cross.py: filtra velas por to <= now (última vela fechada)
3.00.125 - Assinatura exige CPF/CNPJ no checkout; validação oficial Módulo 11 (CPF/CNPJ); corrige erro ASAAS ao criar cobrança sem CPF.
3.00.124 - Assinatura: CPF/CNPJ obrigatório no checkout; validação Módulo 11 (CPF/CNPJ); corrige erro ASAAS "preencher CPF ou CNPJ do cliente"
3.00.123 - Atualização automática de versão
3.00.122 - Assinatura: permite efetivar no mesmo plano quando em trial (botão Efetivar assinatura no card do plano)
3.00.121 - Assinatura: permite efetivar no mesmo plano quando em trial (botão "Efetivar assinatura" no card do plano em trial)
3.00.120 - Exibe tipo de conta localizado (DEMO/TORNEIO) em pt-BR na interface web; publica alterações pendentes
3.00.119 - Exibe estratégia em execução e lista de confluências no centro do bloco superior da página de status (formato da interface Python).
3.00.118 - Status: exibe estratégia em execução e lista de confluências no centro do bloco superior (formato da interface Python)
3.00.117 - Corrige duração: usa timestamps Unix para evitar falhas de timezone/Carbon
3.00.116 - Corrige duração da sessão não exibida: fallback para duration_minutes, garante valor não negativo
3.00.115 - Exibe corretora e estratégia no relatório de sessão (trata nulo para sessões antigas)
3.00.114 - Exibe duração da sessão no relatório como HH:MM:SS em vez de minutos
3.00.113 - Adiciona traduções faltantes no relatório de sessão (report_pnl_evolution, report_timeline, report_time, report_level) em pt-BR e en-US
3.00.112 - Atualização automática de versão
3.00.111 - Exportação config.txt grava parâmetros avançados em [AJUSTES]; importação mapeia [AVANCADOS] para AJUSTES.
3.00.111 - Export config.txt: parâmetros avançados em AJUSTES (robô MALANGE não suporta bloco AVANCADOS); import mapeia [AVANCADOS] para AJUSTES
3.00.110 - Não sobrescreve corretora na importação de config.txt
3.00.109 - Atualização automática de versão
3.00.108 - Atualização automática de versão
3.00.107 - Atualização automática de versão
3.00.106 - Atualização automática de versão
3.00.105 - Manifest estava hardcoded em favicon.ico, ignorando splash.png. Restaurada lógica.
3.00.103 - Atualização automática de versão
3.00.102 - Chrome no celular exige PNG 192x192 e 512x512. Comando artisan gera automaticamente no entrypoint.
3.00.100 - Atualização automática de versão
3.00.099 - Atualização automática de versão
3.00.098 - Atualização automática de versão
3.00.097 - Atualização automática de versão
3.00.096 - Atualização automática de versão
3.00.095 - Atualização automática de versão
3.00.094 - Desabilita Importar Configuração e Lista de Sinais quando o robô está em execução
3.00.093 - Retomada de sessão: recupera Step do Masaniello e nível/acumulado do Martingale a partir das operações no banco.
3.00.092 - Retomada de sessão (reinício em CLOUD): recupera Step do Masaniello e nível/acumulado do Martingale inferidos das operações no banco.
3.00.091 - Armazena estratégia na sessão (Malange Cloud) para fins estatísticos.
3.00.090 - Alinha nomes web/bot (atriun, nyrion); remove Quotex e Exnie de todas as listas de seleção.
3.00.089 - Alinha nomes web/bot (atriun, nyrion); remove Quotex e Exnie de todas as listas de seleção.
3.00.088 - Remove fallback para IQOPTION quando broker não suportado (aborta robô); usa polarium na interface e aceita polariumbroker como alias no bot.
3.00.087 - Remove fallback para IQOPTION quando broker não suportado (aborta robô); usa polarium na web e aceita polariumbroker como alias no bot.
3.00.086 - Corrige versão - apenas PATCH deve ser incrementado.
3.03.001 - Ícone personalizável via splash.png, nome do app configurável via APP_SHORT_NAME.
3.02.003 - Corrige SyntaxError (name used prior to global declaration).
3.02.002 - Corrige SyntaxError em malange.py: remove global API duplicado (name used prior to global declaration).
3.02.001 - Disponibiliza opção de instalar o app (ícone na área de aplicativos com acesso direto à aplicação web).
3.01.000 - Lista de corretoras na tela de edição da configuração do robô passa a vir do backend (igual à tela de criação).
3.00.081 - Idioma e Payout mínimo sempre na mesma linha na seção AJUSTES.
3.00.079 - Nota de release para retomada de contadores da sessão no modo CLOUD.
3.00.078 - Modo CLOUD: ao reiniciar o container, o robô detecta sessão em aberto e carrega do banco os contadores (WIN, LOSS, PnL, saldos) para a interface moderna bater com o painel web.
3.00.077 - Corrige layout da seção AJUSTES - cada campo (valor entrada, stop win, stop loss, filtrar ativos, ignorar ativos) ocupa linha inteira.
3.00.075 - Botão Reiniciar robô na tela de Status com confirmação; reinicia o container mantendo a sessão (útil quando o robô trava).
3.00.074 - Botão "Reiniciar robô" na tela de Status ao lado do Auto-scroll: confirmação do usuário e restart do container mantendo a sessão (útil quando o robô trava)
3.00.073 - Melhora detecção de perda de conexão com a corretora: heartbeat periódico no modo cloud, timeout em get_balance na verificação, verificação proativa a cada 2 min
3.00.072 - Melhora detecção de perda de conexão: heartbeat periódico no modo cloud (session.updated_at); timeout em get_balance na verificação de conexão; verificação proativa a cada 2 min (ping com timeout) para detectar WebSocket zumbi.
3.00.071 - Idioma e Payout mínimo na mesma linha; valor da entrada, stop win e stop loss cada um em linha com dropdown $/% à direita; filtrar/ignorar ativos em linha inteira.
3.00.069 - Próxima e última execução no timezone do agendamento e formato amigável conforme locale
3.00.068 - Campos filtrar ativos e ignorar ativos em linha separada cada um, com textarea para listas de ativos.
3.00.066 - Na configuração do robô, dropdown de unidade mostra apenas $ ou %; em mobile valor/stop win/stop loss em linhas separadas com layout vertical.
3.00.064 - Script de deploy: executa migrations automaticamente ao reconstruir container web (sem perguntar)
3.00.063 - Parâmetro max_segundo_entrada (config.txt e interface web). Análise e confluências sempre executam. Se passou do limite na vela atual: maioria das estratégias aguarda próxima vela e entra no segundo 0; estratégias em ENTRADA_MESMA_VELA_STRATEGIES abortam. Padrão 3s.
3.00.062 - Memoriza página do painel ao impersonar e redireciona de volta ao sair
3.00.060 - Botão impersonar na página de robôs passa a usar ícone de olho em vez de texto.
3.00.058 - Botão ao lado do email para impersonar e abrir a página de Status do robô.
3.00.056 - Melhora UX do painel admin - Voltar ao app visível em mobile; banner Sair da impersonação em todas as páginas
3.00.054 - Corrige exibição da data/hora de início da sessão na tela de STATUS do robô para fuso horário local e formato europeu
3.00.053 - correção: Adiciona ausente CHOP/Pearson/stoch globals in configuração load
3.00.052 - docs: Atualiza Deploy-instructions with corrige malange-Bot Build
3.00.051 - correção: TTZ filtro sem diferenciar maiúsculas/minúsculas comparação for Malange Cloud
3.00.050 - Corrige ConfigManagerDB.get_int() e get_float() para aceitar parâmetro valor mínimo
3.00.049 - Adiciona indicadores CHOP, Pearson e Stochastic como confluências
3.00.048 - Flexibiliza validações de parâmetros de indicadores técnicos para aceitar valores >= 0
3.00.047 - Adiciona exibição de próximo sinal e horário de entrada na Interface moderna
3.00.046 - Corrige Logs de conexão EXNOVA para aparecerem na Interface moderna
3.00.045 - Melhora visibilidade do botão de EXCLUIR robô na lista
3.00.044 - Corrige fuso horário do Trader Timer Zone para funcionar corretamente em Containers
3.00.043 - Melhora Script de Deploy: sai graciosamente quando não há atualizações
3.00.042 - Adiciona Script inteligente de Deploy para produção
3.00.041 - Corrige problema de Timing: verifica janela de entrada antes de análises pesadas
3.00.040 - Melhora Script de migração para lidar melhor com usuário da aplicação
3.00.039 - Adiciona Script seguro para migração de autenticação MySQL
3.00.038 - remove mysql_native_password obsoleto do MySQL 8.2
3.00.037 - remove query_cache_type e query_cache_size do my.cnf (removidos no MySQL 8.0)
3.00.036 - remove innodb_file_format obsoleto do my.cnf
3.00.035 - Corrige configurações incompatíveis no my.cnf para MySQL 8.2
3.00.034 - Corrige travamentos em migrações do MySQL
3.00.033 - Implementa exclusão lógica (soft delete) de robôs
3.00.032 - Corrige formatação do payout_medio na seção MASANIELLO
3.00.031 - Corrige seção LOGIN no config.txt para incluir apenas corretora
3.00.030 - Melhora painel de robôs com indicadores visuais e estatísticas
3.00.029 - Garante que seção LOGIN seja sempre incluída no config.txt exportado
3.00.028 - Corrige exportação de config.txt e adiciona importação de configurações
3.00.027 - Fixing incorrect key/value mapping on robot_config
3.00.026 - correção: config.txt sections
3.00.025 - correção: config.txt formato
3.00.024 - correção: Adiciona compartilhamento configuração rota
3.00.023 - correção: reconstruir robôs página
3.00.022 - Adding restore Script for mess in robôs página
3.00.021 - correção: Adiciona ausente traduções
3.00.020 - feat: compartilhamento Modal and importação
3.00.019 - correção: adiciona /API prefix to API rotas in Index.vue for consistency
3.00.018 - feat(admin): remove PnL Total and reorganize painel blocks
3.00.017 - correção: Adiciona ausente RobotShareController importação and Adiciona ícones to buttons
3.00.016 - feat: Adiciona robô compartilhamento with seguro links (HMAC, expiração, sanitização)
3.00.015 - correção: confluência mensagem uses interface_moderna in modern mode
3.00.014 - correção: fuso horário conversion - save next_run_at in UTC
3.00.013 - Corrige comparação de timezone no scheduler command - usa UTC para comparar next_run_at corretamente
3.00.012 - correção: Adiciona timezones list to ScheduleForm
3.00.011 - correção: Adiciona DOCKER_HOST and socket volume to fila service
3.00.010 - Adiciona fuso horário seletor to agendamento form for multi-fuso horário suporte
3.00.009 - correção: rota asset unavailable Log to Interface moderna
3.00.008 - correção: rota all signal-based estratégia Logs to Interface moderna
3.00.007 - correção: Signal Log routing to Interface moderna and prevent test seeder in produção
3.00.006 - Corrige montagem de arquivos de sinais no container do bot
3.00.005 - Sincroniza lista de corretoras do Cloud com as APIs do bot Python
3.00.004 - Garante limpeza de arquivos temporários mesmo em caso de erro ou interrupção
3.00.003 - Adiciona opção --skip-pdf ao script de build Linux para pular conversão de manuais
3.00.002 - Primeira release oficial do Malange Cloud - plataforma de gerenciamento de robôs de trading
2.08.024 - Merge branch 'malange_cloud' into main - Malange Cloud v1.0
2.08.023 - Adiciona regra de instruções de deploy para o Cursor seguir ao atualizar produção
2.08.022 - Exibe nome da corretora em maiúsculas na tabela de robôs em execução
2.08.021 - Inclui campo broker no retorno do endpoint de sessões em execução para exibir na tabela do admin
2.08.020 - Adiciona coluna de corretora na tabela de robôs em execução na página Admin/Robôs
2.08.019 - feat(admin): adiciona estatísticas globais e gráficos à painel
2.08.017 - correção(admin): corrige seção da estratégia no robot_config
2.08.016 - chore: atualiza package-travamento.json para vue-internacionalização v11
2.08.015 - feat(admin): upgrade vue-internacionalização para v11
2.08.011 - Cria tabela strategies com nomes das estrategias e seeder, admin agora mostra nome ao inves de numero.
2.08.009 - Admin: adiciona coluna de estrategia na lista de robos em execucao, entre tipo de conta e tempo.
2.08.007 - Admin: dados de robos em execucao atualizam automaticamente a cada 30s, colunas Tempo/Taxa/PnL alinhadas a direita.
2.08.005 - Painel admin agora exibe detalhes dos robos em execucao: tempo decorrido, WIN/LOSS, taxa de acerto, tipo de conta e PnL.
2.08.003 - Exibe "Malange Cloud" ao inves de "Malange" no rodape das notificacoes Telegram quando rodando em modo cloud (detectado via ROBOT_ID).
2.08.001 - Corrige o envio de mensagens do Telegram usando POST e validacoes consistentes, evitando bloqueio silencioso.
2.07.007 - Adiciona logs extensivos para diagnosticar problema de notificações do Telegram não sendo enviadas
2.07.006 - correção: Adiciona debug Logs to TelegramManager initialization
2.07.005 - Melhorar lógica de fallback para configurações do Telegram. Agora busca em AJUSTES mesmo quando LOGIN tem valor inválido (N, vazio, 0). Adicionados logs de debug detalhados para identificar problemas de configuração do Telegram.
2.07.004 - Recriar TelegramManager após reload de configuração para garantir que novas configurações do Telegram sejam carregadas. Isso resolve o problema de notificações não serem enviadas quando as configurações são alteradas durante a execução do robô.
2.07.003 - Correção para aceitar IDs negativos do Telegram (grupos/canais com prefixo -100). Alterada verificação de telegram_chat_id > 0 para telegram_chat_id != 0. Adicionados logs de debug para identificar problemas com notificações de operações individuais.
2.07.002 - Implementação de encerramento limpo do robô via arquivo STOP_BOT.signal. Quando o usuário clica em PARAR, o sistema cria o arquivo STOP_BOT.signal no container, permitindo que o robô detecte o sinal, finalize operações em andamento, envie notificações finais do Telegram e encerre corretamente. Aguarda até 60 segundos para encerramento limpo antes de forçar parada do container.
2.07.001 - Implementação do sistema de gerenciamento de arquivos de sinais para a estratégia 28 (Sinais TXT). Permite upload/edição de arquivos TXT que são montados como volumes nos containers do robô. Inclui interface web completa, traduções em 3 idiomas, e integração automática com o orquestrador Docker.
2.06.188 - Adicionar facade DB e melhorar migration para evitar locks, desabilitando foreign key checks temporariamente
2.06.187 - Otimizar migration robot_schedules criando foreign keys separadamente para evitar locks
2.06.186 - Alterar exibição do PnL % para 1 casa decimal para coincidir com formato do robô Python
2.06.185 - Adicionar name() aos eventos agendados para compatibilidade com withoutOverlapping no Laravel 11
2.06.184 - Corrigir configuração do scheduler para Laravel 11 usando withSchedule() em bootstrap/app.php
2.06.183 - Adicionar sistema de agendamento de robôs com suporte a recorrência (diária/semanal) e limite de tempo de execução
2.06.182 - Adicionar texto explicativo sobre como funciona o filtro TTZ - quando nenhuma cor está selecionada, o filtro fica desativado (salva 'N')
2.06.181 - Adicionar opções de configuração pay_minimo (payout mínimo) e filtrar_ttz (filtro Trader Timer Zone com seleção de cores) à versão CLOUD
2.06.180 - Usar query direta para operações da sessão para garantir associação correta
2.06.179 - Melhorar lógica de salvamento de saldos e adicionar logs de debug
2.06.178 - Adicionar migration para campos initial_balance e current_balance na tabela sessions
2.06.177 - Adicionar método atualizar_saldos ao SessionManagerDB para salvar saldos da sessão
2.06.176 - Adicionar tratamento de erro nas operações de salvamento de saldos para evitar que o robô trave
2.06.175 - Garantir que saldos sejam salvos no banco de dados da sessão
2.06.174 - Salvar saldos no banco em todos os caminhos de atualização (get_balance, _exibir_placar, _exibir_placar_sinais)
2.06.173 - Adicionar traduções faltantes para campos de saldo na página de Status
2.06.172 - Sempre exibir seção de saldos quando houver sessão ativa
2.06.171 - Adicionar SUPPORT_RESISTANCE à lista getConfluencesList (estava faltando)
2.06.170 - Adicionar SUPPORT_RESISTANCE ao fallback de confluências no Vue
2.06.169 - Adicionar confluência SUPPORT_RESISTANCE faltante na interface web
2.06.168 - Remover limites min/max dos campos de parâmetros avançados para permitir valores ilimitados
2.06.166 - Build Linux - atualizar pip sempre e corrigir caminhos dos manuais para conversão
2.06.165 - Corrigir malange.spec para usar getcwd() ao invés de __file__ (não disponível no contexto do spec)
2.06.163 - Corrigir inclusão do módulo credentials_manager_auto_migrate no PyInstaller
2.06.161 - Aumentar máximo de níveis de Martingale de 10 para 12
2.06.159 - Fator Martingale com 3 casas decimais; parâmetros avançados sem min/max restritivos
2.06.157 - Documentação da chave ASAAS - usar aspas simples quando começar com $ para evitar expansão no shell
2.06.155 - Cupons de desconto: painel Admin, checkout, CLI malange:create-coupon
2.06.153 - impersonação: sync password_hash for Sanctum AuthenticateSession (Corrige 401/logout)
2.06.152 - Logs: use API rota again (works with impersonação), remove Web rota
2.06.151 - Logs: use impersonate_id for robô access during impersonação
2.06.150 - correção: use full OrchestratorController namespace in Web Logs rota
2.06.149 - Logs: Adiciona try-catch, erro logging and safer unpack
2.06.148 - configuração: Melhora label readability in dark mode
2.06.146 - UI: move usuário/theme/language above menu; Corrige LanguageSelector menu suspenso z-index
2.06.144 - Logs: use Web rota to Corrige 401 during impersonação
2.06.142 - STATUS: prevent Logs painel flicker between loading and 404 erro
2.06.140 - STATUS: avoid router.reload após INICIAR/parar to prevent logout during impersonação
2.06.138 - STATUS: impersonação banner + Logs tratamento de erros
2.06.137 - Admin: use gray+indigo palette to match AppLayout (remove amber)
2.06.136 - impersonação: sticky banner in app.blade.php (always visível); fallback on LOGIN quando sessão expires
2.06.135 - STATUS: exibe PnL per recent operation (green/red/gray)
2.06.133 - Bot: use MALANGE_SESSION_ID from Orchestrator instead of creating new sessão (Corrige sessão metrics)
2.06.132 - correção: Adiciona getSessionStatusLabel to STATUS.vue (was ausente, caused blank página)
2.06.130 - correção: declare sessionStats ref in STATUS.vue so sessão metrics exibição
2.06.129 - STATUS: PnL/Vitories/Losses Today and sessão; open ops PENDENTE in yellow; sessão STATUS translated
2.06.128 - impersonação: STATUS página use API instead of router.reload to prevent redirect to LOGIN
2.06.127 - impersonação: load painel dados servidor-side to exibe impersonated usuário dados
2.06.126 - Admin: deduplicate robôs in sessões em execução list
2.06.125 - Docs: mark admin painel as completed; cleanup STATUS
2.06.123 - Atualização de versão to 2.06.122
2.06.122 - Admin: allow impersonação of usuários suspensos (bypass suspend check during impersonação)
2.06.121 - Admin painel: usuários, assinaturas, robôs; suspend, extend período de teste, impersonate; block usuários suspensos
2.06.120 - Cloud: always enable automatic mode for Web-configured robôs; remove opção from UI
2.06.119 - Atualização de versão to 2.06.118
2.06.118 - Cloud: force automatic mode and robô account_type; never prompt for input in Container
2.06.117 - Admin: Adiciona is_admin, is_suspended to usuários; EnsureUserIsAdmin Middleware
2.06.116 - configuração: Adiciona Telegram (toggle + chat ID) and Advanced params block (RSI, EMA, ADX, MACD, Keltner, etc)
2.06.115 - STATUS: automático-scroll in Container Logs with toggle botão
2.06.114 - Cloud: suppress operation open/close prints in Container Logs
2.06.113 - configuração: interativo confluências UI; MASANIELLO: payout % to odds; Orchestrator: sessão antes Container
2.06.110 - MASANIELLO: scale stake by valor_entrada to Corrige percentage configuração
2.06.109 - Docker: expose MySQL port 3306 for remoto access
2.06.108 - configuração: preserva credenciais on save; block editing quando robô rodando; credenciais hint
2.06.106 - Dark mode: Performance por robô block in painel
2.06.105 - Dark mode: complete dark styling for painel blocks and credenciais seção in configuração
2.06.104 - Corrige M15: janela de entrada apenas 0-3s, remove 50-59 that triggered análise mid-candle
2.06.103 - Dark mode: discrete toggle, preference saved in cookie
2.06.102 - configuração: valor_entrada, stop_win, stop_loss suporte amount or percent
2.06.101 - configuração.vue: Corrige expanded sections (use toggleSection/isExpanded) and translated titles
2.06.100 - PHP-FPM: clear_env=no so APP_KEY reaches workers for credential decryption
2.06.099 - Orchestrator: MALANGE_APP_KEY via env, fallback APP_KEY; docker-compose MALANGE_APP_KEY; Log quando key empty
2.06.098 - configuração UX: estratégia seleção, confluências multi-seleção, expanded blocks, exclusive management; STATUS apiFetch
2.06.097 - Credential decrypt: use configuração(app.key); warn if MALANGE_APP_KEY ausente
2.06.096 - Malange local: Adiciona scripts/ to path for credentials_manager_auto_migrate
2.06.095 - Bot cloud: Corrige Laravel decrypt MAC (iv+value as base64 strings)
2.06.094 - Bot cloud: ConfigManagerDB config_file; decrypt e-mail/senha in get()
2.06.093 - Adiciona Documentação ACESSIBILIDADE_E_FORMREQUEST.md
2.06.092 - Normalizing line endings
2.06.091 - Bot cloud: read ROBOT_ID from env; corretora fallback from robôs; empty Dockerfile CMD
2.06.090 - Corrige Docker bot: copy credentials_manager_auto_migrate to app root
2.06.089 - Docker: Adiciona www-dados to Docker socket group for API access
2.06.088 - Docker: entrypoint fixes storage/Logs permissions for www-dados
2.06.087 - robô iniciar: Adiciona explicit logging at controller entry + DEBUG_LOG_VAZIO Documentação
2.06.086 - robô INICIAR/parar: Adiciona try-catch to exibe actual erro instead of generic servidor erro
2.06.085 - robô INICIAR/parar via Web rotas to avoid API/sanctum conexão erro
2.06.084 - robô configuração: tipo de conta como radio buttons (Corrige seleção sem opções) v2.06.083
2.06.082 - ASAAS: aceita environment=live; Documentação ASAAS_CONFIGURACAO.md com webhook e token
2.06.081 - período de teste: comando malange:assign-período de teste para correção manual + createBasicoPlanIfMissing
2.06.080 - Google OAuth: assign período de teste to existing usuários without active assinatura
2.06.079 - Corrige Google OAuth: use absolute redirect URI from APP_URL
2.06.078 - Corrige Mixed Content: TrustProxies for HTTPS behind Caddy
2.06.077 - Corrige 500: SESSION_DRIVER=file - sessions tabela is for robôs not HTTP
2.06.076 - Corrige cache: configuração padrão file not banco de dados
2.06.075 - Corrige 500: CACHE_STORE=file to avoid ausente cache tabela
2.06.074 - Adiciona TROUBLESHOOT_SSL.md for ERR_SSL_PROTOCOL_ERROR
2.06.073 - Adiciona Caddy: ports 80/443, automatic Let's Encrypt SSL; Web no longer exposes ports
2.06.072 - fila: Adiciona 15s startup delay to avoid race with Web/cache
2.06.071 - Corrige Docker: copy API/ antes npm Build for Vite (vite.configuração, resources)
2.06.070 - Corrige Docker Build: move Dockerfile.prod to malange_cloud root
2.06.069 - MySQL: separate Container malange_mysql, utf8mb4, healthcheck, backup Script
2.06.068 - Adiciona automatic daily Bot imagem Atualiza from GitHub (update_bot_image.sh + cron)
2.06.067 - Adiciona Caddy reverse proxy with automatic Let's Encrypt SSL renewal
2.06.066 - Docker prod: docker-compose.prod.yml, INSTALACAO_VPS.md, .env.example, .dockerignore, env_file
2.06.065 - Upgrade stack: PHP 8.4, Laravel deps, MySQL 8.2, Node 22, remove platform constraint
2.06.064 - remove 'API' from página titles (APP_NAME=Malange Cloud in .env.example and configuração padrão)
2.06.063 - exibe Google OAuth profile photo in sidebar (compartilhamento avatar_url, exibição img in AppLayout)
2.06.062 - Adiciona SkeletonCard.vue to repo (was untracked, breaking produção Build)
2.06.061 - Corrige painel: Adiciona Sanctum statefulApi for sessão auth on API rotas; Adiciona Accept: application/json to fetches
2.06.060 - Adiciona remember_token coluna to usuários tabela (required by Laravel Auth::LOGIN)
2.06.059 - Google OAuth: move rotas to Web.php for sessão; use Auth::LOGIN for Web flow; período de teste 10d for new usuários; erro redirect to LOGIN with flash
2.06.058 - correção: Google OAuth redirect - retorna JSON apenas quando expectsJson, not for browser nav
2.06.057 - internacionalização: Adiciona ausente traduções for Register, Sessions, assinatura, cria
2.06.056 - correção: vue-internacionalização Invalid linked formato - escape @ in e-mail placeholder
2.06.055 - correção: duplicate rota name robôs.index - use API.robôs for API resource
2.06.054 - correção: Composer platform PHP 8.2.29 for produção compatibility
2.06.052 - Corrige SetLocaleFromCookie importação and ExampleTest for CI
2.06.051 - Adiciona GitHub Actions CI for Malange Cloud
2.06.050 - Adiciona critical alerts by e-mail (ASAAS, orchestrator)
2.06.049 - Adiciona fila worker service to Docker Compose
2.06.048 - Adiciona accessibility: skip Link, aria-labels, role main
2.06.047 - Adiciona loading states to all action buttons (TwoFactor, assinatura cancel)
2.06.046 - Adiciona API documentation: L5-Swagger/OpenAPI, Swagger UI at /API/documentation
2.06.045 - Adiciona structured logging: JSON channel, LogContext Middleware
2.06.044 - Adiciona SecurityHeaders Middleware and XSS protection docs
2.06.043 - Atualiza LACUNAS_PROJETO.md: remove implemented items, organize pending tasks
2.06.042 - Adiciona FormRequest for TwoFactor (enable/disable TOTP); internacionalização for send code botão; validação erro exibição
2.06.041 - Adiciona FormRequest classes for Auth, robô, assinatura
2.06.040 - Adiciona e-mail fila (banco de dados) and UX improvements
2.06.039 - Corrige timeframe Bug (M5 entries), Adiciona ASAAS integration, WebSocket docs
2.06.037 - Adiciona real-time atualizações: 2s polling, composable and WebSocket migração guide
2.06.036 - Adiciona senha reset flow: forgot senha and reset via e-mail Link
2.06.035 - Adiciona 2FA configurações página with TOTP and e-mail OTP configuration
2.06.034 - Adiciona assinatura plans página, checkout, and upgrade flow
2.06.033 - Adiciona registration página with 10-day período de teste for Basic plan
2.06.032 - Adiciona responsive layout, mobile navigation, and improved UX across all pages
2.06.031 - Adiciona complete robô management: configuração página, INICIAR/parar, real-time STATUS, assinatura limits
2.06.030 - Adiciona dashboards: API Endpoints + Vue components for stats, gráficos, sessão reports
2.06.029 - Atualiza release notes descriptions
2.06.028 - Implementa Google OAuth: redirect, callback, usuário creation/LOGIN
2.06.027 - Implementa 2FA: TOTP (authenticator apps) and e-mail OTP with TwoFactorService
2.06.026 - Implementa real Docker orchestrator: iniciar, parar, STATUS, Logs via Docker API
2.06.025 - Adiciona Docker suporte: Dockerfile, docker-compose.yml, .dockerignore, API Dockerfile
2.06.024 - Integrate Cloud operations: INSERT on open, Atualiza on close, prevent duplicates
2.06.023 - Atualiza release notes for v2.06.021 and v2.06.022
2.06.022 - Adiciona flexible DB config: env var, .env file, or config.txt [CLOUD] seção
2.06.021 - Corrige release notes for v2.06.020 Cloud mode
2.06.020 - Adiciona Cloud mode: ConfigManagerDB, SessionManagerDB, OperationsManagerDB, --robô-id arg
2.06.019 - Atualiza malange_cloud README: API and frontend in API/
2.06.018 - Adiciona cria robô form, Sessions list per robô; Link from robôs index
2.06.017 - Adiciona Inertia+Vue frontend: LOGIN, painel, robôs list; Web auth
2.06.016 - Adiciona orchestrator stubs: POST robôs/:id/iniciar, robôs/:id/parar
2.06.015 - Adiciona API resources: robôs CRUD, sessions, operations index
2.06.014 - Adiciona API auth: Sanctum, register/LOGIN/logout/me, 2FA and Google OAuth stubs
2.06.013 - Adiciona Eloquent models for Malange Cloud (usuário, robô, sessão, Operation, etc.)
2.06.012 - Adiciona Laravel API scaffold in malange_cloud/API (MySQL, migrações, seed)
2.06.011 - chore: normalize line endings (CRLF to LF)
2.06.010 - index on main: a7a00e8 Strip Co-authored-by from commit mensagens and release_notes
2.06.008 - correção
2.06.007 - Avoid
2.06.006 - Avoid
2.06.005 - Guard
2.06.004 - correção
2.06.002 - Corrige MASANIELLO win_count increment order in Telegram notifications
2.06.001 - Atualiza release notes and version
2.05.016 - Corrige DAYSHIN estratégia signal detection and Melhora Telegram notifications
2.05.015 - correção: Dayshin estratégia - detecta crossover on penultimate closed candle
2.05.014 - correção: Dayshin estratégia - prevent late entry detection
2.05.013 - correção: Dayshin estratégia - corrige candle indices após filtering
2.05.012 - correção: Dayshin estratégia - use apenas closed candles for signal detection
2.05.011 - correção: Adiciona safety checks for configuração sections access
2.05.010 - feat: Adiciona Dayshin estratégia implementation
2.05.009 - Adding pending arquivos
2.05.008 - correção: Ensure estratégia 44 is properly listed in menu and estrategias.txt - Regenerated estrategias.txt to ensure synchronization with strategy_manager - Improved menu exibição in malange.py to exibe public estratégias sorted numerically - estratégia 44 (Indicador de TendÃªncia) is now properly visível in interativo mode
2.05.006 - chore: align release notes with patch version
2.05.005 - chore: corrige version to patch level
2.05.003 - correção: Evitar entrada tardia na estrategia 44
2.05.002 - correção: Evitar entrada antecipada na estrategia 44
2.05.001 - LiberaÃ§Ã£o da estratÃ©gia Indicador de TendÃªncia
2.04.282 - correção: Corrigir Timing de entrada do Indicador de Tendencia - Ajustada logica para gerar sinal quando padrao e detectado nas ultimas 5 velas fechadas - Sinal agora e gerado para entrar na PROXIMA vela - Corrige problema onde entrada estava sendo feita uma vela atrasada
2.04.281 - feat: Adiciona Indicador de TendÃªncia estratégia (estratégia #44)
2.04.280 - Melhora Interface layout for narrow terminals: change WIN Rate to Score label and truncate estratégia/confluências text
2.04.279 - Simplify PnL exibição in Interface moderna: remove goal progress percentage
2.04.278 - Corrige Interface moderna layout for 80x25 terminals: optimize second line formatting
2.04.277 - Corrige Telegram goal percentage calculation: use original stop_win formato
2.04.276 - Corrige Telegram sessão end notifications: unify mensagens and corrige dados exibição
2.04.275 - Corrige PnL calculation in Telegram notifications - Atualiza saldo_inicial to use real account saldo quando sessão starts - Melhora PnL percentage calculation in telegram_manager.py - Ensure saldo_inicial is properly set during conexão and saldo atualizações
2.04.274 - Corrige timeframe entry Timing and Melhora WebSocket reconnection detection
2.04.272 - correção: exibição 'no suitable assets found' mensagem in Interface moderna Logs and Adiciona delay to prevent Bot from stopping
2.04.271 - Corrige accented characters appearing larger than normal text in PDF
2.04.270 - Melhora professional PDF converter: better emoji and list formatting
2.04.269 - Adiciona suporte & Resistance estratégia parâmetros to configuração.sample.txt
2.04.268 - Atualiza estrategias.txt with new suporte & Resistance estratégia (43)
2.04.267 - Adiciona suporte & Resistance estratégia (43) and confluência
2.04.266 - correção
2.04.265 - Respect interativo corretora selection
2.04.264 - Send Telegram sessão summary on manual parar
2.04.263 - Corrige Telegram sessão notification setup
2.04.262 - Melhora Telegram erro logging
2.04.261 - Corrige binary opção expiração units
2.04.260 - Adiciona PnL parameter to all operation registrations
2.04.259 - Corrige PnL color exibição in operation details report
2.04.258 - Corrige payout calculation for Martingale somente_recuperacao mode
2.04.257 - Corrige SyntaxError: remove duplicate global API declaration
2.04.256 - Adiciona saldo protection for Martingale somente_recuperacao mode
2.04.255 - Corrige MASANIELLO scoreboard logic to apenas count final cycle result
2.04.254 - Corrige MASANIELLO LOSS counting showing 0 instead of actual losses
2.04.253 - Corrige operations scoreboard showing 0 LOSS with Martingale management
2.04.252 - Corrige multiple Martingale management issues
2.04.251 - Corrige Martingale mensagens appearing outside Logs area in Interface moderna
2.04.250 - Corrige race condition in payout verificação
2.04.249 - Corrige logging to work with Interface moderna
2.04.248 - remove 10-asset limit in dynamic payout filtering
2.04.247 - Implementa dynamic payout filtering at asset selection time
2.04.246 - Corrige duplicate payout filtering issue
2.04.245 - Corrige pay_minimo filtering Bug in asset selection
2.04.244 - correção: prevent config_manager from modifying config.txt during reload
2.04.243 - correção: preserva credenciais in instance to prevent empty credenciais during reconnection
2.04.242 - correção: redirect all conectar_corretora mensagens to Interface moderna Logs
2.04.241 - correção: remove late 'global conta' inside reconnection fallback to resolve SyntaxError at line 6011; function already declares 'conta' global at iniciar
2.04.240 - correção: declare 'conta' as global at function iniciar and remove late global to resolve SyntaxError ('used prior to global declaration')
2.04.239 - correção: prevent freeze on WebSocket reconnection
2.04.238 - correção: Redirect operation mensagens to Interface moderna Logs area
2.04.237 - Corrige MASANIELLO DRAW result incorrectly treated as LOSS and advancing step
2.04.236 - CRITICAL correção: MASANIELLO parar LOSS was being ignored causing catastrophic losses
2.04.235 - Corrige hardcoded candle count limit - respect qnt_velas configuração parameter
2.04.234 - Corrige critical Timeout Bug for M5 timeframe operations
2.04.233 - Corrige duplicate operations in MASANIELLO detalhado history report
2.04.232 - v2.04.231 - correção: Correção de parâmetros na tradução masaniello_cycle_failed
2.04.230 - CLEANUP: remove mensagens de debug do leaderboard_patch.py
2.04.229 - v2.04.228 - Corrige CRÍTICO: Correção do watchdog detectando falsos positivos de travamento
2.04.227 - v2.04.226 - Corrige FINAL: Espaço ANTES do saldo, não depois
2.04.226 - v2.04.225 - correção: Alinhamento final + Desabilita ranking torneio
2.04.225 - v2.04.224 - correção: Adiciona Timeout para evitar travamento em get_leader_board
2.04.224 - v2.04.223 - correção: Corrige código do país para get_leader_board
2.04.223 - v2.04.222 - DEBUG: Adiciona Logs para investigar posição do torneio + Corrige alinhamento
2.04.222 - v2.04.221 - correção: Corrige alinhamento do saldo e busca de posição do torneio
2.04.221 - v2.04.220 - correção: Alinhamento correto da Interface com posição do torneio
2.04.220 - v2.04.219 - FEATURE: Exibe posição do ranking do torneio
2.04.218 - v2.04.217 - Corrige CRÍTICO: Sufixo -op para ativos não-OTC (14 corretoras)
2.04.216 - v2.04.215 - REVERT v2.04.213: Mantém utcfromtimestamp() - Polarium ESPERA UTC
2.04.214 - v2.04.213 - Corrige CRÍTICO: Corrige fuso horário UTC-3 em polariumbrokerapi
2.04.212 - v2.04.211 - correção: Corrige tradução + adiciona logging DEBUG detalhado
2.04.210 - v2.04.209 - correção: Converte Padrão 1x3 e R7 (16 prints) - ✅ LINT OK
2.04.208 - v2.04.207 - correção: Converte Padrão23, MelhorDeQuatro e Sexta Vela (4 prints) - ✅ LINT OK
2.04.206 - v2.04.205 - correção: Converte MHI completo para logging (10 prints)
2.04.204 - v2.04.203 - correção: Converte D21, MilhãoMaioria e MilhãoMinoria para logging (10 prints)
2.04.202 - v2.04.201 - correção: Converte Hx5 restante para logging (5 prints)
2.04.200 - v2.04.199 - correção: Converte GARRA restante para logging (3 prints)
2.04.198 - v2.04.197 - correção: Converte confluências.py para logging (erros e debug)
2.04.192 - v2.04.191 - correção: Converte General Signal para logging.debug()
2.04.190 - v2.04.189 - correção: Converte Orion Signal para logging.debug()
2.04.188 - v2.04.187 - correção: Confluências do recarregar_config agora aparecem na área de Logs
2.04.186 - v2.04.185 - Corrige CRÍTICO: remove reversão incorreta de loss_count no SOROS
2.04.184 - v2.04.184 - correção: Converte prints de MelhorDeQuatro para logging.debug()
2.04.183 - v2.04.183 - correção: Converte prints de Padrão23 para logging.debug()
2.04.182 - v2.04.182 - correção: Converte prints de MilhãoMinoria para logging.debug()
2.04.181 - v2.04.181 - correção: Converte prints de MilhãoMaioria para logging.debug()
2.04.180 - v2.04.180 - correção: Converte prints de D21 para logging.debug()
2.04.179 - v2.04.179 - correção: Converte prints de Hx5 para logging.debug()
2.04.178 - v2.04.177 - correção: Converte prints de debug das estratégias SEXTA VELA e GARRA para logging
2.04.176 - v2.04.175 - Corrige CRÍTICO: Corrige cálculo dos Keltner Channels
2.04.174 - v2.04.173 - correção: Converte prints de debug das estratégias para logging
2.04.172 - v2.04.171 - Corrige CRÍTICO: Corrige cálculo incorreto de PnL nas notificações
2.04.170 - v2.04.169 - Corrige CRÍTICO: Corrige Bug onde escolha interativa de conta REAL era sobrescrita pelo config.txt
2.04.168 - v2.04.167 - Corrige CRÍTICO: Corrige contabilização incorreta de LOSS no MARTINGALE
2.04.166 - v2.04.165 - Corrige CRÍTICO: Corrige contabilização incorreta de LOSS no SOROS COM PROTEÇÃO
2.04.164 - v2.04.163 - correção: Corrige mensagem de DRAW no MARTINGALE para mostrar nível correto
2.04.162 - v2.04.161 - correção: Corrige mensagem incorreta de DRAW no MARTINGALE
2.04.160 - v2.04.159 - FIXES CRÍTICOS: Corrige handlers WebSocket para todas as corretoras + corrige Bug crítico do MARTINGALE
2.04.158 - v2.04.157 - Corrige CRÍTICO: Corrige travamento do robô após queda de conexão WebSocket da IQOPTION
2.04.156 - Atualiza version to v2.04.155 - Critical fixes for Bot freezing após conexão LOSS
2.04.153 - CORREÇÕES CRÍTICAS: Corrige Bot freezing após conexão LOSS
2.04.152 - Corrige meta progress calculation - convert stop_win from percentage to absolute value corretamente
2.04.151 - Corrige meta progress calculation - compare pnl_percentage with stop_win corretamente
2.04.150 - Corrige STATUS line stuck on outdated operation - claras current_operation in main loops
2.04.149 - Corrige UI overflow, account selection, LOSS logging, saldo indicador and Adiciona PnL percentage exibição
2.04.148 - remove notificações duplicadas - mantém apenas para SOROS COM PROTEÇÃO
2.04.147 - Adiciona notificações do Telegram para TODAS as operações
2.04.146 - remove todos os debug Logs - Problema do Telegram totalmente resolvido
2.04.145 - 🎉 CORRIGE Bug CRÍTICO: Telegram mostrando gerenciamento incorreto
2.04.144 - Adiciona debug CRÍTICO antes de enviar para Telegram (SOROS + PROTEÇÃO)
2.04.143 - Adiciona debug na função _obter_info_telegram() para identificar problema
2.04.142 - Adiciona debug detalhado na lógica da função _obter_texto_gerenciamento()
2.04.141 - Adiciona debug logging para identificar problema do Telegram
2.04.140 - Corrige prompts interativos desnecessários de gerenciamento
2.04.139 - Adiciona resumo completo da sessão de correções do dia 19/10/2025
2.04.138 - Corrige conversão boolean incorreta nas variáveis SOROS para Telegram
2.04.137 - Corrige notificações do Telegram mostrando gerenciamento incorreto
2.04.136 - Corrige Bug de níveis ilimitados em SOROS COM PROTEÇÃO e MARTINGALE
2.04.135 - correção: remove duplicate operation registration in MASANIELLO
2.04.134 - correção: remove duplicate operation registration in detalhado history
2.04.133 - correção: corrige ConfigManager método calls in interativo configuration
2.04.132 - Docs: Atualiza Portuguese and English manuals
2.04.131 - correção: Adiciona Timeout protection for get_candles API calls
2.04.130 - correção: Melhora WebSocket reconnection during operation result wait
2.04.129 - correção: corrige won_step[0] counting for SOROS operations
2.04.128 - Docs: Atualiza professional PDFs with SOROS Protection and detalhar_operacoes
2.04.127 - Docs: Atualiza Spanish manual with SOROS Protection and detalhar_operacoes
2.04.126 - Docs: Complete English manual with all sections
2.04.125 - Docs: Complete English manual with SOROS Protection seção
2.04.124 - Docs: Atualiza English manual with SOROS Protection and detalhar_operacoes
2.04.123 - Docs: Atualizar manual português com SOROS Proteção e detalhar_operacoes
2.04.122 - correção: Restaurar funcionalidade detalhar_operacoes no relatório final
2.04.121 - correção: Mover declaração global API para início da função
2.04.120 - correção: Corrigir erro de sintaxe com declaração global API
2.04.119 - correção: Adicionar notificações do Telegram para SOROS com Proteção
2.04.118 - Release: Remover mensagens de DEBUG para versão de produção
2.04.117 - correção: Corrigir placar de operações zerado em atualizações parciais
2.04.116 - correção: Preservar valores existentes em atualizações parciais da Interface moderna
2.04.115 - correção: Corrigir saldo zerado na Interface moderna durante operações
2.04.114 - correção: Corrigir duplicação de PnL em SOROS com Proteção
2.04.113 - correção: Atualizar Interface moderna em tempo real durante operações SOROS com Proteção
2.04.112 - correção: Corrigir mensagem de confluências na Interface moderna
2.04.111 - correção: Corrigir confluência EMA_CROSS e Interface moderna
2.04.110 - correção: Corrigir classificação SOROS e eliminar duplicações
2.04.109 - correção: Usar abreviação G1, G2, G3 no histórico detalhado
2.04.108 - correção: Corrigir contadores de GALE e adicionar PnL ao histórico
2.04.107 - correção: Corrigir contabilização de WIN/LOSS no SOROS com proteção
2.04.106 - correção: Exibir contadores de GALE no relatório final
2.04.105 - correção: Corrigir classificação de operações SOROS e Martingale
2.04.104 - correção: Corrigir contabilização de operações no SOROS com proteção
2.04.103 - correção: Corrigir erro de parâmetros em registrar_operacao - robô agora processa resultados corretamente
2.04.102 - correção: Corrigir erro de tradução operation_failed - parâmetros direction/asset para direcao/ativo
2.04.101 - feat: Implementar SOROS com Proteção e múltiplas correções
2.04.100 - feat: Melhoria nas mensagens de confluências - identificação específica
2.04.099 - correção: Correções críticas - SOROS, Interface Moderna e Seleção de Conta Avalon
2.04.098 - feat: Adicionar limpeza de buffer do teclado antes do relatório final
2.04.097 - 🔧 Completar correção WebSocket em TODAS as corretoras
2.04.096 - 🔧 Corrigir problemas de WebSocket em múltiplas corretoras
2.04.095 - feat: Adicionar informações de corretora, conta, estratégia, confluências e gerenciamento nas mensagens do Telegram
2.04.094 - correção: Corrige problema de múltiplas entradas para um único sinal
2.04.093 - correção: remove Timeout de 600s que causava falha na IQ opção
2.04.092 - correção: Corrige contabilização MASANIELLO e geração de relatório final
2.04.091 - correção: remove declaração global duplicada que causava SyntaxError
2.04.090 - correção: Garante strategy_name atualizado em TODOS os locais (6/6)
2.04.089 - Corrige DEFINITIVO: Atualiza strategy_name dinamicamente dentro do loop
2.04.088 - correção: Adiciona estrategia_num às variáveis globais para corrigir atualização na Interface
2.04.087 - correção: Redireciona Logs do Python (WARNING/erro) para Interface moderna
2.04.086 - correção: Corrige Logs da estratégia 42 e atualização de nome na Interface moderna
2.04.085 - correção: Estratégia 41 (Stochastic+SMA) prints aparecendo fora da Interface moderna
2.04.084 - docs: Adicionar documentação sobre correção da Interface moderna após recarga
2.04.083 - correção: Interface moderna não atualizava nome da estratégia após recarga de configuração
2.04.082 - correção: Corrigir parâmetro de tradução strategy_recommends (código, não tradução)
2.04.081 - correção: CRÍTICO - Corrigir MASANIELLO usando saldo errado (hard-coded)
2.04.080 - chore: Remover documentação antiga substituída por FIX_EMA_SMA_CONFLUENCES.md
2.04.079 - docs: Atualizar manuais com explicação correta das confluências EMA/SMA
2.04.078 - correção: Corrigir lógica das confluências EMA3, SMA2 e SMA3
2.04.077 - revert: Reverter correção incorreta da confluência EMA_CROSS
2.04.076 - docs: Adicionar análise detalhada do STATUS Git e recomendações
2.04.075 - feat: Melhorias em documentação, internacionalização e correção crítica CasaTrade
2.04.074 - docs: Adicionar análise completa da nova versão da CasaTrade API
2.04.073 - feat: Implementar recarga dinâmica de idioma e corrigir erro WebSocket on_close()
2.04.072 - correção: Corrigir parâmetro somente_recuperacao do Martingale e sincronizar traduções
2.04.071 - feat: adiciona conversor profissional de manuais para PDF
2.04.070 - correção: Sincronização de entrada baseada no timeframe configurado
2.04.069 - correção: Correções críticas - timeframe, reconexão, Telegram e contadores
2.04.068 - correção: corrigir parâmetro Interface e exibição de filtros
2.04.067 - docs: atualizar manuais PT/EN/ES e relatórios\n\nfeat(internacionalização): corrigir inicialização de idioma antes dos managers\nfix(telegram): usar internacionalização nas mensagens e importar internacionalização\nchore(locales): adicionar chaves de Telegram em pt-BR, en-US, es-ES\nrefactor: limpar DEBUGs temporários
2.04.066 - post-commit sempre adiciona e emenda se houver mudanças
2.04.065 - Corrige hooks: bump e staging no prepare-commit-msg; pre-commit no-op
2.04.064 - Adiciona pre-commit para estagiar version.json com bump para inclusão confiável
2.04.062 - Validação com correção de CRLF nos hooks
2.04.061 - Validação final dos hooks
2.04.060 - Adiciona post-commit para emendar e incluir release_notes e version.json quando pendentes
2.04.059 - Validação do hook prepare-commit-msg
2.04.058 - Evita reentrada quando assunto já contém versão
2.04.057 - Move o incremento de versão para prepare-commit-msg; commit-msg vira no-op
2.04.055 - Teste do prepare-commit-msg adicionando arquivos
2.04.053 - Remove logs de debug do Masaniello e finaliza fluxo de atualização da interface
2.04.052 - Adiciona logs de debug para atualização da interface Masaniello
2.04.051 - Implementa hook commit-msg para versão automática e notas em PT
2.04.050 - Teste do gancho de commit-msg
2.03.003 - Implementada Interface modernapython
2.03.002 - Implementada Interface moderna
2.01.004 - Inclusão do version.json no repositório - arquivo agora é versionado junto com o código
2.01.003 - Correção da exibição incompleta da versão nas notificações do Telegram - agora usa sistema de versionamento direto e codificação adequada da URL
2.01.002 - Correção da exibição de versão em produção - sistema agora cria version.json automaticamente e usa release_notes.txt como fallback
2.01.001 - Reorganização do release_notes.txt em ordem decrescente de versão, preservando anotações de múltiplas linhas
2.00.005 - Implementação do sistema de release notes automatizado
2.00.003 - Correção no cálculo do percentual da meta batida - agora converte corretamente valores percentuais para absolutos
2.00.002 - Implementação do sistema de versionamento automatizado com 3 elementos (MAJOR.MINOR.PATCH)
