Migration & release status

Separate the published 4.0.1 API from the workspace changes that have not yet been released.

Current source is ahead of the release

Existing event, slice, entity, context, middleware, and epic patterns continue to use the public @carere/solux import. The repository is moving the library to packages/solux and documentation to apps/website. That layout change does not rename the package or require private-path imports.

Adopt the new lifecycle deliberately

  • When using a release that includes disposal, add an explicit store.dispose() at the owning scope boundary. Do not assume provider unmount does it.
  • Move slice construction and all nested initial/preloaded state allocation into a factory for independent stores or SSR requests.
  • Give each DevTools connection a distinct instanceId. Keep chart handles and cleanup resources outside state.
  • Keep unsubscribing individual subscriptions and cancelling async work you own. Disposal does not cancel epics or middleware effects.
  • If you write a custom enhancer, preserve dispose and register cleanup through the enhancer-only onDispose hook. Do not expose enhancer internals as application APIs.
  • Verify RESET, COMMIT, and time-travel behavior against your application. State restoration does not provide deterministic effects replay.

Check the published artifact

Use the GitHub releases and package registry to confirm which version contains a change before relying on it. Source documentation and live workspace examples describe this checkout, not a promise about an already published tarball.