Skip to content

Releases: uhyo/funstack-router

1.1.0

12 Mar 13:51

Choose a tag to compare

What's Changed

Features

  • Expose entryId and entryKey from Navigation API in useLocation (#151)
  • Implement reload navigation support with cache invalidation (#144)

Fixes

  • Convert sync loader errors to rejected promises (#147)

Full Changelog: 1.0.0...1.1.0

1.0.0

08 Mar 14:13

Choose a tag to compare

@funstack/router v1.0.0 🎉

The first stable release of FUNSTACK Router — a modern React router built on the Navigation API.

What's Changed

Breaking Changes

  • Remove useNavigate hook in favor of the native Navigation API (navigation.navigate()). (#132)

Features

  • Add two-phase route definition for React Server Components (RSC) support. (#121)
  • Add hardReload and hardNavigate utilities for bypassing router interception. (#126)

Fixes

  • Move hooks before early return in RouteRenderer to fix rules-of-hooks violation.

Internal

  • Use getter function for routes in setupInterception for better lazy route support.

Full Changelog: 0.0.10...1.0.0

0.0.10

22 Feb 08:08

Choose a tag to compare

What's Changed

Fixes

  • Reduce rendering work during hydration (cd12a28)

Full Changelog: 0.0.9...0.0.10

0.0.9

22 Feb 00:58

Choose a tag to compare

What's Changed

Breaking Changes

  • Replace ssrPathname prop with ssr config object for more flexible SSR configuration. Migration: change <Router ssrPathname="/path" /> to <Router ssr={{ path: "/path" }} />. (#109)

Fixes

  • Execute loaders during SSR when ssr.runLoaders is true. Loader results are now passed to components as the data prop, so server-rendered HTML includes loader content. (#110)
  • Stop fallback matching when a route is skipped during SSR. This prevents catch-all routes from incorrectly matching, which caused a 404 flash on hydration. (#113)
  • useLocation() now returns a valid URL during SSR when ssr.path is provided, instead of throwing. (#114)

Full Changelog: 0.0.8...0.0.9

0.0.8

18 Feb 06:22

Choose a tag to compare

What's Changed

Breaking Changes

  • Remove accidentally exported internal types (MatchedRouteWithData, LocationEntry). (#97)

Features

  • Implement form POST submission interception with route actions. (#95)
  • Add ssrPathname prop for SSR path-based route matching. (#99)
  • Add resetStateSync and make resetState trigger a transition. (#93)
  • Bypass React transitions for state-only updates (setStateSync/resetState). (#91)

Full Changelog: 0.0.7...0.0.8

0.0.7

13 Feb 14:25

Choose a tag to compare

What's Changed

Features

  • Add AI agent skill distribution via npm — consumers can run npx funstack-router-skill-installer to install the router skill into their project (#86)

Full Changelog: 0.0.6...0.0.7

0.0.7-alpha.0

11 Feb 03:06

Choose a tag to compare

0.0.7-alpha.0 Pre-release
Pre-release

What's Changed

Features

  • Add AI agent skill distribution via npm — ships a Claude Code skill alongside @funstack/router so consumers get context-aware AI assistance out of the box. (#86)

Full Changelog: 0.0.6...0.0.7-alpha.0

0.0.6

07 Feb 14:57

Choose a tag to compare

What's Changed

Breaking Changes

  • Remove useLocationSSR hook to prevent hydration mismatches. The hook was a footgun that easily caused hydration mismatches because the router context state and the actual DOM could diverge during hydration. Use a client-side effect approach (useLayoutEffect + Navigation API) instead. (#79)

Fixes

  • Improve hydration behavior by setting localEntryInternal as soon as the value is available.

Full Changelog: 0.0.5...0.0.6

0.0.5

07 Feb 08:07

Choose a tag to compare

What's Changed

Features

  • Wrap navigation state updates in startTransition and expose isPending. (#70)
  • Render pathless routes during SSR. (#71)
  • Add useLocationSSR hook for SSR-compatible location access. (#74)

Fixes

  • Skip pathless routes with loaders during SSR. (#73)
  • Follow the initialEntry while hydration.

Internal

  • Move from useSyncExternalStore to useState + useEffect for navigation state management. (#69)
  • Hoist constants out of Router component and remove redundant hydration sync. (#77)

Full Changelog: 0.0.4...0.0.5

0.0.4

24 Jan 10:42

Choose a tag to compare

What's Changed

Features

  • Add requireChildren option for route matching (#60)
  • Add RouteComponentPropsOf utility type for extracting route component props (#58)

Fixes

  • Improve loader arguments type (#386812d)

Internal

  • Use interface instead of intersection type for better type error messages (#333c6d6)

Full Changelog: 0.0.3...0.0.4