Skip to main content

πŸ”΄ Release v2.275.6

⭐⭐ Moderate Complexity β€’ 14 commits β€’ 208 files
This release introduces loyalty tier entry rewards, enabling automatic reward distribution when users advance to new tiers. It also includes critical security hardening, UI/UX improvements, and infrastructure enhancements for better observability and error tracking.

What’s New

  • Loyalty tier entry rewards β€” Automatically distribute rewards when users are promoted to new tiers, with configurable rewards per tier
  • User API security hardening β€” Added authentication guards to all /me.* API queries to prevent unauthorized access
  • Fixed admin badge reward crashes β€” Resolved crash when editing badge-type rewards with missing configurations
  • Improved user experience β€” Fixed reward card text wrapping, profile drawer translation issues, and form state detection
  • Widget error handling β€” Enhanced error states, sizing, and link behavior in the Shopify loyalty widget
  • Better error tracking β€” Integrated BetterStack error tracking across MCP server and admin app for improved observability

Apps Updated

User App

βœ“ Updated - 21 changes

API

βœ“ Updated - 8 changes

Admin

βœ“ Updated - 3 changes

MCP Server

βœ“ Updated - 2 changes

Design System

βœ“ Updated - 1 change

Games

β€” No changes

Detailed Changes

🎯 User Experience Improvements
  • Fixed reward card text wrapping for long reward types and dates β€” ensures consistent card layout across all screen sizes
  • Fixed profile drawer join date translation β€” date now appears in user’s selected language
  • Fixed multiple choice question default border styling β€” updated to use consistent border color system
  • Added authentication guards to all /me.* API queries β€” prevents unauthorized access to user data
  • Improved wallet and badge displays across all journey types (calendar, lite, stamp, mono)
πŸ“± Security
  • Added useIsAuthenticated hook for centralized auth checking
  • Enhanced all data-dependent components with auth verification
  • Fixed unauthenticated access to user profile, stats, and wallet endpoints
🎁 Loyalty Tier Entry Rewards
  • New feature: Automatic reward distribution when users are promoted to new loyalty tiers
  • Configured via entryRewardDistribution on each loyalty tier definition
  • Prevents duplicate reward claims through claimedEntryRewards tracking
  • Seamlessly integrates with existing distribution management system
  • Full test coverage with 297+ test cases for edge cases and concurrent scenarios
πŸ”’ Infrastructure
  • Migrated E2E API journey tests to tRPC in-memory unit tests for faster, more reliable testing
  • Added new RBAC authorization test suite
  • Improved test patterns for challenge and feature flag management
πŸ› Bug Fixes
  • Fixed crash when editing badge rewards β€” now properly handles missing badge configurations
  • Fixed embed launcher form dirty state detection β€” form changes are now correctly tracked
  • Added BetterStack error tracking for better error visibility and debugging
πŸ“Š Observability
  • Integrated Sentry error tracking application
  • Enhanced error logging with structured context
πŸ”§ Improvements
  • Fixed 5 action validation errors found in E2E testing
  • Added BetterStack error tracking for MCP operations
  • Improved error context and logging
🎨 Updates
  • Updated design system exports and styling patterns
✨ Widget Enhancements
  • Improved error states for better user feedback
  • Fixed widget sizing issues across device types
  • Enhanced link behavior and click handling

Feature Spotlight: Loyalty Tier Entry Rewards

Loyalty tiers can now automatically distribute rewards when users are promoted. This enables use cases like: Example: VIP Welcome Bonus
Bronze Tier β†’ Silver Tier: Award 500 bonus points
Silver Tier β†’ Gold Tier: Award exclusive VIP badge + 1000 points
Gold Tier β†’ Platinum Tier: Award premium avatar frame + 5000 points
Each tier can be configured with a distribution event that automatically triggers when a user reaches that tier. The system prevents duplicate rewards and integrates seamlessly with your existing gamification setup.

Security Improvements

User API Authentication

All /me.* queries now require proper authentication to access user data. This release adds security guards across:
  • Badge queries and details
  • Coin and point displays
  • Wallet and transaction history
  • Streak information
  • Profile and personal statistics
  • Reward preferences
Impact: Prevents unauthorized access to sensitive user data through API exploits.

Technical Improvements

Testing Infrastructure

  • Migrated from slow E2E API journey tests to fast tRPC in-memory unit tests
  • Result: Faster feedback loop, more reliable test suites, better coverage
  • New RBAC authorization tests for role-based access control validation
  • Standardized test patterns across admin, community, and feature flag domains

Error Tracking

  • BetterStack error tracking now active on MCP server and admin app
  • Automatic Sentry integration for frontend error reporting
  • Structured error logging for better incident investigation

Contributors

Derek CounihanDerek Counihan5 commits β€’ +11,156/-1,621 lines

SaadSaad3 commits β€’ +704/-335 lines

ZuhayrK00ZuhayrK003 commits β€’ +23/-14 lines

James CockayneJames Cockayne2 commits β€’ +1,061/-18 lines

Release Stats

MetricValue
Total Commits14
Lines Added+13,050
Lines Removed-1,988
Files Changed208
Release SizeMassive
ComplexityModerate

Upgrade Notes

For Administrators

  1. Loyalty Tier Rewards: If you use loyalty tiers, you can now configure entry rewards. Navigate to Tier Settings and select a distribution event for automatic reward distribution.
  2. Error Tracking: Admin error events are now tracked in BetterStack. Check the Error Tracking application for visibility into issues.

For Developers

  • API changes: New claimedEntryRewards field on UserLoyaltyTierStateDtoModel for tracking which tier entry rewards have been claimed
  • Test updates: Migrate any custom E2E tests to the new tRPC unit test pattern for consistency
  • Auth guards: Ensure all custom /me.* queries include proper authentication checks

v2.275.6 deployed on April 2, 2026