Skip to content

v0.2.1-beta — CODM Profiles, Reliable Loyalty & Shared Dashboard Improvements

Pre-release
Pre-release

Choose a tag to compare

@AdamOusmer AdamOusmer released this 15 Sep 16:02
· 734 commits to main since this release
98e2794

Highlights

  • CODM Global profiles arrive in chat with !codm, !codmprofile and !codmrank. Look up a UID or exact nickname for level, Multiplayer rank, rating, country and short ID, or link your own account in the dashboard. Replies preserve the name you supplied instead of exposing streamer-mode nicknames. Avatar, KD, match history and Battle Royale stats are not included.

  • Loyalty awards and watchtime are hardened against duplicate flushes, restarts and lifecycle changes. Reserved counters stay protected, and loyalty settings and commands handle account and channel state more consistently.

  • Outgoing chat coordination moves to durable NATS state so Valkey outages no longer lose rate leases, pause state or batch checkpoints. Unknown coordination state fails closed; other Valkey-backed features still require their store.

  • Message publishing preserves flush barriers and recovers safely, while stuck lane fetches surface explicit failures. The admin hub feed now uses mutual TLS.

  • The dashboard, admin console, docs and site share more UI primitives, status dots, notifications, pickers and browser helpers. Public navigation and typography are consistent, and reply editors, guides and the command builder use the same chat rehearsal and token examples.

  • Dashboard saves surface validation feedback instead of silently failing. Navigation no longer loads the whole module catalog, first render avoids blocking work, and the homepage encryption scene loads on demand.

  • Public command lists keep stable source-based keys, rehearsal examples use uptime without requiring a counter, and emote-pyramid validation correctly handles the game state. Deployment pins and console digests have been kept in sync throughout this release.

Bilingual web changelog JSON is attached. Release images are built for both AMD64 and ARM64.

What's Changed

  • fix(commands): key the public command list on source index by @AdamOusmer in #958
  • fix(web): unblock first render and defer the encryption scene fetch by @AdamOusmer in #959
  • fix(web): share the public chrome and unfork the console's type scale by @AdamOusmer in #960
  • feat/ui primitives by @AdamOusmer in #961
  • feat/ui rails rehearsal by @AdamOusmer in #962
  • fix(rehearsal): offer uptime instead of a counter example in the five chips by @AdamOusmer in #964
  • fix(gossip): reply with the username the caller typed by @AdamOusmer in #965
  • fix: surface stuck lane fetches, dial the hub feed with mTLS by @AdamOusmer in #966
  • fix(outgress): survive Valkey outages with durable NATS coordination by @AdamOusmer in #970
  • fix(dashboard): surface validation feedback by @AdamOusmer in #971
  • fix(bus): preserve publish barriers and recover safely by @AdamOusmer in #972
  • refactor(web): consolidate shared UI and browser helpers by @AdamOusmer in #973
  • fix(loyalty): prevent duplicate awards and harden watchtime lifecycle by @AdamOusmer in #974
  • perf(dashboard): reduce initial navigation JavaScript by @AdamOusmer in #975
  • Fix emote pyramid validation by @AdamOusmer in #976
  • Add CODM Global profile commands and dashboard by @AdamOusmer in #977
  • Release v0.2.1-beta changelog by @AdamOusmer in #978

Full Changelog: v0.2.0-beta...v0.2.1-beta