2026
Keep up to date with all released features and improvements!
📡 Stay up to date — Subscribe to the RSS feed to get notified whenever new releases are published.
July 2026
🏷️ Custom Attributes on Campaign-Generated Unit Transfers
Point transfers created automatically by campaign "Add Units" effects can now carry custom attributes. Attributes are defined in the campaign configuration and are automatically applied to every transfer the campaign generates.
Why it matters: Reporting and reconciliation pipelines that need to tag point movements with business metadata — such as campaign type, budget category, or source — can now receive that context directly on campaign-generated transfers, without relying on manual transfers or post-processing.
More July updates
⚙️ Enhanced
Member timeline, Audit Logs, and Custom Events — Default date range extended from 30 to 60 days; a new "All" option in the timeline view lets admins see a member's full history without a date limit
Navigation RBAC — Menu items that a user does not have VIEW permission for are now hidden from the navigation
🛠️ Fixed
Segment member count remaining incorrect after a member is deleted when incremental segment statistics are enabled
June 2026
⚡ Points Were Activated Campaign Trigger
Campaigns can now fire automatically the moment a member's pending unit transfers transition to active. Use this trigger to reward members as soon as enough stamps clear, kick off a follow-up campaign, or push any downstream workflow that depends on freshly activated points.
Why it matters: Loyalty workflows that previously had to poll for balance changes or use workarounds can now react instantly to the activation event — enabling more responsive, event-driven experiences without custom integration overhead.
🔄 Cancel Order Support
Return transactions can now automatically cancel the associated unit transfers, reversing points earned on the original purchase when a return is processed.
Why it matters: Loyalty programs handling product returns no longer need manual point corrections — submitting a return transaction triggers automatic reversal of the points, keeping member balances accurate without any extra admin work.
🏆 Leaderboard Sub-Groups
Leaderboards can now optionally group participants into independent sub-rankings by address field (postal code, city, province, or country) or by a custom attribute. Each group maintains its own Top-1000 ranking and its own reward distribution.
Why it matters: You can run localized competitions within a single leaderboard campaign — members compete against peers in their city or group rather than the entire member base, driving more relevant engagement.
More June updates
⚙️ Enhanced
Unit Transfers list — Removed "Expired On" column and added descriptive tooltips to column headers for improved readability
🛠️ Fixed
Challenge edit form — trigger condition value disappearing when the form is re-opened for editing
Unit transfer timestamps — timezone conversion issue affecting microsecond-precision sorting
Segment form — incorrect layout for "Custom event within last N days" criterion
Admin panel — infinite React update loop causing crashes on certain member views
Webhook PUT request — false validation error raised incorrectly on update
Member Overview — Latest Activity panel not refreshing when the filter is changed
PATCH Member API — 409 Conflict error on custom field update caused by a duplicate key violation
May 2026
WalletBalanceUpdated Webhook
A new WalletBalanceUpdated webhook event fires whenever a member's wallet balance changes, enabling real-time downstream integrations to stay in sync without polling.
Why it matters: Any system that tracks points balances externally — mobile apps, CRMs, data warehouses — can now react instantly to wallet changes instead of polling or reconciling.
More May updates
⚙️ Enhanced
"Show legacy campaigns" toggle — Campaigns listing now defaults to hiding migrated legacy campaigns; use the toggle to show them when needed
Spanish translations — Missing Spanish UI strings have been added across the admin panel
🛠️ Fixed
Pagination reset sort order to oldest-first when navigating to next page across multiple list views
Validation message not shown on invalid Custom Attribute keys on member profile
"Name" filter on Tier Sets list was not working correctly
Static segments not rebuilding on recalculation trigger
S3 challenge progress export — total count mismatch in reconciliation reports (count was including challenge progresses that the export excluded)
April 2026
⏱️ Unit Transfers Mass Actions — Set/Delete Expiration Date
Admins can now set or remove expiration dates on multiple unit transfers at once using mass actions, directly from the transfers list.
Why it matters: Managing expiry across large member bases previously required individual edits. This change makes bulk expiry management practical at scale.
More April updates
🆕 Added
"Copy to different tenant" for Challenges — Quickly replicate challenge configurations across tenants from the Challenges listing
"Challenges" tab in Config duplication — Challenges are now included in the Global Management config duplication workflow
"Download JSON" for Challenges — Export challenge configurations as JSON directly from the listing view
Card number field hint — When LCN auto-generation is enabled, the card number field displays as disabled with an explanatory hint in Member form
Global validation for Custom Attributes — Empty values are now blocked on save across all Custom Attribute inputs
⚙️ Enhanced
"Migrated" pill moved to Name column — In the Campaigns listing, the pill indicating a migrated Referral campaign now appears next to the campaign name (with a tooltip link to the corresponding Challenge)
Hide Custom Fields section in Member form when no custom fields are configured
Badge icon updated in Badges empty state view
Migration Guide documentation for Achievements → Challenges
🛠️ Fixed
Event frequency limit displayed incorrectly on single Challenge view when set to "1 in total"
Transaction UUID shown instead of Document Number on single transaction view
Empty string values were incorrectly accepted for Labels in PATCH Member API
Challenge progress not refreshed after adding a transaction for a migrated achievement campaign
Incorrect calculation of cumulative earned units in Tier Progress for member
Missing date interval filter on member's custom events view
Wallet Type detail view now displays the correct wallet name
Challenge campaigns no longer incorrectly shown in direct campaign list with broken editing
Fixed reward coupon creation/editing with "on a specific date" expiration rule
Fortune Wheel import option no longer selectable (not supported, but was available in UI)
March 2026
🔄 Achievements → Challenges Migration & Navigation Redesign
The major Achievements-to-Challenges rebranding continues with migration tooling, new navigation layout, and enhanced challenge management. A completely redesigned top navigation bar improves the overall admin panel experience.
Why it matters: The transition from "Achievements" to "Challenges" provides clearer terminology and improved management workflows. The new navigation makes it faster to find what you need.
🔐 HMAC Webhook Signatures
Webhook security gets a major upgrade with HMAC signature support for verifying webhook authenticity.
Why it matters: HMAC signatures let you cryptographically verify that webhook payloads genuinely come from Open Loyalty, protecting against spoofed events.
🏅 Badges Integration with Campaign Effects
Badges system integrates with campaign effects, allowing badges to be automatically awarded through campaign rules. Challenges also get enhanced visibility controls and migration readiness improvements.
🔢 Loyalty Card Auto-Generator
A new configuration option enables automatic generation of Loyalty Card Numbers (LCN) for members, removing the need for manual entry or external systems.
Why it matters: Reduces friction in member enrollment and eliminates duplicate or invalid card numbers.
More March updates
🆕 Added
Date validation on API ingestion — Prevents future-dated or invalid timestamps from entering the system
Issued Reward references in Unit Transfer webhook and API — Unit transfer webhooks now include associated reward details
High-precision timestamps for Points History — Deterministic sorting with sequence fields for transfer records
Active Campaign limits per Tenant — Configure maximum active campaigns per tenant with exclusions for gamification modules
Per-store wallet creation limit — Prevent unlimited wallet type proliferation
Optional Comment Field for Admin P2P Point Transfers — Admins can add context when performing peer-to-peer transfers
Soft delete for Badges — Badges can now be soft-deleted with feature flag for incremental badges
🛠️ Fixed
Custom Events: Fixed incorrect mapping of attributes to 'false' instead of text value
Fixed
unitPluralNameincorrect value in GET /api/points responseFixed race condition allowing multiple redemptions of the same QR code
DateTime display fix on
purchasedAtcolumn in transactionsFixed Allow spaces in Custom Attributes keys during points import and member PATCH updates
Missing "Find by badge name" translation restored
Fixed reward image upload limit (2MB enforced correctly)
Fixed incorrect documentType field mapping in S3 Transaction exports
Fixed reward webhook payload size issue when updating coupons
February 2026
🎮 Challenges Rebranding
The full rebranding from "Achievements" to "Challenges" lands across the UI, API, and data model. Admins can now manually edit member challenge progress.
Why it matters: The "Challenges" terminology better communicates the feature's purpose. Manual progress editing lets support teams resolve edge cases without workarounds.
📝 Custom Attributes for Manual Unit Transfers
Manual unit transfers can now carry custom attributes — opening up integration possibilities for external systems.
Why it matters: Custom attributes on transfers let you tag point movements with metadata (e.g., reason codes, campaign IDs).
👉 Learn more about Custom Attributes for Manual Unit Transfers
More February updates
🆕 Added
Partial Custom Attributes Updates via PATCH — Member custom attributes can be partially updated without overwriting others
⚙️ Enhanced
Achievement progress export refactored with improved date tracking
Challenge progress endpoint filtering improvements
Password recovery copy updated
Webhook contract unified
🛠️ Fixed
Fixed reward webhook payload size issue
Fixed expired unit transfer created past expiry date upon unlocking
Fixed static segment recalculation
Fixed leaderboard calculation bug in February
Fixed reward webhook payload overflow when updating coupons
January 2026
📦 Campaign Code Import
A new import feature for external redemption codes brings campaign codes into the platform.
Why it matters: Campaign code import allows you to use the generated list of codes (e.g., already printed out on your products).
More January updates
🆕 Added
Tiers from Targeted Tiersets in Rewards — Add tiers from any targeted tier set to reward targeting selection
⚙️ Enhanced
Navigation tabs renamed: Achievements → Challenges (main nav and single member view)
Segments protected against empty conditions
Added
updatedAtandcreatedAtcolumns to Segment Export filesTransfer list filtering logic aligned with mass actions payload
Segment criterion names updated to challenge terminology
Analytics/dashboard data display and chart fixes
🛠️ Fixed
Fixed 400 error when creating Segment with Achievement Completion condition
Fixed missing conditions display for Achievement Completion campaigns
Fixed incorrect error message for Transaction target attribute validation in Goals
Fixed rewards targeted to non-default TierSet tiers not visible for members
Fixed static segment recalculation
Fixed Fortune Wheel Internal Server Error when unit effect exceeds wallet limit
Fixed inconsistency in Members List Filtering UI — estimated count from API now displayed on frontend
This page covers 2026 releases. For earlier releases, see What's New in 2025.
Last updated
Was this helpful?

