All notable changes to this project are documented below.
The format is based on keep a changelog and this project uses semantic versioning.
- Add GroupUsersBan function to the runtimes.
- Add LeaderboardRecordsHaystack function to the runtimes.
- Add ctx field to access http request headers in the Lua and JavaScript runtimes.
- New JavaScript runtime stringToBinary and binaryToString functions.
- JavaScript runtime match data changed to use Uint8Array type.
- Allow creation of relayed matches with a name. Names are still mapped to match identifiers.
- Expose Nakama errors to the server runtime.
- Match signal handler as part of the match handler definition.
- Add match signal function to server framework.
- Add a prev cursor to the PurchaseList message.
- Use named return parameters in leaderboard and tournament listings.
- Add authoritative parameter on tournament create. Same as in leaderboard create.
- Add ChannelMessageUpdate function to server framework.
- Improve ValidatedPurchase TS definitions.
- Show "rank" field in leaderboard record TS definition.
- Add TypeScript "nkruntime.Error" custom error type that supports a custom message and grpc status code which can be returned in server responses.
- Add function to retrieve a random set of users to server framework.
- Add ChannelMessageSend function to server framework.
- Add BuildChannelId function to server framework.
- Return already seen receipts with a 'seen_before' flag set to true instead of returning an error if one is detected.
- Fix TypeScript "nkruntime.Context" value types.
- Add missing groupId argument from groupUpdate TypeScript definition.
- New functions to create custom metrics gauges, counters, and timers with Go.
- Allow Apple IAP validation to provide an override shared secret in the runtime.
- Use a context key name for fetching the lang set on a socket in the runtime.
- Add groups list, get leaderboard, and list leaderboards functions.
- Various updates to the TypeScript definitions.
- Tournament and leaderboards functions can now submit scores with the score operator.
- Tournament and leaderboards functions can now use a decrement score operator.
- Remove the older Go Protobuf dependency.
- The user ID can now be passed into group management functions. If the user ID is empty it will default to the system user as before.
- Small updates to the TypeScript definitions.
- Update to Protobuf v1.5.2 release.
- New API to logout and intercept logouts with session and refresh tokens.
- Add a leave reason to presence events to handle transient disconnects more easily.
- New API for IAP validation with Apple App Store, Google Play Store, and Huawei AppGallery.
- Update account wallet, storage, and session refresh in the TypeScript type definitions.
- Various updates to the TypeScript definitions.
- GetUsers in the server framework now matches more closely how the client API works.
- New APIs for Steam friends to be imported to the social graph.
- Improvements to the Type definitions for the runtime.
- Add an error type for negative wallet balances in wallet updates.
This version synchronizes with the major version of Nakama server. The code is fully backwards compatible.
- New realtime messages for Realtime Parties.
- New API messages for refreshing session tokens.
- Type Definitions for the new JavaScript runtime framework in the server.
- Matchmaker API messages now have support for parties.
- Add group management functions to the server runtime. Thanks @4726.
- Add a cacheable cursor to channel message listings.
- Runtime nakama module interfaces for TournamentRecordsList and FriendsList functions.
- Update protobuf to 1.4.3 release.
- Add missing cursor in return values for nakama module GroupUsersList and UserGroupsList interfaces.
- Use a "tool dependency" to specify the protoc-gen-go required version. See here.
- Update to Protobuf 1.4.2. This enables us to take advantage of the new Protobuf runtime. See here.
- Rename example runtime file.
- Replace shell script with Go generate commands to run protoc toolchain.
- Eliminate test dependency on GRPC runtime.
- Update protocol definitions to remove warnings from stricter Go package import paths. See here.