September 2026 SDK Release and Migration Notes
These versions are the current package manifests used by this documentation. Pin the version for your platform and test the target runtime independently.
| SDK | Current version | Release focus |
|---|---|---|
| ReactJS | mediasfu-reactjs@4.3.2 | ESM package entry and dual CommonJS/ESM output; includes the 4.3.1 modern headless UI exports |
| Shared core | mediasfu-shared@1.2.0 | Headless media helpers and framework-neutral state/action refinements |
| Angular | mediasfu-angular@2.3.2 | Embedded UI support and same-engine modern head renderer |
| Vue | mediasfu-vue@1.1.2 | Embedded UI support and rendering refinements |
| React Native | mediasfu-reactnative@2.4.2 | Package entry metadata and modern headless UI from the 2.4.1 line |
| Expo | mediasfu-reactnative-expo@2.5.2 | Package entry metadata and modern headless UI from the 2.5.1 line |
| Flutter | mediasfu_sdk@2.3.1 | Headless rendering and embedded-layout refinements |
| Android/Kotlin | 1.0.6 source release line | Compose head renderer and current headless/media integration; confirm registry availability for your build |
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 isModernMediasfuGenericHeadComponent. - 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.0 adds headless media helpers but still 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.2 publishes an ESM entry alongside the CommonJS entry. React Native 2.4.2 and Expo 2.5.2 add explicit package export/metadata handling. These are packaging changes; they do not by themselves prove device media behavior.
Migration checklist
- Pin the new package version and regenerate the application's lockfile.
- 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.
- Replace local self-view selection with the processed-stream-first rule.
- Re-test bounded/embedded layouts, control bars, cards, pagination, remote audio, virtual-background removal, breakout navigation, leave, and a second join after cleanup.
- 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.
No source evidence marks these version updates as a blanket breaking API change. 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, and leave/rejoin cleanup.