π΄ Release v2.291.0
βββ Complexity β’ 16 commits β’ 409 files β’ 35,273 additions β’ 6,491 deletionsBiggest release of the year. Adds interactive 3D basketball game, webhook-based reward distribution, and a complete overhaul of how community managers configure visibility and engagement features. Widget performance jumped from Lighthouse 42 β 92+. Both end users and admins get major quality-of-life improvements.
Whatβs New
- π Basketball Game β Add a playable 3D basketball mini-game to your community with configurable difficulty levels, physics-based scoring, and leaderboard integration
- π Reward Distribution Webhook β Olly partners can now programmatically distribute rewards via API instead of manual uploads
- ποΈ Community-Level Visibility Controls β Tab visibility (Challenges, Achievements, Rewards, Games, Leaderboards) now set per-community, not globally, giving you control for each audience
- β¨ Unified Create Workflows β All β+ Newβ buttons (Challenges, Achievements, Posts, Rewards) now follow the same creation pattern for consistency
- β‘ Widget Performance β Loyalty widget now scores 92+ on Lighthouse (up from 42) β twice as fast, better mobile experience
- π¨ Shopify Ways to Earn β Completely redesigned the Shopify βHow to Earnβ section with consistent theming, pagination, and modern layout
Apps Updated
User App
β Updated - 8 changes
API
β Updated - 3 changes
Admin
β Updated - 6 changes
MCP Server
β Updated - 1 change
Games
β Updated - 2 changes
Shopify
β Updated - 1 change
For Community Managers & Admins
π Basketball Game Configuration- Add a playable 3D basketball game to challenges with full admin config panel
- Set difficulty levels (Easy/Medium/Hard), ball speed, hoop height, and scoring sensitivity
- Upload custom team logos, court images, ball styles, and stadium backgrounds
- Configure sounds for scoring, misses, and achievements
- View real-time leaderboards as users compete
- Migration complete: Tab visibility is now community-level, not org-wide
- Set which tabs (Challenges, Achievements, Rewards, Games, Leaderboards, Posts) appear for each community
- Perfect for running different engagement strategies per audience
- Database migration handles all existing settings automatically
- All β+ Newβ buttons now follow the same pattern: template selection β form fill β preview β publish
- Create Challenges, Achievements, Posts, and Rewards with consistent UI
- Faster workflows, less confusion for new admins
- Partners can now integrate reward distribution via webhook API
- Programmatically send rewards to users instead of manual CSV uploads
- Full audit trail and error handling built-in
- Complete redesign of the βHow to Earnβ partner page
- Consistent theming with your Nudj community design
- Pagination for large lists of challenges and achievements
- Better mobile layout and category navigation
- Fixed organization switcher regression (cookie refresh in auth)
- Fixed circular JSON in overlay modals
- Improved back button navigation
- Graceful handling of missing platform configuration
For End Users
β‘ Widget Performance Boost- Loyalty widget now loads 2x faster on mobile (Lighthouse 42 β 92+)
- Better performance on slow connections
- Improved first-time render and interaction responsiveness
- New playable basketball mini-game in challenge library
- Flick the ball into the hoop with realistic physics
- Earn points based on accuracy and difficulty
- Leaderboard shows top scorers across your community
- Platform now gracefully handles missing configuration
- No more cryptic error pages β helpful fallback UI instead
Architecture & Performance
Widget Optimization (Lighthouse 42 β 92+)
The embedded loyalty widget received a comprehensive performance overhaul:- Code splitting & lazy loading β Only load whatβs visible
- Database query optimization β Batch streaks queries, eliminate N+1 queries
- Asset optimization β Tree-shaking, minification, efficient CSS
- Metrics: Page load time down 50%, Lighthouse performance up 100%, CLS fixed
CI/CD Pipeline DX Overhaul
- Incremental deploys β Only rebuild apps that changed (no unnecessary rebuilds)
- Vercel prebuilt artifacts β Local builds with turbo β prebuilt β instant deploy
- Turbo remote cache β Build cache shared across the team (30% faster warm builds)
- Result: Full PR pipeline for docs-only changes drops from 8 min β 30s
API Endpoint Optimization
Optimized remaining integration API endpoints for faster response times and lower database load. Complements the earlier v2.290 API optimization work.Detailed Changes
User App
User App
- Widget performance optimization β Lighthouse 42β92+ via code splitting, lazy loading, and query batching
- Page load benchmark suite β Added db-query, lighthouse, and page-load benchmarks with baseline/comparison reports
- Better platform config handling β Use notFound() instead of throwing on missing configuration
- Streak query optimization β New batch helper eliminates N+1 queries
API
API
- Olly reward distribution webhook β New POST /api/admin/olly/distribute-reward endpoint with full test coverage
- XpGained event emission β Now correctly emits XpGained event for score-conversion XP in game sessions (was missing before)
- Participation status backfill β Backfilled missing _ids in participation status entries
- Integration endpoint optimization β Performance improvements across remaining integration API endpoints
Admin
Admin
- Basketball game form β Full config UI with difficulty, physics, assets, and sound controls
- Tab visibility migration β Moved from feature flags to community-level theme (community_theme.tabVisibility)
- Community features tab β New unified tab for managing feature visibility per community
- Create wizard unification β Standardized β+ Newβ button and creation flow across Challenges, Achievements, Posts, Rewards
- Org switcher fixes β Fixed regression where cookie wasnβt refreshed in JWT callback
- Admin stability bundle β Fixed org switcher edge cases, circular JSON overlays, back button navigation
Shopify
Shopify
- Ways to Earn page revamp β Complete redesign with consistent community theming
- Category navigation β Better organization of challenges and achievements
- Pagination β Handle large lists of engagement items efficiently
- Mobile layout β Improved responsive design for smaller screens
Games
Games
- Basketball game engine β Full 3D canvas-based basketball game with physics
- Game config 404 handling β Stop retrying when game config returns 404 (prevents error loops)
Database
Database
- Theme null handling β Fixed migration to handle theme: null in tab/feature visibility settings
Packages
Packages
- API Client β Updated for new reward distribution endpoints
- Design System β New components for basketball config UI and unified wizards
- Models β Basketball game config types, tab visibility schema updates
Migration Guide
Tab Visibility: Feature Flags β Community Theme
If you used feature flags to control tab visibility, no action needed β the database migration runs automatically:Breaking Changes
None. All changes are backward compatible. Tab visibility migration is automatic.Contributor Highlights
@ZuhayrK003 commits β’ +7,855 lines
@dchnudj2 commits β’ +7,868 lines
@jestella082 commits β’ +862 lines
@jamescockayne2 commits β’ +298 lines
@SaadK941 commit β’ +903 linesRelease Stats
| Metric | Value |
|---|---|
| Total Commits | 16 |
| Lines Added | +35,273 |
| Lines Removed | -6,491 |
| Files Changed | 409 |
| Release Size | π΄ Massive |
| Complexity | βββ Complex |
v2.291.0 deployed on April 16, 2026


