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

  • 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!

releaseAnnouncement
5 years ago

Release 4.4

brainCloud 4.4 kicks off a year of big updates to brainCloud. We hope you like where we’re headed!

Release Highlights

Custom Entities

Release 4.4 brings the full power of Custom Entities to brainCloud. As you may recall, Custom Entities are like Global Entities + User Entities combined, and then super-charged! You get all the features of our standard entity systems (with ownership, ACL, time-to-live, and concurrency versioning) – plus support for Custom Indexes (i.e. much faster!) and Deployment Migration (i.e. more convenient!). 

New features in 4.4 include:

  • New Custom Entity Editor available under Global Monitoring
    • With full searching and Import/Export functionality
  • Bonus Custom Entity Editor available under User Monitoring
    • Easily view/edit the entities owned by a specific user!

In addition, you’ll find the Custom Entity configuration screens have moved. We have created a new section called Cloud Data for them under Design – to give them better overall visibility.

Note – in the future Custom Entities will be a Plus Plan feature – but for now, Custom Entities are available to everyone!

Cloud Code Improvements

We have big plans for Cloud Code in 2020 – but to start things off, we have a few small improvements:

  • Upgraded JavaScript Engine – we’ve updated to Rhino Engine 1.7.12 for additional features, performance, and stability.
  • EcmaScript 6 Support – the updated Rhino engine enables new language features. Rhino isn’t fully ES6 compliant, but it’s miles ahead of the level of support that we had before. 

Note – for compatibility reasons, the new ES6 support is disabled by default for existing apps. You can enable this feature by going to the new Cloud Code settings section of the Design | Core App Info page.

Sign in with Apple

We have added Sign in with Apple support to brainCloud. This works similarly to all of our other authentication types.

To take advantage of this feature, be sure to grab the latest brainCloud 4.4 Client Libs.

Faster API Reference

This one is a big quality-of-life improvement.

As you know, as the brainCloud API has grown (over 400+ API calls and counting!) – the time to load our API Reference had gotten slower and slower.

We put the devs on it – and they were able to optimize it for a huge performance improvement. Now instead of taking 60+ seconds to load – it opens in 5-10 seconds from cold – even faster if you have it cached. 

Check it out – you’ll find it in the usual location here. 

Misc

As usual, a few additional requests have made it into this release:

  • Google OpenID Support – we have added support for Google’s new (modern) OpenID authentication system
  • Item Catalog Deployment Option – you can now opt-out of updating your Item Catalog during an app deployment. This feature allows you to maintain a more dynamic marketplace where your Item Catalog is managed directly in your live app, instead of strictly publishing updates from dev → prod.
  • New and fixed API calls – we have fulfilled a bunch of customer requests for specific API calls. Check the API Changes sections – we hope your favorites are there!

Portal Changes

We’ve made the following portal changes:

Design

  • Core App Info | Advanced Settings
    • We have added a new Cloud Code section, where you can enable the new ES6-level JavaScript support
    • We have also added a new compatibility flag, Return legacy-format Multi Social Leaderboard results, to preserve the old behavior for the GetMultiSocialLeaderboard() call for existing apps.
  • Cloud Data | Custom Entities
    • We’ve moved the Custom Entities configuration screen out from under Custom Config.
    • You can now specify an identifier field to use to label your objects when viewing them in the Entity Editor lists.
    • There is also a new Monitor option on the Action menu, that jumps you into Global Monitoring to view the entities of that type.

Monitoring

  • Global Monitoring | Custom Entities
    • The new Custom Entity Editor screens in Global Monitoring allow you to view and edit all of the custom entities of your application.
    • You can search for entities using the Filter dropdown.
    • You can import and export entities from JSON files.
  • User Monitoring | Custom Entities
    • We also allow you to view Custom Entities at the user level
    • In this view, you only see owned collections – and specifically, only entities that are owned by the selected user.

General

  • We have re-ordered the screens under Global Monitoring to be alphabetical.

API Changes

The following calls have been added to the brainCloud API:

  • Authentication
    • New AuthenticateApple() call for Sign in with Apple support.
    • New AuthenticateGoogleOpenId() call for Google’s OpenID authentication.
    • Improved Password Reset calls (with control over when the URL links expire)
      • ResetEmailPasswordWithExpiry()
      • ResetEmailPasswordAdvancedWithExpiry()
      • ResetUniversalIdPasswordWithExpiry()
      • ResetUniversalIdPasswordAdvancedWithExpiry()
    • Note that we have deprecated the older password reset calls where you do not explicitly set an expiry.
  • CustomEntity
    • Added SysUpdateEntityOwner() call to migrate custom entities between users. 
  • GlobalApp
    • SysUpdatePropertyString() and SysUpdatePropertyJSON() have been added to both Client and S2S Cloud Code interfaces for devs building offboard tools.
  • GlobalEntity
    • Added S2S Cloud Codeimplementations for the following missing calls
      • DeleteEntity()
      • GetRandomEntitiesMatching()
      • IncrementGlobalEntityData()
      • MakeSystemEntity()
      • UpdateEntity()
      • UpdateEntityAcl()
      • UpdateEntityOwnerAndAcl()
      • UpdateEntityTimeToLive()
  • Identity
    • New AttachAppleIdentity(), DetachAppleIdentity() and MergeAppleIdentity() calls
    • New AttachGoogleOpenId(), DetachGoogleOpenId() and MergeGoogleOpenId() calls
  • Leaderboard
    • Fixed GetMultiSocialLeaderboard() so that it doesn’t return friends that haven’t played on any of the leaderboards requested. There is a new compatibility flag to preserve the old behaviour.
    • Added SysResetNeverLeaderboard() to arbitrarily reset/rotate leaderboards. 
  • PlayerState
    • New UpdateTimeZoneOffset() and UpdateLanguageCode() calls – useful in certain scenarios. 
  • PushNotifications
    • Added the following missing methods to the S2S Cloud Code proxy:
      • DeregisterPushNotificationDeviceToken()
      • ScheduleNormalizedPushNotificationUTC()
      • ScheduleNormalizedPushNotificationMinutes()
      • ScheduleRawPushNotificationUTC()
      • ScheduleRawPushNotificationMinutes()
      • ScheduleRichPushNotificationUTC()
      • ScheduleRichPushNotificationMinutes()
      • SendNormalizedPushNotification()
      • SendRawPushNotification()
      • SendRichPushNotification()
      • SendRichPushNotificationWithParams()
  • Script
    • Added GetScheduledCloudScripts() to the Client libs – it was previously Cloud Code only. 
    • Added GetRunningOrQueuedCloudScripts() call (to both Client and Cloud Code) 
  • User
    • New password reset calls with better control over when the URLs expire:
      • SysSendPasswordResetEmailWithExpiry()
      • SysSendPasswordResetEmailAdvancedWithExpiry()
      • SysSendPasswordResetUniversalIdWithExpiry() 
      • SysSendPasswordResetUniversalIdAdvancedWithExpiry()

Bonus API

In addition, we’ve added a new Cloud Code Utility method that can be used to efficiently create RSA signatures (since doing so through raw Javascript is pretty slow).

The new method can be found in the Bridge Utility service – i.e. bridge.utils().signRSASha256(). See the APIRef for more info!


Miscellaneous Changes / Fixes

  • Updated libraries
    • We’ve been busy adding our Relay Comms APIs to all the missing libraries. Unity/C#, Unreal, Java, and JavaScript are now good. C++ / Objective-C / Swift support is still outstanding, but coming soon.
    • The libraries have otherwise been updated with the latest 4.4 APIs. Grab them while they’re hot! 
  • Documentation updates
    • New Faster API Reference!
    • Plus we’ve documented all the latest APIs
  • Important Fixes
    • To-be-compiled
  • Plus miscellaneous fixes and performance enhancements…