Skip to content

v4.4.0-beta.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@mjackson mjackson released this 29 Sep 07:39

This is primarily a maintenance release that is fully backwards compatible with 4.3.1 while also improving compatibility with React 16 and preparing for the future.

The main features of this release are:

  • Removed the single-child restriction in <Router> so you can have multiple children, provided you're using React 16
  • Migrated our underlying infrastructure to use React's new context API. A HUGE thank-you to @timdorr who provided the initial work required to migrate the codebase to React's new context API (see #5908)
  • Removed all traces of the deprecated componentWillMount and componentWillReceiveProps

🚨 If you were accessing our private context API your code will break. If you need stuff on context, use a <Route> or withRouter instead. It's all the same stuff, and that's our public API 🚨

Other housekeeping that was done:

  • Migrated to use babel-preset-env + a custom list of proposal plugins we use instead of the deprecated babel-preset-es2015 + babel-preset-stage-1
  • Improved testing infrastructure. Now, instead of running a build when you're working on e.g. react-router-dom and you need some changes in react-router, you don't have to go and rebuild it to test things out. This should make the repo easier to work with
  • Added some more warnings in dev mode

As always, you can try everything out using the next tag:

yarn add react-router@next
yarn add react-router-dom@next
yarn add react-router-config@next

We will be paying close attention to the feedback on this release and hope to release 4.4.0 final soon!

Enjoy 😅