Skip to content

Releases: heroiclabs/nakama-dotnet

v3.5.0

18 Sep 15:41
ccc9f35
Compare
Choose a tag to compare

Notable changes

Added

  • Ability to persist Apple, Huawei, and Google purchase receipts in the Nakama database. This is set to true by default in order to allow the server to detect replay attacks.
  • Add a SeenBefore property to IApiValidatedPurchase.
  • Add ListSubscriptionsAsync which returns a list of the user's subscriptions.
  • Add ValidateSubscriptionAppleAsync which returns details about a user's Apple subscription.
  • Add ValidateSubscriptionGoogleAsync which returns details about a user's Google subscription.
  • Add GetSubscriptionAsync which returns a subscription for the provided product ID.
  • Add support for countMultiple in AddMatchmakerAsync and AddMatchmakerPartyAsync.

Changed

  • ValidatedPurchaseEnvironment has been renamed to ApiStoreEnvironment.
  • ValidatedPurchaseStore has been renamed to ApiStoreProvider.
  • Removed obsolete client methods that accept a CancellationTokenSource. These have been replaced in favor of methods that accept a CancellationToken that were added in v3.3.

Fixed

  • Fix an issue with SocketClosed event taking a significant length of time or not firing at all when internet connection is lost.
  • Fix an issue that would occur when sending messages over the socket from multiple threads.
  • Fix automatic retry seeding to be random across devices.
  • Fix an issue when parsing unquoted numbers as strings in our bundled TinyJson dependency.

v3.4.0

28 Apr 10:50
Compare
Choose a tag to compare

Notable changes

Added

  • Allow max message size limit with socket messages to be overridden in the adapter.
  • Relayed multiplayer matches can now be created with a custom name (i.e. room name).

Fixed

  • Fix background read loop to update 'IsConnecting' and 'IsConnected' when close is detected.

v3.3.0

24 Jan 14:54
Compare
Choose a tag to compare

Notable changes

Added

  • Add overload methods in Client which take a CancellationToken. Thanks @gamecentric.
  • Add WebSocketStdlibAdapter allows the codebase to be used in WASM and Blazor projects. Thanks @mattkanwisher.

Changed

  • Use DualMode in TcpClient to handle NAT64 overlay networks (some mobile carriers).
  • Refactor the socket adapter design to use Tasks (previously avoided for Unity WebGL compat.).
  • Socket messages which exceed the internal buffer size now generate an "InternalBufferOverflowException" type.
  • A socket connect made on an already connected socket will no longer raise an exception.
  • Propagate up the "WebSocketException" type thrown on socket messages sent over a disconnected socket.
  • Update bundled "Ninja.WebSockets" library to commit 0b698a733f0e8711da7a5854154fe7d8a01fbd06.

Fixed

  • Expose base exception if retry handler fails.

v3.2.0

11 Oct 17:22
Compare
Choose a tag to compare

Added

  • Added additional group listing filters.
  • Added ability to overwrite leaderboard/tournament ranking operators from the client.

Fixed

  • Fixed url-safe encoding of query params that were passed to the client as arrays of strings.

v3.1.1

19 Aug 13:35
Compare
Choose a tag to compare

Changed

  • Removed autoRefreshSession from overloaded Client constructors. This can still be customized with the base Client
    constructor. This is a workaround for an internal compiler error in Unity's WebGL toolchain.

v3.1.0

11 Aug 14:48
43f3d17
Compare
Choose a tag to compare

Added

  • Added ability for user to retry requests if they fail due to a transient network error.
  • Added ability for user to cancel requests that are in-flight.

v3.0.0

14 Jul 15:42
Compare
Choose a tag to compare

Added

  • The language tag for the user can be configured with the socket on connect.

Changed

  • An IPartyMatchmakerTicket is now received by the party leader when they add their party to the matchmaker via AddMatchmakerPartyAsync.
  • Renamed PromotePartyMember to PromotePartyMemberAsync.

v2.9.3

17 Jun 20:08
Compare
Choose a tag to compare

Fixed

  • Fixed issue where refreshing a session with metadata threw an exception due to the key already existing.

v2.9.2

21 May 15:42
Compare
Choose a tag to compare

Notable changes

Fixed

  • Fixed issue where IUserPresence objects were not deserialized by the client as part of the IParty object.

v2.9.1

19 May 20:57
Compare
Choose a tag to compare

Notable changes

Added

  • The Socket.ReceivedParty event can now be subscribed to in order to listen for acceptance events from the leader of a closed party.