Release Notes - January 2025
IMPORTANT: As with most of our releases, the intent is that all packages are deployed to their latest versions (stipulated in Docker Images (beta images)). This release has a hard dependency on the new Thrill ID v0.1.13 and the new services will not boot successfully without it.
General
- Up to now, some services would incorrectly return a
401
error in the case where permissions were missing for a specific request. This has now been addressed and all errors caused by missing permissions will now returnForbidden(403)
instead ofUnauthorized(401)
responses.
New Features
ThrillPots
- Raffles Scheduled Duration
- Scheduled duration is now supported for one timed raffle jackpots;
- The schedule provided during instantiation determines when the jackpot activates and when it resolves
ThrillPots Gateway
-
Win event metadata decoration
Each contribution request now accepts optional
event_metadata
input that in case of a win will be attached to the win event undermetadata
. For example a contribution:curl --location 'http://thrillpots/jackpots/contribute/jackpot' \ --header 'Content-Type: application/json' \ --header 'Authorization: xxx' \ --data '{ "instance_id": "ac2aad1d-16b6-4e9b-9e9a-d94f705a38f7", "token": "token_00001", "brand_id": "thrilltech:brand1", "player_id": "player_00001", "player_country": "MT", "gameround_id": "1", "base_wager": 1, "currency": "EUR", "event_metadata": { "some": "data" } }'
Will result in a JackpotWinEvent with metadata.
{ "event_type": "JackpotWinEvent", "event_id": "8b4025fa-b4e7-4bd3-9e8c-3e95a1a2611d", "data": { "brand_id": "thrilltech:brand1", "player_id": "player_00001", "source_id": null, "instance_id": "ac2aad1d-16b6-4e9b-9e9a-d94f705a38f7", "jackpot_name": "QuickHit Instance", "jackpot_currency": "EUR", "timestamp": 1732010393528, "win_pot_id": "major", "win_amount": 100.05624999999992, "currency_multipliers": { "brand_id": "default", "base_currency": "EUR", "multipliers": { "AMD": 430.0904, }, "win_withheld": false, "seed_deficit": 99.68125, "community_winners": null, "games_in_jackpot": [], "seed": 100.0, "metadata": { "some": "data" } } }
ThrillConnect
- Jackpot Ticker Cache
- ThrillConnect now caches the latest Jackpot Ticker updates (usually receives via the WebSocket) and makes the latest values available via a REST endpoint.
- This endpoint is a low cost manner to retrieve the latest jackpot ticker values for a specific jackpot for frontend as well as CRM and Marketing tools
- The new endpoint is located at
GET thrillconnect/v1/thrillpots/ticker/:instance_id
- When called the structure returned is the same as the JackpotUpdateEvent
ThrillOffice
- Permission presets on user modal. Admins can now easily assign role-based permission sets to users ( e.g. "reporting" ).
- System status view displays status of each proxied service configured. Services with certified libraries will display their checksums.
- Dashboard view now allows timeframe selection.
- New control on Jackpots Instances view enables 10s polling of the instances data and updates the view accordingly.
- New "Reconciliation" view provides insight over all jackpot instances' key metrics in any point in time. Currently exposed metrics on the view include "GGR", "Seed deficit", "Total contributions", "Seed Value", "Pot Value" and "Total Value". By default hisorical data is bucketed by months and users can select an arbitrary point in time using the filters.
Changes/Improvements
ThrillPots
- Optimised the event throughput from ThrillPots Gateway to its websocket event listeners
ThrillOffice
- Reporting views data filtering based on user brand/org.
- Improved flow for withheld transactions settlement. Improved dialogues and acknowledgement.
- Opt-Ins view now displays the preferred contribution value of the Opt-In record.
- Liability Report view promoted to Reconciliation and exposes extra instance data.
Bug Fixes
ThrillPots
- Unallocated community payout amounts are now returned to the reinstantiated pot
ThrillOffice
- Dashboard view now shows correct instance currency.
- Forgot password links fixed.