Skip to content
This repository has been archived by the owner on Jun 17, 2022. It is now read-only.

0.57 Changelog #40

Merged
merged 21 commits into from
Sep 12, 2018
Merged

0.57 Changelog #40

merged 21 commits into from
Sep 12, 2018

Conversation

turnrye
Copy link
Member

@turnrye turnrye commented Aug 26, 2018

I've prepared a draft of the changelog. I'd love input and collaboration, especially on the highlights and introduction section.

@turnrye turnrye requested review from hramos and kelset August 26, 2018 04:04
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.
Copy link
Member

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.

Copy link
Member Author

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.

Copy link
Member

@grabbou grabbou left a 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!

@sunnylqm
Copy link
Contributor

Builtin TypeScript support facebook/react-native@cbfe159#diff-b9cfc7f2cdf78a7f4b91a753d10865a2

@turnrye
Copy link
Member Author

turnrye commented Aug 28, 2018

@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.
Copy link
Member

@kelset kelset Aug 28, 2018

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)
Copy link
Member

@kelset kelset Aug 28, 2018

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
Copy link
Member

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
Copy link
Member

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
Copy link
Member

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

Copy link
Member

Choose a reason for hiding this comment

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

@kelset
Copy link
Member

kelset commented Aug 28, 2018

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 (I can't find where atm 😅, ok nvm here) I think we should add a list of manual steps for upgrading an existing project, something along these lines:

- 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

@turnrye
Copy link
Member Author

turnrye commented Aug 30, 2018

@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:

  • Move authors to the end
  • Remove commit references; if the context is important enough, make it more obvious that there is more info
  • Expand on the top section, maybe even adding some examples or other forms of media (screenshots are always compelling)
  • Engage the change author more proactively; I'd like to follow up with folks along the way rather than here at the end

Thoughts on that are welcome, too. Cheers!

@kelset
Copy link
Member

kelset commented Aug 30, 2018

Hey Ryan,
yeah those points are great!

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
Copy link
Member

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:
Copy link
Member

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))
Copy link
Member

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))
Copy link
Member

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

Copy link
Member Author

Choose a reason for hiding this comment

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

Will watch for that.

@Titozzz
Copy link
Contributor

Titozzz commented Sep 7, 2018

You should add that in rn-cli.config.js getProjectRoots got changed to watchFolders. facebook/react-native#20969.

I had to change my config from:
getProjectRoots: () => [path.join(__dirname), path.join(__dirname, '../../')],
To:
watchFolders: [path.join(__dirname, '../../')],

@elicwhite
Copy link
Contributor

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.

@kelset
Copy link
Member

kelset commented Sep 7, 2018

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:

  • we need to communicate about a couple future changes happening in >= 0.58
  • we need to explain properly in the manual steps about Metro config (some people may have rn-cli config)

@turnrye
Copy link
Member Author

turnrye commented Sep 9, 2018

I received your comments in the core chat and will be incorporating them shortly.

@kelset
Copy link
Member

kelset commented Sep 10, 2018

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_
Copy link
Member

Choose a reason for hiding this comment

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

Isn't this 27 ?

Copy link
Member Author

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.

@gengjiawen
Copy link
Member

Gradle has been upgrade to 4.4, and google() has been add as a dependency mirror.

@birkir
Copy link

birkir commented Sep 10, 2018

Between rc.3 and rc.4 I had to change the following in metro.config.js (or rn-cli.config.js for the classic version):

-  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.

@ikesyo ikesyo mentioned this pull request Sep 11, 2018
@empyrical
Copy link
Member

Out of tree platform support might be worth a mention under new features: facebook/react-native@03476a2

@kelset
Copy link
Member

kelset commented Sep 11, 2018

@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?

@turnrye
Copy link
Member Author

turnrye commented Sep 11, 2018

@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

@gengjiawen
Copy link
Member

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

@turnrye
Copy link
Member Author

turnrye commented Sep 11, 2018

Ah yes, thank you @gengjiawen ! Will update to reflect that.

Copy link
Contributor

@elicwhite elicwhite left a 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:
Copy link
Contributor

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.

@kelset
Copy link
Member

kelset commented Sep 12, 2018

You are right, I'll tweak those paragraphs a bit to reflect your comments. (@turnrye I'll send those over ASAP)

@kelset kelset merged commit a94c0cc into master Sep 12, 2018
@kelset kelset deleted the 0.57 branch September 12, 2018 11:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants