Version Changes
An overview of what's new in each version of playroomkit
:
Version | Changes |
---|---|
v0.0.84 | - Added: transferHost(player:PlayerState) method to manually transfer a host to someone else.- Added: keyboard option to Joystick component. |
v0.0.83 | - Added: getDiscordAuth() method to get Discord's auth instance.- Added: Support for generic types in useMultiplayerState and usePlayerState hooks. - Fixed: Resolved crash when running game via Discord DMs. |
v0.0.82 | - Added: Improved Discord authentication to prevent misuse from unauthenticated users. |
v0.0.81 | - Fixed: Regex crash on iOS 16 before insertCoin. |
v0.0.80 | - Fixed: Update SDK to use /.proxy/* to connect to Playroom backend. |
v0.0.79 | - Added: Parallel uploads in CLI tool to speed up the upload process. |
v0.0.78 | - Added: New CLI tool to upload your game, in private beta for now. |
v0.0.77 | - Fixed: Revert Player ID persistence between sessions to allow running game in two tabs in same browser. |
v0.0.76 | - Fixed: Resolve React warning caused by React 18 and above. - Fixed: Player ID is now longer and persists between sessions. |
v0.0.75 | - Added: getDiscordSDK API to get the SDK from Playroom instead of importing it. |
v0.0.74 | - Added: getDiscordAccessToken API for Discord mode.- Added: a new multiplayer.full.umd.js bundle that includes React and Discord dependencies. |
v0.0.73 | - Added: Persistent server data API for Discord mode. |
v0.0.72 | - Fixed: Importing playroomkit in SSR-enabled frameworks like Next.js now doesn't crash with window not defined error.- Fixed: Player ID in discord mode is not random in each session now. |
v0.0.71 | - Added discord option to insertCoin to allow Playroom games to be embedded in Discord Activities. |
v0.0.70 | - Added: gameId field to insertCoin method to connect your game to developer portal. |
v0.0.69 | - Fixed: RPC.register() before calling insertCoin now works as expected. |
v0.0.68 | - Fixed: resetPlayersStates() method caused bot player's .isBot() to return false .- Fixed: usePlayersList hook and onPlayerJoin callback now attempt to return players in the order they joined.- Fixed: startMatchmaking() method now retains player profile and states when jumping into a public room.- Fixed: When skipLobby: true , the player's .getProfile() is now always populated with a random name and photo.- Fixed: Page reload will now clear player state of that player on all clients. - Fixed: An alternative deterministic approach at deciding players random name and photo. |
v0.0.67 | - Added: Persistence mode API - Added: Support Turn-based and Async Mode. |
v0.0.66 | - Added: startMatchmaking() method to jump into a public room from a regular room along with your party players. - Fixed: Lobby UI CSS to fit smaller screens better. |
v0.0.65 | - Fixed: Show players online when matchmaking is in progress. |
v0.0.64 | - Fixed: Bug in matchmaking that prevented matching players of same game together. |
v0.0.63 | - Fixed: Bug that causes warnings and crash that happens when using React 18 via CDN. |
v0.0.62 | - Added: A simple Matchmaking mode that joins first open public room. |
v0.0.61 | - Fixed: A bug causing HTTP call to wrong Playroom server host. - Fixed: TypeScript type for callback in RPC.call . |
v0.0.60 | - Added: RPCs in Playroom that can be triggered on host, other players, or everyone. - Fixed: Crash on streamMode when stream screen joins later. |
v0.0.59 | - Fixed: Prevent crashing if browser does not support WebRTC APIs. |
v0.0.58 | - Fixed: Default value of hooks were ignored if non-truthy. |
v0.0.57 | - Fixed: TypeScript type fixes for onPlayerJoin .- Added: callbackOnError optional argument for insertCoin method.- Added: defaultStates and defaultPlayerStates options for insertCoin method. |
v0.0.56 | - Fixed: Internal cleanups only. |
v0.0.55 | - Fixed: maxPlayersPerRoom now applies to bots and gamepads.- Improved networking code to have a better state sync between players. - Fixed: insertCoin with skipLobby: true will wait for connection before resolving.- Added resetStates and resetPlayersStates methods to reset multiplayer state. |
v0.0.54 | - Fixed link sharing for itch.io. - Fixed waitForState to not resolve on non-truthy values- Fixed useMultiplayerState react hook to not go into infinite re-rendering if value is set to null. |
v0.0.53 | - Fixed UI text color issues when body of the page has some color set which broke UI color in lobby UI. |
v0.0.52 | - Added .kick() method to PlayerState and a button to kick player/bot in the lobby UI.- Added onDisconnect method to handle disconnects due to network problems or due to being kicked by host.- Added primitive reconnect logic to attempt reconnecting to server a few times before giving up. |
v0.0.51 | - Fixed UI scaling issues when viewport meta tag is not present.- Added usePlayerState hook to listen to a player's state changes. |
v0.0.50 | - Added an optional maxPlayersPerRoom option to the insertCoin method, which sets a maximum limit on the number of players per room. |
v0.0.49 | - PlayerState is now passed to onQuit callback handler as argument. |
v0.0.48 | - Fixed a bug with TikTok Live mode where longer usernames were not allowed. |
v0.0.47 | - Added optional callbacks to insertCoin , waitForState and waitForPlayerState methods, helpful if your environment does not support promises. |
v0.0.46 | - Fixed typos in TikTok API and TypeScript types. |
v0.0.45 | - Fixed many networking bugs where onPlayerJoin and onQuit were skipped for some players resulting in inconsistency bugs. |
v0.0.44 | - Fixed a bug where lobby is shown for a split-second when skipLobby: true .- Added experimental liveMode with TikTok support. |
v0.0.43 | - Fixed a bug where Playroom game wouldn't load inside an iframe over cross-origin. |
v0.0.42 | - Fixed a bug where name and photo fields are not URL-decoded before setting to profile. |
v0.0.41 | - Added skipLobby URL param which works just like skipLobby in insertCoin . - Fixed a bug where name and photo fields are not locked when they are provided from the URL params. |
v0.0.40 | - Fixed a bug where calling onPlayerJoin or any other hooks before insertCoin ignores InitOptions completely. |
v0.0.39 | - Fixed a bug where onPlayerJoin is not called at all for non-hosts. |
v0.0.38 | - Added addBot method to add bot to lobby from JS.- Added reconnectGracePeriod API to let player rejoin in given ms if they were disconnected.- Fixed player.onQuit() method to now return method to unsubscribe.- Fixed a bug where custom avatars were not being applied to bots. - Fixed a bug where if a player reconnects, they were given a new id instead of the one they had before. |
v0.0.37 | - Added option to auto-set name and photo of current player using URL params. |
v0.0.36 | - Added waitForPlayerState method. - Fix useIsHost React hook. |
v0.0.35 | - Fix missing types in TypeScript d.ts for Bot API.- Added skipLobby and roomCode options to insertCoin . |
v0.0.34 | - Added Bot API to allow for defining bots in your games. |
v0.0.33 | - Fix missing types in TypeScript d.ts for React hooks.- Added destroy() method to Joystick. |
v0.0.32 | - Fix type mismatches in TypeScript d.ts types file in the bundle. |
v0.0.31 | - Added avatars option to insertCoin method to allow overriding player avatar options to a custom list of images. PlayerState.getProfile() now has a .avatarIndex property with the player selected avatar's index; from the list initially provided. - Changed lobby UI from purple to black so it's more neutral and compatible with any game styling. |
v0.0.30 | - Added TypeScript Types for all APIs. - Changed Gamepad API to use buttons provided to Joystick API instead of just firing button1 , button2 , etc. |
v0.0.29 | - Added allowGamepads flag to insertCoin method to allow players to use gamepads to control the game when streamMode is also enabled. |
v0.0.28 | - Fixed a minor bug in Joystick API and added zones to Joystick API to allow customizing the button-like triggers that fire on joystick's direction movement. |
v0.0.27 | - Added Joystick API to allow controlling the game using a virtual joystick. |
v0.0.26 | - Fix a timing bug where newer state change coming from unreliable (WebRTC) is discarded in favor of older state coming from reliable (WebSockets). |
v0.0.24 | - Added baseUrl option to insertCoin method to allow customizing the base url of the game. |
v0.0.23 | - Fixed setState bug where object typed state is not updated properly. |
v0.0.20 | - Fixed issue where game running inside an iframe won't be able to copy link to clipboard, so we show an alternative way to copy link |
v0.0.19 | - Added setState and getState methods to set or get multiplayer state |
v0.0.18 | - Fixed issue where disconnected player won't disappear from all screens. - Fixed issue where profile is not reflected to all screens. |
v0.0.17 | - Added isStreamScreen() method to check if game is running on stream screen. |