Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
9879028
Release 0.81.0-rc.0
react-native-bot Jul 8, 2025
e01cbf9
Revert "Release 0.81.0-rc.0"
cortinico Jul 9, 2025
1a6887b
[LOCAL] Add more logging around computeNightlyTarballURL
cortinico Jul 9, 2025
b52ecff
Release 0.81.0-rc.0
react-native-bot Jul 9, 2025
b22bed2
Revert "Release 0.81.0-rc.0"
cipolleschi Jul 9, 2025
bce7f54
Revert "[LOCAL] Add more logging around computeNightlyTarballURL"
cipolleschi Jul 9, 2025
918e422
[RN][CI]Fix prebuilds for stable releases (#52503)
cipolleschi Jul 9, 2025
1fc81fe
Release 0.81.0-rc.0
react-native-bot Jul 9, 2025
87c8e68
[LOCAL] Bump podfile.lock
cipolleschi Jul 9, 2025
6b9f5d6
Bump Metro to 0.83.0 (#52577)
robhogan Jul 14, 2025
3a99e31
@DeprecatedInNewArchitecture -> @Deprecated (#52399)
cortinico Jul 7, 2025
31fdd53
Add the `ENTERPRISE_REPOSITORY` env var to let user consume artifacts…
cipolleschi Jul 9, 2025
5d779bd
Fix ENTERPRISE_REPOSITORY usage (#52553)
cipolleschi Jul 11, 2025
528173e
Change polling to try and download the pom manifest (#52512)
cipolleschi Jul 9, 2025
bbb322b
Fix bump-podfile-lock job by using Xcode 16.2 (#52513)
cipolleschi Jul 9, 2025
c9263e7
add support for USE_FRAMEWORKS when using prebuilt React Native Core …
chrfalch Jul 10, 2025
c665a96
add release/debug switch script (#52498)
chrfalch Jul 10, 2025
d9bf351
Back out "Remove ShadowNodeTraits::Trait::DirtyYogaNode" (#52528)
cortinico Jul 10, 2025
6b8d1a0
Expose `react_renderer_bridging` headers via prefab (#52529)
tomekzaw Jul 10, 2025
bb27a16
Fix RCTPushNotification podspec to work with prebuilds (#52531)
cipolleschi Jul 11, 2025
9c4da7b
Fix Dimensions window values on Android < 15 (#47554)
zoontek Jul 3, 2025
75dcb5f
fix wrong use of return in header file generation loop (#52490)
chrfalch Jul 10, 2025
2b13f47
Gradle to 8.14.3 (#52466)
cortinico Jul 8, 2025
c7cd66c
Fix `display: contents` nodes not being cloned with the wrong owner (…
j-piasecki Jul 11, 2025
ab73961
Revert "Fix Dimensions window values on Android < 15 (#47554)"
cortinico Jul 14, 2025
b06bb89
Release 0.81.0-rc.1
react-native-bot Jul 15, 2025
10b63c1
[LOCAL] Bump Podfile.lock
react-native-bot Jul 15, 2025
14bfad5
Add optional safeAreaInsets prop to NewAppScreen (replacing SafeAreaV…
huntie Jul 9, 2025
2e1d711
RN: Default Hermes Parser to `reactRuntimeTarget: "19"` (#52625)
yungsters Jul 17, 2025
828287d
added missing script in package.json (#52663)
chrfalch Jul 17, 2025
ddadb2e
resolve xcframework paths from conf switch script (#52664)
chrfalch Jul 17, 2025
d8bf944
[RN][Release]Fix E2E script when using CI artifacts (#52606)
cipolleschi Jul 21, 2025
cdd7f99
[LOCAL][RN][Release] Fix E2E test script when the ci flag is not spec…
cipolleschi Jul 21, 2025
be05c8f
Fix Windows CI (#52666)
cipolleschi Jul 17, 2025
d61decc
Fix build_android GHA Job (#52694)
NickGerleman Jul 18, 2025
dd12edf
[0.81] Implement mechanism to prevent ShadowTree commit exhaustion (#…
cortinico Jul 21, 2025
68ef746
Release 0.81.0-rc.2
react-native-bot Jul 21, 2025
3695258
[LOCAL] Bump Podfile.lock
react-native-bot Jul 21, 2025
225ca2b
[0.81] Lower minimum Node.js version to 20.19.4 (#52879)
motiz88 Jul 28, 2025
5f3d297
Restore flow dir in react-native package files (#52735)
huntie Jul 21, 2025
cb20a1c
[0.81] Clean up feature flag preventShadowTreeCommitExhaustionWithLoc…
cortinico Jul 28, 2025
2e52c1a
Make accessors inside HeadlessJsTaskService open again (#52660)
cortinico Jul 17, 2025
b58e5fa
fix: View component does not have a displayName (#52688) (#52880)
motiz88 Jul 28, 2025
67f507a
Also test node 20.19.4 in the test_js matrix (#52878)
cortinico Jul 28, 2025
5976618
Properly setup headers for FBReactNativeSpec in prebuilds (#52783) (#…
cipolleschi Jul 29, 2025
bd94a13
RNGP - Fix a race condition with codegen libraries missing sources (#…
cortinico Jul 24, 2025
0e6009e
Release 0.81.0-rc.3
react-native-bot Jul 29, 2025
4bbc344
[LOCAL] Bump Podfile.lock
react-native-bot Jul 29, 2025
aac7dbe
Pin Node.js version in GitHub Actions to 24.4.1 (#53013)
huntie Aug 4, 2025
812824c
Fix `ReactHostImpl.nativeModules` always returning an empty list (#52…
lukmccall Aug 4, 2025
6e921b4
renamed release testing scripts (#52541)
vzaidman Jul 11, 2025
df63c60
Release 0.81.0-rc.4
react-native-bot Aug 5, 2025
32effad
Release 0.81.0-rc.5
react-native-bot Aug 5, 2025
fc65e3e
Update Podfile.lock
vzaidman Aug 6, 2025
7404fb6
Release 0.81.0
react-native-bot Aug 12, 2025
6526a98
[iOS][precompile] Support dynamic static linkage with prebuilts (#53477)
cipolleschi Aug 27, 2025
5f7542d
Mark `@react-native/metro-config` as optional peer to fix warning (#5…
kitten Aug 24, 2025
4c781e4
Fix HEADER_SEARCH_PATHS for RuntimeExecutor when USE_FRAMEWORKS is en…
sharifhh Aug 7, 2025
1ca7232
fix(a11y): `TextInput` `aria-label` handling (#53051)
mdjastrzebski Aug 6, 2025
e6e814c
fix cp command in ReactNativeDependencies.podspec (#53136)
vonovak Aug 11, 2025
fcb86cc
add SWIFT_ENABLE_EXPLICIT_MODULES to xcode 26 (#53457)
chrfalch Aug 26, 2025
f21d415
aligned symbol folders with RNdeps (#53354)
chrfalch Aug 22, 2025
cfd06d8
fixed copying bundles correctly (#53325)
chrfalch Aug 19, 2025
495b307
Use correct version of jsi.cpp (#53266)
chrfalch Aug 14, 2025
7d4196c
fix(codegen): fix missing dependencies (#52884) (#53478)
motiz88 Aug 27, 2025
ba221e1
Fix copy symbol files in RNDeps precompile (#53353)
chrfalch Aug 22, 2025
6da5e66
[LOCAL] Bump Podfile.lock
cipolleschi Aug 27, 2025
dffbfe6
[LOCAL] Fix Switch layout for iOS 26 (#53389)
cipolleschi Aug 27, 2025
8ace21f
Fix: Setting maxLength to 0 in TextInput still allows typing on iOS (…
riteshshukla04 Aug 13, 2025
03952ba
Fix missing path escape patterns in Xcode scripts for projects with s…
kitten Aug 11, 2025
277a075
Release 0.81.1
react-native-bot Aug 27, 2025
cc493fc
Update Podfile.lock
fabriziocucci Sep 1, 2025
a2eb29e
Use autolinking react-native-config output in iOS artifacts generator…
kitten Sep 3, 2025
366f2ad
Replace `execSync` with `spawnSync` for tarball extraction paths that…
kitten Sep 1, 2025
ed92bd6
[0.81] Backport: Create a `debugOptimized` buildType for Android (#53…
cortinico Sep 9, 2025
a346096
[0.81] Backport `useNativeEqualsInNativeReadableArrayAndroid` and `us…
cortinico Sep 9, 2025
65119b0
Release 0.81.2
react-native-bot Sep 9, 2025
63619bc
Update Podfile.lock
gabrieldonadel Sep 9, 2025
537e3ad
Revert "Use autolinking react-native-config output in iOS artifacts g…
gabrieldonadel Sep 9, 2025
503f0e9
Release 0.81.3
react-native-bot Sep 10, 2025
97b23a3
Update Podfile.lock
gabrieldonadel Sep 10, 2025
bb73315
Use autolinking react-native-config output in iOS artifacts generator…
kitten Sep 3, 2025
c3149f2
Remove outdated artifacts codegen early return (#53690)
kitten Sep 10, 2025
5cb9187
Release 0.81.4
react-native-bot Sep 10, 2025
68ca69a
Avoid memory leak in RCTWebSocketModule
adgarcia Apr 23, 2019
b95d166
[Discord] Update boost podspec to expose PodToBuild friendly artifact.
mrkcsc Dec 12, 2021
a4102a2
[Discord] Version bumping script
denbeigh2000 Jan 27, 2022
d415f05
[RNA] Add max fling velocity capability to scroll view.
mrkcsc Mar 16, 2022
fddc87a
[RNA] Add useSmallCache prop to ReactImageView.
mrkcsc Mar 24, 2022
d5133b0
animate switch on value change
Apr 7, 2022
7a1730e
[RNA] Allow modal component to be edge to edge on Android.
mrkcsc Apr 19, 2022
38f38fa
expose `flush` on RCTWebSocketModule to close all open websockets syn…
nealmanaktola May 25, 2022
465de43
[Discord] Have codegen script prefer `react-codegen` in NPM
FuegoFro Jun 13, 2022
327ccc7
Add a `preventClipping` prop
Jun 22, 2022
75a5bbc
Ripple radius now applies to corner radius instead of circular radius
Flewp Jun 30, 2022
df153a5
[RNA] CustomLineHeightSpan changes
charlesx2013 Aug 29, 2022
53b35fa
Custom handling of fonts
Flewp Jul 18, 2024
0e92efd
Update RNA ImageView to support forced cached property to fix GIF fli…
mrkcsc Dec 11, 2021
1cf1bf9
[Discord] SRWebSocket flush method
Flewp Mar 9, 2024
3b1d15a
Clamp `last` prop of `VirtualizedList`
lsdimagine Aug 4, 2023
4232b01
[Upstreamed] Fix incorrect values for modal sizing (#45)
pmick Oct 11, 2023
5d01e2a
[Discord] Always configure React Native NDK regardless of New Arch
Flewp May 25, 2023
733413f
Include `raw_length` in Websocket event
ypisetsky Oct 31, 2023
bdb2f1a
Avoid using Xcode 15's gcc to compile glog
stevenpetryk Nov 28, 2023
0dc35b5
[Discord] Moving registry of RCTEventEmitter to constructor
Flewp Apr 10, 2024
caccb89
[Discord] Addressing Gradle plugin versioning issues caused by Versio…
Flewp Jun 12, 2024
c3b20bf
[Discord] NDK Publishing additions
Flewp Jul 17, 2024
1927dcc
[Discord] Adding ICU_FOUND=1 to hermes build
Flewp Jul 22, 2024
ead6e6a
Ensure third-party-podspecs depend on react_native_pods.rb
Jul 29, 2024
4489b5e
[IOS] Fix a bug in reported device window/screen size for iPad and po…
mrkcsc Sep 11, 2024
3af0a95
[Discord] kv-storage prebuilt prefab config
Flewp Dec 4, 2024
cd31c00
Patch Flow syntax failures
joemun Dec 5, 2024
dcb5022
[Discord] ForwardingConsoleMethods.def -> ForwardingConsoleMethods.h …
Flewp Jan 4, 2025
bdbf2bd
fix: work with comma separated fonts
hannojg Mar 2, 2025
77dc4d3
Misc. Syntax Errors, Squash Later
Flewp Mar 10, 2025
94ffbe3
More ImageSource Cleanup (Squash Later)
Flewp Mar 10, 2025
9c52ed7
Update Android websocket module to expose onOpen callback.
Flewp Mar 11, 2025
da2e363
Syntax Fixes, Squash Later
Flewp Mar 11, 2025
04ba9f9
Add require_relative to fast_float podspec
pmick Mar 27, 2025
1ccb464
update Text to support gradient colors
timothy-huynh Apr 22, 2025
89f883b
[android] harden AppStateModule initial state (#57)
RubyFeinstein May 5, 2025
5ef244c
update Text gradient colors to be mirrored on ios (#59)
timothy-huynh May 6, 2025
3bc1879
fix android gradient colors faded (#60)
timothy-huynh May 6, 2025
1cb55c1
Set useShadowNodeStateOnClone by default to true
Flewp Aug 25, 2025
f87e168
fix(new arch): change measure function to measure native view hierarc…
hannojg May 27, 2025
745c267
fix nullability issues with resolving RootView (#70)
hannojg May 28, 2025
c0d1f3c
fix: safely call getView
Flewp Aug 26, 2025
f50f161
[Android] On Android 12, using LinkedBlockingQueue for NativeAnimated…
Flewp Jun 9, 2025
c786be6
Memoise UIManagerConstants
Szymon20000 May 31, 2025
6097199
fix UIManagerModule.java
Szymon20000 Jun 23, 2025
3c566e1
Enable feature flag enableAccumulatedUpdatesInRawPropsAndroid (#78)
joemun Jun 25, 2025
d71f609
fix(android): enable 16KB page size for app by upgrading mmkv (#83)
hannojg Jul 15, 2025
fdbf16a
Enable feature flag disableMountItemReorderingAndroid
joemun Jul 17, 2025
c6fef21
fix(RuntimeScheduler): flush JS microtasks after work-loop to prevent…
SudoPlz Jul 22, 2025
55bc851
Make UIManager constants improvement work with bridge less (#87)
Szymon20000 Jul 29, 2025
2941159
fix(android): make ReactSurfaceView inheritable (#91)
hannojg Jul 30, 2025
6b5afc0
Maybe fix for stopSuface crash
Flewp Jul 30, 2025
5c9b458
fix: react host pass a custom function to create the surface view (#93)
hannojg Jul 30, 2025
ad45e86
Make saving blocking to avoid concurrent access Error (#94)
Szymon20000 Jul 31, 2025
d3f606b
Maybe fix for ClippingView
Flewp Aug 1, 2025
b7c743b
[Android] Maybe fix for ClippingView Pt 2
Flewp Aug 4, 2025
491af54
Avoid GC during the app start
Szymon20000 Aug 4, 2025
2ebf5ee
fix(android): fix crashes due to UIManager constants not resetting wh…
hannojg Aug 6, 2025
e2704cd
Ensure active touches are swept before accepting a child native gestu…
Abbondanzo Aug 4, 2025
ee4fc03
fix(andorid): add missing discord custom `preventClipping` prop (#99)
hannojg Aug 22, 2025
557f45f
Fix NdkConfiguratorUtils gradle import
Flewp Aug 26, 2025
0d63942
NdkConfiguratorUtils, using ApplicationAndroidComponentsExtension
Flewp Aug 26, 2025
9ed88ff
Removing deprecated ShadowNode::Shared usage
Flewp Aug 26, 2025
6d247c3
Two more ShadowNode::Shared deprecations
Flewp Aug 26, 2025
6adde05
Updating other callsites of DefaultReactHost.kt
Flewp Aug 26, 2025
f4073aa
Revert "Ensure active touches are swept before accepting a child nati…
Flewp Aug 26, 2025
1c14607
fix memory leak: Ensure active touches are swept before accepting a c…
Flewp Aug 26, 2025
6476f6e
Removing internal publication
Flewp Aug 26, 2025
8c7a9d6
More compilation fixes
Flewp Aug 27, 2025
5544c02
discord: add more shadow tree tree methods (#100)
hannojg Sep 1, 2025
3fa33fb
Bridgeless (#101)
hannojg Sep 11, 2025
65a6165
Improving TTI by forcing synchronous mount for first 5s
Szymon20000 Sep 17, 2025
6af7769
Clarify mountSynchronously parameter in UIManagerBinding
Szymon20000 Sep 18, 2025
fb6b3f7
[discord] add module and function info to HostFunction exception (#104)
joemun Sep 26, 2025
2d27dc2
Gradient Text Color Support
Flewp Oct 8, 2025
f8df2c2
Build issues
Flewp Oct 8, 2025
c5e410c
Discordify Version
Flewp Oct 8, 2025
f113f73
Updated version to 0.81.4-discord-2
Oct 8, 2025
17042cc
Remove internal from ReactSoftExceptionLogger
Flewp Oct 10, 2025
af456ba
Add missing initialization of DisplayMetricsHolder
skusnierz Oct 8, 2025
e09d4e8
fix(android): crashing onHostPause
Flewp Oct 10, 2025
a4f049c
Revert "discord: add more shadow tree tree methods (#100)"
Flewp Oct 14, 2025
c41d453
fix(android): fix for addView with views in view transition (#109)
hannojg Oct 13, 2025
f18295e
Explicit API mode for ReactSoftExceptionLogger
Flewp Oct 14, 2025
5d7ddd0
fix run not working
robhogan Jul 11, 2025
eae3f09
Updated version to 0.81.4-discord-3
Oct 14, 2025
e81f05b
Make CustomLineHeightSpan Public
Flewp Oct 15, 2025
aac7255
Strict public API for CustomLineHeightSpan
Flewp Oct 16, 2025
a530361
Updated version to 0.81.4-discord-4
Oct 17, 2025
567434e
discord: add more shadow tree tree methods (#100)
hannojg Sep 1, 2025
fce2949
[Discord] Make sure RN_SERIALIZABLE_STATE is ON, add debugging logs.
Flewp Oct 17, 2025
a3083ba
Updated version to 0.81.4-discord-5
Oct 17, 2025
f39c3f6
Only require Android Context for Fresco builder
Flewp Oct 18, 2025
c669edf
Updated version to 0.81.4-discord-6
Oct 18, 2025
e6261e8
Exposes folly config back to fabric components (#116)
pmick Nov 5, 2025
27d86bb
Updated version to 0.81.4-discord-7
Nov 7, 2025
9979b3e
Make shadowTreeMountPhase feature flag
Flewp Nov 10, 2025
85d8356
shadowTreeLockMountPhase impl
Flewp Nov 10, 2025
0dd0bdd
Make DefaultSoLoader public
Flewp Nov 10, 2025
5263748
Updated version to 0.81.4-discord-8
Nov 10, 2025
9797cd7
More kv-storage headers
Flewp Nov 10, 2025
dbc6c3f
Updated version to 0.81.4-discord-9
Nov 10, 2025
ed3e814
Add fb/glog_init.h to prefab
Flewp Nov 10, 2025
7efce00
Updated version to 0.81.4-discord-10
Nov 10, 2025
31f5aef
fix(android): crash concurrent access _registryByName (#117)
hannojg Nov 13, 2025
2e20497
Updated version to 0.81.4-discord-11
Nov 13, 2025
4e7f592
fix(android): fix deadlock in component registry
hannojg Nov 13, 2025
5873cd0
Updated version to 0.81.4-discord-12
Nov 13, 2025
11895bc
fix(android): fix ViewGroupManager addView crash if in transition
hannojg Nov 13, 2025
c0d3824
Updated version to 0.81.4-discord-13
Nov 14, 2025
6dffe0b
fix jest test (#119)
SzymczakJ Nov 17, 2025
a064c00
Updated version to 0.81.4-discord-14
Nov 17, 2025
0a9002e
add debug methods to reactviewgrop
hannojg Nov 18, 2025
7c9b862
Updated version to 0.81.4-discord-15
Nov 18, 2025
df3cd99
Fix ScrollView with `pagingEnabled` when using ThumbStick
kosmydel Nov 21, 2025
54a7721
Merge pull request #123 from discord/kosmydel/fix-thumbstick-scroll
kosmydel Nov 26, 2025
4169376
Updated version to 0.81.4-discord-16
Nov 26, 2025
247655e
reapply logs (#124)
hannojg Nov 28, 2025
57cc311
Updated version to 0.81.4-discord-17
Nov 28, 2025
30a0d91
dev: add debugging logs (#127)
hannojg Dec 1, 2025
b585c65
Updated version to 0.81.4-discord-18
Dec 1, 2025
e517688
[task] Setup the stroke effect (#122)
insacc Dec 1, 2025
eebaa21
always inclyde glog in MountingCoordinator.cpp
hannojg Dec 1, 2025
c34d8e4
Updated version to 0.81.4-discord-19
Dec 1, 2025
4b33ff9
always inclyde glog in MountingCoordinator.cpp
hannojg Dec 1, 2025
642d5e3
Updated version to 0.81.4-discord-20
Dec 1, 2025
10f82a3
add missing include
hannojg Dec 2, 2025
bf8c918
Updated version to 0.81.4-discord-21
Dec 2, 2025
8f42f81
Fix text shadow cutoff on android (#126)
insacc Dec 9, 2025
1c02d8e
Updated version to 0.81.4-discord-22
Dec 9, 2025
9e56b47
scrollview: add option to tag event while drawing (#128)
hannojg Dec 10, 2025
3fc633c
Updated version to 0.81.4-discord-23
Dec 10, 2025
602448d
apply: https://github.com/facebook/react-native/pull/54259
hannojg Dec 11, 2025
9c33428
remove shadowTreeLockMountPhase experiment
hannojg Dec 11, 2025
1405f16
pod install RN tester
hannojg Dec 11, 2025
e3edb38
add featureflag runtimeCrashUiThreadUtils to enable for certain user …
hannojg Dec 11, 2025
8ae4c63
avoid printing view hierarchy in prod
hannojg Dec 11, 2025
2f1be1d
Updated version to 0.81.4-discord-24
Dec 11, 2025
8deb743
remove excessive logs
hannojg Dec 12, 2025
583d806
Updated version to 0.81.4-discord-25
Dec 12, 2025
a80c64a
fix(android): handle transitioning views (#130)
hannojg Dec 18, 2025
236b11b
Revert "fix(android): handle transitioning views (#130)" (#134)
hannojg Dec 18, 2025
1f95ec4
fix(android): handle transitioning views (#135)
hannojg Dec 18, 2025
a6425fa
Updated version to 0.81.4-discord-26
Dec 18, 2025
e3f6041
Implemented simple integer gradientWidth param.
andrewkunkel Dec 18, 2025
51e931a
Fixed issue with NaN handling.
andrewkunkel Dec 19, 2025
f1936b4
deactivate scroll view as we overwrite it
hannojg Dec 19, 2025
42f956a
Updated version to 0.81.4-discord-27
Dec 19, 2025
f0f6e5d
Fixing unintended changes.
andrewkunkel Dec 19, 2025
6ddac4c
Fix ellipsis issue
insacc Dec 20, 2025
8f5e09b
Remove no longer needed color prop
insacc Dec 23, 2025
a5d267d
fix(android): fix all delete operations were queued instead of only s…
hannojg Dec 30, 2025
f5860dd
Updated version to 0.81.4-discord-28
Dec 30, 2025
d8180a2
Merge remote-tracking branch 'origin/0.81.4-discord' into akunkel/gra…
andrewkunkel Jan 5, 2026
39e8dde
Merge pull request #137 from discord/task/stroke-shadow-fix-ellipsis
andrewkunkel Jan 5, 2026
cd37afd
Merge remote-tracking branch 'origin/0.81.4-discord' into akunkel/gra…
andrewkunkel Jan 5, 2026
b78771e
Implemented gradientWidth text attribute.
andrewkunkel Jan 5, 2026
fb53c3b
Updated version to 0.81.4-discord-29
Jan 5, 2026
6842aa8
Testing gradient changes.
andrewkunkel Jan 6, 2026
f2fea6f
Added missing references to gradientWidth.
andrewkunkel Jan 6, 2026
4f9717f
Reverting hard-coded vlaues.
andrewkunkel Jan 6, 2026
d964d1a
Added missing enum.
andrewkunkel Jan 6, 2026
1ccd812
Added missing references to the gradient_width text attribute from #136
andrewkunkel Jan 7, 2026
793f789
Updated version to 0.81.4-discord-30
Jan 7, 2026
a6dcd92
Implementing a `gradientMode` <Text> property, which supports `mirror…
andrewkunkel Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/actions/build-hermes-macos/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ runs:
steps:
- name: Setup xcode
uses: ./.github/actions/setup-xcode
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Restore Hermes workspace
uses: ./.github/actions/restore-hermes-workspace
- name: Restore Cached Artifacts
Expand Down Expand Up @@ -45,6 +43,8 @@ runs:
echo "ARTIFACTS_EXIST=true" >> $GITHUB_ENV
echo "ARTIFACTS_EXIST=true" >> $GITHUB_OUTPUT
fi
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Yarn- Install Dependencies
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
uses: ./.github/actions/yarn-install
Expand Down
16 changes: 8 additions & 8 deletions .github/actions/build-hermesc-windows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,23 @@ runs:
uses: actions/download-artifact@v4
with:
name: hermes-workspace
path: 'D:\tmp\hermes'
path: 'C:\tmp\hermes'
- name: Set up workspace
shell: powershell
run: |
mkdir -p D:\tmp\hermes\osx-bin
mkdir -p C:\tmp\hermes\osx-bin
mkdir -p .\packages\react-native\sdks\hermes
cp -r -Force D:\tmp\hermes\hermes\* .\packages\react-native\sdks\hermes\.
cp -r -Force C:\tmp\hermes\hermes\* .\packages\react-native\sdks\hermes\.
cp -r -Force .\packages\react-native\sdks\hermes-engine\utils\* .\packages\react-native\sdks\hermes\.
- name: Windows cache
uses: actions/cache@v4
with:
key: v3-hermes-${{ github.job }}-windows-${{ inputs.hermes-version }}-${{ inputs.react-native-version }}
path: |
D:\tmp\hermes\win64-bin\
D:\tmp\hermes\hermes\icu\
D:\tmp\hermes\hermes\deps\
D:\tmp\hermes\hermes\build_release\
C:\tmp\hermes\win64-bin\
C:\tmp\hermes\hermes\icu\
C:\tmp\hermes\hermes\deps\
C:\tmp\hermes\hermes\build_release\
- name: setup-msbuild
uses: microsoft/[email protected]
- name: Set up workspace
Expand Down Expand Up @@ -83,4 +83,4 @@ runs:
uses: actions/[email protected]
with:
name: hermes-win64-bin
path: D:\tmp\hermes\win64-bin\
path: C:\tmp\hermes\win64-bin\
4 changes: 2 additions & 2 deletions .github/actions/build-npm-package/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,12 @@ runs:
- name: Print Artifacts Directory
shell: bash
run: ls -lR ./packages/react-native/ReactAndroid/external-artifacts/artifacts/
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Setup gradle
uses: ./.github/actions/setup-gradle
with:
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Install dependencies
uses: ./.github/actions/yarn-install
- name: Build packages
Expand Down
2 changes: 2 additions & 0 deletions .github/actions/create-release/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ inputs:
runs:
using: composite
steps:
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Yarn install
uses: ./.github/actions/yarn-install
- name: Configure Git
Expand Down
2 changes: 2 additions & 0 deletions .github/actions/maestro-ios/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ runs:
with:
java-version: '17'
distribution: 'zulu'
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Run yarn install
uses: ./.github/actions/yarn-install
- name: Start Metro in Debug
Expand Down
5 changes: 2 additions & 3 deletions .github/actions/prepare-hermes-workspace/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ outputs:
runs:
using: composite
steps:
- name: Setup node.js
uses: ./.github/actions/setup-node

- name: Setup hermes version
shell: bash
id: hermes-version
Expand Down Expand Up @@ -67,6 +64,8 @@ runs:
echo "HERMES_CACHED=true" >> "$GITHUB_OUTPUT"
fi

- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Yarn- Install Dependencies
if: ${{ steps.meaningful-cache.outputs.HERMES_CACHED != 'true' }}
uses: ./.github/actions/yarn-install
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ inputs:
node-version:
description: 'The node.js version to use'
required: false
default: '22'
default: '22.14.0'
runs:
using: "composite"
steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/test-ios-helloworld/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ runs:
uses: ./.github/actions/setup-xcode
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Run yarn install
uses: ./.github/actions/yarn-install
- name: Create Hermes folder
shell: bash
run: mkdir -p "$HERMES_WS_DIR"
Expand All @@ -34,8 +36,6 @@ runs:
- name: Print Downloaded hermes
shell: bash
run: ls -lR "$HERMES_WS_DIR"
- name: Run yarn
uses: ./.github/actions/yarn-install
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ describe('#verifyArtifactsAreOnMaven', () => {

expect(mockSleep).toHaveBeenCalledTimes(1);
expect(mockFetch).toHaveBeenCalledWith(
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1',
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1/react-native-artifacts-0.78.1.pom',
);
});

Expand All @@ -55,7 +55,7 @@ describe('#verifyArtifactsAreOnMaven', () => {

expect(mockSleep).toHaveBeenCalledTimes(1);
expect(mockFetch).toHaveBeenCalledWith(
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1',
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1/react-native-artifacts-0.78.1.pom',
);
});

Expand All @@ -67,7 +67,7 @@ describe('#verifyArtifactsAreOnMaven', () => {

expect(mockSleep).toHaveBeenCalledTimes(0);
expect(mockFetch).toHaveBeenCalledWith(
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1',
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1/react-native-artifacts-0.78.1.pom',
);
});

Expand All @@ -81,7 +81,7 @@ describe('#verifyArtifactsAreOnMaven', () => {
expect(mockSleep).toHaveBeenCalledTimes(90);
expect(mockExit).toHaveBeenCalledWith(1);
expect(mockFetch).toHaveBeenCalledWith(
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1',
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.78.1/react-native-artifacts-0.78.1.pom',
);
});
});
3 changes: 2 additions & 1 deletion .github/workflow-scripts/verifyArtifactsAreOnMaven.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@ const SLEEP_S = 60; // 1 minute
const MAX_RETRIES = 90; // 90 attempts. Waiting between attempt: 1 min. Total time: 90 min.
const ARTIFACT_URL =
'https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/';
const ARTIFACT_NAME = 'react-native-artifacts-';

async function verifyArtifactsAreOnMaven(version, retries = MAX_RETRIES) {
if (version.startsWith('v')) {
version = version.substring(1);
}

const artifactUrl = `${ARTIFACT_URL}${version}`;
const artifactUrl = `${ARTIFACT_URL}${version}/${ARTIFACT_NAME}${version}.pom`;
for (let currentAttempt = 1; currentAttempt <= retries; currentAttempt++) {
const response = await fetch(artifactUrl);

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/bump-podfile-lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ jobs:
run: |
git config --local user.email "[email protected]"
git config --local user.name "React Native Bot"
- name: Setup xcode
uses: ./.github/actions/setup-xcode
with:
xcode-version: '16.2.0'
- name: Extract branch name
run: |
TAG="${{ github.ref_name }}";
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,9 @@ jobs:
runs-on: windows-2025
needs: prepare_hermes_workspace
env:
HERMES_WS_DIR: 'D:\tmp\hermes'
HERMES_TARBALL_ARTIFACTS_DIR: 'D:\tmp\hermes\hermes-runtime-darwin'
HERMES_OSXBIN_ARTIFACTS_DIR: 'D:\tmp\hermes\osx-bin'
HERMES_WS_DIR: 'C:\tmp\hermes'
HERMES_TARBALL_ARTIFACTS_DIR: 'C:\tmp\hermes\hermes-runtime-darwin'
HERMES_OSXBIN_ARTIFACTS_DIR: 'C:\tmp\hermes\osx-bin'
ICU_URL: "https://github.com/unicode-org/icu/releases/download/release-64-2/icu4c-64_2-Win64-MSVC2017.zip"
MSBUILD_DIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin'
CMAKE_DIR: 'C:\Program Files\CMake\bin'
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/prebuild-ios-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
id: restore-ios-slice
uses: actions/cache/restore@v4
with:
key: v3-ios-core-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift') }}-${{ hashFiles('packages/react-native/scripts/ios-prebuild/setup.js') }}
key: v3-ios-core-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift', 'packages/react-native/scripts/ios-prebuild/*.js', 'packages/react-native/scripts/ios-prebuild.js', 'packages/react-native/React/**/*', 'packages/react-native/ReactCommon/**/*', 'packages/react-native/Libraries/**/*') }}
path: packages/react-native/
- name: Setup node.js
if: steps.restore-ios-slice.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
# Move the XCFramework in the destination directory
mv /tmp/third-party/packages/react-native/third-party/ReactNativeDependencies.xcframework packages/react-native/third-party/ReactNativeDependencies.xcframework

VERSION=$(jq -r '.version' package.json)
VERSION=$(jq -r '.version' packages/react-native/package.json)
echo "$VERSION-${{matrix.flavor}}" > "packages/react-native/third-party/version.txt"
cat "packages/react-native/third-party/version.txt"
# Check destination directory
Expand Down Expand Up @@ -117,7 +117,7 @@ jobs:
uses: actions/cache/save@v4
if: ${{ github.ref == 'refs/heads/main' }} # To avoid that the cache explode
with:
key: v3-ios-core-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift') }}-${{ hashFiles('packages/react-native/scripts/ios-prebuild/setup.js') }}
key: v3-ios-core-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift', 'packages/react-native/scripts/ios-prebuild/*.js', 'packages/react-native/scripts/ios-prebuild.js', 'packages/react-native/React/**/*', 'packages/react-native/ReactCommon/**/*', 'packages/react-native/Libraries/**/*') }}
path: |
packages/react-native/.build/output/spm/${{ matrix.flavor }}/Build/Products
packages/react-native/.build/headers
Expand All @@ -140,7 +140,7 @@ jobs:
uses: actions/cache/restore@v4
with:
path: packages/react-native/.build/output/xcframeworks
key: v2-ios-core-xcframework-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift') }}-${{ hashFiles('packages/react-native/scripts/ios-prebuild/setup.js') }}
key: v2-ios-core-xcframework-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift', 'packages/react-native/scripts/ios-prebuild/*.js', 'packages/react-native/scripts/ios-prebuild.js', 'packages/react-native/React/**/*', 'packages/react-native/ReactCommon/**/*', 'packages/react-native/Libraries/**/*') }}
- name: Setup node.js
if: steps.restore-ios-xcframework.outputs.cache-hit != 'true'
uses: ./.github/actions/setup-node
Expand Down Expand Up @@ -209,4 +209,4 @@ jobs:
path: |
packages/react-native/.build/output/xcframeworks/ReactCore${{matrix.flavor}}.xcframework.tar.gz
packages/react-native/.build/output/xcframeworks/ReactCore${{matrix.flavor}}.framework.dSYM.tar.gz
key: v2-ios-core-xcframework-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift') }}-${{ hashFiles('packages/react-native/scripts/ios-prebuild/setup.js') }}
key: v2-ios-core-xcframework-${{ matrix.flavor }}-${{ hashFiles('packages/react-native/Package.swift', 'packages/react-native/scripts/ios-prebuild/*.js', 'packages/react-native/scripts/ios-prebuild.js', 'packages/react-native/React/**/*', 'packages/react-native/ReactCommon/**/*', 'packages/react-native/Libraries/**/*') }}
5 changes: 3 additions & 2 deletions .github/workflows/prebuild-ios-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,9 @@ jobs:
- name: Compress and Rename dSYM
if: steps.restore-xcframework.outputs.cache-hit != 'true'
run: |
tar -cz -f packages/react-native/third-party/Symbols/ReactNativeDependencies${{ matrix.flavor }}.framework.dSYM.tar.gz \
packages/react-native/third-party/Symbols/ReactNativeDependencies.framework.dSYM
cd packages/react-native/third-party/Symbols/
tar -cz -f ../ReactNativeDependencies${{ matrix.flavor }}.framework.dSYM.tar.gz .
mv ../ReactNativeDependencies${{ matrix.flavor }}.framework.dSYM.tar.gz ./ReactNativeDependencies${{ matrix.flavor }}.framework.dSYM.tar.gz
- name: Upload XCFramework Artifact
uses: actions/upload-artifact@v4
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,9 @@ jobs:
runs-on: windows-2025
needs: prepare_hermes_workspace
env:
HERMES_WS_DIR: 'D:\tmp\hermes'
HERMES_TARBALL_ARTIFACTS_DIR: 'D:\tmp\hermes\hermes-runtime-darwin'
HERMES_OSXBIN_ARTIFACTS_DIR: 'D:\tmp\hermes\osx-bin'
HERMES_WS_DIR: 'C:\tmp\hermes'
HERMES_TARBALL_ARTIFACTS_DIR: 'C:\tmp\hermes\hermes-runtime-darwin'
HERMES_OSXBIN_ARTIFACTS_DIR: 'C:\tmp\hermes\osx-bin'
ICU_URL: "https://github.com/unicode-org/icu/releases/download/release-64-2/icu4c-64_2-Win64-MSVC2017.zip"
MSBUILD_DIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin'
CMAKE_DIR: 'C:\Program Files\CMake\bin'
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -392,9 +392,9 @@ jobs:
runs-on: windows-2025
needs: prepare_hermes_workspace
env:
HERMES_WS_DIR: 'D:\tmp\hermes'
HERMES_TARBALL_ARTIFACTS_DIR: 'D:\tmp\hermes\hermes-runtime-darwin'
HERMES_OSXBIN_ARTIFACTS_DIR: 'D:\tmp\hermes\osx-bin'
HERMES_WS_DIR: 'C:\tmp\hermes'
HERMES_TARBALL_ARTIFACTS_DIR: 'C:\tmp\hermes\hermes-runtime-darwin'
HERMES_OSXBIN_ARTIFACTS_DIR: 'C:\tmp\hermes\osx-bin'
ICU_URL: "https://github.com/unicode-org/icu/releases/download/release-64-2/icu4c-64_2-Win64-MSVC2017.zip"
MSBUILD_DIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin'
CMAKE_DIR: 'C:\Program Files\CMake\bin'
Expand Down Expand Up @@ -593,7 +593,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: ["24", "22"]
node-version: ["24.4.1", "22", "20.19.4"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

plugins {
alias(libs.plugins.nexus.publish)
alias(libs.plugins.android.library) apply false
id(libs.plugins.android.library.get().pluginId) version libs.plugins.android.library.get().version.requiredVersion apply false
alias(libs.plugins.android.application) apply false
alias(libs.plugins.download) apply false
alias(libs.plugins.kotlin.android) apply false
Expand Down
66 changes: 66 additions & 0 deletions discord/bump_version.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/usr/bin/env python3

from pathlib import Path
from typing import List
import re
import subprocess
import sys


def check_output(args: List[str]) -> str:
return subprocess.check_output(args).decode('utf-8').strip()


VERSION_MATCHER = re.compile(r'^(.*)-discord-(\d*)$')

status = check_output(['git', 'status', '--porcelain'])
if status != '':
print('Detected changed files, please remove or commit them first.\n')
print(status)
sys.exit(1)


root = check_output(['git', 'rev-parse', '--show-toplevel'])
android_path = Path(root) / "ReactAndroid"
props_path = android_path / "gradle.properties"

version = None
property_lines = [line.strip() for line in props_path.read_text().splitlines()]
for line in property_lines:
if line.startswith("VERSION_NAME="):
version = line.split('=')[1]

assert version, "unable to find current version"

matches = VERSION_MATCHER.match(version)
assert matches, f'{version} did not match expected format, X.Y.Z-discord-N'

upstream = matches[1]
local = int(matches[2])

new_version = f'{upstream}-discord-{local + 1}'

with open(props_path, 'w') as f:
for line in property_lines:
if line.startswith("VERSION_NAME="):
f.write(f'VERSION_NAME={new_version}\n')
else:
f.write(f'{line}\n')


branch_name = check_output(['git', 'symbolic-ref', '--short', 'HEAD'])

subprocess.check_call(
['../gradlew', 'publishReleasePublicationToDiscordRepository'],
cwd=android_path.absolute()
)

subprocess.check_call(['git', 'add', props_path.absolute()])
subprocess.check_call(['git', 'commit', '-m', f'version bump: {new_version}'])
subprocess.check_call(['git', 'push', 'origin', branch_name])

new_commit = check_output(['git', 'rev-parse', 'HEAD'])


print(f'NEW TAGGED VERSION: {new_version}')
print(f'NEW COMMIT: {new_commit}')
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
Loading