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-10-06#
Corrigido
- A documentação deixou de apontar para o guia interno BotBrain removido e usa o domínio com
wwwpara abrir o jogo. A imagem de fallback do personagem recebesrcsomente 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: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.80 · 2026-10-13#
Mudado
- Pagina os perfis do sitemap além de 1.000 linhas (#842)
- Pagina os perfis do sitemap além de 1.000 linhas
- Mede o sitemap contra o max-rows do PostgREST
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
Versions older than v2.1.0-alpha.70 live in CHANGELOG.md.

