Skip to content

Releases: santino/react-concurrent-router

v1.7.0

24 Feb 00:52
Compare
Choose a tag to compare

Full Changelog: v1.6.3...v1.7.0

New features:

  • Improve performance by preventing Route Component (and nested tree) re-renders by avoiding state update when isPendingEntry changes would not be used

Internal changes:

  • Updated dependencies

v1.6.3

12 Jul 17:06
Compare
Choose a tag to compare

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

07 Jul 10:52
Compare
Choose a tag to compare

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

07 Apr 22:02
Compare
Choose a tag to compare

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 version assistPrefetch could only be applied globally as a router option.
    This version introduces support to assistPrefetch 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

16 Mar 02:13
Compare
Choose a tag to compare

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

09 Jan 00:47
Compare
Choose a tag to compare

Full Changelog: v1.4.0...v1.5.0

New features:

  • Rewrite hooks to force re-render with up-to-date values
    Hooks like useHistory, useParams, and useSearchParams 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

07 Jan 12:25
Compare
Choose a tag to compare

Full Changelog: v1.3.0...v1.4.0

New features:

  • Add replace option to useSearchParams 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

20 Nov 01:37
Compare
Choose a tag to compare

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

15 Aug 00:57
Compare
Choose a tag to compare

Full Changelog: v1.2.0...v1.2.1

Fixes:

  • Fixed functionality of goBack and goForward functions exposed by useNavigation hook.

Breaking changes:

  • removed canGo function (available only on Memory router) from useNavigation 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

07 Jun 11:11
Compare
Choose a tag to compare

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