v21 (2024-01-27)
The major changes in this release include:
- Auto-rendering of default export from JSX/TSX: This significantly reduces the boilerplate code required in JSX (to create and render react-dom root). This is mostly backward-compatible. Manual rendering still works. See JSX docs.
- Use React new JSX transform
- Apply same changes to react-native and solid
- Change React, React-Native and Solid starter templates to use default export with auto-rendering
- Allow the use of JSX fragments in Vue SFC
- Improve fetching and bundling of types for editor intellisense. This should significantly improve code auto-completion and type info for imported modules, without the need for manual type-bundling or the use of custom types.
- Add docs for: JSX, TSX, Solid, Solid(TS), React-Native, React-Native(TSX)
Thank you @dai-shi for suggesting some of these changes.
In addition to various improvements and fixes (see below).
Bug Fixes
- App: fix loading mode & view (f982fe0)
- App: fix result mode toolspane visibility (cd1861a)
- Result: fix removing/ignoring stylesheet imports in scripts (c77980a)
- Result: remove extra scripts added to detect classes for CSS processors (c63a32f)
- Types: fix race condition in loading types (a85ba31)
Features
- compilers: allow using JSX fragments in Vue SFC (32270d8)
- compilers: render React component if it is the default export (6daace7)
- compilers: render React component if it is the default export (2ba144f)
- compilers: render react-native component if it is the default export (7db03f6)
- compilers: render Solid component if it is the default export (4968f03)
- compilers: set typescript option { jsx: 'react-jsx' } (e46450d)
- compilers: set typescript option { jsx: 'react-jsx' } (8793627)
- Config: allow disabling JSX auto-render from custom settings (20d5b5b)
- Templates: update react and jest-react starter templates to use the new jsx runtime (2e5b9d1)
- Types: bundle types in the browser (f9a7951)
- UI: add links to docs in language info (0bf80a5)
- UI: add share button to toolbar (9a1cb6d)
- UI: use the new X/Twitter logo in share screen (848db7e)