Changelog
Everything that changed, version by version. Production is vNão. The full file lives in CHANGELOG.md in the repository - this page is that file, rendered.
vNão · lançado — 2026-09-06#
Corrigido
- #696 —
assert:assetsreprovava com o pacote público mesmo depois do fetch. Oaudio-pack-v8(445 entradas, medido em 04/10/2026 no diretório central do zip) não tem pastaambiente/nem a chavemapSoundscapes, e o conserto —prepare-public-preview.mjs— era chamado SÓ pelo workflow de preview.scripts/fetch-audio.shagora termina a preparação em todo caminho público (ensure-map-soundscapes.mjs, que instalamapSoundscapesnos 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:audioruntimeassetspassa a provar os TRÊS estados do contrato — cru = vermelho, preparado = verde, parcial = vermelho — chamando oassert:assetsreal. - #741 — a
graffiti-editorial-checkmedia layouts que ninguém vê. OTypeErrordefy_corrego(id que viroucorrego) era a ponta visível: as cláusulasreligioso-vulgar,putinerostos-carecascomparavam comfy_corregoe passavam verdes sem medir nada — os três mutantes eram cegos.NOVOSpassou a listar os ids que o jogo pede nografitar({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,m17em22, 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:killstreakcobre 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:abateshudcom quatro mutantes, nocheck: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 emops:selfteste unidades emops:test, os dois nocheck: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 emwindow.__csbOpse 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:aquecere o passo noprod-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 issueops-diagem vermelho;portao-browser.ymlpassa a rodareval:boote as provas de navegador da camada operacional em PR que toca o boot.- O beacon de
/api/perfleva o resumo doops.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 peloglbchars.jsque 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:botfacacom três mutantes, nocheck: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:replaycampassou 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:bootvoltou a rodar: a fixture doboot-check.mjsancorava 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/onlinee/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 distinguecityparado compresenceviva (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.50 · 2026-10-04#
Mudado
- fix(release): bot não cancela dispatch em andamento (#765)
- fix(release): keep bot push from canceling dispatch
v2.1.0-alpha.49 · 2026-10-04#
Mudado
- fix(gate): exigir relatório fresco da auditoria de mapas (#766)
- fix(gate): allow full map audit to finish on CI runners
- docs: record alpha.48 map audit rebase
- docs: record fresh CI failure and promotion gates
- docs: checkpoint map audit PR and validation
- fix(gate): require fresh map audit report
v2.1.0-alpha.48 · 2026-10-04#
Mudado
- fix(corrego): restaurar rotas CTF nas pontes estreitas (#764)
- docs(corrego): record alpha.47 rebase and CI gate
- test(chat): make spectator smoke independent of round transition
- test(corrego): report CTF route summary only on pass
- fix(corrego): restore separate CTF routes on narrow bridges
v2.1.0-alpha.47 · 2026-10-04#
Mudado
- Dispatch backend node sync after client release (#752)
v2.1.0-alpha.46 · 2026-10-04#
Mudado
- fix(corrego): as 3 pontes baixas em escala — malha, colisor e navegação na mesma medida (#681)
- fix(corrego): as 3 pontes baixas em escala — malha, colisor e navegação na mesma medida (#681) (#761)
- chore: reavalia contra a main atual
- docs: regenera blocos derivados (regua eval:corrego-ponte entra no check:fast)
v2.1.0-alpha.45 · 2026-10-04#
Mudado
- fix(679): porta a visibilidade de alvo do catálogo para o check:fast (#750)
- docs: regenera blocos derivados (novo gate eval:vm-placar no check:altera a contagem)
- fix(679): porta a visibilidade de alvo do catálogo para o check:fast
v2.1.0-alpha.44 · 2026-10-04#
Mudado
- docs(changelog): rodada do cronista (2026-10-04) (#762)
- docs(changelog): rodada do cronista — 21 commits
v2.1.0-alpha.43 · 2026-10-04#
Mudado
- fix(assets): contrato de ambiência do áudio é do jogo, não do pacote (#696) + régua de grafite medindo o que se vê (#741) (#747)
- fix(assets): o contrato de ambiência do áudio é do jogo, não do pacote (#696, #741)
v2.1.0-alpha.42 · 2026-10-04#
Mudado
- feat(audio): menu instrumental com botão de música (#759)
- docs(audio): fechar preflight do pacote instrumental
- docs(audio): registrar revisão visual e condição de merge
- docs(audio): registrar pacote instrumental e limites da revisão
- fix(audio): validar pacote privado instrumental no build
- docs(audio): registrar checkpoint da intro instrumental
- feat(audio): manter instrumentais e alternar música do menu
v2.1.0-alpha.41 · 2026-10-04#
Mudado
- docs(security): registrar fechamento dos alertas (#760)
v2.1.0-alpha.40 · 2026-10-04#
Mudado
- fix(security): limitar profundidade do braces na documentação (#758)
Versions older than v2.1.0-alpha.40 live in CHANGELOG.md.

