📄Version History

New package versions are aimed to be released every week.

Unless you have an agreement with M² Support, changes will be applied automatically to your site. If you would like to have control over applying your own web-packages please reach out to your support engineer.

For more information on package contents and instructions on how to upgrade please read https://docs.msquared.io/developers/tutorials/website-packages


v0.5.0 - 2024-11-15

✨ Features

(presentation) Default typing indicator to off

  • Typing indicators for chat defaulted to off.

(presentation) Add queue state to world card

  • Information on the number of active and queued users for a world added to the WorldCard component.

♻️ Improvements

(state-management) Add patch launch context to organization service

  • Removed organization/:organizationId/projects/:projectId/launchContexts/:launchContextId PATCH endpoint.

  • Added organizations/projects/launchContexts/current PATCH endpoint.

  • The launchContexts slice now uses the new endpoint in the updateLaunchContext action.

  • The updateOrganizationFeaturedEvent action in the organizations slice now uses an updated endpoint path. Its functionality is unchanged.


v0.4.1 - 2024-11-11

✨ Features

(dashboard) Event page rework

  • We've improved the events page, which should now be more performant and intuitive to use.

  • You can now check if the current user has permission to create an event using the getCanUserCreateEvents selector from the events slice.

  • You can now specify the World Admission Policy and capacity when creating a world.

  • You can now change the World Admission Policy and capacity of existing worlds.

  • You can now see the number of queued users and active sessions.

  • You can now manually admit queued users into closed worlds.

(presentation) Indicate to user if their session is queued

  • You will now be informed when you are placed in a queue when joining a world.

🐛 Bug Fixes

(dashboard) Make switch on state clearer

  • Switches now show their state more distinctly.

♻️ Improvements

(frontend) Remove mmlAvatar modal

  • Removed the MML avatar creator.


v0.3.1 - 2024-10-25

🐛 Bug Fixes

(frontend) Correct stream selection logic

  • Fixed issue whereby streams would sometimes not start due to unrelated configuration being missing.

♻️ Improvements

(dashboard) Rebuild launch world modal

  • Rebuilt the Launch World Form.


v0.3.0 - 2024-10-21

✨ Features

(dashboard) Reworked World Info page

  • The World Info page has been reworked.

(events) Notify user when permissions are missing

  • Updated the events Redux slice to return more precise error messages if a user lacks the required permissions to create, update or delete an event.

(frontend) Added support for custom username restrictions

  • Changed the username validation behaviour in the UsernameInput and UsernameField components from the @improbable/m2-frontend-presentation component -- instead of enforcing that usernames must be between 3 and 16 characters, and must contain only alphanumeric characters, spaces, periods, hyphens, and underscores, we now read these requirements from the organization settings.

  • Added an optional validationErrorMessage property to these components and their parents so that the message can be customized if necessary.

How to update

  • If any of the components that deal with username validation is used, and the username validation rules differ from the default ones, set validationErrorMessage in the relevant components to a string that reflects the custom rules.

(steam) Fixed configuration of Steam App ID via settings

  • Steam is now available as a launch option alongside the regular web and download options. Projects must first have configured their organization to support Steam. This is detailed in the docs here. Note that Steam will not work if an invalid Steam App ID is provided and Steam as a flow is enabled.

🐛 Bug Fixes

(frontend, collections) Use input values correctly when creating new MML objects

  • Fixed a bug where users could not upload MML objects to their collection.

♻️ Improvements

(datasources) Replaced /networks endpoint with enum

  • Removed .../api/datasources/external/networks endpoint.

How to update

  • Users can now get a list of supported NFT networks by importing type Chain from @improbable/m2-frontend-types and computing the value of Object.values(Chain).

(frontend) Refactor PubNub code to use the PubNub JS SDK

  • Removed usage of PubNub react components and replaced with PubNub JS SDK.


v0.2.0 - 2024-10-07

✨ Features

(sessions) Add support for World Travel

  • Add support for performing World Travel via World Sessions, ensuring that a user's journey between worlds is consistent and compute/streaming resources are correct managed throughout.

(wallet) Add option to disconnect unverified wallet

  • Added a button to the "Manage wallet connection" modal that allows the user to disconnect a wallet that has not been verified yet.

  • Changed the style of the modal to be more in line with the general style of modals.

(wallet) Add notification for (un)linking wallet

  • Added optional parameters successfulLinkMessage and successfulUnlinkMessage to the useEvmWallet hook. If specified, they trigger a success notification to appear on the bottom of the screen when a user links or unlinks a wallet.

🐛 Bug Fixes

(worlds) Support old bot document shape

  • Fix 500 errors on bot GET requests

fix(dashboard): read from mod content in paginated way

  • Changed the fetch Mod Content to read in a paginated way so that it does not fail because it requests too many versions at once.


v0.1.7 - 2024-10-04

✨ Features

(frontend) Add new avatar selector modal

  • Added a new select default avatar modal, which is accessible from the profile dropdown menu. This replaces the existing selector in the edit profile section of the profile dropdown menu.

🐛 Bug Fixes

(frontend) Remove setTimeout import from node:timers

  • Removed setTimeout import from node:timers.

v0.1.6 - 2024-09-27

✨ Features

(dashboard) Use project id consistently throughout worlds and mods pages

  • Reworked worlds loading to improve speed and responsiveness.

  • Reworked mods page to use the same project ID as the worlds page creating a more intuitive and consistent experience.

  • Added toggle to mods page to decide whether or not to show mods from other projects - this setting is saved so does not need to be reset.

(frontend, nft) Realtime nft websockets

  • Add NFT Balance listener for real time NFT Updates to User collections.

🐛 Bug Fixes

(frontend) Handle full screen changes when users swap apps on mobile

  • Fixed a bug on Android where if you were playing the game in full screen, switched apps, and then returned back to the web app playing the game, the full screen button would be hidden due to faulty handling of the full screen state.

Correct memory leak in millicast stream

  • Corrected a memory leak with our usage of Millicast by introducing an exponential back off hook to stop failing Millicast subscription calls after 5 attempts.

Project config endpoint does not allow delete

  • Fixed a bug where project configuration endpoint did not allow you to remove set data.

♻️ Improvements

(frontend) Enforce usage of noUncheckedIndexedAccess

  • Improved type safety across our frontend packages by enabling noUncheckedIndexedAccess in our tsconfig to catch possible undefined errors when indexing objects and arrays.


v0.1.3 - 2024-09-13

✨ Features

(auth) Add Twitch to sign in providers list

  • Added Twitch as OIDC provider option.

(frontend) Streamline event entry flow

  • Redesigned and implemented a new event/world entry flow that reconciles all launch buttons (queue, download, and join) into a single button with an accompanying modal.

🐛 Bug Fixes

(telemetry) Remove private telemetry ingestion route

  • Removed a race condition in the handleTelemetry hook which could cause a 401 response and force user logout.

♻️ Improvements

Update frontend deps

  • Updated dependencies across all packages. Material UI is still at major version 5 until the packages depending on it are updated accordingly.


v0.1.0 - 2024-09-06

✨ Features

(nft) Add chainId field to origin

  • Added a new field chainId in the origin object for NFT ObjectDefinitions. It keeps track of the Chain ID the NFT is on.

(sessions) Add endpoints to manually dequeue Sessions

  • Added endpoints for manual admission of World Sessions into Worlds with a Closed admission policy, to support manual queue control flows.

(sessions) Support World Sessions in Showcase UI

  • Added support for World-scoped Sessions to the frontend UI, which support queuing for limited-capacity Worlds.

Default avatar selection from profile menu

  • Allow NFT avatars to be set as default.

  • Profile menu now allows setting avatars as default for a user.

  • Object page allows users to set an avatar as default.

Ensure a clean event entry flow for iOS users that are blocking popups

  • Added dialog to ask user to enable popups if the stream is being opened in a new tab and the user has blocked popups.

Support basic fullscreen mode on IOS mobile streams

  • Added support for fullscreen mode on IOS mobile streams. The browser address bar will still be visible when streaming in fullscreen mode on IOS due to limitations imposed by Apple.

Improve way we handle showing and hiding of chat

  • Improved how we show and hide the chat sidebar by using icons on the embedded stream as well as the chat sidebar, similar to how it is handled by Twitch.

🐛 Bug Fixes

Refresh user profile on update

  • Fixed profile not refreshing after saving changes from profile modal.

Correct notifications colors

  • Corrected theming for notifications when using our default theme in dark mode.

♻️ Improvements

Improve streaming UI when using Ubitus

  • Improved the aesthetic of mobile streaming when using Ubitus.

Update frontend deps

  • Updated dependencies across all packages. Material UI has not been upgraded to the latest version due to peer dependency issues with @mui/x-date-pickers.

Last updated