Fixed an issue where the library would incorrectly retry some operations associated with the real-time notification service when HTTP 401 was received.
Fixed a regression introduced in v1.7.8 that assigned the PFMultiplayerServerDetails::region value to PFMultiplayerServerDetails::fqdn.
Fixed an issue where the properties associated with a new member weren't immediately available until a subsequent Updated state change was provided. Now, as soon as a MemberAdded state change is provided to the game, PFLobbyGetMemberConnectionStatus(), PFLobbyGetMemberPropertyKeys(), and PFLobbyGetMemberProperty() provide the most up-to-date information associated with the member. In order to preserve compatibility for games that took a dependency on the previous behavior, the first Updated state change after the member is added will continue to provide this initial list of property keys as if they were new properties.
Fixed a couple of issues where the library could crash when PFMultiplayerUninitialize() was called while cleaning up internal web request resources.
Fixed an issue for GDK Xbox where the library could crash during suspend while cleaning up internal state associated with the invite listener.
Fixed an issue for Android where the library could crash when when PFMultiplayerUninitialize() was called while cleaning up JavaVM attached threads.
Fixed an issue for macOS where the library was incorrectly symlinked, which could surface as build breaks when integrating the library.
Fixed an issue where the Sony (PlayStation®4 and PlayStation®5) versions of the SDK did not correctly handle intermittent HTTP request failures from the Sony (PlayStation®4 and PlayStation®5) HTTP library. Additionally, improved error reporting to provide more detailed information in such cases.
'PlayStation' is a registered trademark or trademark of Sony Interactive Entertainment Inc.
1.7.7
Oct 25, 2024
Bug fixes
Fixed an issue with exposed OpenSSL symbols on the macOS platform. This is a macOS-only release.
1.7.6
Aug 12, 2024
Bug fixes
Fixed an issue for GDK Xbox where some events would not be queued after suspending and resuming a title.
Fixed a crash for GDK Xbox after suspending and resuming a title.
Updated PFMultiplayerCreateServerBackfillTicket to automatically handle failures where a match member is already a member of too many tickets. In this situation, the SDK automatically cancels existing tickets for members of the backfill ticket and retry ticket creation.
1.7.5
July 17, 2024
Bug fixes
Fixed potential issue with PFMultiplayerUninitialize causing a crash when being used with custom memory hooks on Unix System.
1.7.4
June 17, 2024
Bug fixes
Fixed an issue where messages received by websockets on PlayStation®4 and, PlayStation®5 would not be parsed correctly by the SDK if they contained the '\0' character. Failure to parse these messages could lead to PubSub connectivity issues. This is a PlayStation®4 and, PlayStation®5 only release.
'PlayStation' is a registered trademark or trademark of Sony Interactive Entertainment Inc.
1.7.3
April 23, 2024
Bug fixes
Resolved duplicate class error when Party and Multiplayer are used in the same app. This is an Android only release.
1.7.2
March 7, 2024
Bug fixes
Fixed an issue where the internal PubSub notification WebSocket was slow to detect and react to disconnects, which could lead to errors to create or join lobbies and matchmaking tickets.
Fixed an issue where failure of PubSub to establish connection with the SignalR service would not trigger a failed state change and would not allow subsequent Multiplayer API calls to subscribe to PubSub.
Improved internal diagnostics.
1.7.1
February 14, 2024
New Features
Added new APIs to enable PlayFab GameServer entities to join and interact with client-owned lobbies:
Fixes a bug where the GDK DLL wasn't being codesigned. This is a GDK-only release.
1.6.3
August 14, 2023
Bug fixes
Fixed an issue where the library may crash while handling a change notification.
Added new PFLobbyMemberCountRemainingSearchKey constant to make it easier to search for and sort lobbies based on their remaining member counts.
1.6.2
July 14, 2023
Bug fixes
Fixed an issue where matchmaking operations started by PFMultiplayerJoinMatchmakingTicketFromId timed out prematurely.
Fixed an issue where PFMatchmakingTicketGetTicketId could provide a null value if called shortly after starting a matchmaking operation. Now, an empty string is provided as expected.
Fixed an issue where the macOS library was identifying as iOS via web request headers. This identification is primarily used for diagnostics.
Improved internal diagnostics.
1.6.1
June 14, 2023
On PlayStation®4 and, PlayStation®5, PlayFab Multiplayer cleans up all resources associated with it and reinitialize if the title enters and remains in background mode for more than 10 minutes.
'PlayStation' is a registered trademark or trademark of Sony Interactive Entertainment Inc.
Fix a linker error specific to iOS and macOS where HttpClient.framework wouldn't be found during runtime.
1.5.2
April 4, 2023
Bug fixes
Introduce the PFMultiplayerPal.h header, which provides support for non-MSVC compilers. This header defines SAL and HRESULTs for non-MSVC compiled platforms.
1.5.1
March 20, 2023
New features
PlayFab Multiplayer v1.5.1 brings support for Linux and Windows Subsystem for Linux (WSL).
1.5.0
March 16, 2023
New Features
Added new APIs and support for server-owned lobbies:
Added new PFLobbyMembershipLockSearchKey constant to make it easier to search for only locked or unlocked lobbies when calling PFMultiplayerFindLobbies().
Mitigation to reduce unexpected PubSub disconnects due to background thread contention
1.4.3
November 15, 2022
New features
PlayFab Multiplayer v1.4.3 brings support for iOS and macOS.
1.4.2
October 26, 2022
Bug fixes
Fixed a bug where PubSub reconnects could cause future PubSub unsubscribe requests to fail.
1.4.1
October 25, 2022
Bug fixes
Fixed a bug where unnecessary, short-lived threads would spawn.
On Windows, Xbox, and Android, fixed a bug where the library may attempt web requests before a previously recorded retry-after period expires.
Improve the error message if a web server can’t be reached.
1.4.0
October 11, 2022
New features
PlayFab Multiplayer v1.4.0 brings support for Android.
1.3.1
September 20, 2022
Bug fixes
Fixed a bug that caused websocket resources to leak memory when PFMultiplayerUninitialize was called or when the library internally handled app suspension on Xbox consoles.
Updated the protocol used to exchange messages with the PubSub notification service from JSON to MessagePack, decreasing the message sizes. This change has no impact on the API surface.
Bug fixes
Improved the message reported by PFMultiplayerGetErrorCode for several errors related to rate limiting.
1.2.0
August 17, 2022
New features
The match details now report server details associated with the multiplayer server allocated when a match is found, if the matchmaking queue is configured to allocate multiplayer servers. For more information, see PFMatchmakingMatchDetails.
A new constant, PFLobbyAmOwnerSearchKey, is defined for the lobby/amOwner search key. For more information on using search keys, see PFLobbySearchConfiguration.
Fixed a bug where entities weren't unsubscribed from the notification service under some failure conditions.
1.1.5
July 13, 2022
Bug fixes
Fixed incorrect constant string values for PFLobbyMemberCountSearchKey and PFLobbyAmMemberSearchKey in the PFLobby.h header
Fixed a bug, which could cause PFMultiplayerUninitialize() to block indefinitely if a websocket closes unexpectedly
Fixed a bug, which caused PubSub notifications to become unusable and Lobby/Matchmaking API operations to stall out indefinitely after an unexpected websocket disconnect
1.1.4
June 24, 2022
Bug fixes
GDK: Fixed a bug where operations involving network communication would silently fail if performed too soon following suspend/resume.
Fixed a bug where the SDK crashes when resuming execution after being broken into the debugger for 10+ seconds.
1.1.3
June 10, 2022
New features
The SDK is now more responsive to unexpected disconnections (detected 2-3x faster than previously).
Unexpected Lobby disconnections will now result in automatic reconnect attempts - the disconnect is communicated to the client only after these reconnect attempts fail.
GDK/Win32: Web service failure responses (429, 503, etc.) will now result in automatic retries - a failure is communicated to the client only after these retries fail.
Bug fixes
Fixed a bug where matchmaking failed after 10 consecutive matches.
Fixed a bug where GetErrorMessage(...) functionality didn't provide error messages related to matchmaking.
Fixed a bug where two fields in the LobbySearchResult struct weren't correctly populated (maxMemberCount and currentMemberCount).
Fixed various bugs related to behavior/reliability following suspend/resume.
1.1.1
April 13, 2022
Bug fixes
Switch: Provides a new PAL header required to build against PlayFab Multiplayer.
1.1.0
March 4, 2022
API changes
PFMultiplayerGetErrorMessage's API signature changed. Previously this function returned an HRESULT and used an output parameter to return the error message string. Now the function returns the string directly.
New features
GDK: Added support for automatically handling suspend and resume on Xbox.
Bug fixes
Fixed a bug where using initial member data passed to PFMultiplayerJoinLobby would be ignored if the player was rejoining a lobby.
1.0.0
November 23, 2021
PlayFab Multiplayer is now available in private preview. For an overview of Matchmaking and Lobby features, check out: