Releases: santino/react-concurrent-router
v1.7.0
v1.6.3
Full Changelog: v1.6.1...v1.6.3
Bug fix:
- Make sure skip render only affects current navigation action and not future navigation (e.g. backward/forward)
v1.6.1
Full Changelog: v1.6.0...v1.6.1
Bug fix:
- Force route component remount. This is necessary when navigating from one route to another that renders the same component. This should not just be updated with new props but go through a fresh cycle of unmount and remount.
Ultimately this also fixes issues with history navigation (back/forward).
Extremely useful when navigating between pages with the same route but with different params (search/hash), to make sure components go through a fresh rendering cycle.
Internal changes:
- Updated all dependencies
v1.6.0
Full Changelog: v1.5.2...v1.6.0
New features:
- Support
assistPrefetch
on individual routes
assistPrefetch
is the config option that allows the router to integrate data prefetch requests with React Suspense by transforming your fetch requests into "Suspendable" resources.
Before this versionassistPrefetch
could only be applied globally as a router option.
This version introduces support toassistPrefetch
on individual routes.
This is extremely useful as it allows your application to use a data fetching library of your choice (such as Relay), but also to handle custom fetch for some routes that can leverage the React Suspense integration offered by RCR
Internal changes:
- Updated all dependencies
- Updated README documentation
v1.5.2
Full Changelog: v1.5.0...v1.5.2
Bug fix:
- Query param values are now URI encoded. Query param names, instead, are not encoded since it is bad design to have characters that are reserved for URIs within query params, as they are likely to break params parsing.
Internal changes:
- Updated all dependencies
v1.5.0
Full Changelog: v1.4.0...v1.5.0
New features:
- Rewrite hooks to force re-render with up-to-date values
Hooks likeuseHistory
,useParams
, anduseSearchParams
return values that are updated every time a new entry is computed by the router.
Given we have introduced, in v1.4.0, a functionality to skip render, we must consider that rendered Route components are no longer necessarily re-rendered when computing a router entry; hence they might not receive up-to-date values from the router.
This change makes sure that hooks returning values related to router entries (history, location, params) are always updated even when the Route component is not re-rendered.
v1.4.0
Full Changelog: v1.3.0...v1.4.0
New features:
- Add
replace
option touseSearchParams
hook to replace history entry and skip render.
This is useful when wanting to keep query parameters in sync with user interactions, f.i. to support page refresh or URL sharing, while keeping the ability to render the page consistently retaining the effects of user interactions.
Internal changes:
- Updated all dependencies
- Updated README documentation
v1.3.0
Full Changelog: v1.2.1...v1.3.0
New features:
Introduce useParams
and useSearchParams
hooks
Internal changes:
- Updated all dependencies
- Updated README documentation
v1.2.1
Full Changelog: v1.2.0...v1.2.1
Fixes:
- Fixed functionality of
goBack
andgoForward
functions exposed byuseNavigation
hook.
Breaking changes:
- removed
canGo
function (available only on Memory router) fromuseNavigation
hook.
Note: although this is technically a breaking change, it is not released as a major version because the function was broken as it was actually no longer exposed by the underlying dependency
history
.
Internal changes:
- Updated all dependencies
- Updated GitHub workflows to use Node 18 (current) instead of Node 17
v1.2.0
Full Changelog: v1.1.0...v1.2.0
New features:
Extended support to React versions 17 and 18
Note: In order to fully support React 18 the use of batchedUpdates API is removed as React 18 provides automatic batching. This might potentially cause a single additional re-render on applications that are not using React 18. The decision was made to keep RCR backward compatible without introducing a new version that is not compatible with React 16 and 17.
Internal changes:
- Updated all dependencies
- Updated Jest tests according to breaking changes of Jest v28
- Update bundlewatch configuration to target main as the base branch
- Update README documentation and links (to point to main branch)
- Remove unneeded usage of jsdom environment in tests