github meursyphus/ssgoi v7.1.0
SSGOI 7.1.0 — Router boundaries and reliable history transitions

latest releases: v7.1.2, v7.1.1
3 hours ago

SSGOI 7.1.0 promotes 7.1.0-beta.4 to the stable npm latest channel. All eight @ssgoi/* packages are released together, and the agent setup guide now points to 7.1.0.

Why 7.1 is a minor release

This cycle adds public capabilities beyond the 7.0 maintenance releases: ready-made framework route boundaries, a DOM-free shared runtime, and an experimental React Native adapter with Expo Router integration. Existing v7 web root imports, route rules, and manual boundaries remain supported; adopting the new router entry points is optional. The native integration remains experimental despite sharing the stable package version.

Ready-made router boundaries

Applications no longer need to copy a router-specific boundary component before their first transition. Import SsgoiRouteBoundary from the entry point for your router. #403

Router Entry point
Next.js App Router @ssgoi/react/nextjs
React Router @ssgoi/react/react-router
TanStack Router @ssgoi/react/tanstack-router
SvelteKit @ssgoi/svelte/sveltekit
Nuxt @ssgoi/vue/nuxt
Vue Router @ssgoi/vue/vue-router
SolidStart @ssgoi/solid/solidstart

The adapters provide pathname-based defaults and support routeKey and resolve for persistent shells and custom route identity. Next.js handles URL-hook Suspense and selected parallel-slot segments; SvelteKit keeps its detach-before-navigation lifecycle inside the adapter. Router peers are optional, and root imports do not load unused routers. The applicable templates and setup guides now use these entries. Angular and Qwik retain their existing page-root integration.

Navigation that remembers the selected effect

  • A fresh link or explicit router navigation is treated as forward navigation, even when it leads to the previous pathname. #406
  • Browser Back reverses the effect selected when a page was opened, and Forward replays that selection. For example, a one-way cart → supplier slide returns with the same slide on Back, while a fresh supplier → cart link can select a different matching rule. #407
  • History entries retain the selected effect, semantic direction, and scroll policy. A stale Navigation API identity can no longer override the committed History API entry and lose the recorded effect. Unknown or unrecorded entry pairs fall back to normal rule matching; retained history is bounded and discarded forward branches are pruned.

Shared runtime and experimental native support

@ssgoi/core/runtime exposes DOM-free animation primitives, route matching, presence handling, physics, and numerical motion plans. Existing web types retain their HTMLElement defaults. #404

@ssgoi/react-native adds native fade and slide playback through Reanimated. Its optional @ssgoi/react-native/expo-router entry provides a file-based SsgoiRouteBoundary that retains the actual outgoing React screen and route context until the animation finishes. The first milestone covers one iOS/Android stack, push/pop/replace, reduced motion, and interrupted-navigation cleanup.

Native support is still experimental. Device/simulator rendering, performance, and physical back behavior need validation; interactive gestures, predictive-back progress, shared elements, nested navigators, and Expo Web remain follow-up work. Start with the Expo template and its pinned dependency baseline. The full web preset catalog does not apply to native screens.

What happened between 7.0 and 7.1

The previous library GitHub Release was 7.0.0, while npm's web latest channel reached 7.0.4. This release also brings that intervening work into the GitHub release history:

  • Fixed outgoing route identity and visibility during React Activity / Next.js cacheComponents hide/show commits. #395
  • Softened drill parallax motion, then refined non-directional vertical axis motion into an overlapping fade with a short incoming rise and longer settle. Added a YouTube Mobile showcase for the updated effect. #397, #398
  • Simplified mobile docs navigation, aligned transition guides with published demos, and added an installable SSGOI agent plugin with demo links. The plugin has its own release/version lifecycle. #390, #391, #393, #394
  • Introduced prerelease-aware release scripts and published the 7.1.0-beta.0 through beta.4 series while stabilizing navigation direction and history replay. This stable release carries the beta.4 implementation forward and updates the publication guidance.

Upgrade

npm install @ssgoi/react@7.1.0

Use your framework's package in place of @ssgoi/react, and keep any explicitly installed @ssgoi/* packages on the same version. Beta users can replace 7.1.0-beta.4 with 7.1.0. The setup guide and framework guides describe the optional router boundaries.

Published at 7.1.0 under latest: @ssgoi/core, @ssgoi/angular, @ssgoi/qwik, @ssgoi/react, @ssgoi/react-native, @ssgoi/solid, @ssgoi/svelte, and @ssgoi/vue.

Release validation

  • All eight package builds pass.
  • 147 core tests, 18 React adapter tests, and 6 SvelteKit lifecycle tests pass.
  • All 20 native tests pass with each of the iOS and Android Jest presets. These use native mocks and do not substitute for device validation.
  • Packed-consumer router and native isolation checks pass, including strict types, import/bundle checks, optional-dependency isolation, and an unused legacy router.
  • Documentation TypeScript and changed-source ESLint checks pass.
  • npm registry checks confirm latest: 7.1.0 for all eight packages and ^7.1.0 internal dependencies. A fresh npm consumer installs core/React from latest and successfully imports the provider, transitions, and shared runtime.

Full changelog: v7.0.0...v7.1.0

Don't miss a new ssgoi release

NewReleases is sending notifications on new releases.