What's Changed
- chore: post Reanimated 4.2.0 and Worklets 0.7.0 release updates by @tjzel in #8703
- docs:
useAnimatedKeyboardtoreact-native-keyboard-controllermigration guide by @kirillzyusko in #8622 - docs: add warning about Expo Go not supporting static feature flags by @tomekzaw in #8708
- chore: unify Profiling setup by @tjzel in #8711
- Improve about example by @tomekzaw in #8717
- chore: bump RN to 0.83.0-rc.4 by @tjzel in #8706
- chore: modernize build.gradle scripts by @tjzel in #8707
- Enable
USE_COMMIT_HOOK_ONLY_FOR_REACT_COMMITSfeature flag by default by @tomekzaw in #8716 - feat: Web StrictMode e2e test and playwright setup by @MatiPl01 in #8715
- feat: Web-specific jest tests support by @MatiPl01 in #8712
- chore: bump RN to 0.83-rc.5 by @tjzel in #8719
- fix: docs dependency issue by @tjzel in #8722
- feat: Support for android and ios specific jest unit tests by @MatiPl01 in #8713
- chore: fix VSCode crying about tsconfig excludes in docs by @tjzel in #8724
- feat(Worklets):
runOnRuntimeSyncby @skusnierz in #8224 - fix: RN 0.80 android compatibility by @MatiPl01 in #8723
- chore(Worklets): fix broken anchor in docs by @tjzel in #8734
- chore: bump RN to 0.83.0 by @tjzel in #8735
- chore: remove react-native-pager-view example by @tjzel in #8736
- chore(Worklets): Bundle Mode patches for 0.83.0 by @tjzel in #8737
- fix: use native processTransformOrigin instead of web version by @maxpotemkin in #8738
- fix: prefab headers locations by @tjzel in #8747
- fix: assets in FabricExample by @tjzel in #8748
- chore: fix hermesc path in FabricExample by @tjzel in #8746
- refactor: docs workflows by @tjzel in #8751
- chore: Rename box shadow processing function by @MatiPl01 in #8756
- fix: Proper support for nested
animatedPropsobjects and correct cleanup by @MatiPl01 in #8726 - fix(Worklets): Add HERMES_V1_ENABLED flag to iOS podspec for Hermes V1 compatibility by @kimchi-developer in #8754
- chore: Rename style builder to props builder by @MatiPl01 in #8757
- feat(Worklets): docs for plugin types by @tjzel in #8633
- fix(web): Support originX and originY in layout animations by @choi138 in #8733
- feat(Worklets): run Bundle Mode without patches to React Native by @tjzel in #8744
- fix: Web entering animations triggered on view exiting by @MatiPl01 in #8772
- fix: Animation names array order updates on keyframes order change by @MatiPl01 in #8777
- chore: Bump macos runner version and xcode version on CI by @MatiPl01 in #8721
- fix:
Infinityparsing in web CSSanimationIterationCountby @MatiPl01 in #8787 - docs: remove reading from shared value on JS thread in "your first animation" example by @pawicao in #8788
- docs: add sorn25 banner to readme by @p-malecki in #8793
- Add Shared Element Transitions to v4 docs by @bartlomiejbloniarz in #8798
- docs(Worklets): add sorn25 banner to readme by @p-malecki in #8795
- Add css SVG Path parser and normalizer by @wisniewskij in #8709
- CSS SVGPath interpolation by @wisniewskij in #8710
- fix: FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS feature flag crashes by @MatiPl01 in #8822
- Make parser create implicite new subPaths by @wisniewskij in #8824
- docs: Require worklets in denyList when using RNRepo by @roitium in #8821
- chore: Add jest unit tests for web Strict Mode layout animations by @MatiPl01 in #8792
- chore: Add
animatedPropse2e test for web by @MatiPl01 in #8796 - chore: Add e2e test step to release markdown by @MatiPl01 in #8797
- chore: Remove the
equalsReversingAdjustedStartValuemethod from CSS classes by @MatiPl01 in #8808 - Implement CSSIndex by @wisniewskij in #8829
- docs: remove sorn25 banner by @p-malecki in #8834
- docs(Worklets): remove sorn25 banner by @p-malecki in #8835
- Enable support for SVGImage in CSS by @wisniewskij in #8830
- fix(Worklets): missing sideEffects property by @tjzel in #8760
- Add tree-shakability checks by @patrickmichalik in #8794
- Add libworklets.so to excludes by @radoslawrolka in #8831
- refactor(AnimatedSensorModule): remove assert in destructor by @tomekzaw in #8823
- chore: consider new arch always enabled in react-native 0.82+ by @gabrieldonadel in #8771
- fix:
SharedValue.modifystrict type definition by @huextrat in #8846 - feat(Worklets): better runtimeKind checking API by @tjzel in #8758
- fix: FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS incorrect color alphas by @DouweBos in #8841
- feat: Common props builder for CSS and worklets by @MatiPl01 in #8693
- feat: Web props and rule builders functional reimplementation by @MatiPl01 in #8764
- chore(Worklets): cleanup metro overrides for bundle mode by @tjzel in #8851
- refactor(Worklets): obtain BundleMode flag from static feature flags by @tjzel in #8853
- feat(Worklets): Worklet Runtime ios fetch by @tjzel in #8410
- feat: Add JS prop diffing mechanism for CSS transitions triggering from JS by @MatiPl01 in #8856
- feat: JS-triggered CSS transitions integration with C++ by @MatiPl01 in #8858
- feat(Worklets): android fetch by @tjzel in #8850
- fix: clang-tidy error by @tjzel in #8868
- docs: Fix typo (relay -> rely) by @j-piasecki in #8870
- refactor(Worklets): dont use @react-native/babel-preset for unit tests by @tjzel in #8862
- chore: Bump RN version to 0.84.0-rc.2 by @MatiPl01 in #8855
- chore: Change props overriding behavior in the props builder by @MatiPl01 in #8877
- fix: Guard for undefined style in Jest utils by @msynowski in #8878
- feat: better link coloring in docs by @tjzel in #8884
- fix: Stop passing nativeID to component in jest unit tests by @MatiPl01 in #8881
- feat: Add
workletmock helper function for jest unit tests by @MatiPl01 in #8882 - feat(Worklets): docs about closures by @tjzel in #8889
- chore: add react native to monorepo deps by @tjzel in #8890
- chore: fix broken links in docs by @tjzel in #8892
- chore: remove options for Worklets Babel plugin from quick start guide by @tjzel in #8888
- fix(Worklets): Synchronizable serialization for objects outside of Bundle Mode by @tjzel in #8887
- chore(Worklets): rename __generatedWorklets dir by @tjzel in #8894
- feat(Worklets): Babel plugin strict global option by @tjzel in #8857
- feat(Worklets): docs for new bundle mode by @tjzel in #8759
- chore(Worklets): bump compatibility after release by @tjzel in #8895
- feat: cherry-pick issue template by @tjzel in #8898
- fix(Worklets): false-positive inlineStyles warning on computed [value] by @tjzel in #8897
- Fix the issue with next.js throwing errors while hydrating by @5ZYSZ3K in #8869
- refactor(Reanimated): use worklets prefab again by @tjzel in #8685
- fix: Simplify run-loop and always attach JNI on Android by @mrousavy in #8905
- chore: bump RN to 0.84.0-rc.4 by @tjzel in #8909
- feat: add runOnRuntimeAsync by @riteshshukla04 in #8901
- Fix bundle mode on windows by @OrfeasZ in #8910
- fix(worklets): avoid HERMES_V1_ENABLED macro redefinition on RN 0.84+ by @kimchi-developer in #8908
- chore(Worklets): fix runAsync mock signature by @tjzel in #8916
- refactor(Worklets): move serializable factories by @tjzel in #8560
- feat: docs for runOnRuntimeAsync by @riteshshukla04 in #8911
- fix: sidebar title of runtimeAsync by @riteshshukla04 in #8921
- Standardize examples for CSS SVG Path by @wisniewskij in #8912
- chore: fix building release FabricExample from CLI by @tjzel in #8931
- fix:
useHandlernot working on web without babel plugin by @MatiPl01 in #8883 - fix:
nopluginoption being ignored in the web-example by @MatiPl01 in #8933 - refactor(Reanimated): dont use JSLogger from Worklets by @tjzel in #8930
- refactor(Reanimated): use own SingleInstanceChecker by @tjzel in #8935
- refactor: move events to Reanimated by @tjzel in #8934
- refactor(Reanimated): use own JSIUtils by @tjzel in #8938
- refactor: monorepo README by @tjzel in #8896
- fix: CSS SVGPath android parsing bugfix by @wisniewskij in #8918
- refactor: Rename processOpacity to processPercentage by @wisniewskij in #8947
- docs(Worklets): add gtm by @p-malecki in #8937
- docs: add gtm by @p-malecki in #8936
- Remove workaround for dynamic frameworks by @tomekzaw in #8927
- chore: Bump RN to 0.84 stable and update compatibility json by @MatiPl01 in #8952
- CSS SVGRadialGradient support by @wisniewskij in #8871
- CSS SVGLinearGradient support by @wisniewskij in #8917
- chore(Worklets): compatibility docs by @tjzel in #8971
- Update TSDocs with parameter default values. by @arthwood in #7438
- chore(docs): bump react-native to 0.83.0 by @CDFN in #8976
- chore: Simplify CSS transitions related code in C++ by @MatiPl01 in #8961
- feat: Add
==operator toCSSValuestructs by @MatiPl01 in #8977 - chore: Simplified reversing shortening handling in CSS transitions by @MatiPl01 in #8979
- chore: Change
folly::dynamictojsi::ValueinupdateKeyframesfor CSS transitions by @MatiPl01 in #8982 - chore: eslint fixes in repo by @tjzel in #8944
- feat: add textShadow and textDecoration color examples by @AlexRixten in #8978
- fix: free __cxa_demangle allocations in SingleInstanceChecker by @jingjing2222 in #8964
- chore: Remove no longer valid steps from the release markdown by @MatiPl01 in #8987
- feat: use prebuilt React Native for iOS by @tjzel in #8983
- fix(Worklets): pulling native implementation for Jest tests by @tjzel in #8988
- ci: consolidate validation workflows and add iOS build caching by @CDFN in #8929
- refactor: make AnimatedStyle type fail on nonanimated components by @tjzel in #8990
- refactor(Reanimated): dont use WorkletsModuleProxy by @tjzel in #8945
- feat: Common fallback style props builder for any unsupported component by @MatiPl01 in #8989
- chore: fix linting in repo by @tjzel in #8993
- fix: pass shouldPersistRemote to cloneObjectProperties by @aljadan in #8995
- refactor(Reanimated): dont use WorkletsModule by @tjzel in #8949
- docs: Add separate entry for versions starting from
4.2.2in compatibility by @MatiPl01 in #8999 - chore: bump gradle versions by @tjzel in #8994
- docs: add appjs banner by @p-malecki in #8992
- chore: More explicit componentName-related variables by @MatiPl01 in #9002
- chore: Add common svg interpolator fallback for unregistered svg components by @MatiPl01 in #9005
- chore(Worklets): cleanup dispatch functions and tests by @tjzel in #9006
- chore: SVG
Gcomponent example by @MatiPl01 in #9007 - docs: add banner rotator by @p-malecki in #9009
- [docs] Fix scheduleOnRN call to remove extra invocation by @piaskowyk in #9017
- refactor(Worklets): always spin AnimationFrameQueue by @tjzel in #8900
- feat(Worklets): dispatch to Worklet Runtimes from id by @tjzel in #8991
- feat: Add support for compound registry keys in css by @wisniewskij in #8969
- fix: Fix native
matchVersionnot allowing patch version mismatches by @kitten in #9018 - fix: CSS transitions not working when a prop is added or removed by @MatiPl01 in #9014
- feat: Implement CSS SVG Polyline by @wisniewskij in #9003
- fix: Use
renderHookcorresponding for the platform on which jest test is run by @MatiPl01 in #9015 - chore(Worklets): install serializer on UI Runtime by @tjzel in #9024
- chore(Worklets): merge isSynchronizable impl by @tjzel in #9027
- chore(Worklets): stabilize Serializable enum by @tjzel in #9025
- chore(Worklets): add RuntimeId type alias by @tjzel in #9026
- docs: add analytics and close banner btn by @p-malecki in #9028
- chore(Worklets): export unpackers in prod env by @tjzel in #9029
- feat: Implement CSS SVG Polygon by @MatiPl01 in #9008
- feat: Support
%length values in SVG CSS animations by @MatiPl01 in #9011 - Fix: Change in svg image examples by @wisniewskij in #9016
- Enable support for SVGText in CSS by @wisniewskij in #9022
- chore: bump RN to 0.84.1 in repo by @tjzel in #9034
- feat: slack CI state bot by @tjzel in #9042
- fix: CI pod caching issue by @tjzel in #9043
- fix: nightly TS types issue by @tjzel in #9045
- fix: broken links by @tjzel in #9047
- fix: static frameworks missing header paths by @tjzel in #9035
- fix: infinite loop in script by @tjzel in #9054
- fix: nightly compat CI bug by @tjzel in #9044
- fix: Routes order in SVG examples screen in the example app by @MatiPl01 in #9031
- Fix sync props back to React mechanism by @tomekzaw in #9046
- Fix: Add missing initialization in SVG Path by @wisniewskij in #9058
- fix: RN 0.81 TS errors by @tjzel in #9059
- fix: Reanimated synchronous events by @tjzel in #9057
- Chore: Remove deprecated examples by @wisniewskij in #9060
- chore: cleanup examples by @tjzel in #9061
- feat(Worklets): implement Shareable type by @tjzel in #8673
- fix: CSS animation box-shadow crashes by @MatiPl01 in #9065
- feat(Reanimated): enable Synchronizable in Mutable by default by @tjzel in #9068
- chore: update core runtime tests by @tjzel in #9071
- chore: disable broken runtime tests by @tjzel in #9074
- feat(Reanimated): use Shareable for Mutables by @tjzel in #9004
- fix: box-shadow runtime test example animating inset by @tjzel in #9076
- chore: skip pre-commit on merge commits by @tjzel in #9063
- fix: lint-clang-tidy CI triggering on each merge by @tjzel in #9077
- docs: Say that v3 is no longer actively maintained by @MatiPl01 in #9079
- Bump RN to 0.85.0 rc.1 by @wisniewskij in #9056
- chore(Worklets): update createWorkletRuntime docs by @tjzel in #9030
- fix(Worklets): cascade raf callbacks with reanimated by @tjzel in #9080
- Extract
applySynchronousUpdatesfromperformOperationsby @bartlomiejbloniarz in #9078 - feat: Add support for SVG
Patterncomponent in SVG animations by @MatiPl01 in #9041 - chore(Worklets): Bundle Mode setup improvements by @tjzel in #9082
- cherry-pick(Worklets): Fix bundle mode on windows (#8910) by @tjzel in #9084
- cherry-pick(Worklets): chore(Worklets): Bundle Mode setup improvements (#9082) by @tjzel in #9085
- fix: logger mock in jest unit tests by @MatiPl01 in #9083
- release(Worklets): 0.8.0-bundle-mode-preview-2 by @tjzel in #9086
- chore: fix missing require in docs by @tjzel in #9088
- fix(Reanimated): unhide accidentally hidden properties in mutable by @tjzel in #9091
- feat(Worklets): limited scheduling on worklet runtimes outside of bundle mode by @tjzel in #9092
- chore: update compatibility table before release by @tjzel in #9094
- chore: update worklets-0.8-stable branch to current main by @tjzel in #9093
- release(Worklets): 0.8.0-rc.0 by @tjzel in #9096
New Contributors
- @maxpotemkin made their first contribution in #8738
- @kimchi-developer made their first contribution in #8754
- @choi138 made their first contribution in #8733
- @p-malecki made their first contribution in #8793
- @roitium made their first contribution in #8821
- @patrickmichalik made their first contribution in #8794
- @radoslawrolka made their first contribution in #8831
- @huextrat made their first contribution in #8846
- @DouweBos made their first contribution in #8841
- @msynowski made their first contribution in #8878
- @5ZYSZ3K made their first contribution in #8869
- @riteshshukla04 made their first contribution in #8901
- @OrfeasZ made their first contribution in #8910
- @CDFN made their first contribution in #8976
- @AlexRixten made their first contribution in #8978
- @jingjing2222 made their first contribution in #8964
- @aljadan made their first contribution in #8995
- @kitten made their first contribution in #9018
Full Changelog: worklets-0.7.4...worklets-0.8.0-rc.0