Releases: uhyo/funstack-router
Releases · uhyo/funstack-router
1.1.0
1.0.0
@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
useNavigatehook in favor of the native Navigation API (navigation.navigate()). (#132)
Features
- Add two-phase route definition for React Server Components (RSC) support. (#121)
- Add
hardReloadandhardNavigateutilities for bypassing router interception. (#126)
Fixes
- Move hooks before early return in
RouteRendererto fix rules-of-hooks violation.
Internal
- Use getter function for routes in
setupInterceptionfor better lazy route support.
Full Changelog: 0.0.10...1.0.0
0.0.10
0.0.9
What's Changed
Breaking Changes
- Replace
ssrPathnameprop withssrconfig object for more flexible SSR configuration. Migration: change<Router ssrPathname="/path" />to<Router ssr={{ path: "/path" }} />. (#109)
Fixes
- Execute loaders during SSR when
ssr.runLoadersistrue. Loader results are now passed to components as thedataprop, 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 whenssr.pathis provided, instead of throwing. (#114)
Full Changelog: 0.0.8...0.0.9
0.0.8
What's Changed
Breaking Changes
- Remove accidentally exported internal types (
MatchedRouteWithData,LocationEntry). (#97)
Features
- Implement form POST submission interception with route actions. (#95)
- Add
ssrPathnameprop for SSR path-based route matching. (#99) - Add
resetStateSyncand makeresetStatetrigger a transition. (#93) - Bypass React transitions for state-only updates (
setStateSync/resetState). (#91)
Full Changelog: 0.0.7...0.0.8
0.0.7
0.0.7-alpha.0
What's Changed
Features
- Add AI agent skill distribution via npm — ships a Claude Code skill alongside
@funstack/routerso consumers get context-aware AI assistance out of the box. (#86)
Full Changelog: 0.0.6...0.0.7-alpha.0
0.0.6
What's Changed
Breaking Changes
- Remove
useLocationSSRhook 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
localEntryInternalas soon as the value is available.
Full Changelog: 0.0.5...0.0.6
0.0.5
What's Changed
Features
- Wrap navigation state updates in
startTransitionand exposeisPending. (#70) - Render pathless routes during SSR. (#71)
- Add
useLocationSSRhook for SSR-compatible location access. (#74)
Fixes
- Skip pathless routes with loaders during SSR. (#73)
- Follow the
initialEntrywhile hydration.
Internal
- Move from
useSyncExternalStoretouseState+useEffectfor 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
What's Changed
Features
- Add
requireChildrenoption for route matching (#60) - Add
RouteComponentPropsOfutility 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