# Stackflow - Changelog ## 2026.04.30 Fix `fallbackActivity` callback being invoked on every initialization regardless of route matching outcome. Restored the pre-1.8.0 contract: the callback is now called only when no route matches `currentPath`. Apps that perform side effects in this callback (e.g. Sentry logging for unknown deep links) no longer fire on successful matches. [`2c5786a`](https://github.com/daangn/stackflow/commit/2c5786a2934c3d2b74c20e8c57465ae03b3d3416) Released packages: * 📦 [@stackflow/plugin-history-sync@1.10.1](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.10.1) *** ## 2026.04.15 Add lifecyclePlugin and useFocusEffect hook for activity focus/blur lifecycle [`39dbf81`](https://github.com/daangn/stackflow/commit/39dbf81472af06daa5c40da098e232c2fe3b4a92) * `useFocusEffect(callback)` hook to register per-activity focus/blur callbacks * Detection and invocation in plugin `onChanged` (outside React render cycle) * `callbackRef` pattern for always-latest callback without `useCallback` * Error isolation via `runSafely()` for all user callbacks Released packages: * 📦 [@stackflow/plugin-lifecycle@0.1.0](https://npmjs.com/package/@stackflow/plugin-lifecycle/v/0.1.0) *** Add README documentation for plugin-lifecycle [`fce2047`](https://github.com/daangn/stackflow/commit/fce204702b876869764076f74246319623fb3e89) Released packages: * 📦 [@stackflow/plugin-lifecycle@0.1.0](https://npmjs.com/package/@stackflow/plugin-lifecycle/v/0.1.0) *** ## 2026.04.03 Fix intermittent incorrect transition state when `transitionDuration` is set to 0 by ensuring `now >= eventDate` in the initial aggregate call within `dispatchEvent`. [`0160f82`](https://github.com/daangn/stackflow/commit/0160f82738e45932d13715564c4d1da2c4698c18) Released packages: * 📦 [@stackflow/core@1.3.2](https://npmjs.com/package/@stackflow/core/v/1.3.2) *** ## 2026.03.30 Add blockerPlugin and useBlocker hook for navigation blocking [`c740c5e`](https://github.com/daangn/stackflow/commit/c740c5e28c30afc23fff8705c405cefa514a1f35) * `useBlocker({ shouldBlock, onBlocked })` hook to declare blocking policies per activity * Blocking set model: multiple blockers can block a navigation, all must `proceed()` for it to execute * Only blockers from active (`isActive: true`) activities are evaluated * `onBlocked` notifications are serialized in navigation occurrence order (no re-entrancy) * Error isolation: one blocker's `onBlocked` throwing does not prevent other blockers from being notified * Plugin-level `onError` option for custom error handling (defaults to `console.error`) * Blocker cleanup on component unmount; previously captured `proceed` remains callable Released packages: * 📦 [@stackflow/plugin-blocker@0.1.0](https://npmjs.com/package/@stackflow/plugin-blocker/v/0.1.0) *** feat(plugin-sentry): add Sentry browser tracing plugin for Stackflow navigation events [`7ad3502`](https://github.com/daangn/stackflow/commit/7ad3502f403aac86f0b47d47422f3a89ecb0b7c1) Released packages: * 📦 [@stackflow/plugin-sentry@0.1.0](https://npmjs.com/package/@stackflow/plugin-sentry/v/0.1.0) *** ## 2026.03.13 fix(core): prevent duplicate setInterval in dispatchEvent [`4d3b294`](https://github.com/daangn/stackflow/commit/4d3b29414aaa42ee405104f9cf7fb9c687fdf54c) Released packages: * 📦 [@stackflow/core@1.3.1](https://npmjs.com/package/@stackflow/core/v/1.3.1) *** fix(react-ui-core): clamp swipe-back dx to prevent left-drag screen movement [`b9c1946`](https://github.com/daangn/stackflow/commit/b9c19469fe1fcdb4023493c06cf3fd98bb710d91) Released packages: * 📦 [@stackflow/react-ui-core@1.3.4](https://npmjs.com/package/@stackflow/react-ui-core/v/1.3.4) *** ## 2026.01.29 Add encode option to Route interface for converting activity params to URL string params [`45fb7ba`](https://github.com/daangn/stackflow/commit/45fb7ba271b8aaf754d25c2a241e54bd15bdd2dc) Released packages: * 📦 [@stackflow/plugin-history-sync@1.10.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.10.0) *** ## 2026.01.07 Add an option to skip default history setup transition [`a7d0c01`](https://github.com/daangn/stackflow/commit/a7d0c01c171001e6d99432a1df2242ef8faca011) Released packages: * 📦 [@stackflow/plugin-history-sync@1.9.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.9.0) *** ## 2026.01.06 Improve scheduling of Activity preparation tasks by marking them as passive effects. [`57fd2da`](https://github.com/daangn/stackflow/commit/57fd2da00bffe25d0865baaffac63b2db394814d) Released packages: * 📦 [@stackflow/react@1.12.0](https://npmjs.com/package/@stackflow/react/v/1.12.0) *** Make structured activities defined by other than the standard constructor can be preloaded and cached [`4b894ae`](https://github.com/daangn/stackflow/commit/4b894ae7d80741badadf0a6c67e9ccd2aef4de6d) Released packages: * 📦 [@stackflow/react@1.12.0](https://npmjs.com/package/@stackflow/react/v/1.12.0) *** ## 2025.12.16 #2 Attach state tracking instruments to original promise when creating SyncInspectablePromises with Promises [`43cd76c`](https://github.com/daangn/stackflow/commit/43cd76c8c5b9b321b2bb8832bc07278ba47493e8) Released packages: * 📦 [@stackflow/react@1.11.1](https://npmjs.com/package/@stackflow/react/v/1.11.1) *** ## 2025.12.16 utilize synchronously inspectable promise to optimize suspense fallback rendering [`3cb6e33`](https://github.com/daangn/stackflow/commit/3cb6e33349b0bcd64f2ee1e5786e0977d3eb4d29) Released packages: * 📦 [@stackflow/react@1.11.0](https://npmjs.com/package/@stackflow/react/v/1.11.0) *** Remove data loader cache [`f05ae23`](https://github.com/daangn/stackflow/commit/f05ae2390a18aecbf76de3969bf51b597c6812d7) Released packages: * 📦 [@stackflow/config@1.2.2](https://npmjs.com/package/@stackflow/config/v/1.2.2) * 📦 [@stackflow/react@1.11.0](https://npmjs.com/package/@stackflow/react/v/1.11.0) *** ## 2025.12.12 Add an option for customizing error boundary in ErrorHandler of structured activity components [`f159bd4`](https://github.com/daangn/stackflow/commit/f159bd40c01f84bbffa9c0282a86acd150162792) Released packages: * 📦 [@stackflow/react@1.10.0](https://npmjs.com/package/@stackflow/react/v/1.10.0) *** ## 2025.11.28 Add interface to inject appBar.minHeight [`d76f1d1`](https://github.com/daangn/stackflow/commit/d76f1d1d89d66cecf66abbcdcb67b4b5ffa52943) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.18.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.18.1) *** ## 2025.11.27 Fix edge height [`151b13f`](https://github.com/daangn/stackflow/commit/151b13f8c1dc511a3905ff50a94f53ad80f933e0) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.18.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.18.0) *** Expose interfaces to modify width of edge [`4e4c0d9`](https://github.com/daangn/stackflow/commit/4e4c0d946990388713df3b7c2951ef3209ed4584) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.18.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.18.0) *** Parameterize default appscreen transition offset and appscreen dim height [`151b13f`](https://github.com/daangn/stackflow/commit/151b13f8c1dc511a3905ff50a94f53ad80f933e0) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.18.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.18.0) *** Export StaticActivityComponentType type hepler [`7907371`](https://github.com/daangn/stackflow/commit/7907371b7bcdbf8fbb402eeb74b1fe01207b52cc) Released packages: * 📦 [@stackflow/react@1.9.0](https://npmjs.com/package/@stackflow/react/v/1.9.0) *** ## 2025.11.25 Expose interfaces to modify dimensions of AppBar [`a136f96`](https://github.com/daangn/stackflow/commit/a136f96) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.17.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.17.0) *** ## 2025.10.23 Fix SSR compatibility by adding getServerSnapshot parameter to useSyncExternalStore. This resolves the "Missing getServerSnapshot, which is required for server-rendered content" error in SSR environments. [`567352a`](https://github.com/daangn/stackflow/commit/567352a) Released packages: * 📦 [@stackflow/plugin-history-sync@1.8.1](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.8.1) *** ## 2025.10.22 Fix swipe back gesture during push/pop transitions by using capture phase event listeners to prevent touch events from reaching child elements during transitions [`fe8b8fe`](https://github.com/daangn/stackflow/commit/fe8b8fe) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.16.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.16.1) * 📦 [@stackflow/react-ui-core@1.3.3](https://npmjs.com/package/@stackflow/react-ui-core/v/1.3.3) *** ## 2025.10.21 Export AppBar [`99eff56`](https://github.com/daangn/stackflow/commit/99eff56) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.16.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.16.0) *** ## 2025.10.16 Add ActivityComponentType paramterized by params [`ead4e78`](https://github.com/daangn/stackflow/commit/ead4e78) Released packages: * 📦 [@stackflow/react@1.8.0](https://npmjs.com/package/@stackflow/react/v/1.8.0) *** ## 2025.10.02 Expose events used to build a stack via `Stack.events` [`83ee5ed`](https://github.com/daangn/stackflow/commit/83ee5ed) Released packages: * 📦 [@stackflow/core@1.3.0](https://npmjs.com/package/@stackflow/core/v/1.3.0) * 📦 [@stackflow/plugin-history-sync@1.8.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.8.0) *** ## 2025.09.05 `StructuredActivityComponentType` is added. [`f298988`](https://github.com/daangn/stackflow/commit/f298988) Released packages: * 📦 [@stackflow/plugin-history-sync@1.8.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.8.0) * 📦 [@stackflow/plugin-preload@1.4.4](https://npmjs.com/package/@stackflow/plugin-preload/v/1.4.4) * 📦 [@stackflow/react@1.7.0](https://npmjs.com/package/@stackflow/react/v/1.7.0) *** ## 2025.08.22 Fix scroll behavior of AppScreen by attaching refs on paperContent [`733ebcb`](https://github.com/daangn/stackflow/commit/733ebcb) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.15.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.15.1) *** ## 2025.08.18 Add prefetch API for lazy activity component and loader data. [`d906597`](https://github.com/daangn/stackflow/commit/d906597) Released packages: * 📦 [@stackflow/react@1.6.0](https://npmjs.com/package/@stackflow/react/v/1.6.0) *** ## 2025.08.15 Fix a bug that entrance transition is not applied. [`c391bb7`](https://github.com/daangn/stackflow/commit/c391bb7) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.15.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.15.0) *** ## 2025.08.10 Allow components style to be customized directly [`658c770`](https://github.com/daangn/stackflow/commit/658c770) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.15.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.15.0) *** ## 2025.07.28 fix(react): conditionally log warnings in browser environment [`2dc74ad`](https://github.com/daangn/stackflow/commit/2dc74ad) Released packages: * 📦 [@stackflow/react@1.5.3](https://npmjs.com/package/@stackflow/react/v/1.5.3) *** ## 2025.05.29 fix(plugin-basic-ui): update dependencies [`371a39c`](https://github.com/daangn/stackflow/commit/371a39c) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.14.2](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.14.2) *** fix(react-ui-core): add `preventSwipeBack` into effect dependencies [`d2c50f3`](https://github.com/daangn/stackflow/commit/d2c50f3) Released packages: * 📦 [@stackflow/react-ui-core@1.3.2](https://npmjs.com/package/@stackflow/react-ui-core/v/1.3.2) *** ## 2025.05.15 fix(plugin-basic-ui): prevent touch events while transitioning for other basic components [`aef952a`](https://github.com/daangn/stackflow/commit/aef952a) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.14.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.14.1) * 📦 [@stackflow/react-ui-core@1.3.1](https://npmjs.com/package/@stackflow/react-ui-core/v/1.3.1) *** ## 2025.05.12 fix(react): remove unused dependencies [`b9dc68a`](https://github.com/daangn/stackflow/commit/b9dc68a) Released packages: * 📦 [@stackflow/react@1.5.2](https://npmjs.com/package/@stackflow/react/v/1.5.2) *** ## 2025.04.09 Support full screen gradient background and introduce new app bar entrance type "cover" [`a7650d4`](https://github.com/daangn/stackflow/commit/a7650d4) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.14.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.14.0) * 📦 [@stackflow/react-ui-core@1.3.0](https://npmjs.com/package/@stackflow/react-ui-core/v/1.3.0) *** ## 2025.03.24 fix(react-ui-core): consider nullable stack [`5c4b96c`](https://github.com/daangn/stackflow/commit/5c4b96c) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.13.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.13.1) * 📦 [@stackflow/react-ui-core@1.2.3](https://npmjs.com/package/@stackflow/react-ui-core/v/1.2.3) *** ## 2025.03.14 fix(plugin-basic-ui,react-ui-core): prevent touch events while transitioning [`8593b5a`](https://github.com/daangn/stackflow/commit/8593b5a) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.13.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.13.0) * 📦 [@stackflow/react-ui-core@1.2.2](https://npmjs.com/package/@stackflow/react-ui-core/v/1.2.2) *** ## 2025.03.11 To support various background designs, enable users to configure the background-image option in AppScreen, AppBar, BottomSheet and Modal. [`91413b6`](https://github.com/daangn/stackflow/commit/91413b6) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.13.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.13.0) *** ## 2025.02.24 fix(react): pause lazy component transition when no loader defined [`7751e60`](https://github.com/daangn/stackflow/commit/7751e60) Released packages: * 📦 [@stackflow/react@1.5.1](https://npmjs.com/package/@stackflow/react/v/1.5.1) *** ## 2025.02.13 Supports dynamic import for activities, and delays transition effects while loading an activity or waiting for a loader response [`cfa7af8`](https://github.com/daangn/stackflow/commit/cfa7af8) Released packages: * 📦 [@stackflow/core@1.2.0](https://npmjs.com/package/@stackflow/core/v/1.2.0) * 📦 [@stackflow/plugin-basic-ui@1.12.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.12.0) * 📦 [@stackflow/react@1.5.0](https://npmjs.com/package/@stackflow/react/v/1.5.0) *** Add missing logics of considering `targetActivityId` while updating using update functions. [`82b52b0`](https://github.com/daangn/stackflow/commit/82b52b0) Released packages: * 📦 [@stackflow/react@1.5.0](https://npmjs.com/package/@stackflow/react/v/1.5.0) *** ## 2025.01.22 fix: add `decode()` interface to `Config` and support `path: string[]` [`e323ce3`](https://github.com/daangn/stackflow/commit/e323ce3) Released packages: * 📦 [@stackflow/config@1.2.1](https://npmjs.com/package/@stackflow/config/v/1.2.1) * 📦 [@stackflow/link@1.6.1](https://npmjs.com/package/@stackflow/link/v/1.6.1) * 📦 [@stackflow/plugin-history-sync@1.7.1](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.7.1) * 📦 [@stackflow/react@1.4.2](https://npmjs.com/package/@stackflow/react/v/1.4.2) *** ## 2025.01.20 Made `divideBy` to be friendly to type inference. [`5fc54cb`](https://github.com/daangn/stackflow/commit/5fc54cb) Released packages: * 📦 [@stackflow/core@1.1.1](https://npmjs.com/package/@stackflow/core/v/1.1.1) *** ## 2024.12.18 chore(plugin-basic-ui): update react-ui-core dependency [`151631b`](https://github.com/daangn/stackflow/commit/151631b) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.11.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.11.1) *** feat(react-ui-core, plugin-basic-ui): add `onSwipe*` hooks and add data attributes and css variables [`dc35bfc`](https://github.com/daangn/stackflow/commit/dc35bfc) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.11.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.11.0) * 📦 [@stackflow/react-ui-core@1.2.0](https://npmjs.com/package/@stackflow/react-ui-core/v/1.2.0) *** feat(react-ui-core): add swipe back ratio css var in other activity roots and add `transitionend` state in `useStyleEffectSwipeBack()` [`48693e7`](https://github.com/daangn/stackflow/commit/48693e7) Released packages: * 📦 [@stackflow/react-ui-core@1.2.1](https://npmjs.com/package/@stackflow/react-ui-core/v/1.2.1) *** ## 2024.12.16 Change to the latest AppBar style [`f9f1399`](https://github.com/daangn/stackflow/commit/f9f1399) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.11.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.11.0) *** ## 2024.11.19 fix(plugin-basic-ui): add `max()` in support query [`eb9ed7c`](https://github.com/daangn/stackflow/commit/eb9ed7c) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.10.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.10.1) *** fix(plugin-basic-ui): add `maxWidth` option in `` [`eb4578f`](https://github.com/daangn/stackflow/commit/eb4578f) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.10.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.10.1) *** ## 2024.11.07 feat(link): disable long press behavior in iOS [`db2aa80`](https://github.com/daangn/stackflow/commit/db2aa80) Released packages: * 📦 [@stackflow/link@1.6.0](https://npmjs.com/package/@stackflow/link/v/1.6.0) *** ## 2024.10.23 move `` up so that `useStack()` can be used in `Plugin.wrapStack` [`a4a7366`](https://github.com/daangn/stackflow/commit/a4a7366) Released packages: * 📦 [@stackflow/react@1.4.1](https://npmjs.com/package/@stackflow/react/v/1.4.1) *** ## 2024.09.26 add `config` property in loader args [`412de46`](https://github.com/daangn/stackflow/commit/412de46) Released packages: * 📦 [@stackflow/config@1.2.0](https://npmjs.com/package/@stackflow/config/v/1.2.0) * 📦 [@stackflow/link@1.5.0](https://npmjs.com/package/@stackflow/link/v/1.5.0) * 📦 [@stackflow/react@1.4.0](https://npmjs.com/package/@stackflow/react/v/1.4.0) *** ## 2024.09.24 feat: Support `` in Future API [`7b1780f`](https://github.com/daangn/stackflow/commit/7b1780f) Released packages: * 📦 [@stackflow/config@1.2.0](https://npmjs.com/package/@stackflow/config/v/1.2.0) * 📦 [@stackflow/link@1.5.0](https://npmjs.com/package/@stackflow/link/v/1.5.0) * 📦 [@stackflow/plugin-history-sync@1.7.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.7.0) * 📦 [@stackflow/react@1.4.0](https://npmjs.com/package/@stackflow/react/v/1.4.0) *** ## 2024.09.23 fix(plugin-history-sync): replace json-cycle with flatted [`dc26742`](https://github.com/daangn/stackflow/commit/dc26742) Released packages: * 📦 [@stackflow/plugin-history-sync@1.7.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.7.0) *** ## 2024.09.11 feat(plugin-basic-ui): add interface to access z-index about AppScreen [`5b1865e`](https://github.com/daangn/stackflow/commit/5b1865e) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.10.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.10.0) *** ## 2024.09.03 chore(react): add typing for step action parameter [`95f2ae8`](https://github.com/daangn/stackflow/commit/95f2ae8) Released packages: * 📦 [@stackflow/react@1.3.2](https://npmjs.com/package/@stackflow/react/v/1.3.2) *** ## 2024.08.30 fix: pass initial context to `` [`46ac359`](https://github.com/daangn/stackflow/commit/46ac359) Released packages: * 📦 [@stackflow/react@1.3.2](https://npmjs.com/package/@stackflow/react/v/1.3.2) *** ## 2024.08.21 fix(plugin-history-sync): serialize state before pushState, replaceState [`31dc20f`](https://github.com/daangn/stackflow/commit/31dc20f) Released packages: * 📦 [@stackflow/plugin-history-sync@1.6.3](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.6.3) *** ## 2024.08.14 feat(core,react): add `targetActivityId` option [`667570b`](https://github.com/daangn/stackflow/commit/667570b) Released packages: * 📦 [@stackflow/core@1.1.0](https://npmjs.com/package/@stackflow/core/v/1.1.0) * 📦 [@stackflow/react@1.3.0](https://npmjs.com/package/@stackflow/react/v/1.3.0) *** fix(react): specify .mjs extension for esm exports [`1fc97b4`](https://github.com/daangn/stackflow/commit/1fc97b4) Released packages: * 📦 [@stackflow/react@1.3.1](https://npmjs.com/package/@stackflow/react/v/1.3.1) *** ## 2024.08.08 fix: enable cyclic dependency and fix promise return in loader [`96ff22d`](https://github.com/daangn/stackflow/commit/96ff22d) Released packages: * 📦 [@stackflow/core@1.0.14](https://npmjs.com/package/@stackflow/core/v/1.0.14) * 📦 [@stackflow/plugin-history-sync@1.6.1](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.6.1) *** \[Future API] wrap loader return value with use() in useLoaderData() [`5ac2798`](https://github.com/daangn/stackflow/commit/5ac2798) Released packages: * 📦 [@stackflow/react@1.2.2](https://npmjs.com/package/@stackflow/react/v/1.2.2) *** ## 2024.08.07 Extract core react hooks as a "@stackflow/react-ui-core" package [`e3dbaac`](https://github.com/daangn/stackflow/commit/e3dbaac) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.9.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.9.0) * 📦 [@stackflow/react-ui-core@1.1.0](https://npmjs.com/package/@stackflow/react-ui-core/v/1.1.0) *** ## 2024.08.01 fix(plugin-basic-ui): calculate app screen height correctly with safearea [`3e8df1b`](https://github.com/daangn/stackflow/commit/3e8df1b) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.8.4](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.8.4) *** refactor(plugin-preload): moved a dependency from `dependencies` to `peerDependencies` [`658510f`](https://github.com/daangn/stackflow/commit/658510f) Released packages: * 📦 [@stackflow/plugin-preload@1.4.0](https://npmjs.com/package/@stackflow/plugin-preload/v/1.4.0) *** ## 2024.07.31 Change `stack()` to `stackflow()` in Future API [`fc2061a`](https://github.com/daangn/stackflow/commit/fc2061a) Released packages: * 📦 [@stackflow/react@1.2.1](https://npmjs.com/package/@stackflow/react/v/1.2.1) *** change extension esm package .mjs to .js [`7df613a`](https://github.com/daangn/stackflow/commit/7df613a) Released packages: * 📦 [@stackflow/config@1.1.0](https://npmjs.com/package/@stackflow/config/v/1.1.0) * 📦 [@stackflow/plugin-history-sync@1.6.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.6.0) * 📦 [@stackflow/react@1.2.0](https://npmjs.com/package/@stackflow/react/v/1.2.0) *** feat(plugin-history-sync): sort routes by computed score [`e9bb029`](https://github.com/daangn/stackflow/commit/e9bb029) Released packages: * 📦 [@stackflow/plugin-history-sync@1.6.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.6.0) *** ## 2024.07.24 fix(plugin-basic-ui): remove `will-change` property [`bef6214`](https://github.com/daangn/stackflow/commit/bef6214) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.8.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.8.1) *** ## 2024.07.23 change asterisk(`*`) priority to lowest [`7788fbc`](https://github.com/daangn/stackflow/commit/7788fbc) Released packages: * 📦 [@stackflow/plugin-history-sync@1.5.3](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.5.3) *** ## 2024.07.22 style(plugin-basic-ui): move top padding to margin [`3872e44`](https://github.com/daangn/stackflow/commit/3872e44) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.8.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.8.0) *** ## 2024.07.19 use Biome for lint instead of ESLint and fix fixable errors [`edfffda`](https://github.com/daangn/stackflow/commit/edfffda) Released packages: * 📦 [@stackflow/compat-await-push@1.1.9](https://npmjs.com/package/@stackflow/compat-await-push/v/1.1.9) * 📦 [@stackflow/core@1.0.12](https://npmjs.com/package/@stackflow/core/v/1.0.12) * 📦 [@stackflow/link@1.4.1](https://npmjs.com/package/@stackflow/link/v/1.4.1) * 📦 [@stackflow/plugin-basic-ui@1.8.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.8.0) * 📦 [@stackflow/plugin-devtools@0.1.9](https://npmjs.com/package/@stackflow/plugin-devtools/v/0.1.9) * 📦 [@stackflow/plugin-google-analytics-4@1.1.11](https://npmjs.com/package/@stackflow/plugin-google-analytics-4/v/1.1.11) * 📦 [@stackflow/plugin-history-sync@1.5.2](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.5.2) * 📦 [@stackflow/plugin-map-initial-activity@1.0.7](https://npmjs.com/package/@stackflow/plugin-map-initial-activity/v/1.0.7) * 📦 [@stackflow/plugin-preload@1.3.1](https://npmjs.com/package/@stackflow/plugin-preload/v/1.3.1) * 📦 [@stackflow/plugin-renderer-basic@1.1.9](https://npmjs.com/package/@stackflow/plugin-renderer-basic/v/1.1.9) * 📦 [@stackflow/plugin-renderer-web@1.1.9](https://npmjs.com/package/@stackflow/plugin-renderer-web/v/1.1.9) * 📦 [@stackflow/plugin-stack-depth-change@1.1.3](https://npmjs.com/package/@stackflow/plugin-stack-depth-change/v/1.1.3) * 📦 [@stackflow/react@1.1.10](https://npmjs.com/package/@stackflow/react/v/1.1.10) *** feat(plugin-basic-ui): export `useStyleEffect()` [`0f882e8`](https://github.com/daangn/stackflow/commit/0f882e8) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.8.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.8.0) *** ## 2024.07.09 accept only serializable parameters when making domain event [`7df36f1b`](https://github.com/daangn/stackflow/commit/7df36f1b) Released packages: * 📦 [@stackflow/core@1.0.11](https://npmjs.com/package/@stackflow/core/v/1.0.11) * 📦 [@stackflow/plugin-history-sync@1.5.1](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.5.1) *** ## 2024.05.27 Expose `paperRef` from `` and add `!important` paper exit transition [`207b8490`](https://github.com/daangn/stackflow/commit/207b8490) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.7.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.7.0) *** ## 2024.05.24 fix(react): infer `BaseActivities` from given activities [`27246ad7`](https://github.com/daangn/stackflow/commit/27246ad7) Released packages: * 📦 [@stackflow/react@1.1.9](https://npmjs.com/package/@stackflow/react/v/1.1.9) *** ## 2024.05.22 Pass initial search params to fallback activity as an activity params [`cea51375`](https://github.com/daangn/stackflow/commit/cea51375) Released packages: * 📦 [@stackflow/plugin-history-sync@1.5.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.5.0) *** ## 2024.04.24 theme branching via :root's dataset [`20d19546`](https://github.com/daangn/stackflow/commit/20d19546) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.6.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.6.0) *** ## 2024.02.13 feat: add decode interface [`6ad362f7`](https://github.com/daangn/stackflow/commit/6ad362f7) Released packages: * 📦 [@stackflow/link@1.4.0](https://npmjs.com/package/@stackflow/link/v/1.4.0) * 📦 [@stackflow/plugin-history-sync@1.4.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.4.0) * 📦 [@stackflow/plugin-preload@1.3.0](https://npmjs.com/package/@stackflow/plugin-preload/v/1.3.0) * 📦 [@stackflow/react@1.1.8](https://npmjs.com/package/@stackflow/react/v/1.1.8) *** Resolved issue where `urlPatternOptions` props were passed to anchor tag. [`43a2f2a4`](https://github.com/daangn/stackflow/commit/43a2f2a4) Released packages: * 📦 [@stackflow/link@1.4.0](https://npmjs.com/package/@stackflow/link/v/1.4.0) *** pass `urlPatternOptions` to `usePreloader()` hook [`8c774239`](https://github.com/daangn/stackflow/commit/8c774239) Released packages: * 📦 [@stackflow/link@1.4.0](https://npmjs.com/package/@stackflow/link/v/1.4.0) *** ## 2024.02.05 Sort routes by variable count and refactor useRoutes(), normalizeRouteInput() function [`36613e35`](https://github.com/daangn/stackflow/commit/36613e35) Released packages: * 📦 [@stackflow/link@1.4.0](https://npmjs.com/package/@stackflow/link/v/1.4.0) * 📦 [@stackflow/plugin-history-sync@1.4.0](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.4.0) * 📦 [@stackflow/plugin-preload@1.3.0](https://npmjs.com/package/@stackflow/plugin-preload/v/1.3.0) *** ## 2024.01.30 fix(core)!: delegate overrideInitialEvents to makeCoreStore [`a32a7e09`](https://github.com/daangn/stackflow/commit/a32a7e09) Released packages: * 📦 [@stackflow/core@1.0.10](https://npmjs.com/package/@stackflow/core/v/1.0.10) * 📦 [@stackflow/react@1.1.7](https://npmjs.com/package/@stackflow/react/v/1.1.7) *** ## 2024.01.22 fix(plugin-history-sync): request history tick on init [`99c34fa4`](https://github.com/daangn/stackflow/commit/99c34fa4) Released packages: * 📦 [@stackflow/plugin-history-sync@1.3.17](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.3.17) *** fix(plugin-history-sync)!: reduce loop count for parsing state [`45cf3f4d`](https://github.com/daangn/stackflow/commit/45cf3f4d) Released packages: * 📦 [@stackflow/plugin-history-sync@1.3.16](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.3.16) *** ## 2024.01.19 fix(plugin-stack-depth-change): invoke `onDepthChanged` only when transition is done [`da18f07e`](https://github.com/daangn/stackflow/commit/da18f07e) Released packages: * 📦 [@stackflow/plugin-stack-depth-change@1.1.1](https://npmjs.com/package/@stackflow/plugin-stack-depth-change/v/1.1.1) *** ## 2024.01.16 fix hydration mismatch warning in server-side rendering [`d4e86c55`](https://github.com/daangn/stackflow/commit/d4e86c55) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.5.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.5.1) *** fix(plugin-history-sync): fix history queue on init [`f3b2d720`](https://github.com/daangn/stackflow/commit/f3b2d720) Released packages: * 📦 [@stackflow/plugin-history-sync@1.3.15](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.3.15) *** ## 2023.12.23 feat(plugin-basic-ui): export css variables from components [`dd5be87f`](https://github.com/daangn/stackflow/commit/dd5be87f) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.5.0](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.5.0) *** ## 2023.12.22 feat(plugin-stack-depth-change): invoke callback only when depth level has changed [`a2ecfaf4`](https://github.com/daangn/stackflow/commit/a2ecfaf4) Released packages: * 📦 [@stackflow/plugin-stack-depth-change@1.1.0](https://npmjs.com/package/@stackflow/plugin-stack-depth-change/v/1.1.0) *** ## 2023.12.01 feat(plugin-basic-ui): update IconBack component (#423) [`7dca11ee`](https://github.com/daangn/stackflow/commit/7dca11ee) Released packages: * 📦 [@stackflow/plugin-basic-ui@1.4.1](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.4.1) ***