brainCloud Product Updates logo
Back to Homepage Subscribe to Updates

Product Updates

See the latest features, improvements, and product updates

Labels

  • All Posts
  • release
  • Announcement
  • Improvement
  • Fix
  • blog

Jump to Month

  • September 2025
  • June 2025
  • March 2025
  • January 2025
  • November 2024
  • September 2024
  • May 2024
  • February 2024
  • November 2023
  • September 2023
  • July 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • July 2022
  • June 2022
  • April 2022
  • March 2022
  • February 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • June 2021
  • May 2021
  • March 2021
  • November 2020
  • September 2020
  • July 2020
  • April 2020
  • February 2020
  • December 2019
  • November 2019
  • September 2019
  • June 2019
  • May 2019
  • February 2019
  • December 2018
  • October 2018
  • July 2018
  • March 2018
  • January 2018
  • December 2017
  • October 2017
  • July 2017
  • June 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • October 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • June 2014
  • May 2014
Changelog byAnnounceKit

Create yours, for free!

release
2 days ago

brainCloud 5.8 is live!


Back to school with brainCloud!

Our new Classroom Invites feature makes it easy to set up a class of budding developers. Get organized with our new App Calendar! Plus Steam Ownership Checks, IAP Improvements, Push Optimizations, and more!



Compatibility Notes

brainCloud prioritizes API stability and backward compatibility for apps. The following configuration flags control key brainCloud 5.8 behaviours:

  • Compatibility flag: Allow purchases without requiring a developer payload or cached purchase context. Defaults to ON for existing apps, OFF for new apps.
  • Steam Platform setting: Steam Verify App Ownership. Defaults to OFF.




Release Highlights

Classroom Invites

We have supercharged our Team Member invitation system. 

Not only can you now invite multiple team members at once, but we have also added the ability to quickly set up a student classroom, with each student getting their own personal app to work on. We even support importing team lists from .csv files.

brainCloud has always been great for student learning - now it’s even easier to get started.


App Calendar

This release adds a new Calendar view for apps. The Calendar automatically surfaces important initiatives like scheduled Redemption and Promotion campaigns.

It’s also a great place to note important dates like Soft Launches, New Feature Releases, Advertising Campaigns, etc.  Just click the [+] button to add a new entry to the calendar.

If you are expecting a significant traffic surge associated with a new launch or promotion, you can give the brainCloud Ops team a heads up!

We will be building upon our Calendar system significantly in the coming releases - so stay tuned!


Improved IOS and Android In-App Purchases

We’ve had some complaints over the years regarding some limitations on the use of In-App Purchase price/item IDs – which are the codes that you define in iTunes Connect or Google Play for various IAP price points for your products.

[Note - the purchase interactions for other stores are different. Only the Apple and Google Play stores are subject to this limitation.] 

The complaint is that developers cannot effectively reuse these codes across products. So if I (a dev) want to sell “Apples” for 1.99, and “Oranges” for 1.99 as well - I need to create two separate codes in the various app stores (“applesregprice” and “orangesregprice”) instead of re-using one shared code between them (e.g. “fruitregprice199”).

The reason for this is due to the context information that we can derive from the receipts. Basically, we are only receiving the IAP item ID from the store - and thus if you re-use the price in multiple places - we cannot tell what product a customer had purchased (and therefore what rewards to award the user). This situation only gets more complicated when Promotions (Sales) are involved.

We’ve been working to address this challenge - and 5.8 offers some relief - in two parts:

  • First of all, the AppStore.GetSalesInventory() call now returns a new “payload” field for each IAP product. This field contains important context information that can be used to derive the user's purchase more accurately.
  • The client app can now cache this context information to be used when processing a user’s IAP purchase. Simply call the new CachePurchasePayloadContext() method right before performing an Apple App Store or Google Play purchase, and brainCloud will automatically use the additional context information when processing the purchase receipt.

We highly recommend that all devs adjust their IOS and Google Play purchase flows to cache the new payload context. In the meantime, though, processing of the purchase context is optional as long as the new [x] Allow purchases without requiring a developer payload or cached purchase context compatibility flag is checked.  


Steam Ownership Check

brainCloud’s Steam Authentication has been upgraded to [optionally] confirm that the player owns the game that they are logging into.

To enable this validation, go to the Steam settings section of the App > Design > Core App Info > Application IDs page, and enable “Steam Verify App Ownership”.


Local Datastream

Up until this release, our Datastream system was limited to streaming analytics events to external systems (via Segment or Kafka). 

brainCloud 5.8 adds a new Local Datastream feature - that allows datastream events to be cached locally for a period of time (90 days by default) - for use in deeper analytics by brainCloud itself.

We will be building upon this new capability in future releases. Stay tuned!


Additional Improvements

This release includes many other improvements.


These include:

  • App Alerts - Max Server Nodes Reached

    • brainCloud will now raise an alert if the “Max Server Nodes” setting is preventing additional servers from launching.  
  • App Icon and Deployments

    • We no longer overwrite the App Icon of the target app during deployment. This change allows devs to more effectively use unique icons for different stages of their app [eg. Dev vs. Staging vs. Production] 
  • External Authentication Improvement

    • We have extended the External Auth mechanism to allow auth scripts to set the user’s identityData.  
  • Push Notification Optimizations

    • We have refactored our Push Notifications framework to improve performance for Apple and Google push notifications. These optimizations affect both push notifications sent to all users and notifications sent to specific user Segments.
    • Note that there were no API changes associated with these optimizations. 
  • Security Improvements

    • Several security improvements have been made to the Portal UI and the underlying portal service calls.
  • Server Launch

    • Our new Server Launch API allows devs to launch servers outside of Lobby processing.




Portal Changes

We continue to rapidly evolve and improve our Portal. 

Calendar Screen

As introduced in the Feature Highlights section, our new Calendar screen is front-and-center in the Portal - located just under the Dashboard for your apps.

You’ll actually find multiple views of your Calendar entries here - one in the standard Calendar view, but also a List view that presents the entries in a simpler format (that also works for mobile devices).


Additional Improvements

The following additional portal improvements have been made:

  • Chart Colors

    • We have adjusted the colors used for dev-defined items (like Products) to be more attractive  
  • App > Design > Cloud Data > User Statistics

    • Stats are now displayed in alphabetical order!
  • App > Design > Core App Info > Advanced Settings, Compatibility Settings

    • New “Allow purchases without requiring a developer payload or cached purchase context” flag.
  • App > Design > Segmentation > Segments

    • The criteria list is now searchable
  • App > Design > Promotions > Scheduled

    • Portal users can now Clone scheduled promotions.
    • The preview blade now shows only the IAP Product prices that have changed.  This change applies to Automated Promotions as well.
  • App > Reports > Analytics > Product Category

    • A new screen that breaks down how your IAP sales are going on a category basis.
  • User > Data > User Files

    • Portal devs can now upload user files directly from the portal. This is useful in some debugging and corrective scenarios.
    • Screen columns were also re-ordered to be more useful

 

Plus, for our Private Licensees:

  • Super > Manage > Manage Members

    • The member list now shows the difference between regular and read-only Super users.
    • The Invite dialog has also been improved to differentiate it from the Team-scoped invite dialog

 

Note - in addition to the new screens and polish, we have also upgraded the underlying portal tech to React 18 (from 16). With this upgrade comes valuable code and performance improvements (and the reduction of technical debt) - but it does mean that there is a greater than normal chance of regressions across the Portal. Please report any issues to support if you encounter them!




API Changes

The following changes/additions have affected the brainCloud API:

  • AppStore

    • New CachePurchasePayloadContext() call added to supplement Apple and Google Play receipt verification - providing additional context.
  • Authentication

    • AuthenticateExternal() - the external auth script can now set the custom identityData JSON associated with the identity. 
  • Leaderboard

    • Updated SysListLeaderboardConfigs() - now allows devs to specify the divSetId to query on if filterType is ”divisions”.  ← Makes it easy to find all division instances for a particular set
  • RoomServer

    • The new RoomServer service has been added to allow direct launching of hosted servers. This service and its APIs are reachable by cloud code and S2S only.
    • The new SysLaunchServer() method is used to launch a server of the named server type (as defined in My Servers). The dev must provide the ID of a callback script to handle events as the server launches.
    • The service also includes additional calls to support server interactions: SysGetRoomMember(), SysRoomEvent(), SysRoomReady(), SysRoomSessionEnded() and SysRoomSessionStarted().

 



Libraries and Examples

Client Libraries

All Libraries

  • New CachePurchasePayloadContext()  call added to the AppStore Service API
  • Fixed a discrepancy in RelayService.SetPingInterval() to consistently use seconds instead of milliseconds
  • Removed deprecated functions

 

Unreal

  • Fixed compatibility with UE 5.6
  • Deprecated the FindLobby() function that was still using the in_timeoutsecs parameter, replaced with FindLobby() function without that parameter

 

Examples

Unity

  • Authentication Unity example added iOS Advertising Support as an option to enable full Facebook login
  • Marketplace Unity example showcases CachePurchasePayloadContext for Android and iOS in-app purchases
  • Tic Tac Toe now supports online matchmaking to find matches in real-time.





Documentation and Tutorials

 

Documentation

  • All the latest API additions and changes have been incorporated into our new doc site at docs.braincloudservers.com !