Skip to content

feat(Worklets): stable api bindings for Reanimated#8996

Merged
tjzel merged 21 commits into
mainfrom
@tjzel/worklets/stable-api
Mar 16, 2026
Merged

feat(Worklets): stable api bindings for Reanimated#8996
tjzel merged 21 commits into
mainfrom
@tjzel/worklets/stable-api

Conversation

@tjzel

@tjzel tjzel commented Feb 20, 2026

Copy link
Copy Markdown
Collaborator

This PR is a part of:

Requires

Summary

This PR introduces stable API definitions file StableApi.h in Worklets which in turn can be copied or included by libraries to link with symbols from Worklets without requiring implementation headers.

The version of this header isn't release-ready for the moment - these are only bindings used by Reanimated. We're going to look into what do other libraries need too.

Test plan

CI

@tjzel tjzel added the Check compatibility Trigger a time-consuming compatibility check action label Feb 20, 2026
Base automatically changed from @tjzel/reanimated/dont-use-WorkletsModule to main February 23, 2026 10:12
github-merge-queue Bot pushed a commit that referenced this pull request Feb 27, 2026
## Summary

In #8996 `SerializableType` enum will have to be locked. For that reason
we should already add the `SymbolType` to the enum to not break ABI in
the future if we want to implement it.

## Test plan

🚀

This comment was marked as resolved.

Comment thread packages/react-native-worklets/Common/cpp/worklets/Compat/StableApi.cpp Outdated
@tjzel tjzel added this pull request to the merge queue Mar 16, 2026
Merged via the queue into main with commit b788488 Mar 16, 2026
40 checks passed
@tjzel tjzel deleted the @tjzel/worklets/stable-api branch March 16, 2026 10:44
github-merge-queue Bot pushed a commit that referenced this pull request Apr 16, 2026
## Summary

Since #8996 Reanimated is only allowed to use symbols from
`<worklets/Compat/StableApi.h>`. I'm adding a lint step that disallows
other includes.

## Test plan

I added a random include from worklets in native files and it was caught
by the script.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Check compatibility Trigger a time-consuming compatibility check action lib: Reanimated lib: Worklets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants