Skip to content

Commit 9372d36

Browse files
committed
add stability plan to README
1 parent 99edb10 commit 9372d36

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,29 @@ The UMD build is also available on [npmcdn](https://npmcdn.com):
5656

5757
You can find the library on `window.ReactRouter`.
5858

59+
### Versioning and Stability
60+
61+
React Router follows semver to the best of our interpretation of it. We want React Router to be a stable dependency that’s easy to keep current. Here is our upgrading stategy for your apps.
62+
63+
Assuming we are currently on version 1.0:
64+
65+
1. 2.0 is fully backward compatible with 1.0 so you can upgrade, and then update your code incrementally.
66+
2. All deprecated 1.0 API usage warns to the console and links to an upgrade guide.
67+
3. 3.0 will remove 1.0 deprecations completely.
68+
4. 3.0 will be released no sooner than three months after 2.0. This gives an API, in the worst case scenario, six months of life if you’re staying perfectly up-to-date.
69+
5. Some codemods that will automatically update your code will be available at rackt/rackt-codemod
70+
71+
> If it’s fully backwards compatible, why isn’t that a minor release?
72+
73+
If we didn’t provide the backwards compatibility then you wouldn’t be asking this question — but then upgrading would break your app. We don’t want to break your app, we want smooth, incremental upgrades.
74+
75+
In practice, this means you can:
76+
77+
1. Upgrade from 1.0 to 2.0 and your app will still run.
78+
2. Update your code incrementally to the new API, and you have three months before the next release to do it.
79+
3. Run the codemods to make some of (2) automatic.
80+
4. If your code runs without warnings, you can repeat this list with version 3.0
81+
5982
### What's it look like?
6083

6184
```js

0 commit comments

Comments
 (0)