Skip to content

Releases: remix-run/react-router

v2.1.1

25 Apr 16:06
Compare
Choose a tag to compare

Changes

  • Bugfix: Remove unintentionally released code change (#3280)

v2.1.0

25 Apr 16:06
Compare
Choose a tag to compare

Changes

  • Feature: Add support for onChange hook on routes (#3108)
  • Minor: Include full warning messages in non-minified UMD build (#3213)
  • Minor: Speed up path matching (#3217)

v2.0.1

25 Apr 16:05
Compare
Choose a tag to compare

Changes

  • Bugfix: Call transition hooks on child routes of parents whose params
    changed but the child's did not. (#3166)
  • Minor: Remove support for installing from source (#3164)

v2.0.0

10 Feb 18:06
Compare
Choose a tag to compare

Read the Full Upgrade Guide

Goals

You might enjoy reading this issue: #2646

  1. Clear up the coupling between History and Router with simpler APIs.
  2. Provide cleaner integrations with other libraries like Redux, Relay, Async Props etc.
  3. Stop providing API that conceals usage of context. It is now a documented feature of React so developers using Router can implement their own opinions on how best to use context: Mixins, higher-order components, decorators, etc. React Router no longer has an opinion, but instead uses the lowest level feature of React. This project wants to be an incredibly useful routing library and doesn't want to get hung up on best-practice patterns for getting stuff from up top to down low.
  4. Draw a clean line between what goes to Route Components as props and what goes on context.

For a lot of apps this upgrade might look like API churn. Underneath the hood there are significant differences that make integrating with the rest of the React ecosystem more straightforward. Thanks for your continued patience and support as we all build this tool together. It's hard to imagine the top-level API changing much after this. But if it does, rest assured we are committed to ...

Backwards Compatibility and Deprecation Warnings

This has been a community project from the start, we need your help making the upgrade as smooth as possible for everybody!

We have done our best to provide backwards compatibility with deprecated APIs. If you drop in v2.x into a v1.x application and it doesn't run, then there is a bug. Please open an issue when you discover what the problem is so we can get a fix out.

The deprecation warnings should also lead you to the relevant part of this document. If one doesn't, please open a pull request with a fix. Also, if any part of this document could be improved, please let us know how. Confound it, our bias is often inescapable!

Upgrade Automatically with Codemods

Using a tool called jscodeshift, we have made available some codemods for upgrading your code to the new APIs automatically: https://github.com/rackt/rackt-codemod

A codemod is much like Babel, but instead of converting your ES2015 code to ES5 compatible syntax, it does a limited set of transformations on function names, arguments, common patterns and more. One way to think of jscodeshift (the underlying tool) is "jQuery for code". These codemods aren't bulletproof, so be sure to test your code after you run them. But they can help with upgrading a large codebase to remove deprecation warnings you're now triggering.

Changes since rc6

  • Add back basename support in match (#3054)

v2.0.0-rc6

06 Feb 05:09
Compare
Choose a tag to compare
v2.0.0-rc6 Pre-release
Pre-release

This should be the final release candidate before 2.0.0 final. Please test this version!

Changes

  • Breaking: Removed default top-level <Router> export (#2906)
  • Use history.createLocation where possible (#2910)
  • Fix initial routing state after match (#2965)
  • Reduce stack size from matching routes (#2923)

v2.0.0-rc5

14 Jan 19:55
Compare
Choose a tag to compare
v2.0.0-rc5 Pre-release
Pre-release

Changes

  • Export createMemoryHistory #2792
  • Fix warnings caused by React Dev Tools #2803
  • Add passing custom histories to match #2813
  • Fix basename regression #2822
  • Add back deprecated RoutingContext export #2851
  • Improve support for server rendering async routes #2883

v2.0.0-rc4

30 Dec 23:40
Compare
Choose a tag to compare
v2.0.0-rc4 Pre-release
Pre-release
  • Also do not create a hashHistory on the server.

v2.0.0-rc3

30 Dec 23:36
Compare
Choose a tag to compare
v2.0.0-rc3 Pre-release
Pre-release

rc2 hit an NPM packaging bug. This is a repackaging with one fix included:

Changes

  • Rebuilt with history correctly included.
  • Don’t create browserHistory on the server

v2.0.0-rc2

30 Dec 20:57
Compare
Choose a tag to compare
v2.0.0-rc2 Pre-release
Pre-release

Read the fancy upgrade guide.

Changes

Lots of stuff! Here's the summary.

  • Added render prop to Router
  • Added singleton browserHistory and hashHistory
  • Added createMemoryHistory
  • Deprecated all mixins
  • Replaced context.history with context.router
  • Deprecated Route Component props.history
  • Deprecated context.location

v2.0.0-rc1

30 Dec 20:57
Compare
Choose a tag to compare
v2.0.0-rc1 Pre-release
Pre-release

Don't worry about it. See v2.0.0-rc2 instead!