In November, last year, the React Native team shared a roadmap for React Native to provide better support to its users and collaborators outside of Facebook. The team is planning to open source some of the internal tools and improve the widely used tools in the open source community. Yesterday, they shared updates on the progress they have made in the two months since the release of the roadmap. Per the team, the goals were to “reduce outstanding pull requests, reduce the project’s surface area, identify leading user problems, and establish guidelines for community management.”
Updates to Pull Requests
The number of open pull requests was reduced to 65. The average number of pull requests opened per day increased from 3.5 to 7. Almost two-thirds of pull requests were merged and one-third of the pull requests closed. Out of all the merged pull requests, only six caused issues; four only affected internal development and two were caught in the release candidate state.
Cleaning up for leaner core
The developers are planning on reducing the surface area of React Native by removing non-core and unused components. The community response on helping with the Lean Core project was massive. The maintainers jumped in for fixing long-standing issues, adding tests, and supporting long-requested features. Examples of such projects are WebView that has received many pull requests since their extraction and the CLI that is now maintained by members of the community and received much-needed improvements and fixes.
Helping people upgrade to newer versions of React Native
One of the highest voted problems was the developer experience of upgrading to newer versions of React Native. The team is planning on recommending CocoaPods by default for iOS projects which will reduce churn in project files when upgrading React Native. This will make it easier for people to install and link third-party modules. The team also acknowledged contributions from members of the community. One maintainer, Michał Pierzchała from Callstack helped in improving the react-native upgrade by using rn-diff-purge under the hood.
Releasing React Native 0.59
For future releases, the team plans to:
- work with community members to create a blog post for each major release
- show breaking changes directly in the CLI when people upgrade to new versions
- reduce the time it takes to make a release by increasing automated testing and creating an improved manual test plan
These plans will also be incorporated in the upcoming React Native 0.59 release. It is currently published as a release candidate and is expected to be stable within the next two weeks.
The team will now focus on managing pull requests while also starting to reduce the number of outstanding GitHub issues. They will continue to reduce the surface area of React Native through the Lean Core project. They also plan to address five of the top community problems and work on the website and documentation.