Skip to content

Releases: jpudysz/react-native-unistyles

Release 2.32.0

18 Apr 10:13

Choose a tag to compare

2.32.0 (2025-04-18)

Features

  • add example for RN 0.79 (b238015)
  • increse android listner timeout 2.x (6e828cd)

Release 3.0.0-rc.2

17 Apr 10:43

Choose a tag to compare

3.0.0-rc.2 (2025-04-17)

Hello Unistylers!

This release includes several bug fixes and full support for CommonJS modules (transpiled for the web). The Babel plugin can now detect your StyleSheet dependencies and correctly swap your components. We have also added support for transpiling UI kits that use Unistyles 3 and reside in node_modules.

To enable this, simply pass the library name to autoProcessPaths, e.g.:

// babel.config.js
{
    plugins: [
        ['react-native-unistyles/plugin', {
           //  this is 3rd party package from node_modules that contains untranspiled Unistyles 3.0 code
            autoProcessPaths: ['@bambooapp/bamboo-molecules']
        }]
    ]
}

Features

  • [Babel] - Parse correctly packages that uses Unistyles 3 and are distributed via node_modules (6f945cc)
  • [Babel] - Parse packages that uses CommonJS and RNW (a84c40d)
  • [Babel] - Add support for CommonJS to detect stylesheets dependencies (a008d66)

Bug fixes

  • [Native] - fix incorrect react-native image export (381dcb1) by @TomLingham
  • [Native] - fix babel issue with rtl dependency (8089265)
  • [Web] - fix issue with breakpoints order (9fa8875)
  • [Core] - fix module/ commonjs resolution (c2cc6be)
  • [Android] - fix issue with missing native event about insets change (2617316)

Release 3.0.0-rc.1

02 Apr 14:28

Choose a tag to compare

3.0.0-rc.1 (2025-04-02)

Features

  • [Babel] Add support for React Compiler (e077950)
  • [Docs] Generate LLMs.txt for Unistyles (2f5286b)
  • [Web] Make breakpoints and theme optional (3c4a3a0)
  • [Cxx] Improve locking and cleanups of ShadowTree (c85fbd9)
  • [Web] Add support for RN Skia Canvas by wrapping component in extra div (17a8b71)
  • [Cxx] Create StyleSheet copy while using useVariants (b77f153)
  • [Core] Add support for Nitro 0.25.2 (e0d5421)
  • [Babel] Support uppercased consts for StyleSheet and export default (7f6b6ab)
  • [Cxx] Add support for Xcode 16.3 (05f1255)
  • [Babel] Add support for Windows by sanitizing babel paths (4b66b79)
  • [Cxx] Add support for numeric keys for variants (cd2cbe1)
  • [SSR] Improve SSR of Unistyles (57d2b67)

Bug Fixes

  • [Web] Scoped theme regression (14e8729)
  • [Web] Add support for image, imageBackground prop width and height (152db67)
  • [SSR] Serialize JS object keys with extra quotes (21e2018))
  • [Types] Simplify withUnistyles types (f63a79b)
  • [Core] Wrap insets in extra proxy to correctly detect dependencies while using withUnistyles (52ffcf5)
  • [Cxx] Rename conflicting filename with react-native-executorch
    (60df58c)
  • [Native] Crash in Pressable in release mode (8a42827)
  • [Android] Increase platform callback timeout by 15ms to catch all events (bbebf23)
  • [Babel] Add extra autoprocess paths for Reanimated and Gesture Handler (87926f4)
  • [Core] Add extra nullcheck in withUnistyles (4bf9c52) by @lundenmiika
  • [Cxx] Regression for copying StyleSheet (465fe7f)
  • [Web] Regression for web theme change (aecd7fe)
  • [Web] Delay unmouting listeners (5b78104)
  • [Core] Regression with inline styles and withUnistyles (8c132ce)

Release 3.0.0-beta.8

27 Feb 13:37

Choose a tag to compare

3.0.0-beta.8 (2025-02-27)

Hello Unistylers!

This is most likely the latest beta, soon we will move to the RC phase! πŸš€

Breaking

You should now upgrade Nitro to 0.24+

Features

Bug fixes

  • Pressables regressions 99c8b2
  • allow to add breakpoints to web only styles d9249a by @Brentlok
  • regression for scoped themes 5e4a39
  • don't stop listening to IME events when going to background ea747f
  • parse colors in arrays 7541ca
  • regression for Reanimated components c1e83a
  • regression for Unistyles Cache ad6ce6
  • don't trigger theme change event for the same theme 4576ac
  • fix Reanimated layout animations 3f48cf
  • regression for detecting style dependencies in withUnityles 6cf78e
  • fix cleanup for scrollable elements 8a7d5c
  • allow nested arrays in withUnityles 620c2e

Release 2.31.0

27 Feb 12:37

Choose a tag to compare

2.31.0 (2025-02-27)

Fixes old issue when Android app can crash while Unistyles is not initialized #151

Bug Fixes

  • crash if unistyles is not initialized (77c0f76)

Release 2.30.0

19 Feb 18:54

Choose a tag to compare

2.30.0 (2025-02-19)

This release brings several stability improvements for branch 2.0.

  • Ensure Unistyles 2.x fully supports React Native 0.78
  • Unblock Reanimated's useAnimatedKeyboard when transitioning from the background
  • Ensure iOS insets are correct during background transitions
  • Improve TypeScript variants with enhancements from the 3.x branch

Commits

  • bump example to RN 0.78 (6b2431d)
  • pause inset listener while in background (66e1998)
  • replace deprecated window retrieval in objc (7580a2d)
  • ts imporve union to intersection for variants (662236c)

Release 3.0.0-beta.7

11 Feb 17:50

Choose a tag to compare

3.0.0-beta.7 (2025-02-11)

Hello Unistylers! πŸ¦„

This beta brings improved stability. Your bug reports are becoming more sophisticated and harder to reproduce, which means we're getting closer to the first RC. Thank you for all the tests and reproducers, we're truly shaping the next-gen styling library for React Native!

Breaking

  • This release likely requires you to install react-native-nitro-modules >= 0.22.0.

Features

  • [Babel] - rewrite logic for dependencies detection with babel scopes a189f2b
  • [Core] Add Unistyles cache πŸš€ dbdbf83
  • [CI] Add biome check for precommit 634bf72 by @jeremybarbet

Bug fixes

  • Fix BAD_ACCESS crash for breakponts b8035ff
  • Generate style hashes based on style key AND stylesheet id 98c08f9
  • Pressables regression, bind "this" correctly 26ff0ce
  • Babel - process any file that contains react-native-unistyles import 8468e1f
  • Bind "this" on JSI side for Pressables 2385bdb
  • Pressables - regression 97ee1a6
  • Update to Nitro 0.22.1 98f2ea6
  • Bring back ability to build Android SDK 24-26 cffb74
  • Web fix typo for withUnistyles that fixes contentContainerStyles 47f0aa by @Brentlok
  • filer not own properties in babel plugin eb85c3 by @pas-n
  • rename unistyles secrets to avoid expo router warnings 2ebef1e by @Brentlok
  • fix ScopedThemes for withUnistyles 79977da
  • fix initial insets Android ce4955

Release 3.0.0-beta.6

30 Jan 14:16

Choose a tag to compare

3.0.0-beta.6 (2025-01-30)

Hello Unistylers!
In this beta release, we’ve fixed most issues and added support for several new features.
Here’s a TL;DR of the most important changes:

New Features

  • Added support for React Native 0.77
  • Babel: Added a new option, autoProcessRoot docs
  • Babel: Added a new option, autoRemapImports docs
  • Babel: Improved detection of inline object dependencies in StyleSheet.create
  • Added support for the React Native Animated module
  • Added support for raw RCTView and RCTText
  • Introduced a new Unistyles setting: nativeBreakpointsMode docs

Bug Fixes

  • Fixed a crash on Android hard reload
  • Fixed an issue with Scrollables: Could not find shadow node for one of your components of type unknown
  • Fixed passing nested style arrays on Web
  • Ensured all statics are copied from Unistyles factories
  • Fixed a race condition when detecting dependencies for variants
  • Fixed screen.width and screen.height values returned from UnistylesRuntime while in the background

Release 3.0.0-beta.5

20 Jan 15:14

Choose a tag to compare

3.0.0-beta.5 (2025-01-20)

Bug Fixes

  • add fallback getClassName for native (9f282e5)
  • append style tag to head (7a92b55)
  • aspect-ratio parsing (5350990)
  • browser exception if no theme or settings provided to configure (7c8a14a)
  • crash for unbound parser (b709b4d)
  • disable multiple runs of configure on SSR (7440910)
  • docs typo (c3b5da8)
  • fix removing styles from static (e047841)
  • handle cssvars in native settings (64d2098)
  • improve multiple style warnings (19f914f)
  • native components unmount (91ced41)
  • pr code style feedback (ed568ca)
  • regression image background (d090b1f)
  • regression shadow node for keyboard avoiding view (3bd65d0)
  • remove styles from mq (129690a)
  • static (415cb5d)
  • typo on parameter name (fd822f5)
  • unmount native elements (043fb9e)
  • useUnistyles theme type (9fa26ff)
  • web css stylesheet missing @media prefix (90e63db)
  • withUnistyles style types (1b0c2f3)

Features

  • accept any styles in shadow registry (2e01a5a)
  • add types definitions for the babel plugin + extra docs (3c60b1c)
  • align withUnistyles (089b7d6)
  • allow for passing nested array (738b4f3)
  • allow user to specify own imports for babel plugin (ca416d4)
  • auto detect geture handler components (533f784)
  • auto process gesture handler components, add api to add own paths (7dc2ca5)
  • bring back basic reanimated support (02ac0e1)
  • copy variants to stylesheet (b3b10c4)
  • css vars (a58a72d)
  • deletect dependencies withUnistyles (548df50)
  • dispose listeners when removing class (25f2583)
  • expose ssr utils, allow for external RNW css control, removed dependency on nextjs (cd1bf8a)
  • hydrate mq state (f7ef8b1)
  • ignore react-native like imports (f19f9d6)
  • imageBackground web (0b36079)
  • inject rnw styles (6e3e362)
  • mark unmounted unistyles as dirty to be recomputed later (1b13f23)
  • move unistyles web to singleton (6178892)
  • pass variants to shadow registry (dfa2a31)
  • prevent double init with expo router (8076168)
  • redesign variants (ee7d92d)
  • redesign web variants (c3ec7aa)
  • Regenerate specs (nitrogen) (072e895)
  • regression for unistyles not bound warning (46ba6c6)
  • regression useVariants (0ead677)
  • remove arrays from babel (58eb4eb)
  • remove arrays from babel (8ab8f15)
  • remove unistyle not bound crash, replace it with warning (d40e26d)
  • remove Variants deprecated logic (8d49b77)
  • resolve unistyle not bound (f8a137e)
  • restore babel style arrays (90b2de8)
  • static ImageBackground (2a9ffc7)
  • static ssr (0f88220)
  • static ssr (cb84623)
  • static ssr (b95bd70)
  • static ssr (256df2e)
  • static ssr (407cdf1)
  • static ssr (028b3c2)
  • static ssr (f03158b)
  • static ssr (1976ac0)
  • Update implementations for new Nitro (no need for HybridContext) (fc0f722)
  • update native pressable and imageBackground implementations (262712e)
  • Update Nitro from 0.18.2 to 0.21.0 (a1414b9)
  • upgrade nitro to 0.21 (bd211cb)
  • useUnistyles (5be1d3e)

Release 3.0.0-beta.4

16 Dec 12:46

Choose a tag to compare

3.0.0-beta.4 (2024-12-16)

This fixes the Codegen package.json resolution issue that affected beta.3!
If you've encountered the following error, simply upgrade to beta.4:

❌  (node_modules/react-native-unistyles/ios/UnistylesModuleOnLoad.h:8:9)

   6 | 
   7 | #import <React/RCTEventEmitter.h>
>  8 | #import "TurboUnistyles/TurboUnistyles.h"
     |         ^ 'TurboUnistyles/TurboUnistyles.h' file not found
   9 | #import <React/RCTSurfacePresenter.h>
  10 | #import <React/RCTScheduler.h>
  11 | #import <React/RCTRuntimeExecutorModule.h>

Bug Fixes