Skip to content

Release 2.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 14:15
· 5 commits to main since this release

2.0.0 (2026-09-13)

Important

When upgrading from Boost 1.x, you need to migrate the Babel plugin to the new Metro plugin. See the documentation.

  • ⚙️ Metro config plugin. Boost now provides a Metro config plugin instead of a Babel plugin, making a lot of the new features below possible.
  • 🚀 Five new optimizers. Optimize Animated and ActivityIndicator components, as well as StyleSheet, Platform and other code.
  • 🎨 Uniwind support. Resolving one of the longest-standing feature requests, Boost now supports Uniwind, preserving styling in optimized components.
  • 🧠 Less bail-outs. Boost now analyzes ancestors and helper functions across files.
  • 🖼️ Improved Image optimization. Static sources, callbacks, and accessibility props get better support.
  • 🛡️ Improved runtime behavior parity. A ton of fixes and improvements around edge cases ensuring better parity with pure React Native.
  • 📱 React Native 0.88 support. Runtime parity is validated against the latest React Native 0.88 RC.
  • 🧰 Clearer configuration. Optimizers, integrations, assumptions, and logging now use one developer-friendly API.

✨ Features

  • add ActivityIndicator optimizer (0c914dd)
  • add support for React Native 0.88 (3d9c0c9)
  • animated-value-initialization: lazily create animated values (e01a3f6)
  • example: drive mount benchmark automatically (ef12fe2)
  • image: optimize load-event callbacks (296493b)
  • metro: add config adapter (613872b)
  • metro: resolve cross-file component ancestors (1cdee30)
  • platform-folding: fold Platform select calls and branches (efef2be)
  • platform-folding: resolve platform branches and expressions (639479a)
  • plugin: classify react-native ancestors (598e790)
  • plugin: optimize literal JSX spread props (a0796a2)
  • plugin: precompute static accessibility props (acc9cae)
  • plugin: redesign configuration API (47199db)
  • plugin: support Uniwind integration (ec287cd)
  • resolve spread helper return keys (4f8a819)
  • static-animated: remove wrappers without animated values (82625d6)
  • stylesheet-operations: evaluate static StyleSheet operations (85389c8)
  • view: preserve runtime Text context if needed (b26de72)

⚡ Performance Improvements

  • metro: reduce redundant bundling transforms and analyses (2260b86)
  • native-activity-indicator: remove text ancestry checks (6a34d7a)
  • native-image: hoist static native image sources (7c19af6)
  • native-image: narrow text ancestry checks (4e6b00d)
  • native-image: optimize static srcSet sources (c280ac2)
  • native-text: preprocess selectionColor (04b72b6)
  • plugin: replace Object.assign with object spread (2ac8ec5)
  • plugin: resolve version-dependent behavior at build time (21f60a2)

🐛 Bug Fixes

  • fix type errors (8c1298c)
  • fix TypeScript 7 type errors (9cd76d4)
  • native-text: bail when runtime text context is unknown (5778bb8)
  • platform-folding: preserve select value evaluations (8ab642e)
  • plugin: allow boost-force decorator more often (601cb89)
  • plugin: preserve text context through wrappers (7568253)
  • preserve ancestor safety before React Compiler lowering (e712029)
  • restore React Native version matrix compatibility (fb7c4fc)
  • text: preserve React Native accessibility and style parity (5e5477c)