Skip to content

Releases: heroiclabs/nakama

v3.1.2

04 Mar 14:39
Compare
Choose a tag to compare

Notable changes

Changed

  • Sort match listings to show newer created matches first by default.
  • Loosen status follow input validation and constraints to ignore unrecognised user IDs and usernames.
  • Build with Go 1.16.0 release.
  • Do not import Steam friends by default on Steam authentication.
  • Do not import Facebook friends by default on Facebook authentication.
  • Improve match label update batching semantics.
  • Account object returned by some JS runtime functions are not flattened with user values anymore.

Fixed

  • Fix an issue in the JS runtime that would prevent the matchmaker matched callback to function correctly.
  • Allow the console API to return large responses based on the configured max message size.
  • Allow JS runtime initializer functions to be invoked inside a try/catch block.
  • Fix Tournament Reset function hook schedules calcuated on first write if the end active time must be computed with no reset schedule.

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/[email protected]"

v3.1.1

15 Feb 19:38
Compare
Choose a tag to compare

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/[email protected]"

v3.1.0

04 Feb 14:45
Compare
Choose a tag to compare

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/[email protected]"

v3.0.0

16 Jan 22:27
Compare
Choose a tag to compare

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/[email protected]"

v2.15.0

28 Nov 18:19
Compare
Choose a tag to compare

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/[email protected]"

v2.14.1

02 Nov 15:25
Compare
Choose a tag to compare

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/[email protected]"

v2.14.0

03 Oct 13:38
Compare
Choose a tag to compare

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/[email protected]"

v2.13.0

31 Aug 15:03
Compare
Choose a tag to compare

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/[email protected]"

v2.12.0

25 May 18:04
Compare
Choose a tag to compare

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/[email protected]"

v2.11.1

29 Mar 16:37
Compare
Choose a tag to compare

Notable changes

Changed

  • Update protobuf (1.3.5), websocket (1.4.2), opencensus (0.22.3), atomic (1.6.0), zap (1.14.1) dependencies.
  • Update devconsole minimist (1.2.2), acorn (6.4.1) dependencies.
  • Build with Go 1.14.1 release.