profile
viewpoint

Ask questionsRoad to v0.64 Discussion

Current latest release: v0.64.0-rc.4

Highlighted Changes

Please see the changelog PR for more details.

Work Required

  • [ ] Changelog (draft is here)
  • [ ] Blog post [@grabbou]
  • [ ] When clicking "Open Debugger" on iOS with Hermes and not having Flipper installed, nothing happens. Perhaps a warning / alert or an appropriate log in the CLI would be helpful to instruct those that don't have Flipper installed on the next steps.
  • [ ] Dependency on shelljs has been moved from the root package.json into repo-config/package.json (https://github.com/facebook/react-native/commit/f3930a93d5cf5f19058b0bfe453c7b9324eb8552), causing publish-npm.js script to fail. I have temporarily installed that package on the CircleCI, but would love additional background on the original commit and whether we can safely move it back to the root. https://github.com/facebook/react-native/pull/30472
  • [ ] Create Xcode project upgrade guide to link to from the Upgrade Helper
  • [ ] Cut the docs

<details> <summary>Already resolved</summary>

  • [X] Update documentation [@simek]
  • [x] facebook/react-native#29914
  • [x] React 17 support (landed)
  • [x] facebook/react-native#29882
  • [x] facebook/react-native#30177
  • [x] facebook/react-native@a7c1c5a
  • [x] Bump CLI to latest
  • [x] Migrate warnings in index.js to point to new lean core repos (https://github.com/facebook/react-native/pull/30422)
  • [x] The hermes-engine pod has no version constraints specified, which should probably happen in the React-Core.podspec file and lock it with similar version constraints as the one applied to the Android version in package.json. Fixed by https://github.com/facebook/react-native/pull/30432
  • [x] The newly introduced codegen invocation step in the iOS Podfile is failing, as the dependencies of the react-native-codegen package have not been installed. See output here. In progress PR here https://github.com/facebook/react-native/pull/30449
  • [x] Trying to build a newly created Android app fails when checking the dynamic libraries for duplicate classes. See output here. Fixed by https://github.com/facebook/react-native/pull/30452
  • [x] https://github.com/facebook/react-native/pull/30470
  • [x] The new CLI has a minor regression when using a local template dir, now you need to specify the file:// protocol to resolve that [@grabbou] (added note to changelog, this is expected)
  • [x] https://github.com/facebook/react-native/commit/d85d5d2e1974b463318e4c86da29a5ccdd60a977
  • [x] facebook/react-native#30489 (+ make sure to update the changelog as per this comment)
  • [x] Bump to Hermes 0.7.2 (facebook/hermes#373) (https://github.com/facebook/react-native/pull/30561)
  • [x] Add instructions on how to enable Hermes in the default application https://github.com/facebook/react-native/pull/30461
  • [x] Running pod install outside of ios folder will fail facebook/react-native#30469 (temporary solution, will be fixed by facebook/react-native#30449) - cherry picked https://github.com/facebook/react-native/commit/c901c1fbce080c6e9b6ed56dbccaa7f2fa0571b2, https://github.com/facebook/react-native/commit/5eee2f2bc01184481a663453648ab15d1d295f4d and https://github.com/facebook/react-native/commit/b61aaa1545b3308bda5ade169204f875ba417f01 for the record.
  • [x] Submitting Hermes enabled application to AppStore will fail validation https://github.com/facebook/hermes/issues/420 This isn't a release blocker; this issue is triggered when somebody specifies a higher deployment target than the default and can be solved by the user as shown here.
  • [x] https://github.com/facebook/react-native/pull/30571
  • [x] Building React Native application in release mode will cause an issue with Xcode 12 facebook/react-native#29984 (here is a workaround) https://github.com/facebook/react-native/pull/30543
  • [x] facebook/react-native#30495 (regression)
  • [x] Building with Hermes in Release mode (or with "build active architecture" set to false) causes "Thread-local storage is not supported for the current target" in "folly/synchronization/Rcu.cpp:17:10:" and happens while building for "i386". https://github.com/facebook/react-native/pull/30592
  • [x] Resolve issues highlighted in the comment https://github.com/react-native-community/releases/issues/214#issuecomment-758203239
  • [x] https://github.com/facebook/react-native/commit/811ccec74e5b898e9304f86f85f390908f8d317f
  • [x] https://github.com/facebook/react-native/commit/7a9e4ba4e9ae02ab8a0fe0f67ceefd5d675b9dbf
  • [x] https://github.com/facebook/react-native/commit/f312e5ba84afcddaac326ed62eaf4e00c00cf480
  • [x] https://github.com/facebook/react-native/commit/f45cb60e560d21be134aa808bd105e0394ba1fd5
  • [x] Issue stripping symbols on Android https://github.com/react-native-community/releases/issues/214#issuecomment-758425571
  • [x] Some users are experiencing issues with CodeGen on iOS due to missing files https://github.com/react-native-community/releases/issues/214#issuecomment-766436299 </details>

Hopeful Dates

We can never commit to the dates involved in a release as many things are out of our control. However, we are thinking about these rough dates for this release.

  • Publish as Release Candidate: Week of January 18th
  • Publish as Stable: Beginning of March
react-native-community/releases

Answer questions cosmarc

Compiling the default generated app with 0.64-rc.2 gives the following errors:

RN064/node_modules/react-native/Libraries/Vibration/RCTVibration.mm:16:28: error: cannot find protocol declaration for 'NativeVibrationSpec'
@interface RCTVibration() <NativeVibrationSpec>

RN064/node_modules/react-native/Libraries/Vibration/RCTVibration.mm:33:20: error: use of undeclared identifier 'facebook'
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params

RN064/node_modules/react-native/Libraries/Vibration/RCTVibration.mm:33:49: error: type name requires a specifier or qualifier
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params

RN064/node_modules/react-native/Libraries/Vibration/RCTVibration.mm:33:72: error: use of undeclared identifier 'facebook'
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params

RN064/node_modules/react-native/Libraries/Vibration/RCTVibration.mm:35:27: error: use of undeclared identifier 'facebook'
  return std::make_shared<facebook::react::NativeVibrationSpecJSI>(params);



RN064/node_modules/react-native/Libraries/LinkingIOS/RCTLinkingManager.mm:27:33: error: cannot find protocol declaration for 'NativeLinkingManagerSpec'
@interface RCTLinkingManager() <NativeLinkingManagerSpec>

RN064/node_modules/react-native/Libraries/LinkingIOS/RCTLinkingManager.mm:188:20: error: use of undeclared identifier 'facebook'
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params

RN064/node_modules/react-native/Libraries/LinkingIOS/RCTLinkingManager.mm:188:49: error: type name requires a specifier or qualifier
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params

RN064/node_modules/react-native/Libraries/LinkingIOS/RCTLinkingManager.mm:188:72: error: use of undeclared identifier 'facebook'
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params

RN064/node_modules/react-native/Libraries/LinkingIOS/RCTLinkingManager.mm:190:27: error: use of undeclared identifier 'facebook'
  return std::make_shared<facebook::react::NativeLinkingManagerSpecJSI>(params);

As well as:

fatal error: module map file '/Users/username/Library/Developer/Xcode/DerivedData/RN064-fpnzltspmimnjpcudwlvlpjgalym/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap' not found
useful!
source:https://uonfu.com/
Github User Rank List