4.0.0-beta.4
Pre-release
Pre-release
What's Changed
- chore: disable V8 workflow by @tjzel in #7250
- chore: fix compatibility CI by @tjzel in #7246
- feat: Add warning for unsupported layout animation props by @patrycjakalinska in #7135
- fix(Reanimated):
cancelAnimation
on web by @tjzel in #7269 - Infer only readonly arrays in
MaybeSharedValueRecursive
by @j-piasecki in #7272 - chore: fix invalid URLs by @tjzel in #7254
- fix: Add
placeholderTextColor
to processColor list by @patrycjakalinska in #7274 - fix: createNPMPackage.sh not working without parameters by @tjzel in #7276
- fix: new architecture assertion on iOS by @tjzel in #7277
- feat: release Reanimated3 nightlies by @tjzel in #7278
- chore: fix macos podfile by @tjzel in #7285
- feat: clangd for worklets by @tjzel in #7286
- chore(deps): bump next from 15.1.3 to 15.2.3 by @dependabot in #7290
- chore(deps): bump tj-actions/changed-files from 41 to 46 in /.github/workflows by @dependabot in #7275
- chore: fix nightly release by @tjzel in #7294
- chore: Remove internal style type imports from react-native by @MatiPl01 in #7299
- fix: Misspelt height prop name in supported layout animation props by @MatiPl01 in #7303
- chore: patch bob to preserve jsx by @tjzel in #7266
- fix: Exclude deprecated, unsupported properties from style type by @MatiPl01 in #7300
- refactor: reexport Worklets Babel plugin in Reanimated by @tjzel in #7248
- docs: update analytics id by @kacperkapusciak in #7305
- docs: update reanimated nightly version && install react-native-worklets by @kacperkapusciak in #7306
- chore: enforce use of
globalThis._WORKLET
by @tjzel in #7271 - chore: rename plugin workspace by @tjzel in #7308
- Fix lost
scrollTo
updates by @bartlomiejbloniarz in #7292 - feat: Add support for animated props in Jest by @patrycjakalinska in #7231
- chore: Add React 19 support by @patrycjakalinska in #7055
- docs: Add info about animatedProps to Jest section by @patrycjakalinska in #7302
- chore: fix static framework workflow by @tjzel in #7251
- chore: update README.md by @tjzel in #7329
- docs: Add AvailableFrom flag to
toHaveAnimatedProps
by @patrycjakalinska in #7328 - feat: Add processing for array color related props by @patrycjakalinska in #7321
- Rename REAUIKit.h to REAUIView.h by @skusnierz in #7333
- docs: Add 3.17.2 to compatibility table by @patrycjakalinska in #7337
- chore(deps): bump image-size from 1.1.1 to 1.2.1 by @dependabot in #7342
- chore(deps): bump next from 15.2.3 to 15.2.4 by @dependabot in #7343
- Bump react-native-is-edge-to-edge to 1.1.7 by @zoontek in #7346
- fix: Remove doubled props passing to AnimatedComponent by @patrycjakalinska in #7345
- docs: Add information about color processing for custom props by @patrycjakalinska in #7330
- fix: boxShadow sometimes not working for web by @patrycjakalinska in #7338
- docs: Fix links in next version docs by @MatiPl01 in #7352
- Remove volume example by @skusnierz in #7360
- Fix conditional and BB examples on web by @skusnierz in #7348
- docs: Add missing react-native-worklets installation to getting started by @MatiPl01 in #7351
- chore: Add support for RN 0.79 by @MatiPl01 in #7312
- fix: Layout animations with rotation not working in RN 0.79 by @MatiPl01 in #7347
- fix: FlashList scroll from UI on web by @MatiPl01 in #7353
- fix: timestamp on physical device in s instead of ms by @WoLewicki in #7370
- chore: Bump tvos-example to RN 0.79 by @MatiPl01 in #7369
- Add Reanimated native view by @piaskowyk in #7366
- chore(deps): bump axios from 1.7.7 to 1.8.4 by @dependabot in #7349
- Add
RCTInvalidating
protocol inReanimatedModule
andWorkletsModule
on iOS by @tomekzaw in #7381 - fix: Return proper initial styles in PropsFilter for animated style objects by @MatiPl01 in #7385
- Bump example apps to React Native 0.79.0 by @tomekzaw in #7389
- fix: separate implementation for custom errors by @tjzel in #7390
- Custom Shadow Nodes by @piaskowyk in #7380
- Support for all transform origin values by @skusnierz in #7379
- fix: web-example font and circular imports issues by @MatiPl01 in #7368
- fix: Remove unnecessary export causing web example crash by @MatiPl01 in #7392
- Get rid of unnecessary reinitialization of the
makeShareableClone
function by @skusnierz in #7384 - refactor: use arguments instead of closures in Worklets plugin by @tjzel in #7365
- fix: Support optional arguments in boxShadow string by @patrycjakalinska in #7386
- fix: docs publish CI by @patrycjakalinska in #7391
- fix: Restore accidentally removed builder bob patch by @MatiPl01 in #7397
- Replace
react-native-reanimated/plugin
withreact-native-worklets/plugin
by @tomekzaw in #7396 - fix: Numeric colors processing by @MatiPl01 in #7336
- chore: Improve bug report template by @MatiPl01 in #7402
- docs: Update compatibility table in docs, add 3.17.4 by @MatiPl01 in #7401
- fix: Jest snapshots by @tjzel in #7372
- Merge CMakeLists.txt on Android by @tomekzaw in #7410
- Rename
NativeMethods.{h,mm}
toSetGestureState.{h,mm}
by @tomekzaw in #7414 - feat: add check for bridgeless in both packages by @WoLewicki in #7407
- Bump React Native to 0.79.1 by @tomekzaw in #7415
- chore: unify processBoxShadow accross Reanimated and CSS by @patrycjakalinska in #7406
- docs: Update reanimated version in compatibility tables in docs by @MatiPl01 in #7426
- feat(Reanimated): react-native-worklets compatibility assertions by @tjzel in #7420
- fix: lack of hidden hermes flags by @tjzel in #7398
- Rename
sv
tosss
in RNReanimated.podspec by @tomekzaw in #7430 - fix: add hermes debugger for all debug variants by @WoLewicki in #7428
- Use
NPM_ACCESS_TOKEN
secret for publishing nightlies on npm by @tomekzaw in #7437 - chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /packages/docs-reanimated by @dependabot in #7416
- [0.80] Use
androidx.tracing.Trace
directly instead ofcom.facebook.systrace.Systrace
by @cortinico in #7409 - chore(ci): Set
react-native-worklets
dependency version for nightly builds. by @arthwood in #7431 - feat: ios debug/release targets by @tjzel in #7429
- fix: useAnimatedRef returns wrong tag on ref attach by @tjzel in #7452
- fix: use
providers.exec
to enableconfiguration-cache
by @lukmccall in #7472 - fix: use jest if it is available by @WoLewicki in #7478
- Fix building Reanimated on iOS with static frameworks by @tomekzaw in #7483
- feat(Worklets): runOnUIAsync by @skusnierz in #7469
- fix: ensure last[propName] is defined in style updater by @crjc in #7485
- feat(CI): monorepo static checks by @tjzel in #7484
- refactor(Worklets)(makeShareableClone): add makeShareableString by @skusnierz in #7481
- refactor(Worklets)(makeShareableClone): add makeShareableNumber, makeShareableBoolean, makeShareableBigInt by @skusnierz in #7491
- feat: inject DEV to worklet runtimes by @tjzel in #7489
- refactor(Worklets): get valueUnpackerCode in compilation time by @tjzel in #7479
- refactor(Worklets)(makeShareableClone): add makeShareableNull and makeShareableUndefined by @skusnierz in #7498
- docs: Fix sidebar link to 4.x not working by @patrycjakalinska in #7502
- fix(Worklets): closure regressions by @tjzel in #7492
- refactor(Worklets): overhaul closure capturing algorithm by @tjzel in #7475
- Move
JSScheduler
creation toWorkletsModuleProxy
constructor by @tomekzaw in #7520 - Remove unused
REANIMATED_VERSION
in react-native-worklets CMakeLists.txt by @tomekzaw in #7522 - Remove
isChromeDebugger
completely by @tomekzaw in #7521 - Move Java and C++ version checks to
NativeProxy
constructor on Android by @tomekzaw in #7523 - [0.80] Fix "error: method resolve in class LengthPercentage cannot be applied to given types" by @tomekzaw in #7413
- refactor(Worklets): add shareableTrue and shareableFalse by @skusnierz in #7525
- [0.80] Remove
folly_flags
in RNReanimated.podspec by @tomekzaw in #7528 - Add opacity and transform example by @tomekzaw in #7531
- chore: fix prettierignore configs by @tjzel in #7514
- fix(mock): add mock for useScrollViewOffset by @frankcalise in #7536
- Move
WorkletRuntimeCollector::install
from Reanimated to Worklets by @tomekzaw in #7526 - docs: Bump t-rex to stable with Docusaurus 3.7 by @patrycjakalinska in #7507
- docs: add App.js 2025 banner by @kacperkapusciak in #7542
- fix: cleanup sensors in invalidate and make nativeProxy not leak by @WoLewicki in #7515
- feat: Automatic keyframes conversion in CSS stylesheet by @MatiPl01 in #7541
- feat: Export some internal layout animations types by @MatiPl01 in #7546
- Add support for React Native 0.80 by @tomekzaw in #7497
- Don't transfer reanimated updates to ReactJS by @bartlomiejbloniarz in #7529
- fix: Move check of last state inside loop by @patrycjakalinska in #7506
- fix: Add missing optional chaining operator in current react owner check by @MatiPl01 in #7545
- chore(plugin): enable nested worklets by default by @tjzel in #7307
- chore: move Worklets Babel Plugin deps by @tjzel in #7554
- chore: Add Release Guide by @patrycjakalinska in #7405
- release(Worklets): 0.3.0 by @tjzel in #7556
- chore: remove unnecessary useSharedValue calls by @tjzel in #7539
- fix: Incorrect fill mode in alternate animations by @MatiPl01 in #7563
- fix: Expandable card items resizing in the example app by @MatiPl01 in #7564
- fix: CSS animation and transition removal issue on web by @MatiPl01 in #7565
- Split
useAnimatedRef
into two implementations by @tjzel in #5862 - fix: Remaining CSS issues fixes by @MatiPl01 in #7571
- release: Reanimated 4.0.0-beta.4 by @MatiPl01 in #7560
New Contributors
Full Changelog: 4.0.0-beta.3...4.0.0-beta.4