Skip to content

Releases

v3.42.0

Choose a tag to compare

@zyro zyro released this 03 Nov 14:40
69e3120

Notable changes

Added

  • Add Hiro Streaks support to the console, with its own ACL resource and audit logging.
  • Add Go runtime IAP providers, validated with the ValidatePurchase client API and PurchaseValidate function.
  • Add subscription validation through IAP providers with the ValidateSubscription client API and SubscriptionValidate function, and the RegisterBeforeValidateSubscription and RegisterAfterValidateSubscription hooks.
  • Add a notification endpoint for each IAP provider at /v2/console/<Name>/notifications/<NotificationEndpointId>, or /v2/console/<Name>/notifications when the provider returns no NotificationEndpointId.
  • Add the RegisterIAPPurchaseNotification and RegisterIAPSubscriptionNotification hooks for purchase refunds and subscription changes reported by IAP providers.
  • Add a provider filter to the console purchase and subscription lists, taking an IAP provider name or a built-in store.
  • Log a startup warning when a Lua runtime before or after request hook is registered for an unknown API name.

Changed

  • Directory listings on the console port now return an HTTP 404 Not Found error.
  • Change the Fleet Manager Init interface to receive the namespace of the instance being registered.
  • Fleet Manager registration by name is now case-insensitive.
  • Change AuthenticateApple to optionally opt-out from importing the email address from the provider.
  • Change AuthenticateFacebook to optionally opt-out from importing the email address from the provider.
  • Change AuthenticateGoogle to optionally opt-out from importing the email address from the provider.
  • Change LinkApple to optionally opt-out from importing the email address from the provider.
  • Change LinkFacebook to optionally opt-out from importing the email address from the provider.
  • Change LinkGoogle to optionally opt-out from importing the email address from the provider.
  • Build with Go 1.27.3.

Fixed

  • Only apply Google Authentication token aud/azp validation if explicitly configured via google_auth.client_ids.
  • Fix JavaScript runtime not finding InitModule or match handlers declared after another variable in the same declaration.
  • Fix leaderboard reset and tournament end and reset hooks sometimes being skipped by the scheduler.
  • Fix tournament end and reset hooks sometimes not firing for the first active period when the start time is in the future.
  • Fix Huawei purchase validation failing on a malformed verification URL.
  • Return the user ID on unpersisted Samsung and Huawei purchase validations.
  • Fix a data race when leaderboard and tournament reset schedules are evaluated concurrently, which could produce wrong reset times or a panic.
  • Fix JavaScript runtime match registration failing when handler keys are quoted.
  • Add missing Lua runtime functions to register Apple and Google In-App Purchase and Subscription notification hooks.
  • Fix Lua runtime shutdown hooks never running.
  • Fix some Go, Lua and JavaScript runtime request hooks never running, and Lua and JavaScript Google subscription validation after hooks running on Apple validations instead.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.49.0 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.49.0"

v3.41.0

Choose a tag to compare

@zyro zyro released this 18 Sep 19:51
cab8af5

Notable changes

Added

  • Add Console UI to list and query registered Storage Search indices.
  • Add support for namespaced multi fleet manager registration.
  • Expose websocket connection upgrade http headers to session context.
  • Add Authenticate module function to authenticate through a registered provider from Go, Lua and JavaScript runtime code. Provider identities are stored in the expanded user_device table.
  • Add RegisterBeforeAuthenticate and RegisterAfterAuthenticate hooks.
  • Add RegisterBeforeLink and RegisterAfterLink hooks.
  • Add RegisterBeforeUnlink and RegisterAfterUnlink hooks.
  • Add provider-agnostic authentication: register named authentication providers from the Go runtime, then authenticate, link and unlink those identities through the new Authenticate, Link and Unlink APIs, the matching Go, Lua and JavaScript module functions, and their before/after hooks. Identities are stored in the expanded user_device table and listed on the account.
  • Add console support for provider identities: search accounts by one, and unlink one from an account.
  • Build with Go 1.27.1.

Changed

  • Storage write version rejections now return GRPC error code 9 FAILED_PRECONDITION instead of 3 INVALID_ARGUMENT. HTTP response code mapping remains the same.

Fixed

  • Ensure linking a Google ID to an account does not overwrite any existing email.
  • Ensure correct token ID field is used for validating sessions on socket connection.
  • Return well-formed WWW-Authenticate header on HTTP 401 Unauthorized responses.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.48.0 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.48.0"

v3.40.0

Choose a tag to compare

@sesposito sesposito released this 13 Jul 21:12
d4d92f9

Notable changes

Added

  • Add Samsung Galaxy Store purchase validation request type and SAMSUNG_GALAXY_STORE store provider enum.
  • Add Samsung IAP runtime hooks and PurchaseValidateSamsung module function.
  • Add IAPSamsungConfig to runtime GetConfig() IAP section.
  • Improve logic in Apple JWS receipts validation.
  • Add console.disable_display_name_search config option to disable console account search by display name entirely.

Fixed

  • Fix an issue where group admin account deletion could leave orphaned group edges.
  • Fix In-App Purchase validation persist parameter handling for Apple JWS receipts.
  • Fix race conditions in leaderboard/tournament scheduler which could prevent hooks from triggering under certain conditions.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.47.0 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.47.0"

v3.39.0

Choose a tag to compare

@sesposito sesposito released this 20 May 15:20
721a5d3

Notable changes

Added

  • Add new runtime function to update storage objects with retries.

Changed

  • Update Satori client to match latest API spec.
  • Add configurable retries to the Satori client.

Fixed

  • Ignore negative custom runtime counter deltas to avoid panics during metrics collection.
  • Set account empty fields to null appropriately on console account import.
  • Correctly cancel context after matchmaker matched function completes.
  • Fix X-Forwarded-For header handling regression.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.46.0 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.46.0"

v3.38.0

Choose a tag to compare

@zyro zyro released this 20 Mar 15:10
74d7012

Notable changes

Added

  • Add runtime Satori client feature to delete identities.
  • Add device identifiers as lookup options for runtime account get operations.
  • Add Go runtime function to import an account export snapshot.
  • Add TypeScript/JavaScript runtime function to import an account export snapshot.
  • Add Lua runtime function to import an account export snapshot.
  • Better searching by account display name in the Console UI.

Changed

  • Better logic for determining client IP addresses from incoming requests.
  • Limit the number of custom metric scopes to prevent adding user identifiers as tags.

Fixed

  • Correct field usage in voided Google In-App Purchase subscription notifications.
  • Fix an issue where the Storage Index would keep entries which should have been filtered.
  • Fix an issue that could prevent leaderboard/tournament end/reset hooks from firing.
  • Avoid logging unnecessary context cancellation errors on storage operations.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.45.0 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.45.0"

v3.37.0

Choose a tag to compare

@zyro zyro released this 12 Feb 19:48
1276f1c

Notable changes

Added

  • Support Apple JWS receipts in In-App Purchase validation APIs.
  • Expose new Prometheus RPC metrics with label per gRPC status.

Fixed

  • Fix permission check on Console Group AddMembers operation.
  • Fix Lua runtime random generator seeding.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.44.2 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.44.2"

v3.36.0

Choose a tag to compare

@zyro zyro released this 13 Jan 16:08
61b08dc

Notable changes

Changed

  • Improvements to Console user setup and management.
  • Option for faster cleanup of parties that are idle and empty.
  • Build with Go 1.25.5.

Fixed

  • Ensure party leader username is recorded on party creation.
  • Ensure ended matches are removed from the Console UI list more quickly.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.44.1 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.44.1"

v3.35.1

Choose a tag to compare

@zyro zyro released this 03 Dec 18:36
c76c942

Notable changes

Fixed

  • Correctly wire context propagation in Session Start/End runtime event hooks.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.44.0 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.44.0"

v3.35.0

Choose a tag to compare

@zyro zyro released this 02 Dec 18:01
c03f394

Notable changes

Added

  • New runtime Satori client options for time-based caching.
  • Additional information for transactions in console UI details side panel.
  • Console API status endpoint now returns number of active Parties per node.
  • Console UI status view now displays number of active Parties per node and total.
  • Console API status endpoint now returns the startup time when each node was created.
  • Console UI status view now displays time since each node was started.

Changed

  • Adjust unit of measure for Satori client timeout.
  • Nakama will not start if attempting to register custom HTTP handlers without a '/' prefix in the path pattern.
  • Nakama will not start if attempting to register custom console HTTP handlers without a '/' prefix in the path pattern.
  • Add runtime Satori client additional filters for live-events listing.
  • Add runtime Satori client live-event join function.
  • Configurable timeout for server initiated socket disconnects graceful close wait period.
  • Fix an issue in the console ACL database schema migration that would prevent it from being applied in CockroachDB.
  • Better display for long transaction identifiers in console UI.

Fixed

  • Fix migration script to correctly revert console fine-grained access control changes.
  • Avoid unnecessary cache check in runtime Satori client Properties lookup.
  • Fix an issue that would prevent the console data reset operation from completing successfully.
  • Fix an issue with Apple In-App Purchase notification handling that would prevent the notification from being processed.
  • Fix an issue with Google In-App Purchase notification handling that would prevent refund/voided types from being processed.
  • Fix incorrect error message in the console UI when storage import operations actually succeed.
  • Fix incorrect display of ascending/descending leaderboard indicator in console UI.
  • Fix incorrect display of pagination indicators for filtered storage lookups in console UI.
  • Fix issue where disabling tournament ranks might not use the correct timezone for lookups.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.44.0 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.44.0"

v3.34.1

Choose a tag to compare

@zyro zyro released this 12 Nov 14:30
6063116

Notable changes

Added

  • Add trace identifier to RPC function contexts.
  • Add runtime Satori client feature to send direct messages.
  • Add runtime Satori client option to fetch messages by a set of identifiers.
  • New TypeScript/JavaScript runtime function to generate secure random bytes.
  • New Lua runtime function to generate secure random bytes.

NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.43.1 must be used with this release.

env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.43.1"