Skip to main content

🟠 Release v2.229.2

⭐⭐⭐ Complex • 6 commits • 95 files changed
Major features for multi-tier achievements and flexible points management. This release adds organization-level points configuration for centralized points tracking, tier-aware integration API responses enabling progressive achievement systems, and critical stability fixes for the admin challenge editor. Particularly valuable for platforms running multiple communities with unified points economies or implementing tiered loyalty programs.

What’s New

  • Flexible Points Economy: Configure organization-level points tracking to unify points across all communities or keep them separate with optional expiration settings
  • Multi-Tier Achievement System: Users now progress through achievement tiers with detailed tier status tracking, completion percentages, and claimable rewards visible in the integration API
  • Challenge Editor Restored: Fixed critical issue preventing challenge editing in the admin panel
  • Widget Component Parity: Added missing FeaturedRewards component to widget component registry
  • Import Optimization: Improved admin bundle efficiency by replacing barrel imports with direct enum imports

Apps Updated

User App

✓ Updated - 1 change

API

✓ Updated - 50+ changes

Admin

✓ Updated - 10 changes

MCP Server

— No changes

Website

— No changes

Games

— No changes

Detailed Changes

New Feature: NUDJ-5091Organizations can now configure whether points are tracked at the organization level or per-community:
  • Organization-Level Points: All communities share a single points balance for each user. Enables unified points economies across multiple communities.
  • Per-Community Points: Each community maintains its own separate points ledger for users (existing behavior).
  • Points Expiration: When using org-level points, administrators can set an optional expiration window (in hours) for earned points. Set to 0 for points that never expire.
Admin Panel: New “Points Configuration” tab in Organization Settings (/admin/settings/organisation) with:
  • Toggle to switch between org-level and per-community tracking
  • Points expiration configuration (hours)
  • Confirmation dialog to prevent accidental settings changes
Impact: Administrators can now design points economies that better fit their business model—whether they want users to accumulate points across all engagement opportunities or keep communities isolated.
New Feature: NUDJ-1597The integration API now returns complete tier progression data for tiered achievements, enabling rich user interfaces for progressive achievement systems:
  • Per-Tier User State: Each tier includes dedicated user progress tracking (status: locked/in-progress/completed/claimable, progress percentage, earned values, claimable rewards)
  • Active Tier Detection: API automatically determines which tier is currently active based on user progress (priority: claimable > in-progress > not-started)
  • Tier Summary Data: Root-level fields now include:
    • activeTierNumber: Current tier user is working toward
    • highestCompletedTier: Highest tier they’ve completed
    • totalTiers: Number of tiers in the achievement
    • overallStatus: Achievement-level completion status (not-started/in-progress/completed)
  • Backward Compatibility: Single-tier achievements produce identical API responses to previous versions
Use Cases:
  • Display multi-stage achievement progression with visual tier indicators
  • Show which tier is “claimable” (completed but not yet claimed)
  • Track overall achievement completion across all tiers
  • Render progressive unlock systems where later tiers are locked until earlier ones complete
Challenge Editor Fix (NUDJ-5288)
  • Fixed critical issue where challenge editing failed in the admin panel by adding reflect-metadata polyfill to client bundle
  • Challenge forms now load and save correctly
Import Optimization (NUDJ-5304)
  • Replaced barrel model imports with direct enum imports to reduce admin bundle size
  • Improves build performance and code clarity
Points Configuration Service (NUDJ-5091)
  • New PointsConfigService for managing org-level points settings
  • getPointsConfig(): Retrieve current points configuration
  • updatePointsConfig(): Update points tracking mode and expiration settings
  • Helper functions for points expiration resolution
  • Comprehensive test coverage for configuration CRUD operations
Achievement Aggregation (NUDJ-1597)
  • Enhanced achievement aggregation pipeline to collect rewards from all tiers (not just tier 1)
  • Returns array of user progress documents (one per tier) instead of single document
  • New computeActiveTier() helper for calculating active tier from user progress
  • New computeEarnedValuesFromTierProgress() helper to extract per-tier earnings
  • Updated achievement mapper to build complete tier user states
Database Migration
  • Migration to add org_level_points_config collection
Points Platform Config (NUDJ-5091)
  • New PointsPlatformConfigDtoModel with fields:
    • useOrgLevelPoints: boolean to enable org-level tracking
    • expirationHours: hours until points expire (0 = never)
Achievement DTOs (NUDJ-1597)
  • New IntegrationTierSchema for per-tier user state
  • New ActiveTierSchema for active tier metadata
  • Expanded AchievementIntegrationSchema with tier array and tier-aware user state
  • New fields: activeTierNumber, highestCompletedTier, totalTiers, overallStatus
Widget Components (NUDJ-5295)
  • Added FeaturedRewards to WidgetComponentIdEnum
  • Minor widget configuration updates

Admin Highlights

  • Points Configuration Hub – Control whether user points accumulate organization-wide (unified economy) or stay isolated per-community with optional point expiration windows
  • Challenge Editing Restored – Fixed critical admin panel issue preventing challenge creation and editing workflows
  • Tier Management Visibility – See active tier, highest completed tier, and total tier count for achievement progress tracking

User Highlights

  • Progressive Achievement Tiers – Experience multi-stage achievements where each tier unlocks new challenges and rewards as you progress
  • Clear Tier Status – See which tier you’re currently working on, which ones you’ve completed, and which are locked ahead
  • Flexible Reward Structures – Earn tier-specific rewards that scale with your achievement progression

Contributing

This release represents work from our engineering team:

dchnudj@dch@wenudj.com3 commits • +23/-13 lines

jamescockayne@jamescockayne1 commit • +4954/-383 lines

SaadK94@SaadK941 commit • +5688/-213 lines

Release Stats

MetricValue
Total Commits6
Lines Added+10,951
Lines Removed-610
Files Changed95
Size🟠 Large
Complexity⭐⭐⭐ Complex

v2.229.2 released on March 17, 2026