-
Notifications
You must be signed in to change notification settings - Fork 404
0.57 Changelog #40
0.57 Changelog #40
Conversation
…og now since a lot has been picked/merged in
CHANGELOG.md
Outdated
|
||
Welcome to the 0.57 release of React Native! This release addresses a number of issues and has some exciting improvements. We've intentionally left this release in an extended release candidate state in order to improve quality. | ||
|
||
You may notice that this release's changelog is thinner than previous versions; that's not from lack of hard work -- this release includes 566 commits by 78 different contributors! Instead, we've taken feedback and prepared a changelog that contains only user impacting changes. Please share your feedback and let us know how we can make this even more useful. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's nice! I think one of the ideas that was suggested recently was to make it even thinner focusing on showcasing features one-by-one, in a more React way (as per their blog post) and leaving all the commits at the end by the link.
To give an example, instead of showing major improvements
to Accessibility API (line 19) with lots of commits, I would love to see list of improvements instead. Looks like this has been done already in line 11, so that's exactly what I am talking about.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@grabbou I like this idea; ultimately, I'd love for the changelog to be absent of commit hashes and authors. In my opinion, that's noise to users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, but I will wait for feedback from others that have worked with commits in this release a bit more!
Once again, thanks a lot for all the effort on doing the changelog! It's such an important piece of work to be done that gets delivered to every user in our community!
Builtin TypeScript support facebook/react-native@cbfe159#diff-b9cfc7f2cdf78a7f4b91a753d10865a2 |
@sunnylqm thank you for calling my attention to that! |
CHANGELOG.md
Outdated
|
||
Welcome to the 0.57 release of React Native! This release addresses a number of issues and has some exciting improvements. We've intentionally left this release in an extended release candidate state in order to improve quality. | ||
|
||
You may notice that this release's changelog is thinner than previous versions; that's not from lack of hard work -- this release includes 566 commits by 78 different contributors! Instead, we've taken feedback and prepared a changelog that contains only user impacting changes. Please share your feedback and let us know how we can make this even more useful. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, can you add the links to the 566 commits by 78 different contributors
as we did for last release (facebook/react-native@0.55-stable...0.56-stable) and a link to the discussion 0.57.x Discussion (#34) for the feedback?
CHANGELOG.md
Outdated
|
||
#### iOS specific additions | ||
|
||
- `WebView` can now use `WKWebView` internally if you pass `useWebKit={true}` ([e90d9ca](https://github.com/facebook/react-native/commit/e90d9ca), [9b3a6ec](https://github.com/facebook/react-native/commit/9b3a6ec), [f7f9d01](https://github.com/facebook/react-native/commit/f7f9d01), [94560ca](https://github.com/facebook/react-native/commit/94560ca), [06cce04](https://github.com/facebook/react-native/commit/06cce04), [1c3af59](https://github.com/facebook/react-native/commit/1c3af59), [5662598](https://github.com/facebook/react-native/commit/5662598), [1984f4b](https://github.com/facebook/react-native/commit/1984f4b), [1b73e76](https://github.com/facebook/react-native/commit/1b73e76), [d0b5a38](https://github.com/facebook/react-native/commit/d0b5a38), [0fa5bd8](https://github.com/facebook/react-native/commit/0fa5bd8), [527792a](https://github.com/facebook/react-native/commit/527792a), [ee971a7](https://github.com/facebook/react-native/commit/ee971a7), [d29c253](https://github.com/facebook/react-native/commit/d29c253), [0009d09](https://github.com/facebook/react-native/commit/0009d09), [078799f](https://github.com/facebook/react-native/commit/078799f), [f46dbc2](https://github.com/facebook/react-native/commit/f46dbc2), [262d286](https://github.com/facebook/react-native/commit/262d286), [959aacf](https://github.com/facebook/react-native/commit/959aacf), and [e0df3a1](https://github.com/facebook/react-native/commit/e0df3a1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you can also add the link to the blogpost http://facebook.github.io/react-native/blog/2018/08/27/wkwebview -- maybe in the highlights
CHANGELOG.md
Outdated
|
||
- Accessibility APIs now support accessibility hints, inverted colors, and easier usage of defining the element's role and states; read more at [@ziqichen6's excellent blog post](https://facebook.github.io/react-native/blog/2018/08/13/react-native-accessibility-updates) | ||
- Android is now using SDK 27, gradle 3.1, and support library 27.x; building with Android plugin 3.2 doesn't work due to the gradle scripts, so please stay on Android Studio 3.1 for now | ||
- We've changed the dependency tree around, specifically around babel presets -- if you have a custom `.babelrc` in place make sure you update it after upgrading |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that we should be a bit more descriptive here, as we discussed I think we should add a list of "manual steps" for the upgrade as a section, maybe right after the highlist section. I'll prep something in a dedicated comment
CHANGELOG.md
Outdated
### Highlights | ||
|
||
- Accessibility APIs now support accessibility hints, inverted colors, and easier usage of defining the element's role and states; read more at [@ziqichen6's excellent blog post](https://facebook.github.io/react-native/blog/2018/08/13/react-native-accessibility-updates) | ||
- Android is now using SDK 27, gradle 3.1, and support library 27.x; building with Android plugin 3.2 doesn't work due to the gradle scripts, so please stay on Android Studio 3.1 for now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we have an open issue in the main repo about this?
CHANGELOG.md
Outdated
- Accessibility APIs now support accessibility hints, inverted colors, and easier usage of defining the element's role and states; read more at [@ziqichen6's excellent blog post](https://facebook.github.io/react-native/blog/2018/08/13/react-native-accessibility-updates) | ||
- Android is now using SDK 27, gradle 3.1, and support library 27.x; building with Android plugin 3.2 doesn't work due to the gradle scripts, so please stay on Android Studio 3.1 for now | ||
- We've changed the dependency tree around, specifically around babel presets -- if you have a custom `.babelrc` in place make sure you update it after upgrading | ||
- There is now built-in TypeScript support in the Metro bundler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you can expand this a bit using this facebook/react-native#20030 (comment), or just link it for reference
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could also link this tbh https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript-and-babel-7/
Hey @turnrye thank you so much for the PR and the hard work you are putting into it! I've left some comments here and there, mostly are just links to add for easier reference. Aside from that, I think that as we discussed somewhere else ( - upgrade the version of rn in the package.json
- change the babel-preset dept from `"babel-preset-react-native": "^5",` to `"metro-react-native-babel-preset": "0.43.5",`, then change the `.babelrc` configuration to:
{
"presets": ["module:metro-react-native-babel-preset"]
}
- ensure that you have all the babel deps fixed to `beta.56` But ofc this will change once babel 7.0 is supported. EDIT: Sidenote, maybe we should aim to have the changelog be something closer to what we did for 0.56 here - http://facebook.github.io/react-native/blog/2018/07/04/releasing-react-native-056#the-big-changes (and btw may be worth linking or something because I think most people skipped 0.56 completely) EDIT2: may be worth linking also to babel7 migration guide http://babeljs.io/docs/en/next/v7-migration |
@kelset Thanks for the review. I've pushed changes that address the majority of your concerns. As I mentioned in chat, I'm curious if you think the upgrade steps are still accurate after today's additional changes. If you can, please give it another glance over :) I like the suggestino of making it more conversational, but I still feel strongly that there does need to be a play-by-play of the developer impacting changes. I think what may be best for 0.58 is to:
Thoughts on that are welcome, too. Cheers! |
Hey Ryan, Related to the commit, I'll leave a couple more comments. |
CHANGELOG.md
Outdated
} | ||
``` | ||
- Ensure that you have all the babel dependencies fixed to version `beta.56` | ||
- There is now built-in TypeScript support in the Metro bundler through Babel 7 and some other work! Learn more about that [here](https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript-and-babel-7/), and check out the [Babel 7 migration guide](https://babeljs.io/docs/en/next/v7-migration) for help with more complicated issues |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that the migration guide should be linked in the point above - and it should be written more to "now we support babel 7.0.0"
CHANGELOG.md
Outdated
|
||
- Accessibility APIs now support accessibility hints, inverted colors, and easier usage of defining the element's role and states; read more at [@ziqichen6's excellent blog post](https://facebook.github.io/react-native/blog/2018/08/13/react-native-accessibility-updates) | ||
- Android is now using SDK 27, gradle 3.1, and support library 27.x; building with Android plugin 3.2 doesn't work due to the gradle scripts, so please stay on Android Studio 3.1 for now | ||
- We've changed the dependency tree around, specifically around babel presets -- if you have a custom `.babelrc` in place make sure you update it after upgrading; that process looks like: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
related to the manual steps, I think it should be a dedicated section at the end (maybe), like literally
### How to update to this version
bla bla bla
* bla
* bla
* bla
CHANGELOG.md
Outdated
|
||
### Removed: features that have been removed; these are breaking | ||
|
||
- In the CLI, `unbundle` is now `ram-bundle` ([ebf5aea](https://github.com/facebook/react-native/commit/ebf5aea) by [@jeanlauliac](https://github.com/jeanlauliac)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be in the change section as a "breaking change" tbh
CHANGELOG.md
Outdated
- Upgrade babel-eslint to v9.0.0-beta.2 with better support for Flow ([abf1188](https://github.com/facebook/react-native/commit/abf1188) by [@rubennorte](https://github.com/rubennorte)) | ||
- Upgrade ESLint to 5.1.0 ([0f2f0ca](https://github.com/facebook/react-native/commit/0f2f0ca) by [@rubennorte](https://github.com/rubennorte)) | ||
- Upgrade Babel to v7.0.0-beta.54 ([b9d1c83](https://github.com/facebook/react-native/commit/b9d1c83) and [724c749](https://github.com/facebook/react-native/commit/724c749) by [@rubennorte](https://github.com/rubennorte)) | ||
- Metro is now at v0.43.6 ([169d683](https://github.com/facebook/react-native/commit/169d683), [bda84a3](https://github.com/facebook/react-native/commit/bda84a3), and [5288656](https://github.com/facebook/react-native/commit/5288656) by [@CompuIves](https://github.com/CompuIves) and [@rafeca](https://github.com/rafeca)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
metro, babel and babel-eslint and flow will need to be revised once we cherry pick and merge the necessary commits
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will watch for that.
You should add that in rn-cli.config.js I had to change my config from: |
Flagging that @kelset has a couple of additional things to add to the change log based on conversations from React Native EU. I believe it is something about NavigatorIOS being deprecated and asking people to try inline requires and rambundles. |
Yup I was talking with @Titozzz in a priv conv about those changes, I just need a bit of time to write properly down my notes - but yeah @turnrye I'll send you a couple extra notes for the Changelog over the weekend. The TLDR is:
|
I received your comments in the core chat and will be incorporating them shortly. |
Awesome, thanks Ryan for integrating them! Looks like in the play-by-play some pack versions are still outdated (ex. Metro, Babel, etc) but should be easy to fix |
|
||
We recommend using Xcode 9.4 as that is what we use to run our tests. | ||
|
||
### **Android** projects are now compiled using the _Android 26 SDK_ | ||
#### **Android** projects are now compiled using the _Android 26 SDK_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this 27 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was a formatting fix to 0.56, it is not part of 0.57's changes.
Gradle has been upgrade to 4.4, and |
Between rc.3 and rc.4 I had to change the following in - transformModulePath: require.resolve('./scripts/transformer.js'),
+ transformer: {
+ babelTransformerPath: require.resolve('./scripts/transformer.js'),
+ }, Some people may be using a custom transformer for css, graphql and other files. I however had no reason to keep the custom typescript transformer anymore. |
Out of tree platform support might be worth a mention under new features: facebook/react-native@03476a2 |
@empyrical can you write like a "one-liner" that would fit in the Changelog for that? I feel like neither me nor Ryan have good knowledge of it to be able to describe it properly - or would "A better implementation for supporting out of tree platforms" with a link to the issue in the discussion repo be enough? |
@gengjiawen I don't think that change for 4.4 has landed; at least I don't see it here: https://github.com/facebook/react-native/blob/0.57-stable/local-cli/templates/HelloWorld/android/build.gradle#L16 |
I mean gradle version, not android gradle plugin https://github.com/facebook/react-native/blob/0.57-stable/local-cli/templates/HelloWorld/android/gradle/wrapper/gradle-wrapper.properties |
Ah yes, thank you @gengjiawen ! Will update to reflect that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kelset, are you still planning to add something about rambundles/inline requires to these release notes?
CHANGELOG.md
Outdated
|
||
#### The Slimmening is happening | ||
|
||
As mentioned a few times in the past, the core team is focusing the repository on the base React Native features to make the whole ecosystem more maintainable. This change requires extracting some components into their own separate repos and removing old, unused code ([details here](https://github.com/react-native-community/discussions-and-proposals/issues/6)). 0.57 is **not** directly effected by any changes, but we want you to know that: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think people would feel better about this if it was stated as a way to help the community move fast and enable pull requests to be reviewed and merged quicker.
You are right, I'll tweak those paragraphs a bit to reflect your comments. (@turnrye I'll send those over ASAP) |
I've prepared a draft of the changelog. I'd love input and collaboration, especially on the highlights and introduction section.