All notable changes to this project are documented below.
The format is based on keep a changelog and this project uses semantic versioning.
- Fixed assignment of language tags when updating groups.
- Fixed checking of bound status of OnDisconnect callback in socket.
- Removed deprecated
NakamaCore
from .uplugin module list. This will improve the build experience for mobile platforms.
- Fixed test suite compatibility with Unreal 4 Engine.
- Fixed unnecessary lambda capture of HTTP request object.
- Fixed serialization of party join requests.
- Fixed serialization of party join requests.
- Fixed realtime client compatibility with Unreal 4 Engine.
- Fixed automatic importing of steam friends during the Steam authentication process if
import
was passed.
- Fixed importing of steam friends.
- Fixed lifetime of socket request contexts.
- Fixed build warnings about enum default values.
- Tests are now only enabled in developer builds by default.
- Fix support for non-ASCII characters in session authentication tokens.
- Fixed an internal import and enum name that could cause compilation failures depending on the project's build flags.
- Added
TFunction
support to our API calls for more concise use of callbacks. - The implementation of the
NakamaUnreal
has been rewritten to use native Unreal types rather than the prebuiltNakamaCore
. The user-facing API should remain unchanged.- This should resolve linking issues users have when depending on
NakamaUnreal
.NakamaUnreal
is the recommended way to use our library, butNakamaCore
is still available for users who want to usenakama-cpp
in Unreal Engine.
- This should resolve linking issues users have when depending on
- Introduced a Blueprint-based test project.
- Added feature parity with Nakama 3.17.
- Added use of
FDateTime
for reading session create and expiry time.
- Fixed x64 detection on pre-5.2.0 versions of Unreal.
- Fixed loading of Websocket Module.
- Added Windows Arm64 support to the NakamaCore module.
- Added Windows arm64/x64 debug support to the NakamaCore module.
- Fixed architecture detection code on pre-5.2.0 versions of Unreal.
- Fixed a compiler error in Android section of build script.
- Updated to nakama-cpp 2.8.0.
- Refactored Nakama Core test suite to run on target devices rather than editor host.
- Updated how nakama-cpp is pulled into nakama-unreal. It is now done using vcpkg rather than via custom builds from within nakama-cpp.
- Fixed Unreal Websocket transport throwing an exception if going out of scope without being explictly disconnected.
- Fixed how Unreal Engine finds and loads the Nakama Linux shared object library.
- Added Android support.
- Added Authentication Refresh node for Blueprints.
- Added Update Chat Message node for Blueprints.
- Added
IsConnected
function to Realtime Client. - Added
GetHeartbeatIntervalMs
function to Realtime Client. - Added
SetHeartbeatIntervalMs
function to Realtime Client. - Added
ALL
toENakamaGroupState
enum. - Added
RPCHttpKey
function to Client for calling an RPC via HTTP key.
- Updated transport logic for UE4 support.
- Various improvements to client logic.
- Fixed issue with create client node in demo project.
- Version property now copied correctly in
FNakamaStoreObjectAck
constructor. - Fixed compilation issue on Linux.
- Added support for Unreal native types. Use the
NakamaUnreal
module and see the README for details on how to use it. - Added support for Blueprints. Use the
NakamaBlueprints
module if you are interested and see the README for details on how to use it. - Old functionality exposed in previous releases has been moved to
NakamaCore
. The other modules depend onNakamaCore
.
- Added realtime parties support.
- Fixed assignment of cursor in listing of storage objects.
- Support server 2.13.0
- Added authentication with Apple ID:
authenticateApple
,linkApple
andunlinkApple
- Added
demoteGroupUsers
- Added
NClientInterface::rpc
withhttp key
- Added
disableTime
toNAccount
- Added
updateTime
toNFriend
- Improve future-compatibility with server changes
- Fix listFriends failing on 2.3.0 against 2.13.0 server
- fix crash when response is received after NClient was deleted
- fix uint16_t is too small for our match data (#25)
- fix getUsername and getUserId in session wrapper
- RPC call fails when body is empty
- RPC payload differences between Rest and RT clients
- Support Linux
- Support server 2.7
- Support UE 4.23
- Following client API has been added/changed to support server 2.7:
- NSessionInterface
- getVariables
- getVariable
- NClientInterface
- authenticateDevice
- authenticateEmail
- authenticateFacebook
- authenticateGoogle
- authenticateGameCenter
- authenticateCustom
- authenticateSteam
- listFriends
- createGroup
- listGroupUsers
- listUserGroups
- NRtClientInterface
- joinMatch
- NSessionInterface
- Updated optional lib to v.3.2.0
- REST client (HTTP/1.1).
- Add tournament start active time to the API response.
- Add "Activity timeout" to Websocket.
- Now we use one C++ REST library for all platforms instead of Websocketpp and IXWebsocket.
- gRPC client is off.
- Fixed loading dynamic library on Mac.
- support Windows (VS 2015, 2017, 2019).
- enable SSL for IXWebsocket.
- Now targeting nakama 2.x on Mac and iOS
- Now targeting nakama 1.4.0
- Updated session parsing to look for "han" for handle keyword.
- Added correct purchase records processing.
- Now targeting nakama 1.3.0
- Advanced Matchmaking with custom filters and user properties.
- Expose Collation ID when client operations result in an error.
- Now targeting nakama 1.1.0
- Now targeting nakama 1.0.1
- A paging cursor can now be serialized and restored.
- New storage partial update feature.
- New storage list feature.
- A session now exposes
.ExpiresAt
and.Handle
from the token.
- Added default builder for notification list and remove messages.
- A group self list operation now return the user's membership state with each group.
- A group leave operation now return a specific error code when the last admin attempts to leave.
- Add new In-App Notification feature.
- Add new In-App Purchase Validation feature.
- Update Client to support the new batching API.
- Support for Nakama API 0.13.0
- New matchmaking feature.
- Optionally send match data to a subset of match participants.
- Expose a way to toggle
TCP_NODELAY
socket option. - Send RPC messages to run custom code.
- Fetch users by handle.
- Add friend by handle.
- Filter by IDs in leaderboard list message.
- Storage messages can now set records with public read permission.
- Update user fetch add handle method name to match changes in nakama-unity 0.6.1.
- Dispatch callbacks when sending match data.
- Improve leaderboard list message to handle multiple filters.
- Support for Nakama API 0.12.1
- Support for fetching groups by name.
- Support for Nakama API 0.12.0
- Blueprint support
- Add support for dynamic leaderboards.
- Add error codes for error messages in server protocol.
- Update session token parse code for user's handle.
- Update user presence protocol message to contain user handles.
- Initial public release - modeled after nakama-unity 0.4.2