Repository navigation
v0.2.2-beta — Premium Giveaways, Variables Reference & Grant-Aware Admin Status
Highlights
-
Admins can run Premium giveaways. Preview who is eligible, freeze that pool, and draw a cryptographically random set of winners from registered accounts that finished onboarding. VIP, current staff, test, inactive and banned accounts cannot enter. Winning again in a later giveaway is a separate prize.
-
Free winners receive their prize months automatically, with a confirmation email that embeds the logo. A winner who already pays through Tebex stays pending until billing protection is verified, so the prize never claims to have paused a charge it has not paused. The dashboard shows the actual fulfillment state.
-
Command template variables have a public searchable reference. Filter by family, copy a token, and keep a shareable query, in English and French, from the same catalog the command builder uses.
-
CODM profile lookups stay validation-only and honour the provider's rate limits and cooldown, so a lookup cannot mutate an Activision account or stampede the API.
-
Login, import, the dashboard and the admin console share the same tags, buttons and compact language switch. Status labels are hairline tags, so paid, free and VIP read as labels rather than pills.
-
A covering committed giveaway grant writes premium onto the stored user status so admin overview, listing, stats and Get agree. A free winner with an active prize reads as paid. Tebex identity is not replaced, VIP is never demoted, and already-committed winners are promoted on the next sweep.
-
Dashboard and admin keep New Relic APM under bun. Console images strip Node/V8 native addons that bun would otherwise load and abort on, so the JS agent stays up.
Bilingual web changelog JSON is attached. Release images are built for both AMD64 and ARM64.
What's Changed
- Deploy v0.2.1-beta release images by @AdamOusmer in #979
- Fix CODM rate accounting and honor upstream throttling by @AdamOusmer in #980
- fix(codm): keep profile requests validation-only by @AdamOusmer in #981
- deploy(gossip): CODM rate and validation-only fixes by @AdamOusmer in #982
- Add durable Premium giveaways and shared award emails by @AdamOusmer in #983
- Deploy Premium giveaway service images by @AdamOusmer in #984
- fix(deps): update bun dependencies by @renovate[bot] in #969
- Add searchable variables reference by @AdamOusmer in #985
- Fix giveaway fulfillment, shared badges and email logo by @AdamOusmer in #986
- Deploy giveaway fulfillment and email fixes by @AdamOusmer in #987
- fix(ui): share Tag, Button, compact lang switch by @AdamOusmer in #988
- Update Container images by @renovate[bot] in #968
- chore(deps): update module google.golang.org/grpc to v1.83.2 [security] by @renovate[bot] in #865
- fix(users): overlay admin status from grants and invalidate on core NATS by @AdamOusmer in #990
- fix(ui): use hairline tags for status labels by @AdamOusmer in #989
- Serve consoles on distroless bun and build Pages with bun --bun by @AdamOusmer in #991
- fix(ui): complete CodeQL string sanitization by @AdamOusmer in #992
- Release v0.2.2-beta changelog by @AdamOusmer in #993
- Deploy v0.2.2-beta release images by @AdamOusmer in #994
- fix(console): strip New Relic V8 addons so bun can load the JS agent by @AdamOusmer in #995
- fix(users): persist giveaway premium on users.status by @AdamOusmer in #996
- Refresh v0.2.2-beta changelog for grant persist and bun APM by @AdamOusmer in #997
Full Changelog: v0.2.1-beta...v0.2.2-beta