Skip to content

React Mosaic v7.0.0-beta0 Release Notes

Pre-release
Pre-release

Choose a tag to compare

@Lonli-Lokli Lonli-Lokli released this 13 Mar 15:50
c3fdf10

React Mosaic v7.0.0-beta0 Release Notes

Please leave your feedback/bugs here #241

Breaking Changes

  • Tree Structure Migration: Changed from binary to n-ary tree format

    • Old format: { first: node, second: node }
    • New format: { children: [node, node, ...] }
    • Use convertLegacyToNary() utility for automatic conversion of existing layouts
  • Type System Updates: All JSX element types updated for React 19 compatibility

    • JSX.Element changed to React.JSX.Element throughout
    • React.ReactFragment removed (deprecated in React 19)
    • Components now require explicit React import in files using JSX
  • Minimum Requirements: Node.js 18+ required

  • React Peer Dependency: Now supports React 16-19 (updated from v6's 16-18)

Features

Tabbed Windows Support (#50, #140)

  • Full tabbed window layout support alongside split layouts
  • Drag windows to create tabbed interfaces
  • Tab switching, rearrangement, and drag-and-drop between tabs and splits
  • Works seamlessly with existing mosaic features

N-ary Tree Structure

  • Flexible tree nodes with multiple children instead of binary structure
  • Enables more sophisticated layout configurations
  • Better support for future layout types

Full ESM Module Support (#193)

  • Complete ES modules build alongside CommonJS
  • Proper exports field configuration in package.json
  • Dual module outputs: index.mjs (ESM) and index.cjs (CJS)
  • Works with modern build tools: Next.js, Vite, Webpack 5+
  • Source maps included for both module formats

Dependency Updates (#234)

  • Updated react-dnd-multi-backend to v9 for React 19 compatibility
  • All drag-and-drop libraries aligned with latest React versions

Bug Fixes

React 19 Compatibility (#235, #225, #231)

  • Fixed TypeScript JSX namespace errors with React 19.1.0
  • Resolved element.ref deprecation warnings in console
  • Updated type definitions to use React.JSX.Element
  • Removed deprecated React.ReactFragment usage
  • Component renders no longer throw warnings with React 19

Package Updated Versions

  • react-dnd-multi-backend: 9.0.0 (was 8.0.0)
  • react-dnd: 16.0.1
  • react-dnd-html5-backend: 16.0.1
  • react-dnd-touch-backend: 16.0.1
  • TypeScript: 5.5.4
  • Nx: 21.5.2
  • tsup (build tool): 8.5.0
  • Vitest (test framework): 3.0.0