▶ JOGAR
versão em produção · vNão

Changelog

Tudo que mudou, versão por versão. A versão em produção é a vNão. O arquivo completo vive em CHANGELOG.md no repositório - esta página é ele, renderizado.

vNão · lançado — 2026-10-06#

Corrigido

  • A documentação deixou de apontar para o guia interno BotBrain removido e usa o domínio com www para abrir o jogo. A imagem de fallback do personagem recebe src somente quando há uma URL válida; o CI verifica links e URLs vazias no HTML publicado.
  • Multiplayer: removida a caixa fixa de diagnóstico com FPS, snapshots, jitter, banda e ping. A coleta continua alimentando a telemetria de qualidade por sessão.
  • #696 — assert:assets reprovava com o pacote público mesmo depois do fetch. O audio-pack-v8 (445 entradas, medido em 04/10/2026 no diretório central do zip) não tem pasta ambiente/ nem a chave mapSoundscapes, e o conserto — prepare-public-preview.mjs — era chamado SÓ pelo workflow de preview. scripts/fetch-audio.sh agora termina a preparação em todo caminho público (ensure-map-soundscapes.mjs, que instala mapSoundscapes nos 18 mapas com o hum que o jogo sintetiza; o pack privado não passa por ele, porque ambiência real que falta tem de reprovar o build). eval:audioruntimeassets passa a provar os TRÊS estados do contrato — cru = vermelho, preparado = verde, parcial = vermelho — chamando o assert:assets real.
  • #741 — a graffiti-editorial-check media layouts que ninguém vê. O TypeError de fy_corrego (id que virou corrego) era a ponta visível: as cláusulas religioso-vulgar, putin e rostos-carecas comparavam com fy_corrego e passavam verdes sem medir nada — os três mutantes eram cegos. NOVOS passou a listar os ids que o jogo pede no grafitar({id}) (escadao, campomorro), e a exigência de tabela nominal em Lajes saiu: o layout assado tem 4 tags e nenhum decal vetado. Sobraram 4 vermelhos, todos de conteúdo — ver a issue.

Adicionado

  • O topo da home agora permite desligar e religar a música do menu; a escolha fica salva no navegador. A rotação da intro usa apenas m11, m14, m16, m17 e m22, retirando as três faixas com voz da seleção anterior.
  • Contador central de SEQUÊNCIA mostra os abates da vida atual confirmados pelo jogo/servidor, com identidade visual do CSBrasil; morte, round e reconexão o zeram sem apagar o total da partida. Régua eval:killstreak cobre SP e MP com seis mutantes.
  • Contador de ABATES do jogador no HUD, na coluna de estado dele: algarismo grande com rótulo miúdo, conta a PARTIDA (não o abate do time nem o da rodada) e não zera na virada de round — antes o número pessoal só existia atrás do TAB. Régua eval:abateshud com quatro mutantes, no check:fast.
  • Sertão da Treta substitui o Velho Oeste: casario de taipa, Caatinga, Canudos, calango quadrúpede, aves, cabras e galinha com pintinhos. Preview real com vídeo silencioso ao passar o mouse; criação com caminhada e pausas. O memorial de Padre Cícero permanece fora desta entrega.
  • Camada operacional (tools/ops/, npm run ops:diag): o jogo diagnostica boot, deploy, assets no edge, APIs, telemetria, ranking e partida sintética e explica cada achado com causa provável, evidência, impacto e próximo passo; separa "tecnicamente verde" de "pronto para lançamento". Mutantes em ops:selftest e unidades em ops:test, os dois no check:fast.
  • public/js/ops.js: sinais da sessão no navegador (marcos de boot, FPS em partida, falhas de carga, contexto WebGL, erros de partida, abandono) expostos em window.__csbOps e como migalhas do relatório de erro — sem endpoint novo, sem desenhar nada.
  • Runbook docs/runbooks/operacao-autonoma.md: como diagnosticar, recuperar por classe de achado e reverter site, edge, backend e banco.
  • npm run ops:aquecer e o passo no prod-watch.yml: depois do purge de cada deploy, o edge é aquecido com os módulos e todos os assets que a produção pede (111 MISS de 112 logo após a alpha.224 → HIT).
  • ops-diag.yml: a diagnose com navegador roda a cada hora e vira issue ops-diag em vermelho; portao-browser.yml passa a rodar eval:boot e as provas de navegador da camada operacional em PR que toca o boot.
  • O beacon de /api/perf leva o resumo do ops.js (boot, FPS p50/p5, falhas de carga, sessão anterior) e o relatório de crash diz onde a sessão anterior parou; a sonda de navegador usa a GPU do Mac sozinha e o elenco é sondado pelo glbchars.js que a produção serve.

Corrigido

  • O Campinho da Quebrada ganha cobertura nos dois portões e nas laterais, placar de várzea e navegação contínua nas quinas, preservando duas rotas separadas em CTF e partidas 5x5/8x8.
  • Funkeiros e Tribos Urbanas voltam a usar somente os pools de voz históricos da v7. As 36 falas Gemini rejeitadas deixam de ser alcançáveis pelos resolvers de evento, rádio e seleção; se o pack contiver apenas takes novos sem aprovação, o runtime fica em silêncio. Voz genérica, Web Speech e música removida continuam ausentes.
  • Lobisomem Mítico deixa de puxar aliados de outras facções, passa a resolver M nas telas de inspeção, usa luva M distinta no viewmodel, ganha animação própria com pés no chão e volta a publicar os retratos de resultado aprovados, que tinham saído do quadro medido no elenco.
  • O pack integrado do Lobisomem passa a servir os clipes próprios na sequência do runtime, com o fallback compartilhado preservado só para comparação e regressão.
  • No Sertão, as três carroças deixam passagem pelos dois flancos e as cinco casas diante dos respawns passam a ter porta, saída lateral, janela com revide e navegação intencional para bots.
  • As casas abertas da Praça da Matriz no Sertão preservam cobertura nas laterais das janelas, circulação interna livre e passagem dos bots junto aos esteios.
  • Em rodada de FACA os bots passam a jogar de faca: fecham até o alcance real da arma (medido 5,98 m e zero golpes em 60 s antes; 1,24 m, 18 golpes e 9 abates depois) e o golpe sai como faca — sem traçante, fogacho de cano nem som de tiro. A banda de distância de arma de fogo continua valendo na rodada normal. Régua eval:botfaca com três mutantes, no check:fast.
  • O headshot do jogador não arranca mais a câmera da primeira pessoa: a replay orbital e o hit-stop do #364 saíram, e o abate continua contando com hitmarker, dano, killfeed e locutor. Régua eval:replaycam passou a medir o contrário, com quatro mutantes.
  • Single Player voltou a abrir o submenu de MATA-MATA e CAPTURE A BANDEIRA (CTF), que segue para a seleção de mapas com o modo escolhido.
  • eval:boot voltou a rodar: a fixture do boot-check.mjs ancorava na assinatura antiga de _startGame (mudada no #489) e reprovava antes de medir; agora ancora no nome da função.
  • Os contadores do menu (/api/online e /api/map-plays) tentam de novo no cold start do backend (503 na primeira chamada, medido 06/09) em vez de ficar vazios.
  • O proxy da rede de segurança do site repassa a geo da borda (x-vercel-ip-*); a diagnose distingue city parado com presence viva (ingestão parada, corosolto/backend#22) de "ninguém jogou".
  • O build privado volta a carregar os 16 anúncios Fish, as 36 falas finais dos nove Funkeiros e somente as oito músicas aprovadas do menu.
  • Palhaços e Funkeiros sem take próprio deixam de tocar dublagem genérica; os Funkeiros preservam somente as 36 falas aprovadas.
  • A primeira fala de kill não é mais bloqueada por uma seleção ou chamada de rádio imediatamente anterior.
  • O empacotador limpa saídas anteriores e reconhece uma AWP CC0 catalogada sem confundi-la com áudio legado pelo nome.
  • Tiros ficam abaixo das vozes e a contingência original restaura falas, rounds e kill streaks em single-player e multiplayer.
  • O multiplayer reconhece inputs por sequência e suaviza correções sem apagar movimento pendente.
  • Arma, slots, pente, reserva e recarga passam a ser autoritativos no protocolo snapshot v4.
  • Trocas de arma remotas remontam a malha visível; clientes lentos não acumulam snapshots obsoletos.
  • A qualidade envia magnitude das correções para diagnóstico por sessão e round.
  • Multiplayer não vaza mais para a partida single-player depois de voltar ao menu.
  • O primeiro spawn e o respawn online obedecem imediatamente à posição autoritativa.
  • Captura de bandeira passa a receber placar, progresso, donos e relógio pelo snapshot v3.
  • Slots abandonados voltam à IA e as salas oficiais passam de 5v5 para 4v4.
  • O catálogo in-game usa a mesma versão v8 do pacote de áudio baixado no build.
v2.1.0-alpha.79 · 2026-10-13#

Mudado

  • Corrige a view que o sitemap diz filtrar perfis (#840)
  • Corrige a view que o sitemap diz filtrar perfis
v2.1.0-alpha.78 · 2026-10-13#

Mudado

  • Remover plans/ do repo público (#835)
  • Remove plans/ from public tree
v2.1.0-alpha.77 · 2026-10-13#

Mudado

  • Remover marketing/october-2026 do repo público (#834)
  • Remove marketing/october-2026 from public tree
v2.1.0-alpha.76 · 2026-10-13#

Mudado

  • Adicione as redes oficiais no rodapé do jogo (#827)
  • fix(awp): luneta engatada fecha o cone; traçado em 3ª pessoa sai da arma (#828)
  • fix(awp): luneta engatada fecha o cone na hora do gatilho; traçado em 3ª pessoa sai da arma
  • Adicione as redes oficiais no rodapé do jogo
v2.1.0-alpha.75 · 2026-10-13#

Mudado

  • docs: remove defasagens de comandos, números e features (#826)
  • docs: remove defasagens de comandos, números e features do README e páginas
v2.1.0-alpha.74 · 2026-10-13#

Mudado

  • docs(changelog): rodada do cronista (2026-10-11) (#814)
  • docs(changelog): rodada do cronista — 187 commits
  • docs(changelog): rodada do cronista — 13 commits
  • docs(changelog): rodada do cronista — 12 commits
v2.1.0-alpha.73 · 2026-10-13#

Mudado

  • feat: integrar comunidade e conta Supabase ao jogo (#807)
  • Navegador do portão de boot consente com a medição
  • Contrato do /ranking aceita o redirect para o hub da comunidade
  • Sincroniza o lockfile com o package.json da composição
  • Fecha os gates sociais demonstrados no check:fast do candidato
  • Protege os estados da home do ranking no portão
  • Alinha estado do ranking à resposta da API
  • Atualiza a arte dos emails com personagens armados
  • Add GPT character artwork for email templates
  • Add career badges to rankings and profiles
  • docs: refresh inventories after profile hierarchy adjustment
  • fix(social): prioritize ranking and simplify profile metrics
  • docs: atualizar catalogo de modulos do perfil publico
  • feat(social): mostrar perfil publico com ultimo personagem confirmado
  • docs: atualizar inventario de modulos apos selo de conta
  • feat(social): exibir selo de conta confirmada no perfil e ranking
  • docs: refresh module inventory for community inbox
  • feat: add community missions and private messages
  • docs: refresh module inventory and privacy gate
  • feat(auth): link social identities and separate optional choices
  • fix: use verified official contact and simplify legal heading
  • feat: align legal pages with the current hub design
  • feat: add privacy and terms pages for launch review
  • feat(ranking): adiciona aba semanal com calendário do servidor
  • docs(ranking): refresh generated module and test inventories
  • fix(ranking): preserve player links and present current team scores
  • fix(social): 404 upstream das rotas sociais vira 503 no proxy
  • docs(social): registra checkpoint e repetição do gate
  • feat(social): amplia personagem no cartão público
  • fix(social): refresh eval URLs after module edits
  • fix(social): render the CI entry and enter as guest
  • test(social): declare profile card route and verify preview isolation
  • docs(social): record profile share validation and regenerate counts
  • feat(social): share public handles and verified profile cards
  • feat(social): reuse game portraits for public profile cards
  • docs: consolidar aceite local do candidato social reconciliado
  • fix: preservar fronteira pública da conta e revisar reconciliação
  • docs: registrar retomada da reconciliação social
  • fix: liberar comunidade em retrato no celular
  • test: medir entrada social e documentar configuração real
  • feat: trazer comunidade e entrada de conta para a UI do jogo
  • Explain moderated sessions and record paired social reviews
  • Document social rollout and verify private community flows
  • feat(social): abra a comunidade integrada ao jogo
  • feat(social): integre sessão e feche leituras privadas no site
  • docs(social): registre objetivo e isolamento
v2.1.0-alpha.72 · 2026-10-13#

Mudado

  • Reusar geometria do entorno de Lajes na virada (#815)
  • Matricula a régua de cache das Lajes no portão
  • docs: refresh generated map build counts
  • fix: reuse Lajes background geometry during map build
v2.1.0-alpha.71 · 2026-10-13#

Mudado

  • feat(marketing): kit social com personagens estilizados e fade para preto (#811)
  • docs(marketing): confirmar envio do checkpoint do PR
  • docs(marketing): registrar dependências e estado do PR
  • chore(marketing): redisparar deploy do preview
  • docs(marketing): registrar entrega do layout de altura inteira
  • docs(marketing): registrar revisão do fade e altura inteira
  • feat(marketing): usar personagens de altura inteira e fade para preto
  • docs(marketing): registrar revisão dos personagens e variantes
  • feat(marketing): ampliar personagens e adicionar caricaturas políticas
  • Record failed remote marketing preview
  • Record draft marketing delivery and next step
  • Record marketing review and delivery checks
  • Invalidate stale marketing approvals on edits
  • Prepare reviewable October channel queue
  • Prepare October copy and community calendar
  • Add editable October cards and approval queue tool
  • Add sourced assets for October marketing kit
v2.1.0-alpha.70 · 2026-10-13#

Mudado

  • fix: libere a entrada sem esperar fauna decorativa (#812)
  • fix: libere a entrada sem esperar fauna decorativa
v2.1.0-alpha.69 · 2026-10-13#

Mudado

  • Corrige quickstart e contexto para novos devs (#810)
  • Aponta convite de devs ao domínio aprovado
  • Ancora runtime na instalação conferida
  • Corrige entrada de devs no clone público

Versões anteriores à v2.1.0-alpha.69 estão no CHANGELOG.md.