-
Notifications
You must be signed in to change notification settings - Fork 404
0.57.4 Discussion #54
Comments
Catching up from #48:
Edit: |
(I'm aware it hasn't been merged yet, but it's a small yet critical fix and been successfully tested by a few users now.) |
This comment has been minimized.
This comment has been minimized.
I nominate
(From #48 (comment)) |
This comment has been minimized.
This comment has been minimized.
Is there any timeline when will be published version 0.57.5? |
It doesn't look like it was backported.
|
Is it possible to get facebook/react-native@7a914fc included in this release? This commit will fix our Jest tests and allow us to upgrade to v0.57.x |
I'm still waiting for the React sync commit to land, so until that commit is on master 0.57.5 won't be released. @mikemorris the PR is currently being imported, hopefully it will land on master soon. @dryganets I'm not sure I understand what you are referring to 😅 |
That was successfully landed. 🎉 So let me nominate the commit:
|
Till it will be synced to React 16.6 my two cents to PRs: Updated
|
Would be nice if we could get facebook/react-native#21179 into 0.57.5, it solves issue facebook/react-native#18997. |
@kelset |
Suggestion for 0.57.5:
|
@brunolemos that commit is already in 0.57.x since .2 -> facebook/react-native@5627616 Small update: the sync commit landed during the weekend but it caused some crashes so it was reverted (This is one of the benefits of Facebook running on master 😅). |
This commit facebook/react-native@506f920 should be cherry-picked to resolve issues caused by a breaking change that recently shipped. This is to fix multiple crashes that affect RNNavigation by Wix users. |
@grabbou Are you saying about facebook/react-native@b002df9? That is already nominated in #48 and #54 (comment). |
@grabbou, this alongside syncing with React alpha. Can RN generally not cherrypick big changes that's potentially breaking on minor releases (0.57.x)? I'm not seeing enough stability on minor releases that's now used for integrating new features. Shouldn't more major changes wait for cherrypicking on the next major release? My 2c and whether this should be a discussion on a new issue, if there's much to discuss. |
It's about tradeoffs, since 0.58 is going to have some major breaking changes. We'll discuss more about this during the next core meeting happening later this week. In the meantime, since I haven't got any update on the state of the React sync from the FB team we'll probably test a new 0.57.5 without it because I feel that this release is long overdue (there are already many commits I want to rollout, like the one to restore UIImplementationProvider). |
About cherry-picking something significant like increasing React version is double-edged. On one side when is everything OK updating packages should be fine, because if is package based on semantic versioning then updating minor version should be without any disasters. We are using 0.57.4 without any problems. But i agree we are not all. On the other hand we don't really know how are two software products coupled together in 100%. They could be coupled with non-public API, internal hooks or something else than documented public APIs, like we seen with change I am usually happy to touch "newest" technology as quick as possible, anyway stability of (any) product is major priority. Even more if it is just some minor or patch release. @kelset is RN 0.57.4 compatible with React 16.5.2 ? I don't test it yet. If so, we can add note to changelog, that if user have any issues with 16.6 alpha it can be safe downgraded. |
Looks like a great list of mostly bug fixes. Thanks @kelset. At the FB meeting, any possibility to bring up accelerating a sync with React 16.6.x release? I want to upgrade my RN use but I personally still don't want to with a React alpha dependency. |
@fungilation it's been worked on. These syncs are not quite straightforward to perform, and this time around we're getting more people from across Facebook's JavaScript tooling teams to jump in to see if we can streamline the process for future releases. In this particular case, we landed the 16.6 sync last week (facebook/react-native@8b275a8), but were forced to revert it due to some critical bugs we encountered (facebook/react-native@6448f4e). We're working hard to move past these issues and land a 16.6 sync in master again. |
@kelset Would it help if I squash my changes under I'm sure I can handle the |
Update on my side: I've talked with the FB team about the Android crash and by removing some commits that I have cherry picked I managed to fix the issue I posted above. But then I stumbled again on it (= Android crash during test phase) when trying to upgrade to Metro 0.49 (adding the jest 24 alpha commits don't seem to affect the outcome, but I've learned is actually required for Metro to work properly) 😰 The list of commits I managed to pick without issues is:
And this is the "backlog" I want to have for the release too:
That said, if anyone want to take a stab at understanding what's wrong, you can (if you are on a mac):
@mmccartney thanks for wanting to help, I think that the best thing would be, once we've managed to cherry pick the whole list without issues, for you to try and replicate the fix on top of |
Hey everyone - quick update: I've attempted once more to cherry pick the commits and test locally, and by removing the ones bumping jest, metro and fbjs-script I was able to have everything ✅ locally. So I proceeded to add on top of that the React sync, so that we can move away from the 16.6 alpha into 16.6.1 (which, from my understanding, should also enable hooks - but pls double check) - I've retested everything locally and still ✅. I've now pushed this list of commits to the remote branch for the CI tests. A couple of other notes:
EDIT: ok, CI is being a bit annoying, something wrong with Flow and Metro. You can check the errors here and to repro simply checkout to |
Want to confirm, that React 16.6.1 with sync will ship in RN 0.57.5? Hurray if so. As for being more conservative on accepting cherry picks, I assume that's for the minor version releases? Wouldn't want to slow down progress in the main releases with rc's. |
I understand it would be for both. From a maintainer's point of view, it's the same amount of work to land a cherry-pick in 0.57.5 as it would be on 0.58.0-rc.1 once the RC is cut. I'd venture to say we should be even more conservative about commits that are cherry picked into the RC over a patch version, since the goal of the RC is to ensure the next release is stable: cherry-picks into a RC should strictly fix regressions introduced by the RC cut itself. Take for a example a change that made it into the RC that depends on a newer version of Metro, but the Metro bump commit missed the RC cut - it would be reasonable to cherry-pick the Metro bump commit. On the other hand, a fix for a long standing issue that landed on master after the RC cut can wait for the next patch release once RC hits stable. This is something that is still in discussion, and keep in mind that maintainers can be convinced otherwise by simply putting in the work. If you strongly believe a commit can't wait for the release, sending a PR to the stable branch with the commit applied cleanly and all tests passing will go a long way towards making your case. Part of the motivation behind this discussion is the fact people often asks for commits to be cherry-picked without verifying if there are other commits that need to be pulled in as well in order to keep tests green. |
There's a few issues happening:
I'm not sure what these mean, but upgrading Edit: 0.83 seems to get rid of them as well, and only introduces a few more errors compared to 0.78
I think this was fixed in facebook/metro#278 but later reverted in facebook/metro@aba22ad (I guess a new version of flow was supposed to fix it?). Nonetheless, upgrading |
facebook/react-native#22230 has my work from facebook/react-native#21458 done as a single commit (for easy picking) and against the |
Good Monday everyone - and thanks for keeping the conversation moving:
|
Update:
This means that technically I could proceed with the bump commit and release 0.57.5. Before that, though, I'd like to ask you to test* it via changing your dependencies in the package.json to
My test with it forced me to re-apply the workaround fix for Xcode 10 to build iOS properly, so please let me know if it was just something with the machine I used for testing - because I'd really prefer not to create new or more complex issues for those who will upgrade to this version. Based on the feedback I'll get in the next 24hrs we'll decide with the core if we can proceed with the release.
|
I will try internally in our circle ci @kelset but here's something public with detox tests https://travis-ci.com/ptomasroos/react-native-idfa/builds/91078892 |
Works for me locally using Xcode 10.1, without running the workaround fix for 3rd party dependencies. |
Works for me. |
All green in our internal ci + test environment, both for android + ios (we're a cocoapod user since 2y ago, just for the record that nothing broke in the podspec) |
Thanks everyone for the feedback, I'll proceed with the release later today. @a-tarasyuk as I mentioned in my comment, Android has issues when RN is pulled from GitHub ;) |
We compile everything locally (because of possibility to cherry pick ourselfs) and that shows no sign of issues on android FYI @kelset |
Thanks everyone for helping out with the discussion, 0.57.5 just landed on npm. I'll close this issue in favour of a new one to discuss the next patch release. |
Conversation on this thread are limited to 0.57.4 release's major issues and backport (cherry-pick) requests from commits that are already on master - so that we can then produce a 0.57.5 release in the near future.
An example of a good such request is a bug fix for a serious issue that has been merged into master but did not make the 0.57.4 cut.
In other words, if you cannot point to a particular commit on master, then your request likely belongs as a new issue in http://github.com/facebook/react-native/issues.
The text was updated successfully, but these errors were encountered: