Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: Upgrade to RN v0.65! #5337

Merged
merged 5 commits into from
Apr 15, 2022
Merged

deps: Upgrade to RN v0.65! #5337

merged 5 commits into from
Apr 15, 2022

Conversation

chrisbobbe
Copy link
Contributor

Fixes: #5230

@chrisbobbe
Copy link
Contributor Author

chrisbobbe commented Apr 14, 2022

Here are the RN commits that touch the RN template app that are in v0.64.2 but are not in v0.65.2. They're ordered from first to last (oldest to newest).

I.e., they're the commits in the output of git log --oneline --reverse v0.64.2..v0.65.2 -- template, when I run it in a clone of the facebook/react-native repo.

Along with whether, how, and when we propagate the changes to our app.

We shouldn't forget to update this, if necessary, to follow any changes made during code review and merge.

RN commit When resolved Comment
facebook/react-native@d8b0997aa Upgrade metro to 0.64.0 cabab22
facebook/react-native@8f5656b34 Update to eslint@7.12 b6546e9, 7e09278
facebook/react-native@58c80d4f8 Use codegen from source in default iOS template apps N/A We will end up adding the react-native-codegen dependency; see main commit. This RN commit was backported to RN v0.64 in facebook/react-native@68110d4ab and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@f1f716879 Deploy Flow v0.138.0 a5235e3
facebook/react-native@7f53bb95f Suppress errors and switch to new-generics in xplat N/A This gets cleanly reverted in facebook/react-native@b20698d81 in the template app.
facebook/react-native@e99b8bbb4 Use react-native-codegen@0.0.6 in new app template N/A We will end up adding the react-native-codegen dependency; see main commit. This RN commit was backported to RN v0.64 in facebook/react-native@65003d743 and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@c901c1fbc Integrate Native Module codegen into Xcode build pipeline (#30449) N/A This was backported to RN v0.64 in facebook/react-native@d8a0a9b1d and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@a326a30e3 Add instructions to template/ios/Podfile for enabling hermes (#30461) 9a68ea3 This was backported to RN v0.64 in facebook/react-native@eb85d1dbd and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@652e3953f Update template devDependencies (#30489) ce11ee6 This was backported to RN v0.64 in facebook/react-native@fffa4d1ae and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@11cf9ca8c Deploy Flow v0.140.0 a5235e3
facebook/react-native@fdcacd7f7 fix: building in release mode for simulator (#30543) 534be81 This was backported to RN v0.64 in facebook/react-native@5c09b3fb5 and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@e54ead655 fix: default template on iOS (#30571) 9a68ea3 This was backported to RN v0.64 in facebook/react-native@2ba3ef5b1 and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@42dde12aa Exclude i386 from valid architectures when building with Hermes on iOS (#30592) 534be81 This was backported to RN v0.64 in facebook/react-native@ed237b479 and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@a4920ed90 Deploy 0.142.0 to xplat main commit
facebook/react-native@a1d626739 Delete iOS10/tvOS10 support from React Native Libraries c953bc3 We already dropped iOS 10 support on our own schedule, not as part of a RN upgrade.
facebook/react-native@f2c6279ca iOS/tvOS 10.0 ==> 11.0 in .xcodeproj c953bc3 We already dropped iOS 10 support on our own schedule, not as part of a RN upgrade.
facebook/react-native@b20698d81 Remove generate-tests setting from flowconfigs in xplat N/A This cleanly reverts facebook/react-native@7f53bb95f in the template app; we didn't take that; ignore.
facebook/react-native@8d81ae8f2 Deploy Flow v0.143.1 main commit
facebook/react-native@cd6c9f327 Update react-native-codegen for template project (#30896) main commit We will end up adding the react-native-codegen dependency; see main commit.
facebook/react-native@e2263b343 Deploy Flow v0.144.0 main commit
facebook/react-native@eae7e97f8 Bump Metro to v0.65.1 46f5264
facebook/react-native@c7efd5b36 Bump Android compileSdkVersion and targetSdkVersion to 30 30b4d6a We did this independently of any RN upgrade.
facebook/react-native@2ecdb69b7 Revert D26445966: Bump Android compileSdkVersion and targetSdkVersion to 30 N/A We did this independently of any RN upgrade in 30b4d6a, and we're not interested in reverting/reapplying it a bunch of times.
facebook/react-native@9abafd1c2 Deploy v0.145.0 to xplat main commit
facebook/react-native@3399896ae Update flipper in RNTester and template (#31010) N/A This was backported to RN v0.64 in facebook/react-native@7159bcbf7 and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@55c883381 Bump Android compileSdkVersion and targetSdkVersion to 30 N/A We did this independently of any RN upgrade in 30b4d6a, and we're not interested in reverting/reapplying it a bunch of times.
facebook/react-native@519418303 Revert D26470604: Bump Android compileSdkVersion and targetSdkVersion to 30 N/A We did this independently of any RN upgrade in 30b4d6a, and we're not interested in reverting/reapplying it a bunch of times.
facebook/react-native@6ccd0cdeb Bump Android compileSdkVersion and targetSdkVersion to 30 (#31078) N/A We did this independently of any RN upgrade in 30b4d6a, and we're not interested in reverting/reapplying it a bunch of times.
facebook/react-native@84a81dac1 Upgrade Metro to 0.65.2 46f5264
facebook/react-native@d477f8011 Deploy Flow v0.146.0 main commit
facebook/react-native@3f571203a Deploy Flow v0.147.0 main commit
facebook/react-native@d04ec4dc6 Deploy v0.148.0 to xplat main commit
facebook/react-native@2785ce7e6 React Native sync for revisions 6d3ecb7...c9aab1c main commit
facebook/react-native@7258afeea bump gradle wrapper to 6.8.3 (#31347) fb0cf31 We went to 6.9 during an Expo upgrade.
facebook/react-native@f1d1e23b2 bump react-native-github's metro version to v0.66.0 46f5264
facebook/react-native@06f52f766 Deploy v0.149.0 to xplat main commit
facebook/react-native@73844712b Fixing the git attrs for all the people and all the files and all future (#31128) N/A This was backported to RN v0.64 in facebook/react-native@728d55a3e and we processed it for that upgrade; see #4991 (comment)
facebook/react-native@7599593b3 Gradle 6.9, Android Gradle Plugin 4.2.1 (#31593) 53ed195
facebook/react-native@9a923be89 remove jcenter (#31609) 1f80f4b Unfortunately we have to carve out a temporary exception for something that's still using jcenter.
facebook/react-native@37e9f1d36 bump buildToolsVersion to 30.0.2 (#31627) N/A We don't set this explicitly; we leave it up to the Android plugin to apply to our app project.
facebook/react-native@5f30232c4 [0.65.0-rc.0] Bump version numbers N/A
facebook/react-native@4b62cbdb4 Revert "[0.65.0-rc.0] Bump version numbers" N/A
facebook/react-native@e32449894 [0.65.0-rc.0] Bump version numbers N/A
facebook/react-native@4e9ae4c98 Revert "[0.65.0-rc.0] Bump version numbers" N/A
facebook/react-native@555696864 (tag: v0.65.0-rc.0) [0.65.0-rc.0] Bump version numbers N/A
facebook/react-native@a10a20105 Revert "Gradle 6.9, Android Gradle Plugin 4.2.1 (#31593)" N/A This reversion is reverted in facebook/react-native@be9a66999; ignore.
facebook/react-native@0a15927dc Revert "bump buildToolsVersion to 30.0.2 (#31627)" N/A This reversion is reverted in facebook/react-native@ba4424fcc; ignore.
facebook/react-native@d8b115afa Bump Android deps to 0.93 (#31675) 7b4be5d
facebook/react-native@0e08b2528 (tag: v0.65.0-rc.1) [0.65.0-rc.1] Bump version numbers N/A
facebook/react-native@be9a66999 Revert "Revert "Gradle 6.9, Android Gradle Plugin 4.2.1 (#31593)"" N/A This reverts the reversion in facebook/react-native@a10a20105, which we didn't take; ignore.
facebook/react-native@ba4424fcc Revert "Revert "bump buildToolsVersion to 30.0.2 (#31627)"" N/A This reverts the reversion in facebook/react-native@0a15927dc, which we didn't take; ignore.
facebook/react-native@db7aa7b12 (tag: v0.65.0-rc.2) [0.65.0-rc.2] Bump version numbers N/A
facebook/react-native@e8d725a37 (tag: v0.65.0-rc.3) [0.65.0-rc.3] Bump version numbers N/A
facebook/react-native@98e173445 fix: Move react-native-codegen to be a direct dependency of react-native (fix for 0.65-stable) N/A This is reverted in facebook/react-native@e77595784; ignore. We will end up adding the react-native-codegen dependency; see main commit.
facebook/react-native@e77595784 Revert "fix: Move react-native-codegen to be a direct dependency of react-native (fix for 0.65-stable)" N/A This reverts facebook/react-native@98e173445, which we didn't take; ignore. We will end up adding the react-native-codegen dependency; see main commit.
facebook/react-native@5f0b805b5 (tag: v0.65.0-rc.4) [0.65.0-rc.4] Bump version numbers N/A
facebook/react-native@7473ce1d4 (tag: v0.65.0) [0.65.0] Bump version numbers N/A
facebook/react-native@5a1dc1b6b Handle OSS renderers in sync script main commit
facebook/react-native@8b430e00d fix AGP 7 compatibility (#32030) N/A The changed code is relevant only for projects that use Buck. We don't, and we don't have this code; see our 1c86488.
facebook/react-native@e4d576f65 (tag: v0.65.1) [0.65.1] Bump version numbers N/A
facebook/react-native@7eff4b6f8 (tag: v0.65.2, origin/0.65-stable) [0.65.2] Bump version numbers main commit

Copy link
Member

@gnprice gnprice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @chrisbobbe for all your detailed work on this! Including that table of upstream commits, and the series of prep PRs that got our libdefs up to snuff.

Just one small comment below, and a followup opportunity I noticed that's actually about a previous upgrade. Otherwise all looks good!

@@ -61,20 +61,6 @@ flow-typed/expo-screen-orientation_vx.x.x.js
; counterparts in node_modules/react-native:
flow-typed/jest_v26.x.x.js

[declarations]
; We should be able to remove this once we're on RN v0.65, which has
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool.

This prompted me to go grepping for other such opportunities. I found one in docs/howto/profiling.md, for a previous upgrade to RN v0.63:

You can add `Date.now()` to measure times (or better,
`performance.now()` once we're on RN v0.63+; see our #4245), and
`console.log()` to print the results.

package.json Outdated
"react-intl": "5.24.6",
"react-native": "0.64.3",
"react-native": "0.65.2",
"react-native-codegen": "^0.0.7",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like in the template app, react-native-codegen goes in devDependencies. Can we similarly put it there?

@chrisbobbe
Copy link
Contributor Author

Thanks for the review! Revision pushed.

gnprice and others added 4 commits April 14, 2022 19:51
Note: If you get an error like

  CocoaPods could not find compatible versions for pod "RCT-Folly"

on `yarn` or `pod install` when crossing this commit (checking out a
branch that has it from one that doesn't, or vice versa), run
`pod update RCT-Folly` from `ios/` and try the command again.
Background:
  facebook/react-native#32659 (comment)

In this commit:

- Bump `react` and `react-test-renderer` to follow the RN template
  app

- Adapt to changes in Flow:
  - Two options removed:
      esproposal.optional_chaining
      esproposal.nullish_coalescing
  - RN no longer clobbers Flow's built-in definitions for `fetch`!
  - Etc.; see comments

- Add react-native-codegen, at ^0.0.7. The RN maintainers moved this
  dep back and forth between the `react-native` NPM package and the
  RN template app. For RN v0.65 it ended up in the template app,
  suggesting that projects using RN v0.65 should depend on it
  directly. So, do that. See discussion:
    zulip#5324 (comment)
This is now appropriate, following RN v0.65, where React Native
stopped clobbering the Response type with `any`.
@gnprice
Copy link
Member

gnprice commented Apr 15, 2022

Thanks! Looks good; merging.

I've added a small docs commit on that profiling update, and also tweaked the last commit's summary-line prefix to be a bit more general (moving "checkCompatibility" into the rest of the summary line, and saying "api" instead which is broad enough to be something that recurs.)

@chrisbobbe
Copy link
Contributor Author

Thanks!

@chrisbobbe chrisbobbe deleted the pr-rn-65 branch May 25, 2022 22:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade to RN v0.65
2 participants