Skip to content

Releases: jpudysz/react-native-unistyles

Release 2.42.0

31 May 08:29
Compare
Choose a tag to compare

2.42.0 (2025-05-31)

This is critical fix and it's regression from 2.40.0 - 2.41.0.

Bug Fixes

  • prevent dangling reference in device event emitter by capturing eventType by value (737edd4)

Release 2.41.0

28 May 13:06
Compare
Choose a tag to compare

2.41.0 (2025-05-28)

Bug Fixes

  • android build - add missing runOnJSThread callback (f901f9a)

Release 2.40.0

28 May 09:16
Compare
Choose a tag to compare

2.40.0 (2025-05-28)

Bug Fixes

  • capture eventType by reference in lambda to prevent memory issues in device event emitter (1cfdf70)

Features

  • replace CallInvoker with runOnJSThread, get rid of holding jsi::Runtime, call properly deinit (c0fc857)

Release 3.0.0-rc.4

13 May 10:42
Compare
Choose a tag to compare

3.0.0-rc.4 (2025-05-13)

This release brings us one step closer to a stable release. We were able to clean up all the issues and implement the requested features!

Read theme in Reanimated Worklets

You can now read the theme in worklets, e.g., with useAnimatedTheme πŸŽ‰.

import { useAnimatedTheme } from 'react-native-unistyles/reanimated'

const theme = useAnimatedTheme()
const style = useAnimatedStyle(() => ({
   backgroundColor: theme.colors.background
}))

useAnimatedTheme returns the Unistyles theme as a SharedValue, which means it won't re-render your component on theme change, but will re-trigger the worklet!

Read more: https://www.unistyl.es/v3/guides/reanimated

Build cross-platform apps without react-native-web

It's now possible to completely skip RNW. Unistyles will handle all style logic, and you're responsible only for the component implementation:

import { getWebProps } from 'react-native-unistyles/web-only'

const { ref, className } = getWebProps(style)

// ref - will remove your className from document when component unmounts
// className - first class CSS classname represents all your styles

Read more: https://www.unistyl.es/v3/guides/custom-web

Features

  • [C++] - Shadow Tree perf improvements (152aedf)
  • [Core] - Add support for reading Unistyles theme in Reanimated (d5e64ec)
  • [Web] - Web only components (a45904f)

Docs

  • [Docs] - Add docs for static frameworks (56ffee9)
  • [Docs] - Add docs about reanimated integration (be8913f)
  • [Docs] - Add docs about getWebProps (c9dece0)

Bug Fixes

  • [Web] - don't reparse unistyle generated style (4ba0067)
  • [Windows] - restore babel plugin for windos (f91d838)
  • [Windows] - remove platform-specific path handling in JS resolution (623c5dd)
  • [SSR] - fix pressable (227d236)
  • [Core] - ts types for useAnimatedTheme (f231ba1)

Release 3.0.0-rc.3

06 May 12:52
Compare
Choose a tag to compare

3.0.0-rc.3 (2025-05-06)

Hello Unistylers!

We're getting closer to the first stable release! πŸŽ‰
Our to-do list is getting shorter and shorter, so we might have a surprise for you soon!

This release adds support for Expo SDK 53 and React Native 0.79, and includes the long-awaited mocks for jest tests!

Check the documentation to learn more about testing Unistyles: link

Features

  • [Core] Add support for Expo SDK 53 and static frameworks (1ee5235)
  • [Core] Add support for React Native 0.79 (8461b29)
  • [IOS] Rewrite native event listener for RN 0.79 (68f0bdb)
  • [Core] Support Unistyles testing with own mocks (00e4333)
  • [Web] Support contentContainerStyle in ScrollView (b56a87a)
  • [Web] Support contentContainerStyle in FlatList (cae17a7)
  • [Core] Add script to automatically build components (526c8c6)
  • [Babel] Skip babel plugin in test environment (3cb4fb1)

Bug Fixes

  • [Web] merging order for _web key (04a38aa)
  • [Babel] regression for react-native components in commonjs environment (52d62ad)
  • [Web] find images's width and height in style arrays (a7c4aa2)
  • [Web] regression for animated components (ed02093)
  • [IOS] Regression for new native listener (d9b0baf)
  • [Web] Fix circular imports (9577b37)
  • [Core] add browser exports for pnpm (da58530)
  • [Core] fix invalid import of mq (e9b1f24)
  • [Babel] revert extra path escaping for windows (0b523b4)

Release 2.32.0

18 Apr 10:13
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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)