Skip to main content

September 2026 SDK Release and Migration Notes

The npm versions below were checked against the public registry on 23 September 2026. Pin the version for your platform and test the target runtime independently. Flutter and native targets have separate registries and need their own publication check before you label an update available.

SDKCurrent versionRelease focus
ReactJSmediasfu-reactjs@4.3.7ESM/CommonJS entries, modern headless UI, blur, and room option types
Shared coremediasfu-shared@1.2.5Framework-neutral headless media and room option types
Angularmediasfu-angular@2.4.1Angular-owned room and background surfaces
Vuemediasfu-vue@1.2.1Vue-owned room and background surfaces
React Nativemediasfu-reactnative@2.4.5Native room and headless surfaces
Expomediasfu-reactnative-expo@2.5.5Expo development-build room and headless surfaces
Fluttermediasfu_sdk@2.3.6Room-create policy serialization, consume recovery, and one-item screen-share fit
Android/Kotlin1.0.7 Maven releaseConsume-socket concurrency correction; validate the target device

New public surfaces​

  • ReactJS, Angular, React Native, Expo, and Kotlin/Compose expose a ModernMediasfuGenericHead-named renderer for reconstructing the normal modern UI from one existing room engine. Angular's exported class is ModernMediasfuGenericHeadComponent.
  • ReactJS exports the modern background and breakout components through its modern Generic barrel, including modal/sidebar/inline presentation where the component type declares it.
  • ReactJS, React Native, and Expo expose measured render hooks on media cards and aspect containers. Angular and Vue retain their own component/template contracts; the React signatures do not become cross-framework APIs.
  • Shared core 1.2.5 provides headless media helpers but renders no UI.

Behavioral and rendering fixes​

  • Embedded room sizing now follows the containing surface more reliably, including control-aware main/sub aspect height calculations.
  • Custom local video must prefer the processed virtual-background stream when one is active. This aligns app-owned tiles with MediaSFU's supplied grid.
  • The same-engine head renderer performs a current-state read and does not create a second socket or media lifecycle.

Packaging fixes​

ReactJS 4.3.7 offers ESM and CommonJS entries. React Native 2.4.5 and Expo 2.5.5 provide explicit package entry metadata. Verify the actual native build and device behavior before release.

Migration checklist​

For the current release line, choose server-side audio denoising when creating the room, not when joining it. Omission inherits the account default; explicit false opts out. In a custom UI, keep the SDK's remote-audio renderer mounted, use its processed local stream for a chosen background, retain the breakout modal's Save-before-Start step, and contain screen-share tiles even when only one item occupies a side panel. Continue with the focused guide for your package and platform.

  1. Pin the new package version and regenerate the application's lockfile.
  2. Keep only one room engine. If relocating the standard UI, enable its external-render path and mount the matching head renderer with the current parameter publication.
  3. Replace local self-view selection with the processed-stream-first rule.
  4. Re-test bounded/embedded layouts, control bars, cards, pagination, remote audio, virtual-background removal, breakout navigation, leave, and a second join after cleanup.
  5. For ReactJS bundlers, verify both development and production imports after the ESM packaging change. For React Native and Expo, verify the packaged entry in the actual native build.

These versions do not require a blanket API migration. Applications that relied on private files, duplicated room engines, raw local-camera precedence, or implicit package-entry behavior must migrate to the documented public contracts.

Continue with choosing a UI approach, virtual backgrounds, breakout rooms, room audio denoising, and leave/rejoin cleanup.