Releases: quanta-js/quanta
v2.0.0-beta.9
feat(devtools): migrate to Preact + Shadow DOM and add test harness
- Move styles into shadow DOM, inject Tailwind/postcss for isolated CSS and update mount to render into a shadow root.
- Add store search/filter, UI refinements, Vite/dep updates and a local test/dev harness with mock stores.
Full Changelog: v2.0.0-beta.8...v2.0.0-beta.9
v2.0.0-beta.8
fix(devtools): enhance action log with expandable & copyable payloads
- Add PayloadCell component with expand/collapse and copy-to-clipboard functionality
- Replace raw JSON.stringify with safeSerializeCompact() to prevent crashes on circular references, functions, DOM nodes, etc.
- Add new safeSerialize and safeSerializeCompact utilities for robust object serialization
- Add tooltip (title) to store list items for long store names
- Minor cleanup and consistency fixes in StoreInspector and JSONTree
Full Changelog: v2.0.0-beta.7...v2.0.0-beta.8
v2.0.0-beta.7
What's Changed
- Feat/devtool by @JeelGajera in #72
feat(devtools): add QuantaJS DevTools with real-time state inspection and action logging
- Introduce new @quantajs/devtools package with a floating panel UI
- Add devtools bridge in core to emit STORE_INIT, STATE_CHANGE, and ACTION_CALL events
- Instrument reactive proxies and store actions to notify devtools on mutations
- Provide store inspector with live state tree, getters, actions, persistence controls, and reset functionality
- Include action log panel showing timestamp, store, action name, and payload
- Add auto-mount helper with dev-mode detection and global QUANTA_DEVTOOLS bridge exposure
- Wire up Tailwind + Preact UI with dark theme, collapsible panel, and smooth animations
chore(deps): update dev dependencies, updates tooling and linting dependencies to their latest patch/minor versions.
Full Changelog: v2.0.0-beta.6...v2.0.0-beta.7
v2.0.0-beta.6
What's Changed
- Fix/reactivity updates by @JeelGajera in #67
Core Improvements
- Enhanced type system with
RawActions,GetterDefinitions,InferActions, and full store-level type inference. - Reworked
StoreInstanceto correctly merge state, getters, and actions with proper return types. - Added deep reactive bubbling using
parentMapandbubbleTrigger()for upward dependency propagation. - Introduced
reactiveMapto cache proxies and prevent double-wrapping. - Improved nested reactivity with parent linking and cache-aware creation.
- Added deep reactive watcher in
createStore, plus pre-touching logic for stable dependency initialization. - Improved persistence typings and internal dependency maps.
Getters & Actions
- More accurate getter type inference and computed initialization.
- Consistent getter unwrapping via new
resolveGetterValueutility. - Strengthened action binding and flattening logic (
flattenStoreupdates). - Improved set-trap behavior for stable action/getter merging.
React Integrations
- Updated
useComputed,useQuantaStore,useCreateStore, anduseWatchto use the new typing model (GDefs,RawActions). - Major snapshot system rewrite:
- Snapshots now contain live reactive proxies (no more shallow flattening).
- Lazily rebuild snapshots only when invalidated.
- Selector mode now uses stable refs and avoids unnecessary re-renders.
- Improved server snapshot behavior.
Full Changelog: v2.0.0-beta.5...v2.0.0-beta.6
v2.0.0-beta.5
What's Changed
- feat(core,persistence,state): add store and persistence destroy lifecycle + deep watch support by @JeelGajera in #64
Full Changelog: v2.0.0-beta.4...v2.0.0-beta.5
v2.0.0-beta.4
What's Changed
- chore(deps-dev): bump @types/react from 19.1.9 to 19.1.13 by @dependabot[bot] in #40
- chore(deps-dev): bump @types/node from 24.1.0 to 24.4.0 by @dependabot[bot] in #39
- chore(deps-dev): bump eslint-plugin-prettier from 5.5.3 to 5.5.4 by @dependabot[bot] in #30
- chore(deps-dev): bump eslint from 9.30.0 to 9.35.0 by @dependabot[bot] in #38
- chore(deps-dev): bump @eslint/js from 9.30.0 to 9.35.0 by @dependabot[bot] in #36
- chore(deps-dev): bump vite from 6.3.5 to 6.3.6 by @dependabot[bot] in #41
- feat(react): refactor useQuantaStore with cached snapshots & update dependency by @JeelGajera in #63
- Add store-level Set + notifyAll in createStore
- Wire flattenStore.set trap → trigger + notifyAll
- Generic
Dependency<S>with snapshot-aware notify() - Update StoreSubscriber to
(snapshot?: S) => void - Rewrite @quantajs/react useQuantaStore:
• useRef cache + fresh flat snapshot on every core mutation
• stable actions/getters (no re-bind loops)
• selector support for fine-grained re-renders
• SSR-safe server snapshot
• full error isolation (warn, never crash on bad subscriber) - Fix React re-render staleness: UI now updates instantly
- Eliminate infinite-loop warning (cached snapshot is stable until dirty)
Full Changelog: v2.0.0-beta.3...v2.0.0-beta.4
v2.0.0-beta.3
What's Changed
- feat(core/persistence): add persistence manager with adapters by @JeelGajera in #29
✨ feat(core/persistence): add persistence manager with adapters & migrations
Scope
core/persistence
Changes
- Added
createPersistenceManagerfor managing persisted state with:- Serialization/deserialization
- Debounced writes
- Include/exclude filters
- Data validation
- Cross-tab synchronization
- Versioning & migrations support
- Implemented storage adapters:
LocalStorageAdapterSessionStorageAdapterIndexedDBAdapter
- Introduced
MigrationManagerwith:- Add/remove/rename/transform property helpers (
CommonMigrations) - Migration validation
- Migration chaining from older to newer versions
- Add/remove/rename/transform property helpers (
- Exposed all persistence APIs & types via
persistence/index.ts
Improvements
- Enhances reliability by wrapping core reactivity, watchers, debounced functions, computed values, store access, and context usage in try/catch with detailed logging.
Full Changelog: v2.0.0-beta.2...v2.0.0-beta.3
v2.0.0-beta.2
What's Changed
- Update readme.md by @JeelGajera in #25
- chore(deps-dev): bump react and @types/react by @dependabot[bot] in #26
- refactor(react): support multiple stores in QuantaProvider and useStore hook by @JeelGajera in #27
- feat(core): add method to store for restoring initial state by @JeelGajera in #28
Full Changelog: 2.0.0-beta.1...v2.0.0-beta.2
v2.0.0-beta.1
What's Changed
- chore: update dependencies for eslint, typescript, and related packages by @JeelGajera in #13
- Feat/quanta react by @JeelGajera in #24
Full Changelog: 1.0.1-beta.0...2.0.0-beta.1
1.0.1-beta.0
What's Changed
- (fix): ensure release process works after rebase by @nikshops in #6
- chore: migrate project to monorepo structure with pnpm, changesets, a… by @JeelGajera in #7
New Contributors
Full Changelog: v1.0.0-beta.7...1.0.1-beta.0