Releases: heroiclabs/nakama
v3.23.0
Notable changes
Added
- Add devconsole view to list and search purchases across users.
- Add devconsole view to list and search subscriptions across users.
- Add function to get notifications by identifier to Go runtime.
- Add function to get notifications by identifier to Lua runtime.
- Add function to get notifications by identifier to TypeScript/JavaScript runtime.
- Add function to delete notifications by identifier to Go runtime.
- Add function to delete notifications by identifier to Lua runtime.
- Add function to delete notifications by identifier to TypeScript/JavaScript runtime.
- Add runtime function to disable ranks for an active leaderboard.
- Add new matchmaker stats API.
- Add support for specifying session vars in devconsole API explorer calls.
Changed
- Add leaderboard create function parameter to enable or disable ranks.
- Add tournament create function parameter to enable or disable ranks.
- Obfuscate further fields when viewing server configuration in the devconsole.
- Build with Go 1.22.5.
Fixed
- Correctly wire Go runtime shutdown function context.
- Fix friends of friends API error when user has no friends.
- Fix group listing pagination if name filter is used.
- Correctly register friends of friends API before/after hooks.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.33.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.33.0"
v3.22.0
Notable changes
Added
- Add runtime support for registering a shutdown hook function.
- Add support to custom sorting in storage index search.
- New config option to enforce a single party per user socket.
- New config option to enforce a single valid session token per user.
- New friends of friends listing API and runtime functions.
Changed
- When a user is blocked, any DM streams between the blocker and blocked user are torn down.
- Add confirm dialog to devconsole delete operations.
- Reduce Console Storage View memory usage.
- Upgraded pgx to v5.
- Attempt to import Facebook friends on Limited Login authentication.
- Build with Go 1.22.4.
- Improve devconsole login page experience.
- Return Lua VM instance to the pool only after any error processing is complete.
- Better cancellation of long running queries in devconsole operations.
Fixed
- Ensure Apple receipts with duplicate transaction identifiers are processed cleanly.
- Fix leaderboard rank cache initialization upon startup.
- Fix log message incorrectly referencing "userID" instead of "senderID".
- Fix Lua runtime calls to string metatable functions.
- Correctly handle Steam API rejections on friend listing operations.
- Ensure Google auth token errors are handled gracefully.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.32.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.32.0"
v3.21.1
Notable changes
Added
- Add ability to easily run unit and integration tests in an isolated docker-compose environment.
Changed
- More efficient initial loading of storage index contents.
Fixed
- Fix issue with Fleet Manager access causing an unexpected error.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.31.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.31.0"
v3.21.0
Notable changes
Added
- Add Fleet Manager API to power session-based multiplayer adapters. See the documentation for more details.
- Add CRON next and previous functions to Go runtime.
- Add CRON previous function to Lua runtime.
- Add CRON previous function to TypeScript/JavaScript runtime.
- Add support for storage deletes in runtime multi-update functions.
Changed
- Reduce number of memory allocations in leaderboard cache.
- Fix leaderboard rank cache inconsistencies/race that could arise under heavy load.
- List leaderboard records can now return up to 1,000 records per request.
- Simplify query planning for storage object read operations.
- Improve comparison operation for leaderboard rank cache ordering.
- Extend extraction of purchase data from Apple IAP receipts.
Fixed
- Prevent players from requesting duplicate joins to the same party.
- Prevent players from requesting joins to parties they are already members of.
- Ensure runtime user deletion function rejects the system user.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.31.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.31.0"
v3.20.1
Notable changes
Changed
- Improve handling of messages being sent while session is closing.
- Build with Go 1.21.6.
Fixed
- Skip Google refund handling for deleted users.
- Fix storage engine version check regression.
- Fix JavaScript runtime tournament records list owner identifier parameter handling.
- Fix regression in tournament end active time calculation when it coincides with reset schedule.
- Better handling of concurrent wallet update operations for the same user.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.30.1 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.30.1"
v3.20.0
Notable changes
Changed
- JavaScript runtime
localcachePut
now only accepts primitive types, other values will throw an error. - Storage search index list max limit increased from 100 to 10,000 results.
- Upgrade GRPC-Gateway, Tally, Zap, crypto, oauth2, GRPC, and related dependencies.
- Build with Go 1.21.5.
Fixed
- Fix pointer slices assertions in JavaScript runtime Nakama module function arguments.
- Fix caller ID parameter index in Lua runtime
storage_list
function. - Fix incorrect GOARCH flag in Dockerfiles for arm64.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.30.1 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.30.1"
v3.19.0
Notable changes
Added
- Add IAP purchase validation support for Facebook Instant Games.
- Add Lua runtime function to clear all localcache data.
- Add JavaScript runtime function to clear all localcache data.
- Add support for per-key TTL in Lua runtime localcache.
- Add support for per-key TTL in JavaScript runtime localcache.
- Add support for optional client IP address passthrough to runtime Satori client.
Changed
- Remove unused config 'matchmaker.batch_pool_size'.
- RPC now allows omitting the
unwrap
parameter for requests with empty payloads. - Upgrade GRPC dependency.
- Writing tournament scores now updates number of scores even if submitted score is not an improvement.
- Move internal queries with variable number of args to a fixed number of args syntax.
- Better handling of
num_score
andmax_num_score
in tournament score updates. - Remove unnecessary
curl
,git
,unzip
,rsync
, andschroot
tools from Docker images. - Build with Go 1.21.4 and use Debian bookworm-slim for base docker images.
Fixed
- Correctly handle empty email field when authenticating via Apple Sign In.
- Fix issue where rank cache may store duplicate ranks for some score inputs.
- Fix issue related to accepting party members.
- Fix HTTP request timeout usage in JavaScript runtime.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.30.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.30.0"
v3.18.0
Notable changes
Added
- Allow HTTP key to be read from an HTTP request's Basic auth header if present.
- Add prefix search for storage keys in console (
key%
). - Runtime functions to build a leaderboardList cursor to start listing from a given rank.
- Improved support for TypeScript/JavaScript runtime profiling.
Changed
- Session cache model switched from whitelist to blacklist for improved usability.
- Use Steam partner API instead of public API for Steam profiles and friends requests.
- Add create_time and update_time to returned storage engine writes acks.
- Add storage index create flag to read only from the index.
- Add caller ID param to storage listing and storage index listing runtime APIs.
- Update Facebook Graph API usage from v11 to v18.
- Add support for refresh token rotation.
- Allow JS runtime storage write operation version inputs to be undefined.
- Build with Go 1.21.3.
Fixed
- Fixed multiple issues found by linter.
- Fix storage index listing results sometimes being returned with incorrect order.
- Fixes calculation of leaderboard and tournament times for rare types of CRON expressions that don't execute at a fixed interval.
- Improved how start and end times are calculated for tournaments occurring in the future.
- Fix users receiving friend request notifications when added by users who have blocked them.
- Fix Go runtime registration of matchmaker custom override hook function.
- Fully remove corresponding matchmaker tickets after custom matchmaker process completes.
- Fix incorrectly documented default value for matchmaker flag.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.29.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.29.0"
v3.17.1
Notable changes
Added
- Add Satori
recompute
optional input parameter to relevant operations.
Changed
- Prefix storage index values with
value.
for query input namespacing purposes.
Fixed
- Ensure graceful log handling during Lua runtime check operation.
- Fix Satori client response body resource handling.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.28.1 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.28.1"
v3.17.0
Notable changes
Added
- Introduce pagination for console API leaderboard and tournament listing endpoint.
- Introduce pagination for devconsole leaderboard view.
- Add storage object indexing support and related runtime functions.
- Return rank count from leaderboard score listings, if available for the given leaderboard.
- Return rank count from tournament score listings, if available for the given tournament.
Changed
- Better formatting for graphed values in devconsole status view.
- Better handling of large numbers of configured leaderboards and tournaments.
- Improved delivery of non-persistent SendAll notifications to large numbers of users.
- Truncate stats reported to devconsole status view to 2 decimal digits for improved readability.
- Memory usage and population time improvements in leaderboard rank cache.
- Better handling of internal transaction retries.
- Better handling of party membership when interacting with matchmaking.
- Improve leaderboard cache reporting of idempotent operations.
- Build with Go 1.20.6.
Fixed
- Correct cursor usage in group listings using only open/closed group state filter.
- Fix issue delivering persistent SendAll notifications to large numbers of users.
- Remove incorrect category start and category end parameters from runtime leaderboard list functions.
- Graceful handling of idempotent tournament creation operations.
- Correct sorting of batched storage write and delete operations.
- Fix indexing of channel message list responses in Lua runtime.
- Better handling of parameters submitted from the devconsole UI.
- Remap original Google IDs to "next generation player IDs"
- Return ordered owner records in leaderboard/tournament records listings.
NOTE: For developers who use the Go server runtime support. The nakama-common package at v1.28.0 must be used with this release.
env GO111MODULE=on go get "github.com/heroiclabs/nakama-common/runtime@v1.28.0"