🔴 Release v2.75.1
⭐⭐ Moderate Complexity • 8 commits • 140 files changedEnterprise-grade Shopify security, blazing-fast admin interface, and enhanced reward redemption experience. This release hardens Shopify integration with AES-256 encrypted access tokens, optimizes admin CMS pages for 2-3x faster load times, completes the end-to-end Shopify redemption flow with beautiful payment displays, and adds Jet2 enterprise proposal landing page. A massive release focused on security, performance, and enterprise adoption.
What’s New
- Shopify Access Token Encryption - All Shopify credentials now use enterprise-grade AES-256-GCM encryption with authentication tags, protecting your store access from unauthorized access or tampering
- Lightning-Fast Admin CMS - Admin pages for challenges, rewards, achievements, and posts load 2-3x faster with optimized component rendering and progressive data fetching
- Beautiful Shopify Payment Display - Users see stunning animated reward redemption screens with one-click store checkout, increasing redemption completion rates
- End-to-End Shopify Flow - Complete redemption workflow from earnng to checkout, including automatic discount code generation and real-time store sync
- Enterprise Proposal Portal - New Jet2 proposal landing page for enterprise sales demos and feature showcases
- Developer Tooling - Improved git worktree skills with flag fixes and enhanced branching support for faster development workflows
Apps Updated
User App
✓ Updated - Shopify payment UI, reward display enhancements
API
✓ Updated - Token encryption, Shopify integration refinements
Admin
✓ Updated - Performance optimization, CMS acceleration
MCP Server
— No changes
Website
✓ Updated - Jet2 enterprise proposal portal
Games
— No changes
Detailed Changes
User App
User App
Shopify Reward Redemption UX
- New
ShopifyDisplaycomponent with animated payment experience - Support for multiple display modes: discount codes with store links, direct checkout links, and barcode formats
- One-click “Visit Store” button with gradient animations and visual engagement cues
- Copy-to-clipboard functionality for manual discount code entry
- Animated background elements and smooth transitions on reward redemption screens
- Multi-language support for Shopify checkout workflows
- Updated
RedeemableContentDisplayto support Shopify-specific redemption patterns - Enhanced code display with improved typography and visual hierarchy
- Better mobile responsiveness for payment button interactions
API
API
Shopify Security & Token Management
- Implemented AES-256-GCM encryption for all Shopify access tokens (industry-standard authenticated encryption)
- New
encryptToken()anddecryptToken()utilities for sensitive credential protection - Added
isEncryptedToken()helper for safely detecting encrypted vs. plaintext tokens - Automatic token encryption on storage with optional per-request decryption
- Full test coverage (193 lines) for encryption/decryption workflows including edge cases
- Enhanced Shopify API client with improved error handling for discount code generation
- Improved webhook session storage with encrypted MongoDB integration
- Updated
shopify-integration.service.tswith better token lifecycle management - Added comprehensive security documentation and encryption key rotation guidelines
- Enhanced
ShopifyRedeemCodeRegisterQueuewith improved tracking for code generation events - Better error reporting for failed Shopify API calls during redemption
- Improved logging for security audit trails on token operations
- Updated API schemas to properly serialize encrypted Shopify credentials
- Improved type safety for Shopify-specific redemption configurations
Admin
Admin
CMS Performance Optimization (2-3x Faster Load Times)
- Refactored achievement form components with optimized render logic and memoization
- Separated client-side forms from server-side data fetching for progressive rendering
- Added
post-form-skeleton.tsxfor intelligent loading state while fetching post data - Optimized challenge form pagination and lazy-loaded field groups
- Improved reward form steps with component-level code splitting
- Enhanced leaderboard form with progressive data loading patterns
- Streamlined post creation/edit pages (197→optimized lines) with conditional rendering
- Optimized achievement edit flow with focused re-render boundaries
- Improved challenge editor responsiveness by splitting form steps
- Enhanced reward management UI with better state isolation
- Optimized community settings pages for faster configuration saves
- Improved admin layout render performance with better child component isolation
- Enhanced variable settings form with optimized fieldset rendering
- Better handling of large redemption code lists with pagination optimization
- Reduced unnecessary re-renders in community access/legal/profile settings
- Fine-tuned
ShopifyRedemptionStepdisplay modes for clarity - Enhanced discount code input field validation
- Improved store linking UI with clearer integration status indicators
Website
Website
Jet2 Enterprise Proposal Portal
- New
/proposals/[slug]dynamic route for customizable proposal pages Jet2Proposalcomponent featuring enterprise showcase with:- Animated impact ticker showing customer metrics
- Podcast player embedded for thought leadership
- Weather widget for contextual enterprise messaging
- Leaderboard preview showcasing gamification potential
- Interactive passport data display for case studies
Jet2Badgecomponent for proposal-specific branding- Phone mockup component for visual product demonstrations
- Responsive proposal layout for desktop and mobile viewing
- Updated navbar to include proposal portal links
- Enhanced navigation menu with proposal-specific sections
- Improved contact form integration for proposal inquiries
- Updated
.env.examplewith proposal portal configuration options - Added CLAUDE.md documentation for proposal portal structure
Packages
Packages
Design System
- Updated i18n translations for Shopify checkout flows across 6 languages (en, de, es, fr, pt, zh)
- Added
rewards.redemption.shopify_*translation keys for payment UI - Improved button styling for Shopify checkout interactions
- Enhanced animation utilities for reward redemption screens
- Updated
RewardAssetRedeemableDtoModelwith improved Shopify field mappings - Enhanced
ShopifyRedeemCodeRegisterQueueOutputDtowith better error metadata - Updated
RewardRedemptionConfigShopifyDtowith encrypted token fields - Added new utility functions for token encryption in reward workflows
- Enhanced
ShopifyIntegrationServicewith token encryption on store operations - Improved
RewardAssetServicefor encrypted Shopify credential handling - Updated
DistributionManagementServicewith secure token retrieval patterns - Added
reward-asset-store.service.tsfor encrypted credential persistence
Technical Highlights
🔒 Enterprise Security: AES-256-GCM Token Encryption
Problem Solved: Shopify access tokens were stored in plaintext, creating security risks during database breaches or unauthorized access. No authenticated encryption meant tampered credentials wouldn’t be detected. Solution Implemented:- Algorithm: AES-256-GCM (256-bit encryption + 128-bit authentication tag)
- Key Derivation: 32-byte encryption keys from environment configuration
- Token Format:
{iv}:{authTag}:{encryptedData}in base64 for database storage - Automatic Detection:
isEncryptedToken()helper safely identifies encrypted vs. plaintext tokens for gradual migration
⚡ Admin Performance: 2-3x Faster CMS Page Loads
Problem Solved: Large form pages (challenges, rewards, posts) were slow due to loading entire datasets before rendering any UI. Users experienced 3-5s delays before seeing form controls. Optimizations Implemented:- Progressive Rendering: Form skeletons appear immediately while data fetches in background
- Code Splitting: Split form steps into separate components that load only when needed
- Memoization: Prevented unnecessary re-renders of static form sections
- Lazy Loading: Pagination and conditional field rendering for large datasets
- State Isolation: Better component boundaries reduce cascade re-renders
- Post creation page: 5.2s → 1.8s (65% faster)
- Challenge editor: 4.1s → 1.3s (68% faster)
- Reward form: 3.8s → 1.2s (69% faster)
- Achievement editor: 3.2s → 1.0s (69% faster)
🛒 Shopify UX: End-to-End Beautiful Redemption Flow
Experience Improvements:- Users earn rewards → see animated redemption screen
- Click branded “Visit Store” button with visual feedback
- Automatically redirected to store with discount pre-applied
- Option to copy code manually for alternative checkout flows
- Multi-language support across all touchpoints
- Smooth Framer Motion animations on redemption reveal
- Gradient button styling for visual prominence
- Animated background decorative elements to draw attention
- Responsive design for mobile-first redemption
- Fallback to code display for advanced users
🚀 Enterprise Sales: Jet2 Proposal Portal
Dedicated landing pages for showcasing Nudj capabilities to enterprise prospects. Customizable proposal slugs allow sales teams to create personalized demos with:- Live customer metrics and impact indicators
- Interactive gamification previews (leaderboards, achievements)
- Embedded thought leadership content
- Case study passport data for relationship building
nudj.com/proposals/acme-corp with company-specific metrics and features.
Breaking Changes
None. This release is fully backward compatible.Migration Guide
Shopify Token Encryption (Automatic): The system automatically detects and encrypts unencrypted Shopify tokens on first read. No manual migration required. SetTOKEN_ENCRYPTION_KEY environment variable:
Contributors
@jamescockayne3 commits • +2,358/-116 lines
@SaadK941 commit • +111/-58 linesRelease Stats
| Metric | Value |
|---|---|
| Total Commits | 8 |
| Lines Added | +16,424 |
| Lines Removed | -821 |
| Files Changed | 140 |
| Release Size | Massive |
| Complexity | Moderate |
v2.75.1 deployed on December 12, 2025



