> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Release v2.475.11

> Released August 10, 2026

## 🔴 Release v2.475.11

⭐⭐⭐ Complex • 29 commits • 191 files changed

<Note>
  **v2.475.11** ships two major features and 20+ reliability, security, and UX improvements. Platform administrators gain precise control over game branding and can now track contracted billing terms from subscriptions. End users benefit from improved visual theming, better form validation, and a more polished post editor experience. This is our largest release this quarter.
</Note>

## What's New

### Major Features

* **Game Logo Control** — Admins can now enable/disable the brand logo on all game surfaces (loading screens, in-game UI, tutorial overlays). Perfect for white-label deployments or campaigns requiring minimal branding footprint.
* **Recurring Revenue Terms** — The API now persists and tracks contracted billing terms from Stripe subscriptions (billing interval and scheme), enabling accurate subscription lifecycle reporting and compliance tracking.

### Security & Reliability

* **Replay-Protected Reward Redemptions** — Reward asset redemptions are now protected against duplicate claims if requests are retried. Only one concurrent claim is allowed, and failed claims properly roll back to prevent lost rewards.
* **Cross-Tenant Security** — Removed unauthenticated cross-tenant user-search route that could leak organisation data.
* **Idempotent Quick Actions** — MCP Quick Action retries are now idempotent, preventing duplicate operations if the network retries a request.

### Admin Features

* **Post Editor Enhancements** — Hover tooltips added to the post editor toolbar for better discoverability of formatting options. Fullscreen editor now has a visible X button to exit.
* **Image Editor** — Uploaded filenames are now preserved through the image editor workflow.
* **Translation Editing** — Searched translation rows stay visible while being edited, improving the workflow for managing multi-language content.
* **Leaderboard Supplies** — Finite leaderboard reward supplies are now correctly preserved, preventing accidental changes to scarcity constraints.

### User Experience & Accessibility

* **Community Theme Focus Ring** — Focus ring styling now respects your community's theme colors, maintaining visual consistency across all interactive elements.
* **XP Display Colors** — XP headline colors now properly reflect the admin's configured XP color setting instead of reverting to defaults.
* **BannerCard Improvements** — Description case is preserved, and gradient backgrounds display correctly on cards without images.
* **Widget Loading States** — Widget header loading state is now visually distinct, giving users clear feedback during data fetch.
* **Profile Username Validation** — Minimum length validation added for profile usernames to prevent empty or single-character handles.
* **Form Sizing** — Standalone landing frames now size correctly from the panel dimensions.

### Bug Fixes

* **Duplicate Shop Purchases** — Duplicate shop purchase attempts now return a 409 Conflict instead of a 500 server error, providing clearer feedback to users.
* **Event-Gated Actions** — Event-gated action eligibility checks are now bound to the current progress period, preventing stale eligibility windows.
* **Post Likes Persistence** — Post likes tapped before the profile loads are no longer discarded; likes are properly persisted regardless of load timing.
* **Cookie Consent** — First-party cookie consent orchestration has been restored for proper privacy handling.

## Apps Updated

<CardGroup cols={3}>
  <Card title="User App" icon="mobile">
    ✓ Updated - 45 changes
  </Card>

  <Card title="API" icon="server">
    ✓ Updated - 52 changes
  </Card>

  <Card title="Admin" icon="gear">
    ✓ Updated - 38 changes
  </Card>

  <Card title="MCP Server" icon="robot">
    ✓ Updated - 8 changes
  </Card>

  <Card title="Games" icon="gamepad">
    ✓ Updated - 18 changes
  </Card>

  <Card title="Database" icon="database">
    ✓ Updated - 2 migrations
  </Card>
</CardGroup>

## Detailed Changes

<AccordionGroup>
  <Accordion title="User App" icon="mobile">
    * **Community Theme Focus Ring** — Focus ring colors now derive from community theme, maintaining visual consistency (NJ-1916)
    * **XP Color Theming** — XP headline respects admin-configured color setting (NJ-1904)
    * **BannerCard Case Preservation** — Card descriptions preserve original case (NJ-1696)
    * **BannerCard Gradients** — Gradient backgrounds display on imageless cards (NJ-1697)
    * **Widget Header Loading** — Loading state visually distinct during data fetch (NJ-1695)
    * **Landing Frame Sizing** — Standalone frames size correctly from panel dimensions (NJ-1915)
    * **Profile Username Validation** — Minimum length validation on profile handles (NJ-1621)
    * **Post Likes Persistence** — Likes captured before profile loads no longer lost (NJ-1952)
    * **Cookie Consent Restoration** — First-party consent orchestration restored (NJ-1632)
  </Accordion>

  <Accordion title="API" icon="server">
    * **Replay-Protected Reward Redemptions** — Only one concurrent claim allowed; failed claims properly roll back (NJ-1165)
    * **Recurring Revenue Terms** — Stripe subscription terms (interval, billing scheme) now persisted for accurate reporting (NJ-772)
    * **Duplicate Shop Purchase Handling** — Returns 409 Conflict instead of 500 for duplicates (NJ-1778)
    * **Event-Gated Action Checks** — Bound to current progress period, preventing stale eligibility windows (NJ-1798)
    * **Idempotent Quick Actions** — MCP Quick Action retries are now idempotent (NJ-1678)
  </Accordion>

  <Accordion title="Admin" icon="gear">
    * **Game Logo Toggle** — Enable/disable brand logo on all game surfaces via game config (NJ-1906)
    * **Post Editor Tooltips** — Hover tooltips on formatting toolbar for improved discoverability (NJ-1951)
    * **Post Editor Exit Button** — Visible X button to exit fullscreen editor (NJ-1956)
    * **Image Editor Filename** — Uploaded filenames preserved through editor workflow (NJ-1929)
    * **Translation Row Visibility** — Searched translation rows stay visible while edited (NJ-1912)
    * **Leaderboard Supply Preservation** — Finite reward supplies correctly maintained (NJ-1911)
    * **Security: Cross-Tenant Route Removal** — Unauthenticated user-search route removed (NJ-1893)
  </Accordion>

  <Accordion title="Database" icon="database">
    * Migration: Add `recurringRevenueTerms` to organisation subscription tracking
    * Migration: Support `clientBranding.logo.enabled` toggle in game config
  </Accordion>
</AccordionGroup>

## Contributors

<CardGroup cols={4}>
  <Card>
    <img src="https://github.com/solicshop@gmail.com.png" alt="Mo" style={{borderRadius: '50%', width: 48}} />

    **Mo**

    14 commits • +3,893/-1,384 lines
  </Card>

  <Card>
    <img src="https://github.com/dch@wenudj.com.png" alt="DCH" style={{borderRadius: '50%', width: 48}} />

    **DCH**

    10 commits • +1,815/-4,115 lines
  </Card>

  <Card>
    <img src="https://github.com/zuhayrk00@gmail.com.png" alt="Zuhayron" style={{borderRadius: '50%', width: 48}} />

    **Zuhayron**

    2 commits • +1,516/-314 lines
  </Card>

  <Card>
    <img src="https://github.com/jamescockayne.png" alt="James" style={{borderRadius: '50%', width: 48}} />

    **James**

    1 commit • +0/-219 lines
  </Card>
</CardGroup>

## Release Stats

| Metric        | Value       |
| ------------- | ----------- |
| Total Commits | 29          |
| Lines Added   | +7,330      |
| Lines Removed | -5,995      |
| Files Changed | 191         |
| Size          | 🔴 Massive  |
| Complexity    | ⭐⭐⭐ Complex |

## Upgrade Path

No breaking changes. All upgrades from v2.473.4 → v2.475.11 are backwards-compatible.

***

*v2.475.11 deployed on August 10, 2026*
