Releases: jpudysz/react-native-unistyles
Release 2.42.0
Release 2.41.0
Release 2.40.0
Release 3.0.0-rc.4
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
Release 3.0.0-rc.3
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
Release 3.0.0-rc.2
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
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
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
- babel plugin moved to TypeScript 5111a2 by @jeremybarbet
- improve ShadowTree locking 12f901
- bump example to React Native 0.78 56d79b
- add support for Nitro 0.24 d1b2c1
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