Xsolla C++ SDK Release Notes#
v5.0.0#
Xsolla Backend’s C++ SDK has received a major overhaul as part of this release.
It is now possible to build with other versions of Clang utilizing sdk_cpp.
Fixed various issues preventing build compilation on Linux.
Xsolla Backend SDK for C++ now supports C++20 build systems.
Added OAuth2 SDK API support. Documentation will be added in an upcoming release.
- Breaking Changes:
- Renamed QuestReward model fields:
quantity -> value
entityUid -> entity
- Classes were renamed
Message renamed to Mail
UserLink renamed to Relationship
MessageService renamed to MailService
UserLinkService renamed to RelationshipService
- Introduced concept of Channels, for real-time messaging
Content sent on Channels now is referred to as Message
v4.0.1#
Added event origin data to all event models
Fix for runtime crash when profile data is not set
v4.0.0#
Warning
This release contains breaking API changes due to namespace and user property changes
Changed project namespace from
AcceleratXRtoXsollaBackendUser property name changes: firstName -> givenName; lastName -> familyName
Updated vcpkg to 2024.03.25
Migrated from CMakeSettings to CMakePresets
v3.0.0#
Warning
This release contains breaking API changes for all FindAll and Count functions in Service classes
Updates to toolchain support for Unreal 5.0, 5.1
Implemented missing functions in ShardService
Refactored all FindAll/Count functions to use Variant type instead of strings
v2.16.0#
Fixed multiple issues with Agones integration
Removed build support for Win32 (x86)
Fixed runtime error when null responses are parsed as JSON
Added missing cancel token to all create_task calls
Added additional variant type checking for common service operations
Removed deprecated models/services
Fixed return type for SendCode functions
Refactored docs
v2.15.0#
Added updateData endpoint to SessionService
Introduced new IApiServer interface
Introduced global network engine interfaces
Refactored Timer class
Fixing multiple runtime errors with task management
Fixed namespace conflicts when integrating to Unreal Engine
Fixed additional build issues with Unreal Engine
v2.14.2#
Fixed issues with Linux build
Fixed issue with agones integration running when not enabled
v2.14.1#
Fixing CI/DJ job for x86 builds
v2.14.0#
Implemented purchasing system data models and services
Various changes/improvements to IWebSocket and related interfaces
Implemented websocket++ for push notifications
Refactored all enum types
Fixed cmake related build issues
CoreSDK::Logout now returns an async task
Improved CoreSDK cleanup/logout code
Fixed issue with Timer incorrectly executing callback on exit
Removed all deprecated #ifdef header guards
Removed deprecated service manager data models and services
Implemented support for Agones health monitoring and status updates
v2.13.1#
Auth tokens are now refreshed a little sooner to prevent from making calls with an expired token
v2.13.0#
Refactored refresh tokens to comply with account services v1.14.0
Linux vcpkg package now only includes relevant linux dependencies
v2.12.2#
Fixing compilation issue for Linux
Linux package script now only includes
.afiles
v2.12.1#
Removing paths in LeaderboardRecordService configuration
v2.12.0#
Adding support for FindNear and FindTop REST API endpoints to LeaderboardRecordService
Fixing issues with cmake
v2.11.0#
Refactored getters to use templated Object::GetProperty to better handle access edge cases
v2.10.0#
Refactored EntityWatchdog to store shared pointers instead of weak pointers
v2.9.1#
Refactored all foreach loops in property accessors for better stability/performance
Fixed bad reference capture in lambda function
v2.9.0#
Updated EULA
Fixed issue with bad memory access after session join
v2.8.0#
Fixed compilation errors with EntityWatchdog::Unwatch()
Updating publish scripts
v2.7.0#
Enabled Ninja build for linux
Updating scripts to publish to
nexus.acceleratxr.comFixed issue with SessionService::Join() not reporting the correct remote URL
v2.6.0#
API Changes:#
ServerInstance and ServerInstanceService are no longer server only classes
v2.5.1#
Bug Fixes:#
Fixing incorrect function definitions in ServerInstanceRequest
v2.5.0#
Improvements/Features:#
Added new ServerInstanceRequest model class
Added Assign() function to ServerInstanceRequest for requesting server instance assignments
v2.4.1#
Bug Fixes:#
Fixing bad endpoint paths for PersonaStat/PersonaStatDefinition
v2.4.0#
Improvements/Features:#
Added support for multi-factor authentication
Refactoring PersonaStat/PersonaStatDefinition to match backend API
Added non-const property accessors to Object
Added non-const operator accessors to Object
Reducing default threadpool size and setting explicit priority of NORMAL
Bug Fixes:#
Fixed issue with enum parsing in multiple classes
v2.3.0#
Improvements/Features:#
Added new templated override for Object::GetProperty()
Added HTTP HEAD request support
Added UserService.Exists() function to check if a user exists with a given ID
Bug Fixes:#
CORE-189: Fixed bug that prevented SetProperty from working correctly
v2.2.1#
Improvements/Features:#
Added unit tests for typical Unreal behavior
Bug Fixes:#
Fixed issue with known exceptions being incorrectly wrapped as an unknown exception
Fixed issue with FindAll requests looking for the wrong variant type when decoding the response
Fixed issue with leaving sessions causing incorrect exception to be thrown
v2.2.0#
Bug Fixes:#
Disabling SSL verification, this fixes problems with SSL endpoints
Removing unused forward declarations
v2.1.0#
Refactored all headers to remove unnecessary third party dependencies to avoid pollution in down-stream applications
Copied utility::datetime from cpprestsdk to SDK as xbe::sdk::datetime
Fixing issue with headers being incorrectly overridden
Refactoring CMakeLists.txt to be more streamlined
v2.0.0#
Improvements/Features:#
Refactored IApiClient/ApiClient to provide better abstraction
Added IWebSocket for websocket connection abstraction
Added IApiClient/IWebSocket implementation for POCO HTTP library
Added IApiClient/IWebSocket implementation for libcurl library
Added new Variant type for holding arbitrary data values
Refactored Object to store a map of Variant values instead of extending the
cpprestsdkJSON objectRefactored JSON utils and Object class to use rapidjson library
Moved all HTTP and websocket code to new xbe::sdk::net namespace
Added unit tests for data model serialization to/from JSON
Added unit tests for basic CoreSDK functionality
Updated Unreal module build file