# @json-render/jotai ## 0.16.0 ### Patch Changes - Updated dependencies [519a538] - @json-render/core@0.16.0 ## 0.15.0 ### Patch Changes - Updated dependencies [bf3a7ec] - @json-render/core@0.15.0 ## 0.14.1 ### Patch Changes - Updated dependencies [43b7515] - @json-render/core@0.14.1 ## 0.14.0 ### Patch Changes - Updated dependencies [a8afd8b] - @json-render/core@0.14.0 ## 0.13.0 ### Patch Changes - Updated dependencies [5b32de8] - @json-render/core@0.13.0 ## 0.12.1 ### Patch Changes - Updated dependencies [54a1ecf] - @json-render/core@0.12.1 ## 0.12.0 ### Patch Changes - Updated dependencies [63c339b] - @json-render/core@0.12.0 ## 0.11.0 ### Patch Changes - Updated dependencies [3f1e71e] - @json-render/core@0.11.0 ## 0.10.0 ### Patch Changes - Updated dependencies [9cef4e9] - @json-render/core@0.10.0 ## 0.9.1 ### Patch Changes - @json-render/core@0.9.1 ## 0.9.0 ### Minor Changes - 1d755c1: External state store, store adapters, and bug fixes. ### New: External State Store The `StateStore` interface lets you plug in your own state management (Redux, Zustand, Jotai, XState, etc.) instead of the built-in internal store. Pass a `store` prop to `StateProvider`, `JSONUIProvider`, or `createRenderer` for controlled mode. - Added `StateStore` interface and `createStateStore()` factory to `@json-render/core` - `StateProvider`, `JSONUIProvider`, and `createRenderer` now accept an optional `store` prop for controlled mode - When `store` is provided, it becomes the single source of truth (`initialState`/`onStateChange` are ignored) - When `store` is omitted, everything works exactly as before (fully backward compatible) - Applied across all platform packages: react, react-native, react-pdf - Store utilities (`createStoreAdapter`, `immutableSetByPath`, `flattenToPointers`) available via `@json-render/core/store-utils` for building custom adapters ### New: Store Adapter Packages - `@json-render/zustand` — Zustand adapter for `StateStore` - `@json-render/redux` — Redux / Redux Toolkit adapter for `StateStore` - `@json-render/jotai` — Jotai adapter for `StateStore` ### Changed: `onStateChange` signature updated (breaking) The `onStateChange` callback now receives a single array of changed entries instead of being called once per path: ```ts // Before onStateChange?: (path: string, value: unknown) => void // After onStateChange?: (changes: Array<{ path: string; value: unknown }>) => void ``` ### Fixed - Fix schema import to use server-safe `@json-render/react/schema` subpath, avoiding `createContext` crashes in Next.js App Router API routes - Fix chaining actions in `@json-render/react`, `@json-render/react-native`, and `@json-render/react-pdf` - Fix safely resolving inner type for Zod arrays in core schema ### Patch Changes - Updated dependencies [1d755c1] - @json-render/core@0.9.0