Closed elicwhite closed 4 years ago
Thank you! 🙏 I am about to get a deep dive into the CLI and prepare it for the next release. Will be back here with some features/updates/insights as that happens later this week.
I want to thank @simek for volunteering to handle updating the documentation with this release. Updating the API references at the start of the year increased learner satisfaction with the documentation by 70% (woohoo!).But they're very easy to let slide release over release! Until we have found a solid automation solution, it will be up to us to be meticulous and vigilant and keep them up to date with every release :)
The stub project for the docs release is here: https://github.com/facebook/react-native-website/projects/1
I have only skimmed over the changeset draft from this repository #205. I'm waiting for the official changelog in this thread, to start posting issues and implementing the necessary changes.
I will be happy to help you with the docs @Simek 💖
I bumped the dates a week, the branch didn't get cut yesterday
RN CLI recently released a minor version with profile-hermes
command: https://github.com/react-native-community/cli/pull/1246. I think it's worth featuring in the release, even though it's backwards compatible and available in 0.63
Bumping by another week. React Native EU and the US holiday kept things from moving as we hoped
@Simek, I'm also dropping a reference to the react-native-website PR here. I think it can be useful while writing docs for this release.
- Hermes with Proxy support (will now support react-native-firebase)
What exactly does that mean?
@mrousavy Now Hermes don't support js Proxy
. So you can't use some packages from react-native-firebase
which using Proxy
.
- Hermes with Proxy support (will now support react-native-firebase)
What exactly does that mean?
@mrousavy / @Bardiamist
:wave: react-native-firebase maintainer here :-), it is our understanding that our package @react-native-firebase/database
did not work with Hermes until recently as it required Proxy support. If Hermes supports Proxy now, then the last "not-Hermes-compatible" module for react-native-firebase should work. Success reports welcome of course (we have a few already)
Not sure if this is worth a by-name callout in the release notes or not (not my domain...) but those are the facts as I know them
Cheers
We need to cherry-pick https://github.com/facebook/react-native/pull/29477 for this release and possibly 0.63 as well. It reverts an annoying regression that was introduced around bundling in release mode. We will provide a better fix later.
CC: @hramos (would be great if the PR shipped to master before that)
Can PushNotificationIOS
library be removed from the core in this release? Are there any contraindications?
It has been deprecated ~1,5 years ago (https://github.com/facebook/react-native/blame/master/index.js#L386) and it is rarely updated since then. Lately, due to deprecations on the Apple side, it is causing some confusion and issues (https://github.com/facebook/react-native/issues/26199).
CC: @grabbou
Likely to be fixed before we release this version: https://github.com/facebook/react-native/issues/29984
Xcode 12 compatibility.
@Simek PushNotificationIOS is used in code at FB still. Someone internally will need to refactor that to remove it from core. Probably won't be this release.
@viniciusfont
I believe the release workers need the commit hash (of a commit merged to master already) to consider it. Your is:
https://github.com/facebook/react-native/commit/d54113d8c4bcd0e0c7a09acca60819724eb69926
Two other things to be considered/done before cutting the 0.64 branch:
Not sure if this is a correct thread to ask, but would it be possible to include https://github.com/facebook/react-native/pull/29728?
We should also try to get this merged https://github.com/facebook/react-native/pull/29882 as it is basically a port back to master of a fix that was done locally in 0.62
There is some news about Turbo Modules and the new JSI?
Now that the main PR still preventing us from cutting the release branch has been merged (Hermes on iOS), let's check in what are we missing still:
blocking PR: needs to be merged before cutting:
PRs we should merge before cutting (or cherry pick afterwards):
Issues that we should solve before 0.64.0:
I have updated the dates in the original issue to better reflect where we are. The work on https://github.com/facebook/react-native/pull/29914 is finally coming to an end (it is blocked by PRs to other repositories).
I am really optimistic that this one will be ready to go this week.
Would it be possible to include this PR facebook/react-native#30177 in 0.64.0?
It fixes bundle/release build issues on Android with gradle 6.5+ and android gradle 4.1.0+
React 17 is now landed. I would like to know when that is done to react-native to start an issue in react-native-web too.
Regarding Proxy support on Hermes, plethora of state management libraries that depend on Proxy support should be mentioned as well, like mobx.
Question, will the ios version of Hermes have Proxy as well?
I test react 17 in react-native Unexpectedly works.
Regarding Proxy support on Hermes, plethora of state management libraries that depend on Proxy support should be mentioned as well, like mobx.
Thanks, I updated the post to include mobx. Are there others you think should be mentioned that rely on proxy?
Question, will the ios version of Hermes have Proxy as well?
I believe so
I think react-native need to implement a way to do some jobs in the other thread (because of performance). Something like reanimated 2 is working on it.
Thanks, I updated the post to include mobx. Are there others you think should be mentioned that rely on proxy?
easy-peasy comes to mind. I think immer.js also needs proxy. Popular UI framework UI Kitten also uses proxy.
I believe so
Super excited to test out 0.64 when it hits RC.
I think react-native need to implement a way to do some jobs in the other thread (because of performance). Something like reanimated 2 is working on it.
There are quite few of them available right now, for example https://github.com/devfd/react-native-workers
I think react-native need to implement a way to do some jobs in the other thread (because of performance). Something like reanimated 2 is working on it.
There are quite few of them available right now, for example https://github.com/devfd/react-native-workers
That is not a good idea, I think the idea of reanimated is so pretty, it works like this
function aFunctionWhichRunningInOtherThread(){
'WorkLet'
// anything you want to run in another thread
}
@terrysahaidak that repo is no longer maintained.
@terrysahaidak you are a reanimated contributor and you know it better than me.
I'm hiding some of the comments above since they are OT -- no hard feelings, just trying to keep only relevant comments open to avoid confusion.
React 17 is now landed. I would like to know when that is done to react-native to start an issue in react-native-web too.
@hosseinmd there should be a commit landing in RN master soon to add React 17 support.
Let's write once more an overall update on status, since we are getting closer to have the main PR about Hermes in iOS merged:
blocking: needs to be merged/landed before cutting:
PRs we should merge before cutting (or cherry pick afterwards):
Issues that we should solve before 0.64.0:
@terrysahaidak you are a reanimated contributor and you know it better than me.
@hosseinmd please, open a separate issue in discussion and proposals repository for this discussion - we can continue there.
@kelset please hide this one too, thanks.
https://github.com/facebook/react-native/issues/29984 is fixed by upgrading to CocoaPods 1.10, will be part of my facebook/react-native#29914.
we need to explicitly mention that in the release notes.
Re: facebook/react-native#29728 for PlatformColor support for border colors. Reading the PR it looks like this only adds support for iOS and not for Android. If that's the case, we probably won't merge it in or prioritize it for 0.64.
facebook/react-native#30177 mentioned by @Theofilos-Chamalis above in https://github.com/react-native-community/releases/issues/207#issuecomment-714514600 was merged as https://github.com/facebook/react-native/commit/53f55001afbf07494de0df064a92dfdd42f37c98 ✨ - that means android gradle plugin 4.1 (i.e. "current gradle") is supported. Previously 4.0.x worked but 4.1.x would not include the bundle on android in release mode
Could you please merge https://github.com/facebook/react-native/pull/30164 before 0.64. cut?
Since React 17 got merged (https://github.com/facebook/react-native/commit/24bca492c349ab90d40f9444df0f477145a4c311), do we have the new JSX Transform in 0.64? (here)
Is it possible to release the 0.64 version without Hermes opt-in iOS first?
@MohamadKh75 I think the answer is yes, since it landed.
@gaodeng that's a good question, I don't think it has been considered so far. I'll try to bring it up as it currently is "the big blocker" and by reading the last few comments on the PR it looks like it's not quite as close as expected to being merged. Update on this: I've talked with some of the devs working on the PR and it seems we are indeed quite close to seeing it merged.
Update: the PR is landing and will be merged by tomorrow (most likely). I have updated the original issue and the plan is to cut the branch as soon as it lands.
@gaodeng in regards to your comment, Hermes will ship as an option in the upcoming release. It's one of the "big things" we have outlined for this particular release. The main reason that PR has been delayed was that, while working on it, we have identified a few (sometimes unrelated) bugs that were fixed at the same time. Fortunately, they are all resolved which will contribute to more stable development workflow anyway, regardless of turning Hermes on/off.
@kelset @grabbou Hermes IOS support just landed on master. https://github.com/facebook/react-native/commit/c95ee5ac18e22a32b12bf707bd47b926f09d3d51
@kelset is the metro bundler and related configs ready to support New JSX Transform in upcoming RN0.64? I'm not sure.
@kuasha420 good question, I've asked internally and while I assume that the answer is yes, I'll update here once I know for sure.
@kelset Speaking of good questions, here's a bad one. There's so much effort going on about Hermes on IOS but, is this something that Apple would allow in their store? Was there a discussion I missed or does Facebook have it on good authority that Apple's cool with it?
This release has not happened yet. This issue is for us to start tracking remaining work and coordinating with our relevant partner teams around the timing of the release
Highlighted Changes
profile-hermes
CLI command for converting Hermes tracing profile to Chrome formatWork Required
hermes-engine
pod has no version constraints specified, which should probably happen in theReact-Core.podspec
file and lock it with similar version constraints as the one applied to the Android version inpackage.json
. Fixed by https://github.com/facebook/react-native/pull/30432react-native-codegen
package have not been installed. See output here. In progress PR here https://github.com/facebook/react-native/pull/30449file://
protocol to resolve that [@grabbou]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.