Releases: heroiclabs/nakama
v3.1.1
Notable changes
Changed
- Go runtime logger now identifies the file/line in the runtime as the caller rather than the logger.
- Build with Go 1.15.8 release.
- Use a newer CA certificates package within the Docker containers.
Fixed
- Fix an issue that prevented the JavaScript runtime hooks to be invoked correctly.
- Fix the delete button not working in the console leaderboard listing.
- GetUsers can fetch user accounts by Facebook ID the same as in the client API.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.12.1 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.12.1"
v3.1.0
Notable changes
Added
- New APIs to import Steam friends into the social graph.
Changed
- Improve output of "nakama migrate status" command when database contains unknown migrations.
- The socket status flag is now parsed as case-insensitive.
- Build with Go 1.15.7 release.
Fixed
- Fix an issue with the JS runtime multiUpdate function.
- Fix an issue where the JS runtime would call the InitModule function twice.
- Fix how the JS runtime invokes matchmakerMatched and leaderboard/tournament related hooks.
- Fix JS VM not being put back into the pool after an RPC call.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.12.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.12.0"
v3.0.0
Notable changes
This is a major release of the server but is fully backwards compatible with the 2.x releases. Have a look at the release announcement for more details: https://heroiclabs.com/blog/announcements/nakama-3-0/
Added
- New JavaScript runtime to write server code.
- Introduce refresh tokens that can be used to refresh sessions.
- New Realtime Parties for users to create teamplay in games. Users can form a party and communicate with party members.
- Add party matching support to the Matchmaker.
- Add options to the Matchmaker to control how long tickets wait for their preferred match.
- Add Console UI permissions API.
- New "ReadFile" runtime function to read files within the "--runtime.path" folder.
Changed
- Rebuild Console UI with Angular framework. Manage user data, update objects, restrict access to production with permission profiles, and gain greater visibility into realtime features like active matches.
- Matchmaker improvements to the process for matching and the handling of player count ranges.
- Authoritative match handlers can now tick at 60 per second.
- Support CockroachDB 20.2 release.
- Build with Go 1.15.6 release.
Fixed
- Return rank field in Lua API for leaderboard record writes.
- Return social fields for users in friend listings.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.11.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.11.0"
v2.15.0
Notable changes
Added
- Add cacheable cursor to channel message listings.
- Add group management functions to the server runtime. Thanks @4726.
Changed
- Make metrics prefix configurable and set a default value.
- Pin the GRPC Go plugin for the protoc compiler with a tool dependency.
- Build with Go 1.15.5 release.
- Use the Facebook Graph API v9.0 version.
- Facebook authentication no longer requires access to gender, locale, and timezone data.
- Update to Bleve v1.0.13 release.
- Update to nakama-common 1.10.0 release.
- Skip logging Lua errors raised by explicit runtime calls to the
error({ msg, code })
function.
Fixed
- Better handling of SSL negotiation in development with certs provided to the server.
- Use correct error message and response code when RPC functions receive a request payload larger than allowed.
- Expose missing 'group_users_kick' function to the Lua runtime.
- Fix an issue that would cause an error when trying to update a tournament record with invalid data.
- Fix some issues around listing tournaments.
- Fix an issue that would prevent the insertion of a record in a tournament with no scheduled reset and end time.
- Ensure the devconsole applies user password updates even if no other fields change.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.10.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.10.0"
v2.14.1
Notable changes
Added
- Event contexts now contain user information for external events.
- Expose more metrics for socket activity.
- New Docker release of the server with debug symbols enabled.
- Add "TournamentRecordsList" and "ListFriends" functions to the Go server runtime.
- Add "friends_list" and "tournament_records_list" functions to the Lua server runtime.
Changed
- Build with Go 1.15.3 release.
- Update to Protobuf v1.4.3, GRPC v1.33.1, and GRPC-Gateway v2.0.1 releases.
- Update protocol definitions for OpenAPIv2 code generator.
Fixed
- Fix score comparisons on leaderboard record ranks in cache. Thanks @4726.
- Put "rank" field into results from "tournament_records_haystack" calls in Lua server runtime.
- Add missing cursor return values from "GroupUsersList" and "UsersGroupList" functions in the Go server runtime.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.9.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.9.0"
v2.14.0
Notable changes
Added
- Publish new metric for presences count.
- Use a "tool dependency" to specify the protoc-gen-go, protoc-gen-grpc-gateway, and protoc-gen-openapiv2 required versions. See here.
Changed
- Build with Go 1.15.2 release.
- Update to Protobuf 1.4.2, GRPC 1.32.0, and GRPC-Gateway 2.0.0-beta.5. This enables us to take advantage of the new Protobuf runtime. See here.
- Replace shell script with Go generate commands to run protoc toolchain.
- Update protocol definitions to remove warnings from stricter Go package import paths. See here.
- Move some Go packages to be internal.
- Improved rank caching strategy.
- Separate authentication error response code and message for banned accounts.
- Pin to an older certs store in the Docker container to work around an issue with GeoTrust certificates.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.8.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.8.0"
v2.13.0
Notable changes
Added
- Add Sign in with Apple authentication, link, and unlink.
- Wallet operations now return the previous and updated state of the wallet.
- New multi-update runtime function to handle batched storage, wallet, and account updates in a single transaction.
- Groups now have a demote API for convenience.
Changed
- Build with Go 1.15.0 release.
- Sanitize metric names and properties fields.
- Wallet updates now use int64 values to ensure precision in all numeric operations.
- Update to nakama-common 1.7.3 release.
- Optimize how session IDs are stored in presence structs.
- Friend listings now allow a page size of up to 1000 objects.
Fixed
- Prevent bad presence list input to dispatcher message broadcasts from causing unexpected errors.
- Extra HTTP headers in RPC responses are set before the response is written to the buffer.
- Fix an issue in the Lua runtime nk module's "jwt_generate" function that would prevent it from accepting a key in RS256 format.
- Fix an issue in the Lua runtime nk module's "rsaSHA256Hash" function that would prevent it from parsing the input private key.
- Unmatched routes in the Nakama Console server now return a 404 rather than a 401 response.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.7.3 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common@v1.7.3"
v2.12.0
Notable changes
Added
- Print a log message when all authoritative messages have stopped during graceful shutdown.
- New option in Lua runtime for read-only globals to reduce memory footprint. This is enabled by default.
- Separate server config flags for socket read and write buffer sizes.
- Add user session scoped fields to authoritative match join attempt contexts.
- Add group ID to content of in-app notifications sent with user changes in groups.
- New runtime function to get a single match by ID.
- New runtime functions for link and unlink operations.
- New Lua runtime function to print a log message at debug level.
- Add disable time to account get operations in the server runtime.
- Expose last user relationship update time when listing friends.
- Expose caller information in logger messages.
- Expose node name in all runtime contexts.
Changed
- Rebuild metrics implementation.
- Validate GOB encoded authoritative match create parameters.
- Eliminate user account writes to database if fields have not changed.
- The gauges in the Developer console status view more accurately reflect current server metrics.
- Disconnect match participants when a Lua runtime authoritative match ends due to an error.
- Sort wallet ledger listings by creation time from newest to oldest.
- Do not update leaderboard and tournament record timestamps when scores have not changed.
- Build with Go 1.14.3 release.
- Update to nakama-common 1.5.1 release.
Fixed
- Fetch account in Lua runtime function now includes Facebook Instant Game IDs.
- Don't duplicate runtime environment values in the devconsole configuration view.
- All low-level channel presence events now populate room, group, and direct message fields.
- Developer console status graphs correctly show a fixed time window of metrics.
- Fix friend deletion in developer console user detail view.
- Fix group membership deletion in developer console user detail view.
- A user's password is no longer expected when unlinking emails.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.5.1 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common@v1.5.1"
v2.11.1
v2.11.0
Notable changes
Added
- Return tournament end time in listing operations if one exists.
- Add Facebook Instant Game Authentication.
Changed
- Build with Go 1.14.0 release.
- Update most server dependencies (particularly GRPC, GRPC Gateway, and Protobuf).
- Upgrade to use nakama-common 1.4.0 release.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.4.0 must be used with this release.