Mambo 7
7.7.1
Released on: 6 January 2025
Engine
Fixed
- All users have the same point state values when fetching a list of users: When retrieving a list of users via the APIs, the user point states were all the same across all users.
Administration Panel
Fixed
- User activities in Portuguese: The users activities table was not loading any results when the administration panel was viewed in Portuguese.
Widgets
Fixed
- Wallets endpoint returning only 10 results: The default page size of the wallets endpoint is set to 10 which means that sites with many points may not fetch all the points. The default for the widgets was increased to 50.
7.7.0
Released on: 18 December 2024
Engine
Fixed
- Debiting of expired points could cause an exception: A bug caused an error when updating an activity during the debiting of expired points. The issue has now been fixed.
Removed
- Internal Only Points: The Internal Only setting of points has been removed because its functionality can now be entirely replaced with the use of personalisation tags.
7.6.1
Released on: 14 December 2024
Engine
Fixed
- Point wallets returned null fields: The point wallets endpoints returned null fields as Json properties with a null value. This has now been fixed so that any field without a value is not returned as part of the Json response.
Documentation
Fixed
- Javascript keys not listed in dropdown in docs: The dropdown to select Javascript keys in the API explorer only contained one of the keys available. The issue has now been fixed and all keys are displayed correctly.
7.6.0
Released on: 13 December 2024
Engine
Added
- Point wallets and transactions: This release introduces two powerful new API endpoints for managing user points: the Point Wallets API for retrieving current point balances, and the Point Transactions API for accessing detailed transaction histories. Every point-related action—from earning rewards to completing behaviours—generates a transaction record, creating a transparent ledger that tracks how users accumulate and spend their points across your engagement strategy.
Removed
- Sorting users by pointId: The Users API allowed to specify pointIds to sort users by. However, due to limitations of the underlying MongoDB storage, the sorting order cannot be guaranteed to be correct. For this reason, the functionality to sort users by point has now been removed.
Deprecated
- Filtering activities by points: The pointIds query parameter in the activities APIs is now deprecated. The functionality is replaced by filtering point transactions by pointId. See the Deprecations section in the API and SDK documentation for further information.
- User points: The points associated to a user has been deprecated. User points can now be retrieved by using the point wallets and transactions APIs. See the Deprecations section in the API and SDK documentation for further information.
Documentation
Changed
- Improved SDK code samples: The SDK code samples have been improved and revamped. It's now possible to switch between languages (Java, C# and PHP) as well as to copy the whole block with one click.
7.5.0
Released on: 28 November 2024
Engine
Added
- Ability to exclude users with specific tags from leaderboards: Leaderboards now have a configuration field that lets you specify a list of tags to exclude users by. Any user with one of these tags will not appear in the leaderboard. For example, this feature can be used to stop users from a certain department from appearing on a leaderboard.
Changed
- Maximum point precision reduced: The decimal precision that can be configured for a point now has a maximum of three decimal digits. Attempting to configure a point with four or more digits of decimal precision leads to a validation exception.
SDK
Changed
- A number of ServiceOptions objects in the Java and C# SDKs exposed invalid properties: All ServiceOptions classes in Java and C# SDKs extended the AbstractServiceOption class. This caused all ServiceOptions to expose pagination and filtering methods also when the underlying end-points did not support pagination or filtering. This has now been fixed.
Documentation
Fixed
- Incorrect data models for AggregateIds and GlobalIds in API explorer: The example request and response data models shown in the API explorer represented AggregateId and GlobalId as a nested JSON object instead of a string. This has now been corrected.
7.4.4
Released on: 31 October 2024
SDK
Fixed
- The C# SDK returned empty daily point analytics: The Daily field of AnalyticsPointAttrs returned an object of type IdListDataPoint instead of PointDataPoint, making it impossible to access the daily point data. The bug has now been fixed.
7.4.3
Released on: 14 October 2024
Engine
Fixed
- Malformed recurrence objects could be added to the system: Due to missing validation rules, it was possible to create recurrence objects with required fields unset or set to null. We have now added comprehensive validation rules that prevent the creation of malformed recurrence objects and inform the user with a meaningful error message.
Changed
- Improved performance when tracking activities that unlock rewards: Tracking activities that contribute to the progress of rewards was slow when the user had already unlocked the same reward a large number of times. This release improves the performance when tracking activities under these conditions.
Documentation
Fixed
- Documentation not properly rendered when serving Mambo from non ROOT Tomcat contexts: The API Explorer and Data Dictionary did not load when mambo is served from non ROOT Tomcat contexts. The underlying bug has now been fixed.
Widgets
Fixed
- Widgets in the portal not displayed correctly: Fixed an issue that caused Portal widgets to be rendered in an incorrect layout.
- Total number of user points not displayed correctly: Fixed an issue that caused the total number of user points not to be displayed unless the point was redeemable.
7.4.2
Released on: 26 September 2024
Engine
Fixed
- Deprecated image methods are missing in CustomFieldValueDTO: The deprecated getImageUrl() and getMimeType() methods had been accidentally removed from CustomFieldValueDTO and have now been restored.
7.4.1
Released on: 20 September 2024
Engine
Fixed
- Error when validating buy and redeem action for multi-code coupons: Fixed an issue where the validation for redeeming or buying multi-code coupons was not functioning properly.
SDKs
Fixed
- Error when setting certain data model fields in the C# SDK: Resolved an issue where setting certain fields in data models with InitializedFields were causing conflicts with the Newtonsoft.Json library.
Documentation
Fixed
- Reject Activities documentation: The section on Activity Rejection in the Administrator's Manual has been expanded and improved.
7.4.0
Released on: 13 September 2024
Engine
Fixed
- Template file upload was not restricted to ZIP format: A bug that made it possible to upload template files in formats other than ZIP has now been fixed.
- Upgrades from Mambo 5.9.4 or older could cause some Migrations to be skipped: Fixed a bug in the Migration from Mambo 5.9.4 to 5.9.5 that could cause subsequent migrations to be skipped.
Added
- The "valid from" date of a Leaderboard could be after its "valid to" date: A new validation was added to ensure that the "valid from" date of a Leaderboard is before its "valid to" date.
Removed
- Deprecated endpoints and data models: Several API endpoints and data model properties that were deprecated and marked for removal before August 2024 have now been removed.
SDKs
Changed
- The location of data model classes was reorganised: The package structure of the SDK data models has been refactored to better organise classes in logical groups.
Removed
- Deprecated methods and data models: Several Service methods and data model properties that were deprecated and marked for removal before August 2024 have now been removed.
Administration Panel
Fixed
- The "last login time" in the administrator menu was incorrect: Fixed a bug that caused the "last login time" in the Administrator page to be shown incorrectly.
- The slider in the Apply Template page was not displayed properly: The slider to select whether to apply a template to a new or existing site did not properly render. This has now been fixed.
- Behaviours could not be updated without a rate limit: A bug prevented saving updates to behaviours when the rate limit property was missing. This has now been fixed.
- "Internal Only" points could not be deleted: A bug made it impossible to delete "Internal Only" points via the Administration Panel. This has now been fixed.
Changed
- Table cells now show single items with an option to expand: Table cells that contain a list of items (e.g. the list of Points in the Level's table) now show a single item and a button "Show More" to display the full list.
Widgets
Added
- Cards for non multi-unlock rewards did not show date of unlock: The date of unlock was only shown for rewards that can be unlock multiple times. The date of unlock has now also been added for non multi-unlock rewards.
7.3.3
Released on: 22 August 2024
Engine
Fixed
- The coupon states endpoint returned wrong results when filtered by start and end dates: Fixed a bug that caused the wrong list of coupon states to be returned when querying the GET
/{site}/coupons/statesendpoint with a startDate or endDate query param. - Webhook deliveries were missing request and response headers: Fixed a bug that caused all request and response HTTP headers of Webhook deliveries not to be saved in the database.
7.3.2
Released on: 22 July 2024
Engine
Fixed
- Available mission rewards are not populated with progress correctly: Fixed a regression that caused the reward progress tracker within missions to be null.
7.3.1
Released on: 19 July 2024
Engine
Fixed
- Allow empty metadata values in behaviour activities: This release fixes a regression introduced in Mambo 7.3.0 where empty metadata values caused a validation exception. With this fix, Activity Metadata names that are empty or blank will trigger a validation exception, while Activity Metadata values that are empty or blank will be allowed and retained in the activity.
Admin Panel
Fixed
- Fix a bug that caused duplicates translation entries to appear when updating a translations.
Documentation
Added
- Add a paragraph that explains how to embed the latest Widgets from your Mambo server rather than using the mambo.io CDN.
7.3.0
Released on: 4 July 2024
Engine
Added
- Add ability to configure two-step buyable coupons as expirable a certain amount of time after buying: The ability to configure coupons to expire after a fixed amount of time, only applied to coupons awarded but not to coupons that were bought. This release introduces the ability to also configure an expiration period for two-step buyable coupons.
Fixed
- Validate metadata of behaviour Activities: Invalid metadata entries that are sent to Mambo as part of behaviour activities, used to be silently dropped. This fix applies more robust validation to the Metadata, raising a validation exception when invalid Metadata are encountered.
7.2.1
Released on: 29 May 2024
Widgets
Added
- Add options to configure the visibility of rewards nested within missions: Rewards that are a part of a mission were hidden in the widgets except when viewing the mission's rewards. We have now added a "hideMissionRewards" configuration option that can be used to determine whether rewards which are part of a mission should only be shown in the mission or also be shown as standalone rewards.
7.2.0
Released on: 24 May 2024
Engine
Added
- Leaderboards support multiple filtering tags: The possibility of configuring multiple filter-by tags in a leaderboard has been restored. The "Auto Filter by Tag" property has also been re-added, allowing automatic filtering of leaderboards configured with a single filter-by tag.
7.1.1
Released on: 17 May 2024
Engine
Fixed
- Certain background jobs failed with a KeyNotFoundException: A bug introduced in Mambo 7.0.3 caused certain jobs to fail with a KeyNotFoundException. The underlying issue has been fixed and failed jobs will be reprocessed successfully.
7.1.0
Released on: 13 May 2024
Engine
Added
- Missions of missions: The system now supports creating missions that in order to be unlocked depend on other missions to be unlocked first.
Fixed
- Error in datastore filtering by owner id: The API endpoint to list datastores by siteId failed to filter the results by ownerUuiid when the ownerUuid parameter did not match any valid user UUID. The bug has been fixed and the API returns an exception when no valid UUID is supplied.
7.0.3
Released on: 17 April 2024
Engine
Added
- Added a config property to set the maximum duration of background jobs: The maximum amount of time that background jobs are allowed to run before timing out and being rescheduled, can now be configured in mambo.properties.
Fixed
- Activities created through the v2 async endpoint had userTags unset: The userTags field of activities created via the
/v2/{site}/activitiesendpoint was always null. The underlying bug has now been fixed.
7.0.2
Released on: 12 April 2024
Engine
Fixed
- Long running jobs could run multiple times: Long running jobs, such as the regeneration of large leaderboards, could lead to the same job being run multiple times in parallel. The bug has now been fixed.
7.0.1
Released on: 10 April 2024
Engine
Fixed
- Behaviour repetition limits could be ignored under high concurrency: Concurrently posting a large number of activities for the same behaviour could occasionally lead to the behaviour's repetition limit being ignored. The underlying issue has now been fixed.
- Rejections created a compensated activity if the underlying reward prize config had changed: Rejecting an activity with a reward that had been modified after activity creation led to the wrong compensated activity being created. The underlying issue has now been fixed.
7.0.0
Released on: 4 April 2024
Engine
Added
- Add ability to configure the ranking time periods for Leaderboards: Leaderboards used to be automatically ranked by daily, weekly, monthly as well as overall points. Administrators now have the option to configure each leaderboard with only the time periods that are actually needed.
Changed
-
Leaderboards support filtering by a single tag: Leaderboards now support one single Filterable Tag which is automatically used for filtering. The Auto Filter by Tag property thus became redundant and was removed.
Important: In order to upgrade to this version, leaderboards that use Filterable Tags must be manually reconfigured to have either no tags or a single tag with the Auto Filter by Tag property switched on.
-
Activities older than 30 days can no longer be rejected: Attempting to reject any activities older than 30 days now leads to an impossible operation exception or validation exception for single or bulk rejects respectively.
-
API responses no longer return empty prize objects: When a prize is not present API responses now contain a null prize field instead of a prize object with all properties set to null. The versioning engine ensures backward compatibility of this change for older version of the SDKs and for users with a pinned version <7.0.0.
Fixed
- Zip files could be uploaded in place of images: Trying to upload a zip file in place of an image now leads to a validation exception.
- SVG images without an <xml> tag failed validation: The validation of SVG images now allows uploading files that lack the <xml> tag.
- Concurrent Coupon activities could lead to the creation of activities that did not take place: Concurrent redeems of OneStep coupons or concurrent buys of TwoStep coupons with a configured scarcity limit, could lead to the creation of extra activities that never took place. The issue has now been fixed.
SDKs
Removed
- Removal of deprecated methods: Deprecated methods marked for removal after 1st July 2023 have now been removed.