router5
: add newurlParamsEncoding
option to control how URL params are encoded and decoded when building and matching paths.router5
: add generic tocreateRouter
to infer dependencies type
react-router5-hocs
,react-router5
,redux-router5-immutable
,redux-router5
,router5-helpers
,router5-plugin-browser
,router5-plugin-listeners
,router5-plugin-logger
,router5-plugin-persistent-params
,router5-transition-path
,router5
,rxjs-router5
,xstream-router5
- Other
- Other
- #425 Change mr-router5 package name (@pzmosquito)
- #418 Fix typo in docs (@davidosomething)
react-router5
- #421 Fix function name (@davidosomething)
- David O'Trakoun (@davidosomething)
- Peter Zhang (@pzmosquito)
- Thomas Roch (@troch)
react-router5
- #396 Fix useRouteNode hook (@titouancreach)
router5-plugin-browser
- Titouan CREACH (@titouancreach)
- Todor Prikumov (@todorpr)
- @Morcatko
- Thomas Roch (@troch)
See migration guide: https://router5.js.org/migration/migrating-from-6.x-to-7.x
router5
- #386 Fix hasPlugin function. (@BEGEMOT9I)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Viliam Elischer (vire)
react-router5
,redux-router5
,rxjs-router5
,xstream-router5
react-router5
,router5
- Thomas Roch (troch)
react-router5
- #364 Don't set state on not mounted component. (@titouancreach)
- #365 Add a withRouter component. (@titouancreach)
react-router5
- #364 Don't set state on not mounted component. (@titouancreach)
router5
- Titouan CREACH (titouancreach)
- rlebosse
react-router5
router5
router5-transition-path
- Ilya Lebedev (Bacher)
- Mikhail Korepanov (Panya)
- Nishchal Gautam (cyberhck)
- Pirasis Leelatanon (1pete)
- rlebosse
- Thomas Roch (troch)
react-router5
- Thomas Roch (troch)
router5
,react-router5
,redux-router5
,router5-transition-path
,rxjs-router5
,xstream-router5
:
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Andrey Azov (azangru)
- Thomas Roch (troch)
- Rory Fitzpatrick (roryf)
- Thomas Roch (troch)
router5
- #305 Improve middleware TypeScript definition. (@troch)
- #302 Fix logger path in TypeScript definitions. (@vaurelios)
react-router5
- #304 Fix type error when upgrading to TypeScript 2.9.1. (@nervestaple)
redux-router5
- #301 Fix redux plugin type definition. (@eatonphil)
- Jim McGee (nervestaple)
- Phil Eaton (eatonphil)
- Thomas Roch (troch)
- Victor Aurélio Santos (vaurelios)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
react-router5
router5
redux-router5
- #273 Add redux 4 as peer dependency. (@ematipico)
- David Wippel (kelkes)
router5
- fix observable plugin listener registration
react-router5
- fix RouteProvider (new context API)
react-router5
router5
redux-router5
router5-transition-path
- react-router5@6.0.0 needs router5@6.1.0 and above
- Thomas Roch (troch)
router5
- Navigation options are now added to state objects (in
meta
) - You can now specify your custom navigation options: they will be added to state objects and are usable by your custom plugins and middlewares
- New
queryParams
option to configure how query parameters are built, and how they are parsed - New
caseSensitive
option (default tofalse
)
- Navigation options are now added to state objects (in
react-router5
- Alternative components using a render function have been added in addition to the higher-order components. Those components require a new provider, because they leverage React new context API (React >= 16.3, see https://github.com/router5/router5/tree/master/packages/react-router5). Higher-order components won't be deprecated, and will evolve to use React new context API once deprecated.
router5
- Navigation with browser plugin and
useHash
on IE11 fixed when manually changing the URL - Transition phase was reowrked to support correctly state mutations in middlewares using the done callback or promises
- Navigation with browser plugin and
- Path matching used to be case sensitive and it is now case insensitive by default (new
caseSensitive
option) - Query parameters in paths can no longer be defined with
[]
(brackets should be removed) - Option
trailingSlash
has been renamed tostrictTrailingSlash
: by default it isfalse
- Option
useTrailingSlash
has been renamed totrailingSlashMode
with value being'default'
,'never'
or'always'
- Option
strictQueryParams
has been renamed toqueryParamsMode
with value being'default'
,'strict'
or'loose'
- Query parameters: by default boolean values are now stringified to
'true'
and'false'
, null values are stringified without=
sign ({ param: null }
will be stringified to'?param'
). To keep your current behaviour intact, setqueryParams.nullFormat
to'hidden'
andqueryParams.booleanFormat
to'empty-true'
(see options below) - Private method router.makeState signature has changed (you shouldn't be impacted)
As described above, options have been revamped to make it easier and more intuitive to configure:
- trailingSlashMode:
'default'
: building follows path definitions'none'
: when building, trailing slash is removed'always'
: when building, trailing slash is added
- queryParamsMode:
'default'
: a path will match with any query parameters added, but when building, extra parameters won't appear in the returned path.'strict'
: a path with query parameters which were not listed in node definition will cause a match to be unsuccessful. When building, extra parameters won't appear in the returned path.'loose'
: a path will match with any query parameters added, and when building, extra parameters will appear in the returned path.
- queryParams:
arrayFormat
: Specifies how arrays should be stringified'none'
(default): no brackets or indexes are added to query parameter names ('role=member&role=admin'
)'brackets
: brackets are added to query parameter names ('role[]=member&role[]=admin'
)'index'
: brackets and indexes are added to query parameter names ('role[0]=member&role[1]=admin'
)
booleanFormat
: specifies how boolean values are stringified and parsed'none'
(default): booleans are stringified to strings ('istrue=true&isfalse=false'
)'empty-true'
: same as'none'
except true values are stringified without value ('istrue&isfalse=false'
). If you choose this boolean format, make sure to change the value of'nullFormat'
.'string'
: same as'none'
but'true'
and'false'
are parsed as booleans'unicode'
:true
andfalse
are displayed with unicode characters, and parsed as booleans ('istrue=✓&isfalse=✗'
)
nullFormat
: specifies how null values are stringified and parsed'default'
(default): null values are stringified without equal sign and value ('isnull'
)'string'
: null values are stringified to'null'
('isnull=null'
) and parsed as null values'hidden'
: null values are not stringified
- Thomas Roch (zaeleus)
- Michael Macias (zaeleus)
react-router5
- Don't pass new callback prorps to underlying hyperlink
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Manatsawin Hanmongkolchai (whs)
- Manatsawin Hanmongkolchai (whs)
router5
- Fix clone function to include route specific config like forwardTo
- Thomas Roch (troch)
react-router5
- #231 Typescript typings specify routerNode instead of routeNode #230. (@texttechne)
- Thomas Roch (troch)
react-router5
,redux-router5
,router5-helpers
,router5-transition-path
,router5
,rxjs-router5
,xstream-router5
react-router5
deku-router5
,examples
,react-router5
,redux-router5
,router5-helpers
,router5-transition-path
,router5
,rxjs-router5
,xstream-router5
- Sergey Slipchenko (faergeek)
router5
react-router5
redux-router5
redux-router5
router5
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
- Andy Chou (acchou)
- Andy Chou (acchou)
- Vincent Prouillet (Keats)
router5
router5
router5
- Thomas Roch (troch)
- Thomas Roch (troch)
- Thomas Roch (troch)
router5
- Thomas Roch (troch)
router5
- Thomas Roch (troch)
- Thomas Roch (troch)
- react-router5@5.0.2
- rxjs-router5@5.0.2
- xstream-router5@5.0.2
react-router5
,rxjs-router5
,xstream-router5
- Thomas Roch (troch)
- only preserve hash when
useHash
is false (e8bb4df) - pass not found state to middleware functions on start (0d0bf75)
- Not found state is now passed to middleware functions on start
- router
strictQueryParams
option is nowfalse
by default - browser plugin option
preserveHash
is nowtrue
by default - router5.helpers package has been renamed to router5-helpers
- router5.transition-path package has been renamed to router5-transition-path
- router5 won't be released with bower beyond version 4
For previous versions (4 and below), see: