Changelog.
Track all updates, improvements, and fixes to Reward Loyalty.
A quick star rating helps more people discover Reward Loyalty and directly supports continued development. ⭐️⭐️⭐️⭐️⭐️
💡 Always test updates in a test environment before updating production. Back up your database, verify everything works, then deploy.
If your site shows a 500 after updating, delete the contents of
bootstrap/cache/on your server and reload.
Version 3.37.2
March 30, 2026
- Fixed admin dashboard crash caused by a cache deserialization setting.
Version 3.37.1
March 30, 2026
Fixed
-
Updating from 3.36.x to 3.37.0 caused a 500 error (
Target class [translator] does not exist). Laravel 13 changed when the exception handler initializes. A locale detection call inbootstrap/app.phpnow fires before the translator service is registered. Fixed by deferring the call until the translator is available. -
Removed unused
InvalidOrderExceptionboilerplate frombootstrap/app.php.
Version 3.37.0
March 30, 2026
Improved
Laravel 13 Framework Upgrade
Upgraded from Laravel 12 to Laravel 13. All backend and frontend dependencies updated alongside the framework.
- Laravel Framework 12.51.0 → 13.2.0
- Symfony components v7.x → v8.x
- Vite 7 → Vite 8 (now uses Rolldown for faster builds)
- All frontend dependencies updated to latest compatible versions
- Removed unused packages
simple-qrcodeandblade-zondicons
See Technology Stack for the full stack overview.
Database Schema: TIMESTAMP → DATETIME
All date columns in migration files changed from TIMESTAMP to DATETIME. Affects new installations only, existing databases are not altered.
TIMESTAMPis converted by the MySQL server based on timezone, which fails during DST transitions (e.g.,2026-03-29 02:45:00does not exist in CET)TIMESTAMPhas a hard upper limit of January 19, 2038DATETIMEstores values as-is and avoids both problems
Fixed
- Fresh installations on servers in DST-affected timezones no longer fail in edge cases during database seeding
Version 3.36.0
March 29, 2026
New
Email Login for Anonymous Members
Anonymous members can now log in to an existing registered account directly from the Switch Account tab using their email address. Previously, the only way to access an existing account from a new device was to enter the member code. Now there's a second option: Log in with Email.
How it works:
- Open the Switch Account tab in Account settings
- Scroll to Log in with Email
- Enter the email address linked to the account you want to access
- Receive a 6-digit verification code via email
- Enter the code and tap Verify & Log In
- You're logged in and redirected to My Cards
This uses the same one-time code verification flow used everywhere else in the platform — no new passwords, no extra steps.
The existing code-based switch remains available. Both methods appear side by side in the Switch Account tab.
Fully translated in all 11 supported languages.
Learn more about anonymous members →
Improved
- Staff QR scanner can now be stopped by tapping the scan button again, properly releasing the camera
- Added Cuban Peso (CUP) and Barbadian Dollar (BBD) currencies
Fixed
- Fix: Re-creating a voucher with the same code as a previously deleted voucher no longer causes a duplicate entry error
Version 3.35.0
March 15, 2026
New
Agent API — OpenAPI Specification
The Agent API now has its own dedicated OpenAPI 3.0 specification, generated directly from the controller annotations. Every endpoint, parameter, and response schema is documented in a machine-readable format.
- Interactive documentation at
/api/agent/docs— browse all 69 endpoints, inspect request/response schemas, and test directly from Swagger UI - Raw JSON spec at
/api/agent/docs.json— import into Postman, code generators, or any automation platform - Accurate request schemas — request bodies include full JSON Schema with
oneOf(translatable fields accept both string and object),nullable, nested objects, arrays, and enums - Scopes declared per endpoint — every operation carries
x-agent-scopesmetadata so tools and agents know which scopes grant access - Separate from the REST API — the Agent API spec is completely independent from the existing REST API documentation. Both specs are generated and served from their own routes
Generate the spec with php artisan l5-swagger:generate agent.
Browse the live spec → · Agent API Documentation
Agent API — Tool Discovery Endpoint
AI agents can now discover what they can do at runtime. The new GET /api/agent/v1/tools endpoint returns machine-readable tool definitions scoped to the authenticated key — no manual tool configuration required.
How it works:
- Your agent calls
/tools?format=openaion startup - The endpoint returns tool definitions filtered by the key's role, scopes, and feature permissions
- Your agent registers these tools with its LLM provider
- The LLM can now call your loyalty platform as a tool
Supported formats:
- OpenAI — function calling format for GPT models
- Anthropic — tool use format for Claude
- MCP — Model Context Protocol for agent frameworks
- Generic — raw JSON Schema for custom integrations
Permission-aware filtering:
- Partner keys only see tools for features they have access to. If loyalty cards are disabled for a partner, the 10 card/reward endpoints are hidden from the tool list
- If a partner's Agent API access is revoked (
agent_api_permission = false), the/toolsendpoint returns403 FEATURE_DISABLED— the same response any partner endpoint would give - Admin and member keys are unaffected by partner feature flags
You can also export tool definitions via the command line: php artisan agent:export-tools openai --role=partner.
See Tool Discovery for the full guide with integration examples.
Fixed
- Fix: Installer no longer incorrectly detects a subdirectory installation on hosts with a
public/rewrite setup, which could prevent completing the installation wizard
Version 3.34.0
March 13, 2026
Improved
Unified Design System
Every dashboard surface — admin, partner, staff, and member — now uses the same design token system. Colors, spacing, transitions, and interactive feedback are consistent across all pages. Dark mode renders properly everywhere, including scrollbars, form controls, and browser chrome.
What changed:
- Consistent color palette (
secondary-*) replaces the mix ofstone-*,slate-*,gray-*, and hardcoded hex values that accumulated across surfaces - Scrollbars now respect dark mode on all pages. Previously, admin, staff, and member dashboards showed a light scrollbar in dark mode
- All buttons have consistent press feedback (subtle scale animation on click)
- Stat cards, page headers, nav links, empty states, and activity log views refined with improved spacing and typography
- Staff transaction flows (stamps, loyalty cards, vouchers, QR scanner) have improved form layouts and status indicators
- Member point request, code redemption, and referral pages polished
- Partner auth pages, email campaigns, and voucher management views upgraded
Redesigned Installation Wizard
The installation flow has a new premium look and smarter pre-flight checks that catch deployment problems before you spend time configuring.
- New multi-layer gradient sidebar with clear step progression (completed steps show checkmarks, active step is highlighted, upcoming steps are dimmed)
- Mobile layout with sticky header and animated step progress dots
- New: Environment checks — the requirements page now verifies root directory writability (can the
.envfile be created?) and detects subdirectory installations (e.g.,example.com/loyalty) that break routing - Failed checks show contextual help with inline examples explaining how to resolve the issue
- Platform name live preview — the sidebar logo updates in real-time as you type your platform name
- Configuration summary now displays admin name, email, database, and mail driver
See Installation for the updated guide.
Redesigned Error Pages
The 401, 403, 404, 419, 429, 500, and 503 error pages now use the unified design system with proper dark mode support, consistent typography, and clean layouts.
Streamlined Member Header
The member header is cleaner on both mobile and desktop. Theme toggle and language selector moved to the footer to reduce top-bar clutter. "My Cards" is always visible as a dedicated button.
Improved Content Typography
Content pages (FAQ, terms, privacy, about) have better heading hierarchy, paragraph spacing, and list styles for improved readability.
Responsive Member Card
The member info card (shown when staff processes transactions) no longer crams all data into one row on small screens. On mobile, member name and tier appear on top, with the unique ID, join date, and point multiplier in a separate row below.
Accessibility
- Pinch-to-zoom re-enabled on all pages (was previously disabled, violating WCAG 2.1 SC 1.4.4)
- Skip-to-content keyboard navigation link added to the member layout (WCAG 2.4.1)
Updater Preflight Checks
The update process now checks if exec() is available before starting any work. On hosts where exec is disabled, you'll see a clear message explaining which PHP functions to enable instead of a cryptic 500 error. The zip backup method also gracefully falls back to PHP's ZipArchive when shell functions are unavailable. Update error messages now show the actual reason from the server (e.g., "Support has expired") instead of a generic failure message.
Fixed
- Fix: Dark scrollbar now renders correctly on admin, staff, and member pages in dark mode
- Fix: PWA offline banner no longer appears falsely on page load when the device is connected
- Fix: Offline connectivity check no longer produces a 404 console error
- Fix: Mobile hamburger button is now a circle, matching the wallet icon button and profile pill shape
- Fix: Error pages (401, 403, 404, 419, 500) no longer crash when accessed via invalid URLs or missing locale prefixes — they now display the full branded page with header, footer, and navigation
- Fix: Stamp cards and vouchers without a custom background image no longer trigger 404 console errors from a missing default image
- Fix: Cookie consent banner now actually renders on the frontend when the admin toggle is enabled — the Blade partial existed but was never included in any layout
Version 3.33.0
March 8, 2026
New
Agent API — Connect AI Agents, and Automation Tools
Your loyalty platform now has a dedicated machine-to-machine API. The Agent API lets external systems operate your loyalty engine directly — awarding points, redeeming rewards, managing members — without touching the dashboard.
Three key types, three access levels:
- Partner keys (
rl_agent_) — Full POS integration. Award points on purchase, redeem rewards at checkout, manage cards, vouchers, stamp cards, tiers, staff, and clubs. Everything the staff app does, plus management CRUD. - Admin keys (
rl_admin_) — Platform operations. List and manage partners, view platform-wide members, access analytics. Built for monitoring and automation workflows. - Member keys (
rl_member_) — Personal data access. Check balances, browse rewards, view transaction history, discover and follow cards. Built for AI assistants that act on behalf of customers.
Designed for automated systems:
- Granular scopes — Each key gets exactly the permissions it needs:
read,write:transactions,write:cards, and more. Least-privilege by design. - Per-key rate limiting — Configure requests per minute for each key. Rate limit headers (
X-RateLimit-Remaining) included in every response. - Structured error envelopes — Machine-readable error codes with retry strategies (
no_retry,backoff,fix_request,contact_support) so AI agents know how to recover. - Audit trail — Every API call is logged with endpoint, method, status code, and IP address. Visible in your partner activity log.
- Tenant isolation — Partners can only access their own data. Cross-partner access is impossible by design.
Key management from your dashboard:
- Create keys with scope selection and optional expiration from the partner, admin, or member dashboard
- Keys are shown once at creation and never recoverable (bcrypt-hashed storage)
- Revoke keys instantly — all future requests are rejected immediately
- Configurable key limits per partner (default: 5)
Beta — opt-in activation:
The Agent API ships with your existing license but is disabled by default. To enable it, set FEATURE_AGENT_API=true in your environment file. Administrators must also enable the "Agent API" permission for each partner who needs access.
Agent API Documentation · How to Enable · Endpoint Reference
Improved
Database Compatibility
Optimized column sizes in the transactions and analytics tables for better compatibility with non-default MySQL storage engines. No data migration required — existing installations are unaffected.
Version 3.32.1
March 4, 2026
- Translate hardcoded "Select an option" placeholder in select dropdowns
Version 3.32.0
March 1, 2026
New
Ghost Member Purge — Clean Up Inactive Anonymous Accounts
When anonymous mode is enabled, every unique visitor creates a member record. Over time, this accumulates thousands of "ghost" accounts — anonymous members who visited once but never earned points, collected stamps, or redeemed anything.
Administrators can now bulk-remove these ghost accounts from Members → Purge Ghost Members:
- Choose a retention period — 1, 3, 6, 12, or 24 months. Each option shows a live count of how many members would be affected
- See the full breakdown — total members, anonymous members, ghost members, and the exact number that will be deleted
- Safe by design — only anonymous members with zero interactions are removed. Registered members and anyone who has earned points, stamps, or vouchers is always preserved
- Confirmation modal — destructive action requires explicit confirmation before proceeding
- Audit trail — every purge is logged with the count, retention period, and who performed it
Fully translated in all 11 supported languages.
See Database Maintenance for details.
Version 3.31.4
February 26, 2026
Fixed
- Fix: Email campaign segments that require numeric input (Points Above/Below, Almost Complete, Inactive) now correctly update the recipient count when you enter a value, instead of always showing 0
- Fix: Voucher batch wizard review step now shows the actual quantity you entered instead of always displaying the default (100)
- Fix: "Visible on homepage" toggle on vouchers now correctly respects the admin's "Cards on Homepage" permission, matching the behavior of loyalty cards and stamp cards
- Fix: "You receive" (points per currency) and "Maximum Points per Purchase" can now be set to 0 on loyalty cards, enabling referral-only cards where points come exclusively from bonuses
Version 3.31.3
February 26, 2026
Improved
Smarter Voucher Claiming — Single-Use Codes Stay Exclusive
When a voucher is set to single-use or has a total usage limit, only the allowed number of members can now add it to their wallet. Previously, any number of members could save the same limited-use batch voucher code, leading to a frustrating experience where only the first member to redeem it at the store would succeed — everyone else was rejected at the counter.
Now, the "Add to My Cards" button automatically disappears once a limited-use voucher has been claimed by the maximum number of members. Members who arrive late see a clear "This voucher has already been claimed" message instead of a misleading save button. The system also prevents saving expired or fully-used vouchers, and vouchers targeted to a specific member can no longer be saved by others.
Permission-Aware Email Campaign Segments
Email campaign audience segments now respect your feature permissions. If Loyalty Cards, Stamp Cards, or Vouchers are disabled for your account, the corresponding targeting segments (e.g., "Card members", "Points below", "Stamps in progress", "Has voucher") are automatically hidden. Only relevant segments appear, keeping the campaign wizard clean and confusion-free.
Permission-Aware Stamp Card Settings
The "Also reward points" and "Reward card" fields on stamp cards are now hidden when the Loyalty Cards permission is disabled. Previously, these options appeared for all partners — even stamp-only partners who didn't have access to the points program.
Fixed
- Fix: Clicking any individual voucher code on the "View Batch Codes" screen no longer shows a 404 error — each code now opens correctly
- Fix: Sorting table columns (e.g., clicking "Claimed" on the batch voucher table) no longer drops filters and search context, which previously caused all rows to disappear
- Fix: Partners can now set "Min Points Per Purchase" to 0 on loyalty cards, useful for referral-only cards where points come from bonuses rather than purchases
- Fix: The "Set up Tiers" promotional banner on the partner dashboard is now hidden when the partner does not have the Loyalty Cards permission
Translations
- Voucher settings: "total uses", "uses per member", and help texts for "first order only" and "new member days" are now fully translatable in all 11 languages
- Added missing
uses_per_membertranslation key to all 11 languages - Polish: Replaced placeholder text for loyalty card rules with proper translations including all dynamic variables (bonus points, expiration, earning rate, min/max points)
- Polish: Referral program strings now correctly display the referrer's name and point amounts
- All languages: Added 3 new voucher eligibility messages (no longer available, not available to you, fully claimed)
Version 3.31.2
February 23, 2026
- Fix: Prevent database crash on favicon component during installation
Version 3.31.1
February 21, 2026
- Fix referral campaigns being visible to other partners
- Deactivating a network now hides all its cards, stamp cards, and vouchers from members
- All dashboard greetings now use your local time
Version 3.31.0
February 16, 2026
- Add favicon upload in System Settings (.ico/.svg) with dynamic browser theme-color from brand color
- Fix: Resolved demo data installation error caused by type mismatch when seeding transactions for cards with initial bonus points on PHP strict mode servers
Version 3.30.1
February 12, 2026
- Fix: Directional icons and hover animations not adapting to right-to-left languages
- Fix: Voucher card layout not mirroring correctly in right-to-left languages
- Fix: Email campaign tier and points segment filtering
- Fix: Date range not translating on loyalty card analytics pages
- Fix: Account Settings link in admin navigation opening system settings instead of user profile
- Update: Translate multi-select component for all supported languages
- Update: Translate hardcoded text on login and OTP verification pages
- Updated NPM and Composer dependencies, rebuilt production assets
Version 3.30.0
February 10, 2026
- Unified language selection UI across all layouts (admin, partner, staff, member) with a premium modal featuring a 2-column grid, country flags, active language indicator, smooth transitions, and escape-to-close — replacing the previous nested sub-dropdowns
- Fix: Crash on list view when filter column has no available options
- i18n: Add Polish translations + demo content (pl_PL)
- i18n: Add missing demo content for Bahasa Indonesia, Japanese and Turkish
- Set Japanese language to inactive by default
Version 3.29.0
February 9, 2026
- i18n: Add demo content for Bahasa Indonesia, Japanese and Turkish
- i18n: Add Bahasa Indonesia translations (id_ID)
- i18n: Add Turkish translations (tr_TR)
- i18n: Add Japanese translations (ja_JP)
- i18n: Sync common.php translations (es, de, it, ar, pt, fr) + fix stamps expiring subject placeholders
Version 3.28.0
February 5, 2026
New
Business Settings
Partners can now configure a public business profile. Once you set a business name, a business card appears on every loyalty card, stamp card, and voucher page your members visit.
The card shows your logo, tagline, and real-time open/closed status. One tap gets directions via Google Maps. Social icons link to Instagram, TikTok, Facebook, and X. Members can expand the card to see your full address and weekly hours.
Four tabs in the partner dashboard:
- Branding: Name, tagline, brand color, about text, logo, cover image
- Location: Full address plus Google Maps link
- Contact: Website and social profiles
- Hours: Weekly schedule with open/closed toggles
No verification required. Just edit and save.
Learn more about Business Settings
Improved
List View Component
Two new options for list views:
- Custom empty state messages (context-specific text when a list is empty)
- Collapsible info panels with state saved via cookie
Version 3.27.1
February 2, 2026
- Update: Staff member search now includes anonymous customers
- Update: Simplified staff dashboard empty state
- Add: Missing 'Redirecting' translation for QR scanner
- Fix: Verification code unreadable in dark mode email clients
- Add: Zip extension requirement to server checks
Version 3.27.0
January 26, 2026
New
Faster Page Loads — Optimized Frontend Architecture
Your platform now loads significantly faster with a restructured frontend:
Role-Based JavaScript Bundles
- Each user type only loads what they need (~40% smaller initial load)
- Core bundle: Universal components (forms, icons, Alpine, HTMX)
- Member bundle: PWA features, QR caching, premium cards
- Staff bundle: QR scanner, confetti animations
- Partner bundle: Rich text editor, color picker, charts, AI tools
- Admin bundle: Analytics charts
Optimized Font Assets
- Reduced font directory from ~3MB to ~548KB (85% smaller)
- Removed unused font families, keeping only Geist, Inter, and JetBrains Mono
Switch Account for Anonymous Members
Members can now switch to a different account by entering a unique member code. This allows users who started as anonymous to link to an existing account without losing their session.
Improved
Seamless First-Visit Loading
First-time visitors now see a clean loading screen instead of a flash of page content during initial authentication. The loader automatically adapts to your theme preference.
Anonymous Mode Controls
When disabling anonymous mode, you can now choose to log out all anonymous members immediately.
Fixed
- Form inputs no longer break with special characters like apostrophes
- Members with deleted vouchers now display correctly in the list
Version 3.26.4
January 21, 2026
- Fixed stamp card emoji compatibility issue affecting certain server configurations
- Removed debug logging and rebuilt assets
Version 3.26.3
January 21, 2026
- Fix: Members with only stamp card or voucher activity now appear in members list
Version 3.26.2
January 20, 2026
- Admin members view now displays member names, allowing correct listing of anonymous members
- Add: Bot protection for anonymous member creation
- Allow anonymous members to add their email with verification
- Improve profile verification form for anonymous members
- Require email verification to save profile changes with new flow
- Add translations for profile verification in all languages
Version 3.26.1
January 17, 2026
- Update: Anonymous member device link now refreshes on every visit
- Update: Clarified anonymous member description wording
Version 3.26.0
January 17, 2026
New
Anonymous Member Mode — Zero-Friction Loyalty Onboarding
Your loyalty program can now welcome visitors with zero friction. Enable anonymous mode and visitors start earning rewards immediately — no signup form, no email required.
How it works:
- Visitors automatically become members on their first visit
- They receive a unique member code (e.g., "R4K7")
- Full functionality from day one: earn points, collect stamps, claim rewards
- Optional: add an email anytime to access their account across devices
For Administrators:
- Enable/disable via Settings > Anonymous members
- Configure code length based on expected scale:
- 4-5 characters for small businesses
- 6 characters (recommended) for most use cases
- 7-8 characters for enterprise scale
- Safely disable with optional member logout
Best for: Cafés, quick-service restaurants, pop-up shops, events — anywhere signup friction loses customers.
Learn more in the Anonymous Members Guide
Improved
PWA Now Remembers Your Language
The Progressive Web App now remembers your language preference when reopened. Previously, it would always open in the language that was active when you first installed it.
Now when you reopen the PWA, it uses:
- Your saved account language preference (if logged in)
- The language you last used (remembered via cookie)
- Your browser's language setting (as fallback)
Spanish speakers get Spanish, German speakers get German — even after closing and reopening.
Translations
- Added translations for anonymous member settings in all languages (English, German, French, Spanish, Italian, Portuguese, Arabic)
- Fixed duplicate translation keys in Portuguese and Spanish
Version 3.25.4
January 15, 2026
- Premium stamp card design update with debossed slots and improved readability
- Fix dark mode not activating correctly when system preference is set to dark
- Fix ampersand (&) displaying as "&" in card titles and descriptions
- Demo stamp card titles no longer reference specific stamp counts
Version 3.25.3
January 14, 2026
- Translate hardcoded text in voucher settings form
- Translate hardcoded text in stamp card settings form
- Translate voucher value display (e.g. '100 points', 'Free Shipping')
- Add missing translations across all languages
- Improve date display on stamp card validity dates
- Fix installation error when database queue table doesn't exist
- Fix minor translation issues in partner interface
Version 3.25.2
January 13, 2026
- Fixed: Locale fallback now handles missing user language preferences correctly, preventing errors when generating localized URLs
- Removed Beta badge from vouchers in partner dashboard navigation
- Improved default colors for loyalty and stamp cards
Version 3.25.1
January 11, 2026
- Fixed API documentation not generating correctly after dependency updates
- Resolved configuration caching issues with API documentation settings
Version 3.25.0
January 11, 2026
New
Demo Data Toggle — See the Platform in Action Instantly
New installations now include an optional demo data toggle in the installation wizard. Enable it to populate your database with sample partners, members, staff, loyalty cards, stamp cards, vouchers, and transactions—everything you need to explore the platform immediately.
What you get with demo data:
- Pre-configured dashboards with analytics and charts
- Example loyalty cards, vouchers and stamp cards on the homepage
- Demo accounts with login credentials shown after installation:
- Partner:
[email protected]/welcome3210 - Staff:
[email protected]/welcome3210 - Member:
[email protected]/welcome3210
- Partner:
Best for: Client demonstrations, feature exploration, team training, and evaluation before going live.
See the Installation Guide for step-by-step instructions.
Improved
Redesigned Installation Wizard
The installation wizard has been refreshed with a modern look and better usability:
- New sidebar design — Clear step indicators with gradient styling show your progress
- Improved visual hierarchy — Better spacing, typography, and form layouts
- Dark mode support — Full dark mode styling throughout all wizard steps
- Smoother navigation — Pages now scroll to top when moving between steps
Fixed
- Fixed installation failing when database tables don't exist yet
Version 3.24.1
January 10, 2026
- Stamp cards now show expiration rules to members
- Added stamp_rule_expiration translations and fixed duplicate keys
- Fixed voucher card error when staff views member vouchers
- Updated Composer dependencies (routine security and performance patches)
- Updated NPM dependencies and rebuilt frontend assets
Version 3.24.0
January 9, 2026
New
Homepage Layout Settings — Present Your Platform Your Way
Choose how visitors experience your member portal with three homepage layout options.
Three Layout Options:
- Smart Wallet — Wallet-style grid showing all visible loyalty cards, stamp cards, and vouchers. Best for agencies and multi-partner networks.
- Showcase (new) — Editorial-style presentation of the same visible programs with a hero section. Best for brand-focused installations.
- Portal (new) — Minimal sign-in focused landing. Best for QR-driven flows where customers already know why they're there.
Visibility Control:
Admins grant homepage publishing permission via Partner Permissions. Partners with this permission can then toggle "Visible on homepage" when creating or editing cards and vouchers. Both Smart Wallet and Showcase display all visible programs—the difference is presentation style, not content.
Configurable from Settings:
Navigate to Settings → Homepage to switch layouts. Showcase includes additional options for section visibility (How It Works, Tiers, Member Count).
Learn more about homepage layouts
Version 3.23.0
January 9, 2026
New
White-Label Branding — Make It Truly Yours
Customize your platform's visual identity directly from the admin dashboard—no technical expertise required. Your branding now applies consistently across all portals for administrators, partners, staff, and members.
For Administrators:
- Upload your logo — Drag and drop separate logos for light and dark themes (SVG, PNG, JPG, or WebP supported)
- Choose your brand color — Pick any color and the platform automatically generates matching shades for buttons, links, hover states, and backgrounds
- Instant updates — Changes apply immediately across all pages without any technical steps
What's New:
- Logo uploads replace URL configuration — No more editing config files. Simply upload your logo files through the new visual interface
- Smart dark mode support — Upload a separate logo for dark backgrounds, or let the system use your main logo as a fallback
- Automatic color palette — Choose one primary color and get 11 perfectly balanced shades that work beautifully in both light and dark modes
- Branded fallback — When no logo is uploaded, the platform displays a stylish badge with your brand's initial letter
Technical Highlights:
- Dynamic color theming via CSS custom properties (no CSS recompilation needed)
- Centralized logo component ensures consistent rendering everywhere
- Full multi-language support—branding settings are available in all 7 supported languages
Learn more in the Branding Guide
Version 3.22.1
January 6, 2026
- Update: API now accessible from any origin
- Update: API documentation auto-detects server URL
- Update: API login examples with demo credentials
Version 3.22.0
January 6, 2026
Improved
Better Privacy for Your Members
The member list in the staff dashboard now shows customer names instead of email addresses. We've also removed email from search to help protect your members' personal information.
Developer API (Demo Code Only)
⚠️ Important: The API is provided as demo/sample code. It requires developer expertise to use, extend, and maintain.
For developers who want to build custom integrations, we've added and updated API endpoints that show how the platform could be connected to external systems like mobile apps or POS software. This includes sample endpoints for:
- Staff & POS operations — Login, member lookup, add stamps/points, redeem rewards
- Member management — Enroll in stamp cards, save vouchers, manage "My Cards"
- Business administration — Manage members, cards, vouchers, and rewards programmatically
The API is documented with Swagger (industry standard), so all endpoints can be tested interactively with real data. Access the documentation at your-domain.com/api/documentation (test at https://demo.rewardloyalty.co/api/documentation).
We try to expand the API when time permits, but we don't have the resources to support it officially at this time. If API functionality is critical to your project, please ensure you have a developer on your team who can work with it independently.
See API Reference for details.
Fixed
- Fixed broken links in the API documentation and support pages
Version 3.21.2
January 4, 2026
- Fix: Demo voucher redemptions now include redemption date
Version 3.21.1
January 4, 2026
- Fix: Week-based analytics now correctly show Sunday to Saturday date range
- Style: Analytics charts now use consistent brand colors
- Refactor: Updated production build assets
Version 3.21.0
January 3, 2026
- Add: Configurable expiry time for reward claim QR codes
- Fixed stamp card display error in staff views
- Fixed verification code resend countdown display
Version 3.20.1
January 2, 2026
- The homepage now displays all available cards, vouchers, and stamp cards without any limits
- Added 3-day redemption code validity option — new expiration period available in Settings → Loyalty Cards
- Stamp count options now curated for optimal visual layouts
- Optimized stamp card grid layouts for pixel-perfect alignment
- Added translations for stamp count options in all languages, plus missing Spanish translations for settings fields
Version 3.20.0
January 2, 2026
New
Member Privacy & Data Management
Members now have full control over their personal data with a new Privacy & Data tab in their profile:
- Download your data — Export all personal information, card history, and transactions
- Remove partner relationships — Leave individual businesses while keeping your account active
- Delete your account — Permanently remove all your data with proper confirmation flow
These features support compliance with global privacy regulations including GDPR (EU), CCPA (California), LGPD (Brazil), PIPL (China), PIPEDA (Canada), UK DPA, and APPI (Japan). All privacy-related actions are logged for accountability.
Activity Log Purge for Database Maintenance
Administrators can now clean up old activity logs directly from the dashboard to improve database performance and reduce storage costs.
- Preview before you purge — See exactly how many records will be deleted, broken down by category (loyalty cards, vouchers, members, etc.)
- Compliance-safe — A 90-day minimum retention period is enforced to meet global data protection requirements (GDPR, CCPA, LGPD, SOC 2, HIPAA, and more)
- Safe processing — Large datasets are handled in chunks to prevent timeouts
- Full accountability — Every purge action is logged for audit purposes
Navigate to Activity Logs in the admin sidebar and click Purge Old Logs to get started.
See Managing Activity Log Size for details.
Reusable Modal & OTP Components
New UI components provide a consistent experience across the platform:
- Elegant modal dialogs for confirmations and forms
- Secure OTP verification for sensitive actions
- Improved visual styling for tabbed interfaces
Improved
Simplified Admin Navigation
The admin sidebar is now cleaner and more accessible:
- All menu items are directly accessible—no more nested "Administration" submenu
- Activity Logs has its own top-level menu link
- Reorganized order: Partners → Networks → Administrators → Members → Analytics → Activity Logs → License → Settings
Voucher Discount Display
Percentage discounts now display correctly everywhere:
- 15% shows as "15%", not "0.15%" or "1500%"
- Consistent display across voucher cards, history, emails, and staff redemption screens
- Fixed voucher type names in transaction history
Activity Log Event Tracking
Activity logs now capture more detailed events for better filtering and audit trails:
- Stamp card completions now log specific "points credited" events
- Tier changes log distinct events (assigned, upgraded, downgraded)
- Voucher activities log proper events (created, redeemed, voided, exhausted)
Data Table Appearance
Management tables now have a more polished look with consistent header heights and better empty state display.
Fixed
- Rich text editors no longer show duplicate extension warnings when multiple editors appear on the same page (such as email campaigns with multiple languages)
- AI writing assistant icons now display correctly in the text transformation menu
- Member profile cleaned up with removed unused configuration code
Version 3.19.0
January 1, 2026
New
Automatic Card Saving After Login
Click "Add to My Cards" while logged out, and the card is automatically added to your wallet after you sign in or register. No need to navigate back and click again.
Refreshed Authentication Pages
All login, registration, and password reset pages have been redesigned:
- Centered layout with improved vertical alignment
- Logo displays consistently on all screen sizes
- Automatic light/dark mode logo switching
- Applies to Member, Partner, Admin, and Staff portals
Refer a Friend Quick Action
New "Refer a Friend" button on the member dashboard for one-tap access to your referral link.
Partner Currency Preference
Partners can now set a preferred currency in their profile.
Improved
- Member profile reorganized into Profile and Localization tabs for cleaner navigation
- Membership tiers are now optional—clubs work without them, point multipliers default to 1.0
- Added tier translations for German, Spanish, French, Italian, and Portuguese
- Numeric input fields now feature elegant +/- steppers with international decimal support (both 1,5 and 1.5 formats)
- Currency values display with proper decimal formatting (e.g., $500.00 instead of $50000)
- Refreshed empty state styling for transaction, stamp, and voucher history
- Enhanced dropdown styling with improved keyboard navigation and focus states
Fixed
- Voucher form now correctly shows/hides fields when switching discount types
- Currency suffix updates properly between % and currency code
- Settings dropdowns now display previously saved selections correctly
- Membership tier spend thresholds display correct decimal values
- Email notifications now arrive in your preferred language—verification codes, password resets, points updates, rewards, referrals, and more
Version 3.18.0
December 30, 2025
New
Partner Permissions & Limits
Administrators can now control exactly which features each partner has access to and set limits on the number of items they can create.
For Administrators:
- Toggle individual features on/off per partner (Loyalty Cards, Stamp Cards, Vouchers, Email Campaigns, Activity Logs)
- Set numeric limits on Loyalty Cards, Rewards, Stamp Cards, Vouchers, and Staff Members
- Configure each partner's capabilities individually through the Permissions tab
For Partners:
- Navigation automatically hides features you don't have access to
- Clear warning message when you reach your configured limits
- Streamlined experience showing only the features available to you
Related Documentation:
- Partner Permissions & Limits — Complete guide to configuring feature access and limits
Dark Mode Logos on Login Pages
All login, registration, password reset, and verification pages now automatically display the correct logo based on your theme preference. If you've configured separate light and dark mode logos, users will see the appropriate one across Member, Partner, Staff, and Admin portals.
Improved
Spanish Translations for Analytics
Added 68 missing Spanish translations for analytics features including metrics labels, sort options, time period filters, and chart tooltips. Spanish-speaking users now see fully translated analytics dashboards.
Partner Dashboard Respects Permissions
The partner dashboard now properly hides sections for disabled features. If Activity Logs, Email Campaigns, or Voucher Batches are disabled for a partner, those sections no longer appear on their dashboard or in navigation.
Member Dashboard Polish
Improved empty states and visual styling throughout the member dashboard for a more polished experience when members haven't collected cards yet.
Fixed
Image Uploads on New Records
Fixed an issue where images weren't saved when creating new records. Uploads now work correctly on both new and existing items.
Version 3.17.2
December 29, 2025
- Fix: Apostrophes now display correctly in page titles and meta tags
- Fix: Share links now display spaces correctly on mobile
- Remove redundant spacing from compose email progress indicator
- Improved PWA compatibility with modern browsers while maintaining support for older iOS devices
- Fixed an issue that could prevent the member dashboard from loading in certain card configurations
- Fix claimed_via enum value in VoucherService
- Fix VoucherRedemption attribute references in voucher history
- Improve voucher redemption error display UX
Version 3.17.1
December 29, 2025
- Email Campaigns UI/UX consistency update
- Fix: Page titles now display correctly (removed duplicates and special character codes)
- Add: Rich previews when sharing links on social media (Facebook, Twitter, LinkedIn)
- Add: SEO descriptions available in all supported languages
Version 3.17.0
December 29, 2025
New
Email Campaigns for Partners
Partners can now send targeted promotional emails directly from their loyalty dashboard. Create professional email campaigns with a guided wizard that helps you:
- Target specific audiences — Send to all members, or segment by loyalty card, points balance, stamp progress, voucher ownership, membership tier, or language preference
- Compose rich-text emails — Use the built-in editor for formatting with headings, lists, links, and more
- Personalize messages — Insert member names and emails automatically with simple placeholders
- Support multiple languages — Write content in all available languages; each member receives the email in their preferred language with fallback to the default language
- Track delivery in real-time — Watch your campaign progress with live statistics
- Stay compliant — Every email includes a one-click unsubscribe link
Partners can also save campaigns as drafts to review and send later.
Related Documentation:
- Email Campaigns Overview — Complete guide to creating and sending campaigns
Fixed
Form Controls
- Dropdown menus now correctly display all available options
- Loading spinners animate properly on license check buttons
Smarter Offline Card Caching
Your cards are now cached automatically just by viewing them—no need to open the card first. Only cards that have been viewed show the full page, cards that have not been opened are listed in the offline view grid.
- Browse online, use offline — All loyalty cards, stamp cards, and vouchers you see while browsing are automatically saved
- Works everywhere — Homepage, My Cards, or any page that shows cards
- More storage — Up to 50 cards can be saved (increased from 20)
- Always fresh — Cards are refreshed automatically if you view them again after an hour
Simply browse your favorite programs while online, and they'll be ready whenever you need them offline.
Version 3.16.2
December 27, 2025
- Fixed: The Send Points page now works correctly for all members
- Improved: View all your saved loyalty cards in a grid while offline
- Fixed: Home screen app now opens correctly regardless of your language setting
- Fixed: Better handling when switching between online and offline mode
Version 3.16.1
December 26, 2025
- Fix: View page displaying incorrect values for booleans, numbers, and images
- Update: Make stamp card field labels translatable
- Add: Translations for stamp card fields
- Update: Hide referral campaign description field from forms
- Fix: Mailgun email service not working after installation
- Add: Resend email service configuration
- Fix: SMTP encryption 'None' option not working during installation
- Fix: Email notifications not sending with Mailgun, SES, Postmark, or Resend
- RTL text alignment fix
Version 3.16.0
December 25, 2025
New
Referral Program — Word-of-Mouth Customer Acquisition
Your members can now invite friends and both earn rewards. It's the classic referral model that turns happy customers into brand ambassadors.
For Partners:
- Enable referrals per campaign with a simple active toggle
- Set dual rewards — choose points for the referrer AND a welcome bonus for new members
- Pick the reward cards — points go exactly where you want them
- Automatic tracking — the system handles everything from signup to reward distribution
For Members:
- Get your unique referral link from the new "Referrals" page in your dashboard
- Share anywhere — copy link, WhatsApp, email, or use your phone's native share
- Track your success — see how many friends signed up, completed purchases, and your total earnings
- Earn effortlessly — points are credited automatically when your friend makes their first purchase
The Flow:
- Member shares their unique link
- Friend clicks and sees a beautiful, branded landing page
- Friend signs up (referral is now "pending")
- Friend makes their first purchase
- Both receive points + email notifications 🎉
Technical Details:
- 6-character referral codes (easy to share verbally)
- First purchase on ANY card in the campaign triggers completion
- Complete audit trail with linked transactions
Complete Referral Translations
Full translations for the referral system across all seven supported languages: English, Spanish, German, French, Italian, Portuguese, and Arabic. Over 75 translation keys per language covering all referral UI text, landing page content, and email messages.
Improved
Transaction History with Referral Display
Transaction history now shows referral bonuses with special styling:
- Distinct icons for referral bonus and welcome bonus transactions
- Clear labels distinguishing referral earnings from regular transactions
- Internal notes with fraud prevention details for audit purposes
Missing Mail Driver Configurations
Fixed an issue where selecting Mailgun as the email provider during installation would fail with "Mailer [mailgun] is not defined" error. Mailgun is now properly registered in the mail configuration.
Reward Page Translations
Reward pages now display the correct, translated card name based on the user's selected language.
Fixed
Staff Member Email Privacy
Email addresses in staff member search results are now masked for privacy, consistent with how emails appear elsewhere in the platform.
Points Expiration During DST Transitions
Resolved a rare issue where points could fail to expire correctly when the expiration date happened to fall during a Daylight Saving Time transition.
Missing Translation Keys
Added missing translation keys to Portuguese (pt_BR) and Arabic (ar_SA) language files.
Related Documentation
Referral System:
- Referral Program Overview — How it all works
- Setting Up Referrals — Partner configuration guide
- Sharing & Earning — Member guide to referring friends
- The Landing Experience — What new members see
Version 3.15.0
December 20, 2025
New
Multilingual Support — Spanish, French, Italian & German
Reward Loyalty now speaks your customers' language. This release adds complete translations for four new languages:
- 🇪🇸 Spanish (Español)
- 🇫🇷 French (Français)
- 🇮🇹 Italian (Italiano)
- 🇩🇪 German (Deutsch)
Each language includes Full application translations — Every button, message, and label is translated throughout the admin, partner, staff, and member portals
Improved
Easier Multilingual Content Management
Managing content in multiple languages just got simpler:
- Cleaner forms — Translation fields for additional languages are now tucked away in a collapsible panel, keeping your forms uncluttered while the default language stays visible
- Optional translations — Only your default language (e.g., English) is required. Leave other languages empty and the system automatically uses your default language as a fallback
- Translated login pages — Portal subtitles and loading messages now display in your selected language across all portals
Stamp Card Display
- Stamp cards with longer descriptions now display more consistently, with text neatly trimmed to fit
- Improved spacing between the stamp grid and card edges for a cleaner look
Version 3.14.6
December 19, 2025
- Language switching on mobile is now easier—languages expand inline within the profile menu instead of opening a separate dropdown
- Stamp cards now display stamps more evenly when you haven't filled all the spaces yet
- Fixed currency amounts getting cut off on voucher cards on smaller screens
Version 3.14.5
December 19, 2025
- Vouchers now include a currency selector, so you can set the correct currency for each voucher's discount value
- Voucher forms are now smarter—only relevant fields appear based on your chosen discount type. Percentage discounts show currency options, bonus points show point fields, and free products show their own settings. No more confusion about which fields apply to your voucher.
- Voucher codes now automatically convert to uppercase as you type, ensuring consistent formatting
- Clearer guidance when creating vouchers: discount amounts now include helpful hints about entering values (e.g., "1000 = $10.00")
- Voucher batch creation now uses a gift icon that better represents all discount types, not just percentages
- Mobile users now see a "tap to preview" hint on cards for easier interaction
- Vouchers targeting new members now clearly display this eligibility requirement
- Social sharing buttons now have a cleaner look—the share trigger hides automatically when sharing options are expanded
- Fixed points code redemption failing when members redeem codes that award points
Version 3.14.4
December 18, 2025
- Custom favicons are now preserved during system updates
- Fixed text alignment in language selector for right-to-left (RTL) languages
- New stamp cards now default to a star icon instead of requiring manual selection
- Fixed form validation not opening the correct tab when errors occur in custom input components (like icon pickers)
- Fixed stamp card creation failing when models with JSON columns require a unique identifier
Version 3.14.3
December 17, 2025
- Numbers and dates now display in your local format across all pages (e.g., "1,234" vs "1.234" depending on your language/localization)
- Added translations for PWA settings
- Fixed cleared form fields reverting to default values after saving
- Improved icon picker with a clear button to remove selected icons
Version 3.14.2
December 16, 2025
- Vouchers now display in your business's configured currency instead of defaulting to USD
- Fixed icon picker crash when editing records without icons
- Improved security of unique identifier generation
Version 3.14.1
December 15, 2025
- Fix PWA icon storage to prevent duplicate files and use consistent directory
Version 3.14.0
December 15, 2025
New (Alpha)
Shopify Integration — Connect Your Online Store
⚠️ Alpha Feature: This integration is in early testing and not officially supported. Enable it by adding
FEATURE_SHOPIFY=trueto your.envfile.
Your loyalty program can now connect to your Shopify store. When customers make purchases online, they automatically earn loyalty points—no QR codes or manual entry needed.
For Business Owners:
- One-click connection: Authorize your Shopify store with a simple OAuth flow—no coding required
- Automatic point earning: Customers earn points instantly when their orders are paid
- Storefront widget: Embed a loyalty widget on your Shopify store so customers can see their points and redeem rewards during checkout
- Widget customization: Match your brand with custom colors, program names, and positioning
- Easy management: Pause, resume, or disconnect your integration anytime from the dashboard
- Activity monitoring: See recent webhook events and processing status to verify everything's working
- Demo mode: Test the integration flow without connecting a real Shopify store (requires
APP_DEMO=truein your.envfile)
How it works:
- Connect your Shopify store from Integrations → Shopify in the partner sidebar
- Choose which loyalty card earns points from online purchases
- Install the widget code in your Shopify theme
- Customers shop, and points are awarded automatically
Current limitations:
- Single loyalty card per Shopify store
- Guest checkout orders (no email) don't earn points
- Partial refunds are logged but don't deduct points yet
- Tier multipliers don't apply to online purchases yet
Improved
Partner Dashboard Design
Refreshed the voucher batch management, batch wizard, and analytics pages with a cleaner look. Batch cards now show key metrics at a glance with subtle progress indicators and streamlined action buttons. Updated card styling, refined typography, and improved visual density throughout the partner portal.
Reward Configuration
Rewards can now include Shopify discount settings. When customers redeem a reward through the storefront widget, a discount code is automatically generated and applied to their Shopify cart. Configure discount type (percentage or fixed amount), value, and code prefix directly on each reward.
Advanced Form Fields
Forms throughout the platform now support more complex data structures. This enables features like the Shopify integration settings where multiple related options are grouped together in a single configuration panel.
Fixed
Partner Dashboard Crash
Resolved an issue where the partner dashboard would crash when displaying recent activity. Some database values weren't being handled correctly, causing errors on certain hosting configurations.
Reward Settings Page Error
Fixed a template error that could occur when viewing reward configuration pages. The page now loads correctly in all scenarios.
Widget Copy Button
The widget embed code copy button now works on all hosting setups, including those without HTTPS. Previously, copying would silently fail on non-secure connections.
Form Validation on New Records
Fixed an issue where creating new records (like rewards or cards) could show incorrect validation errors. The system now properly handles new records that don't have an ID yet.
Related Documentation
Shopify Integration:
- Integrations Overview — Introduction and how to enable the alpha feature
- Connecting Your Shopify Store — Step-by-step connection guide
- Shopify Widget Installation — Add the widget to your theme
- Shopify Settings & Point Rules — Configure how points are calculated
Related Features:
- Creating Rewards — Includes new Shopify discount settings
- Creating Loyalty Cards — Cards can be linked to Shopify
- Earning Points — Now includes online purchase earning
Version 3.13.1
December 14, 2025
New
- Added translation keys for member wallet features
Improved
- Member wallet metrics now show accurate data with responsive layout
- Updated homepage call-to-action and section descriptions
- Add-to-cards actions now redirect to My Cards page for better flow
Version 3.13.0
December 13, 2025
New
Protected Paths During Updates
You can now protect custom translations and files from being overwritten during updates. Add PROTECTED_TRANSLATIONS and PROTECTED_PATHS to your .env file. See Languages & Translations for details.
Improved
Admin Dashboard
Restructured layout with activity feed and week highlights side-by-side. Applied elevated card styling with soft shadows and refined typography. Added animated counters and hover-only scrollbars. License page now features premium form inputs and polished status cards with an SVG loading spinner.
Admin Activity Log Analytics
Updated metrics with semantic color coding: Deep Sapphire Blue for total events, Emerald Green for today's activity, and Scarlet for failed events. Charts now use consistent brand colors for actor and event breakdowns.
Partner Dashboard
Added voucher counts to the active programs metric with a detailed breakdown (X Loyalty · Y Stamp · Z Voucher). Analytics links now appear as contextual dropdowns for each program type. Applied premium card elevation and increased activity feed visibility with hover-only scrollbars.
Partner Activity Log Analytics
Applied rich color palette with semantic meaning: Deep Sapphire for partners, Burnt Orange for members, Emerald for created events. Activity feed uses rotating avatar colors and clean dividers for better scannability.
Staff Dashboard
Redesigned with a mobile-first approach featuring larger tap targets and touch-optimized interactions. Search now includes advanced autocomplete with loading states, skeleton loaders, and keyboard navigation. Simplified QR scanner card with cleaner visual hierarchy.
Member Portal & Homepage Navigation
Restored primary desktop navigation links for Home and My Cards. The top bar now stays visible on scroll across all pages. Language selector moved to the mobile menu overlay and footer for a cleaner header. Desktop logged-out header simplified to logo and action buttons only. Mobile header uses icon-only logo for more compact display.
Card Legibility
Text on cards now automatically applies subtle shadows based on text color luminance, ensuring readability across diverse card backgrounds without affecting the premium aesthetic.
Fixed
Locale Detection
Locale detection now correctly returns full locale codes (e.g., en-us instead of en) and properly respects active translation status. Default locale fallback prioritizes existing translations over population data.
MySQL Strict Mode Compatibility
Empty form fields for numeric columns (like expiration days or reward points) now correctly save as null instead of causing database errors.
Model Attribute Handling
Fixed issues where saving stamp cards or vouchers could fail when certain fields weren't loaded. The system now safely handles partial model updates without throwing errors.
Version 3.12.2
December 12, 2025
Fixed
Voucher Email Notifications
Fixed voucher claimed emails to use correct route parameters with proper null safety checks.
Database Query Performance
Optimized queries with eager loading to prevent N+1 issues across card and partner listings.
Changed
Voucher Batch Wizard
Club selection is now required when the template has no default club, with clear validation errors in the wizard.
Version 3.12.1
December 12, 2025
Fixed
Loyalty Card Links for Visitors
Clicking a loyalty card on the homepage now shows card details for all visitors instead of redirecting to login.
Missing Translation
Added missing 'default' label translation across all languages.
Version 3.12.0
December 12, 2025
Added
Premium Card Previews in Analytics
Partner analytics dashboards now display richer visual card previews for loyalty cards, stamp cards, and vouchers.
Smarter Data Lists
Management lists now include autocomplete search suggestions, improved field searching, better export options, and refined pagination.
Changed
Refined Card Interactions
Smoother 3D tilt effects, improved shadow animations, and better click feedback on card components.
Localized Email Notifications
Email notifications for stamps, vouchers, and rewards now support translations.
Version 3.11.1
December 12, 2025
- Fix PHP 8.4 crash in unique_code helper
Version 3.11.0
December 12, 2025
Changed
Streamlined Member Interfaces
Redesigned code redemption and point request pages with cleaner layouts, contextual card information, and consistent back navigation.
Improved Routing Reliability
Enhanced URL rewriting rules for more consistent behavior across different hosting environments.
Improved
Code Quality & Performance
Added strict type declarations, reorganized autoload configuration, and improved helper file loading for better reliability.
Translations
Added new translation keys covering the updated member interface elements.
Version 3.10.0
December 11, 2025
Added
Smooth Animations for Card Interactions
New animation stylesheet provides fluid, modern transitions and effects for member card interfaces. Subtle animations improve the user experience with visual feedback during interactions.
Changed
Redesigned Member Card Interfaces
Completely redesigned the member card viewing experience:
- Cleaner layouts with better visual hierarchy
- Enhanced mobile responsiveness
- Updated reward claim screens with clearer transaction previews
- More prominent QR code displays
- Consistent styling across loyalty cards, stamp cards, and vouchers
- Refined spacing and professional visual polish
Enhanced System Update Reliability
Significantly improved update system for diverse hosting environments:
- Intelligent PHP binary detection supporting managed platforms and custom VPS setups
- Correctly identifies PHP CLI binary even when web server uses different PHP-FPM versions
- Comprehensive status monitoring with automatic timeout handling
- Better error recovery and detailed logging for troubleshooting
- Clearer progress feedback with graceful handling of edge cases
Improved Data Integrity for Stamp Cards
Enhanced type safety across StampCard, StampCardMember, and StampTransaction models with explicit integer and float casts for numeric fields. Ensures consistent data handling and prevents type-related bugs.
Fixed
PWA Manifest Error with Null App Name
Fixed TypeError when PWA settings are not configured:
- Added null coalescing operators to ensure default values
- Handle empty/null app names gracefully with 'Rewards' fallback
Web Server Configuration Preserved During Updates
Added protection for web server configuration files to prevent them from being overwritten during system updates. Custom server configurations now remain stable across update cycles.
Improved
Translations
Added new translation keys across Arabic, English, and Portuguese for simplified navigation text and more descriptive error messages for stamp card scenarios.
Version 3.9.0
December 11, 2025
Added
Smart Card Management System
Cards are now automatically added to My Cards when you use them. Earn points, collect a stamp, or redeem a voucher, and the card appears in your collection automatically.
Key improvements:
- Auto-add on first use — No need to manually add cards before earning
- Non-destructive removal — Remove cards without losing your progress, stamps, or history
- Progress always saved — Re-add a card anytime and continue exactly where you left off
- Dashboard shows your collection — Only cards you've added or actively used appear in My Cards
Unified terminology:
- "Follow" is now Add to My Cards
- "Unfollow" is now Remove from My Cards
Contextual Tier Display
Membership tiers now appear throughout the member experience, helping you understand your benefits.
Where tiers appear:
- My Cards page — All earned tiers in a dedicated section
- Card detail pages — Your tier for that business
- Reward pages — Reminder of your multiplier benefits
- Card grids — Multiplier badges (e.g., "🥇 2.0×")
Associated cards: Tier cards show which loyalty cards they apply to. Click any card chip to navigate directly to that card.
Key concepts:
- Tiers work at the club level — one tier applies to all cards from that business
- Qualification is based on lifetime points — spending points doesn't affect your tier
- Tiers only appear when earned — no default tier clutter
Changed
My Cards Page Redesign
The My Cards page has been redesigned with improved navigation and clearer organization.
New layout:
- Welcome header with your name
- Glass metric cards (Total Cards, Total Points, Stamps Collected)
- Quick actions (Account Settings, Request Points, Enter Code)
- Loyalty Cards grid
- Membership Tiers section (if earned)
- Stamp Cards grid
- Vouchers grid
Card Action Buttons Redesign
Modernized interface for card management with cleaner, more intuitive controls:
- Unified Add to My Cards and Remove from My Cards buttons across all card types
- Primary styling for add actions, subtle text styling for remove actions
- Confirmation modals for remove operations with progress preservation messaging
- Toast notifications replace inline alerts for better feedback
Fixed
Tier Multiplier Display
Corrected the logic for displaying tier multiplier badges on loyalty cards. Previously used current point balance, which caused badges to hide after points were spent. Now correctly uses lifetime points to determine tier qualification, ensuring multiplier badges display consistently.
Improved
Visual Refinements
- Repositioned card management buttons for better accessibility
- Refined dashboard metrics with glass-morphism styling
- Improved spacing consistency across card, reward, and stamp card pages
- Optimized mobile layouts with appropriate padding
- Streamlined dashboard blocks for cleaner navigation
Translations
Added localized text for the card management system including "Add to My Cards", "Remove from My Cards", confirmation dialogs, and tier status displays. Translations provided for English, Arabic, and Portuguese.
Version 3.8.0
December 13, 2025
Added
Progressive Web App (PWA) — Install to Home Screen, Works Offline
Your loyalty platform now works like a native mobile app—no app store required. Members can install it to their home screen and access their loyalty cards even without an internet connection.
Offline Access for Members:
- QR codes work offline — Once a member views their loyalty card, the QR code is automatically saved to their device. They can show it at checkout even with no signal.
- Cards stay accessible — Card names and point/stamp balances are cached alongside QR codes
- Clear offline indicator — A subtle banner tells members when they're viewing cached content, and disappears automatically when they reconnect
- Works for all card types — Both points cards and stamp cards support offline QR code access
Admin Configuration:
- New PWA settings tab in Administration > Settings with an intuitive interface
- Customize your app — Set app name, description, and brand colors
- Upload app icons — Drag-and-drop upload for home screen icons (192×192 and 512×512) with live preview
- Smart defaults — Works immediately without configuration; customize when you're ready
- HTTPS guidance — Clear notice about production requirements
Behind the Scenes:
- Automatic initialization means PWA works on both new and existing installations—no manual setup required
- Settings system enhanced to support image uploads
- Service worker handles all caching automatically
Getting started: Navigate to Administration > Settings > PWA tab. Customize if desired, or leave defaults and tell your members to tap "Add to Home Screen" on their phones. See PWA Configuration for details.
Improved Notifications
A new toast notification system provides better feedback throughout the platform:
- Slide-in animations — Notifications appear smoothly in the top-right corner
- Multiple types — Success (green), error (red), warning (amber), and info notifications
- Auto-dismiss — Notifications disappear after a few seconds without requiring clicks
Image Upload Improvements
- Deleting an uploaded image now properly shows the default placeholder
- Images are correctly removed from storage when deleted
- Color picker initializes more reliably
Version 3.7.3
December 10, 2025
- Fixed database migration issue on MySQL servers with strict mode enabled
- Added missing translation
Version 3.7.2
December 10, 2025
- Minor styling tweak to filter dropdowns in data tables
- Fixed one-click updater compatibility with Plesk hosting environments
- Fixed layout spacing on staff login and verification pages
Smarter Homepage Discovery
The homepage now shows programs in a more helpful order. Offers expiring soon appear first—so customers don't miss out—followed by the newest programs. This creates natural urgency while keeping fresh content visible.
The homepage is now purely for discovery: browse what's available, find something interesting, save it. Your personal collection lives in My Cards where you manage everything you've joined.
Performance note: These changes also make the homepage faster by simplifying how programs are loaded and sorted.
Version 3.7.1
December 10, 2025
- Fix incorrect view name for Code Redemption in CodeController
Version 3.7.0
December 10, 2025
Added
Complete Voucher & Discount Code System
Your loyalty platform now includes a powerful voucher system. Create individual discount codes for specific promotions or generate thousands of unique codes for large-scale marketing campaigns. Vouchers work seamlessly alongside your existing loyalty cards and stamp cards.
Five discount types to choose from:
- Percentage off — "20% off your order" with optional maximum caps
- Fixed amount — "$10 off when you spend $50"
- Free product — "Free coffee with any purchase"
- Bonus points — Award loyalty points instead of discounts
For Business Owners:
- Easy Voucher Creation: Design vouchers with custom backgrounds, colors, and logos. Set discount values, usage limits, and expiration dates all from one form.
- Smart Targeting: Restrict vouchers to specific membership tiers, new members only, or first-time purchases. Set minimum order amounts to protect margins.
- Batch Generation: Create up to 10,000 unique voucher codes from a single template—perfect for email campaigns, social media promotions, or in-store QR codes.
- Campaign Control: Pause active campaigns without losing already-claimed vouchers. Resume anytime or delete when campaigns end.
- Real-Time Analytics: Track views, claims, redemptions, and total discount given. Compare performance across time periods to optimize your promotions.
For Customers:
- Save to Wallet: Browse publicly available vouchers and save them to My Cards with one tap. Your vouchers stay organized alongside loyalty and stamp cards.
- Claim via QR Code: Scan promotional QR codes from in-store signage, flyers, or social posts to claim exclusive vouchers. Each person gets their own unique code.
- Email Confirmations: Receive instant confirmation when you claim a voucher, with a direct link to view it.
- Easy Redemption: Show your voucher QR code at checkout—staff scans it and your discount applies instantly.
For Staff:
- Quick Validation: Scan customer voucher QR codes or enter codes manually. The system instantly checks eligibility, expiry, and usage limits.
- Clear Feedback: See exactly what discount applies before processing. If a voucher can't be used, see the specific reason (expired, already used, minimum not met).
- Redemption Notes: Add internal notes to track order details or special circumstances.
Redesigned Member Portal
The customer experience has been completely refreshed with a modern, app-like interface that feels familiar and intuitive.
New Header Navigation:
- Clean, minimal header with just two main links: Home and My Cards
- Profile menu in the corner for account settings, theme toggle, and language selection
- No more sidebar—everything you need is one or two taps away
Unified "My Cards" View:
- Your loyalty cards, stamp cards, and vouchers now live in one organized page
- Quick stats at the top show your total cards, active programs, and points balance
- Filter and sort options to find what you're looking for fast
- Your preferences are saved, so your view stays how you like it
Simplified Code Entry:
- Renamed from "Redeem Points Code" to just "Enter Code"—clearer and friendlier
- Giant input field that's impossible to miss
- Helpful guidance explaining where to get codes from staff
Why we made this change: The previous interface had too many menu options spread across a sidebar. The new design puts everything within easy reach while feeling modern and uncluttered—like the best mobile apps you use every day.
Improved Staff Experience
Staff members get a more efficient and consistent interface across all transaction types.
Smart Customer Search:
- New unified search bar finds customers across loyalty cards, stamp cards, and vouchers
- Autocomplete shows results with clear icons indicating card type
- Recent customers appear first for faster repeat service
Consistent Forms:
- All transaction forms (add points, add stamps, redeem vouchers) now look and work the same way
- Consistent field ordering: customer info → program details → amount/notes → submit
- Better visual feedback with color-coded headers (blue for loyalty, green for stamps, purple for vouchers)
Recent Activity Dashboard:
- See your last 100 transactions across all program types in one view
- Each entry shows the customer, action taken, and timestamp
- Friendly empty state for new staff getting started
Enhanced Partner Tools
Batch Voucher Management:
- Streamlined wizard for creating batches—select a template voucher, set quantity, generate
- Dashboard cards show key metrics: total codes, claimed, redeemed, conversion rate
- One-click pause/resume for active campaigns
- QR code modal with copy link, download image, and preview options
Better Analytics:
- Voucher analytics dashboard with 14 different sort options
- Time-range comparison (day, week, month, year) with trend indicators
- Individual voucher detail pages with view tracking and redemption charts
Improved
Renamed "Transactions" to "History"
All transaction pages have been renamed to "History" for clearer meaning:
- "Loyalty Cards History" instead of "Transactions"
- "Stamp Cards History" instead of "Stamps Transactions"
- "Vouchers History" for redemption records
This change makes it immediately obvious you're viewing past activity, not creating new records.
Better Mobile Experience
- Collapsible Breadcrumbs: On small screens, long navigation paths now show "..." for middle items, keeping the beginning and end visible
- Theme-Aware Scrollbars: Scrollbars now match your light/dark theme preference
- Fixed Homepage Scroll: Resolved an issue where the homepage could scroll horizontally on some mobile devices
New Form Components
- Date Picker: Visual calendar interface for selecting dates—no more typing dates manually
- Icon Picker: Expanded icon library with better search and categorization
- File Upload: Drag-and-drop file uploads with preview support
- Toggle Switch: Modern on/off switches for boolean settings
Design Polish
- Premium Action Buttons: New animated buttons with copy-to-clipboard support and visual feedback
- Stamp Touch Support: Stamps now reveal on touch (mobile) not just hover
- Member Card Refresh: Cleaner spacing, polished tabs, and better action flow
- Dark Mode Logo: Fixed missing dark mode support for logos in some areas
- Consistent Forms: All form inputs now share the same styling across the entire application
Fixed
- Homepage horizontal scroll issue on mobile devices
- Missing dark mode logo support in some areas
- Various translation gaps across English, Arabic, and Portuguese
Related Documentation
Voucher System:
- Vouchers Overview — Introduction to the voucher system
- Creating Vouchers — Individual voucher setup
- Batch Generation — Create campaigns at scale
- Managing Batches — Pause, resume, track campaigns
- Voucher Types — Discount type reference
- Voucher Analytics — Measure performance
For Customers:
- Saving Vouchers — Bookmark public vouchers
- Claiming via QR Code — Get exclusive batch vouchers
- Redeeming In-Store — Use vouchers at checkout
For Staff:
- Validating Vouchers — Process redemptions
Version 3.6.1
December 5, 2025
- Protect root .htaccess during updates
- Updated compiled frontend assets with latest style changes
- Added translations for stamp card daily earning limits
- Improved visual clarity and usability of stamp cards and data tables
- Email notifications now properly display bold text using HTML formatting
Version 3.6.0
December 5, 2025
Added
Digital Stamp Cards Are Here
Reward Loyalty now supports a completely new type of loyalty program: digital stamp cards. While points-based loyalty cards reward spending, stamp cards reward visits—perfect for coffee shops, salons, restaurants, and any business where you want customers to come back often.
How stamp cards work:
Customers collect stamps with each purchase or visit. After collecting a set number of stamps (you choose: 5, 8, 10, or more), they earn a reward. It's the digital version of the classic "Buy 10, Get 1 Free" punch card—but impossible to lose and easy to track.
For Business Owners:
- Design beautiful cards: Upload custom backgrounds, choose colors, and preview how your stamp card will look on customers' phones
- Configure rewards: Set how many stamps to collect and what customers earn when they complete a card
- Track engagement: New stamp card analytics show views, stamps issued, completions, and redemptions
- Set purchase requirements: Optionally require a minimum purchase to earn stamps
- Manage via dashboard: See all stamp cards, active stamps, and recent completions in one place
For Customers:
- Collect stamps digitally: Staff scans your code, and stamps appear instantly on your card
- Track progress visually: See exactly how many stamps you need for your next reward
- Find programs nearby: Discover stamp card programs just like loyalty card programs
- View history: Every stamp collection and reward redemption is recorded
For Staff:
- Simple scanning: Scan customer codes just like loyalty cards
- One-tap stamps: Issue stamps with a single tap—faster than paper punch cards
- Process rewards: Redeem completed cards and issue rewards through the same intuitive interface
Why this matters: Stamp cards drive repeat visits. Customers think "I'm only 2 stamps away!" and come back sooner. Unlike paper cards, digital stamps can't be lost or forgotten—they're always in My Cards.
Learn more: Stamp Cards Overview • Collecting Stamps • Creating Programs
Navigation Redesign
All four user portals (Partner, Admin, Staff, Member) now feature a cleaner, more organized navigation system.
What's new:
- Collapsible menu groups: Related features are grouped together and can be expanded or collapsed. For example, all loyalty card features live under "Points" and stamp card features under "Stamps"
- Visual organization: Clear headers and icons make it easy to find what you're looking for
- Active page indicators: The current page is highlighted with a visual indicator so you always know where you are
- Improved mobile navigation: Essential functions appear in the bottom navigation bar, with additional features accessible via dropdown menu
For Partners: Navigate between Loyalty Programs (loyalty cards, rewards, tiers, analytics), Stamp Cards, and Vouchers sections. Direct access to Members, Staff, and Clubs.
For Staff: Mobile-first navigation focuses on the search-driven workflow—Dashboard with search, Scan QR, Recent Customers, and Redemption Codes. Find customers first, then choose actions.
For Customers: Simple header navigation with Home and My Cards. Additional features accessible via Profile menu (Request Missing Points, Enter Code, Account settings).
Separate Analytics for Loyalty Cards and Stamp Cards
The analytics section has been reorganized to help you understand each type of program better.
What changed:
- Loyalty Card Analytics: Track points issued, rewards claimed, and member engagement for your points-based programs
- Stamp Card Analytics: Monitor stamps collected, cards completed, and views for your stamp programs
- View tracking: See how many times customers view your stamp cards—helpful for understanding engagement
Why we made this change: Combining loyalty card and stamp card data in one report was confusing. Separating them makes it easier to understand how each program type performs.
Access analytics via the sidebar navigation under each program type (Loyalty Programs → Analytics, Stamp Cards → Analytics).
Dashboard Enhancements
Dashboards across all portals have been refreshed with a more polished design and better information.
Partner Dashboard:
- New metrics for stamp cards (Active Stamp Cards, Stamps Issued This Month)
- Dropdown buttons for quick access to Create and Analytics functions
- Enhanced visual design with gradient backgrounds and smooth hover animations
My Cards (Member):
- Consolidated view showing loyalty cards, stamp cards, and vouchers in one place
- Quick stats bar displays total cards, points, and available rewards
- Each section only appears if you have that type of card (no clutter)
Staff Dashboard:
- Updated to match the premium look of other portals
- Stamp card metrics now visible alongside loyalty card metrics
- Improved quick navigation blocks
All Dashboards:
- Responsive layouts that look great on phones, tablets, and desktops
- Metrics automatically adjust to your screen size
Improved
Membership Tier Badges
- Tier badges now only appear when customers have actually earned enough points to qualify—no more seeing a tier you haven't reached yet
Stamp Card Design
- Premium animations when viewing stamp cards
- Better readability on all screen sizes
- Improved visual design for stamp collection progress
Currency Display
- Purchase amounts now display in standard currency units (e.g., $10.00) instead of cents (1000) for easier reading
Translations
- Complete translations for all new features in English, Arabic, and Portuguese
- Stamp card interface, dashboard metrics, and navigation labels all fully translated
Fixed
- Form components now display correctly without visual clipping
- Social share buttons work reliably with consistent styling
- Various minor UI improvements and bug fixes
⚠️ Note for Returning Users
Analytics URL has changed: The old /partner/analytics page has been replaced with separate pages:
- Loyalty card analytics: Navigate to Loyalty Programs → Analytics
- Stamp card analytics: Navigate to Stamp Cards → Analytics
If you had bookmarked the old analytics page, update your bookmark to the new location.
Related Documentation
- Stamp Cards Overview — Get started with digital stamp cards
- Creating a Stamp Card Program — Step-by-step setup guide
- Collecting Stamps — How customers and staff use stamp cards
- Stamp Card Analytics — Understanding your stamp card metrics
- Membership Tiers — Tier system for loyalty cards
Version 3.5.3
December 4, 2025
- Fixed database migration issue that prevented installation on MySQL servers with strict mode enabled
Version 3.5.2
December 3, 2025
- Fixed update system error that prevented software updates
Version 3.5.1
December 3, 2025
Improved
Analytics Charts
- New declarative chart system lets you create analytics visualizations using simple HTML data attributes
- Charts automatically adapt to light and dark themes in real-time
- Supports line charts, bar charts, donut charts, and multi-series comparisons
Email Notifications
- Member notification emails now use cleaner, more professional styling
- Passwords and codes appear in high-contrast monospace badges for better readability
- Important values highlighted in green for emphasis
Authentication Activity Logs
- Fixed login and logout statistics to display correctly in analytics dashboard
Member Login Experience
- Simplified login flow by removing confusing password setup option for accounts using one-time password authentication
Translations
- Added missing translation keys for card scanning features and program discovery
- Updated QR code instructions across English, Arabic, and Portuguese
Version 3.5.0
December 3, 2025
Added
Membership Tiers & Levels System
Your loyalty program can now recognize and reward your best customers with tiered membership levels. Create Bronze, Silver, Gold, and Platinum tiers (or any structure you prefer) where members automatically progress based on their activity and unlock better benefits at each level.
How it works:
Members are automatically evaluated after every transaction. When they meet your qualification criteria—whether that's lifetime points earned, total amount spent, or number of purchases—they're upgraded to the next tier. No manual intervention needed.
For Partners:
- Create unlimited tiers: Design your tier structure with custom names, icons, and colors that match your brand
- Set qualification rules: Choose whether members qualify based on points earned, money spent, number of transactions, or a combination
- Configure tier benefits: Set points multipliers (earn up to 5× points per purchase) and redemption discounts (up to 100% off rewards)
- Add custom perks: Include translatable benefit descriptions for each tier (like "Priority support" or "Exclusive events")
- Automatic progression: Members are evaluated and upgraded automatically—the system handles everything
- Full control: Edit thresholds, benefits, and appearance anytime; changes take effect immediately
For Members:
- Dashboard tier status: See your current tier, benefits, and progress toward the next level on your dashboard
- Visual progress tracking: Progress bars show exactly how many points you need to reach the next tier
- Tier badges on cards: Your tier appears on your loyalty cards with a premium badge and pulsating status indicator
- Upgrade notifications: Receive an email celebration when you reach a new tier
- Clear benefits display: See your points multiplier and redemption discount at a glance
For Staff:
- See member tiers: Customer tier status appears when you scan their QR code
- Live bonus calculation: As you enter purchase amounts, see the base points, tier bonus, and total in real-time
- Identify VIP customers: Tier badges help you recognize top customers for better service
- No extra steps: Multipliers apply automatically—just enter the purchase amount as usual
Why this matters: Tiers create aspirational goals that encourage repeat visits. Members work toward the next level, and your best customers feel recognized for their loyalty. It's the same psychology that makes airline frequent flyer programs and hotel loyalty tiers so effective.
Improved
Tier Badge Display
- Tier badges on loyalty cards are now sized perfectly—visible without overwhelming the card design
- Points displays use coin icons (🪙) instead of "pts" text for a friendlier, more visual appearance
- Tier status cards now show the loyalty card name with a clickable link to card details
Homepage Redesign
- Hero section updated with universal loyalty icons and trust badges
- Clearer messaging about what the platform does and who it's for
- More professional first impression for visitors
Translations & Demo Data
- Full tier system translations in English, Arabic, and Portuguese
- Demo accounts come with pre-configured tier structures so you can see the feature in action immediately
- Comprehensive test coverage ensures tier evaluation, progression, and notifications work reliably
Related Documentation
- Creating Membership Tiers — Complete guide to setting up and managing tiers
- Awarding Points with Tier Multipliers — How tier bonuses appear when processing transactions
Version 3.4.0
December 3, 2025
Improved
Installation Wizard - Email Configuration
Setting up email during installation is now much easier and more reliable:
- Visual driver selection: Choose your email service from easy-to-understand cards showing all supported options (SMTP, Mailgun, Amazon SES, Postmark, Resend, Sendmail, plus development options)
- Smart forms: Only the fields you need appear based on your chosen email service—no more confusing options
- Built-in guidance: Helpful tips and provider-specific instructions (like Gmail App Password setup) appear right where you need them
- Test before you install: New "Send Test Email" button lets you verify your email works before completing installation—catch issues early instead of troubleshooting later
- Better error messages: If the test email fails, you'll see exactly what went wrong and how to fix it
Why this matters: Email is essential for Reward Loyalty because the platform supports passwordless OTP login. Without working email, OTP sign-in and password resets won't work (and most users won't be able to access the platform). This update makes sure your email is configured correctly from day one.
Related Documentation
- Email Configuration Guide — Complete setup instructions for all email providers
- Installation Guide — Updated with new email configuration steps
- Email Troubleshooting — Solutions for common email issues
Version 3.3.0
December 3, 2025
Added
- OTP Authentication System: Passwordless login for all user types (Members, Staff, Partners, Admins) using secure 6-digit verification codes
- Premium PIN Input Component: Modern 6-digit code entry interface with auto-advance, paste support, and keyboard navigation
- Email Verification: OTP-based verification for member and partner registration
- Profile Security: OTP verification required for profile updates (replaces password confirmation)
- OTP Infrastructure: Complete backend system with database tables, service layer, email templates, and automated cleanup command
- OTP Translations: Full multilingual support in English, Arabic, and Portuguese
Improved
- Form Components: Modern, premium design system upgrade across all authentication forms
- Email Templates: Redesigned with professional, contemporary aesthetic
- Member Card Pages: Fixed button shadow colors for visual consistency
- Code Quality: Removed deprecated login link-sent pages (replaced by unified OTP flow)
Related Documentation
Version 3.2.1
December 2, 2025
- Admin & Partner Dashboards: Removed misleading sparkline charts from metric cards, unified card heights for visual consistency, and fixed quick action button layout to always display below the greeting
Version 3.2.0
December 2, 2025
Added
- System Settings: New centralized configuration page for Super Admins to manage branding, email, compliance, and loyalty card settings without editing files
- Database-configurable application name that overrides .env values at runtime
- Interactive color picker with curated brand palette for form inputs
- Translations for System Settings in English, Arabic, and Portuguese
Improved
- Member Dashboard & Pages: Unified premium design with ambient gradients and glassmorphism
- Staff Dashboard: Fun, game-like interface designed for young retail/hospitality workers
- Partner Dashboard: Premium business command center with key performance metrics
- Admin Dashboard: Premium redesign with real-time analytics
- Layout improvements: Fixed dropdown FOUC and added language switcher to account menus
- All views now use database-configurable application name instead of hardcoded .env value
- Updated compiled frontend assets with new dashboard styles and translations
Related Documentation
- System Settings Overview
- Branding Configuration
- Email Configuration
- Cookie Consent & Compliance
- Loyalty Cards Settings
Version 3.1.0
December 2, 2025
Added
- Activity logging system with comprehensive audit trails for all core models
- Activity log analytics dashboards for Admin and Partner portals
- Authentication event logging (login, logout, failed attempts)
- Scheduled cleanup command for log retention management
- Pagination controls with configurable items per page
Improved
- Database performance via eager loading, SQL-level filtering, and new indexes
Related Documentation
Version 3.0.3
December 1, 2025
- fix: Remove test data from .env.blueprint (wrong license server / product id)
- fix: Card color opacity on some mobile devices wasn't working
- Simplify favicon configuration
Version 3.0.2
December 1, 2025
- fix: Change settings.last_modified_by to string(36) for UUID support
Version 3.0.1
November 30, 2025
- fix: toast icons not rendering (wrong icon names)
- fix: hide language dropdown flash on page load
- fix: partner analytics cards link to detail page instead of login
Looking for the 3.0 release story? See Version 3.0 — A Fresh Start for the full announcement.