Skip to content

Version Packages - #47

Merged
davidkpiano merged 1 commit into
masterfrom
changeset-release/master
Oct 28, 2026
Merged

davidkpiano merged 1 commit into
masterfrom
changeset-release/master

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.

Releases

use-effect-reducer@0.8.0

Minor Changes

  • 5a68cd0: Fix the effect lifecycle under StrictMode and <Activity>, add an AbortSignal to effects, and publish as ESM only.

    • Fix: running effects (including initial effects) are resumed after StrictMode's simulated unmount/remount and when an <Activity> boundary becomes visible again. Previously they were stopped and never restarted. Resumed effects receive the latest state.
    • Fix: an effect stopped via exec.stop(entity) in the same reducer call that queued it no longer starts.
    • Fix: effects queued by a synchronous dispatch from inside an effect are no longer dropped under StrictMode.
    • dispatch passed to effect implementations now accepts string events, like the hook's dispatch.
    • EffectEntity['status'] is now 'idle' | 'started' | 'stopped' (was a non-exported numeric enum). Dispatch and EntityStatus types are exported.
    • Lazy initialization uses useReducer's init argument instead of reading a ref during render (React Compiler friendly).
    • Effect implementations receive a 4th argument, { signal }: an AbortSignal aborted when the effect stops. Effects may be async.
    • Effects-map implementations are looked up when an effect starts (or resumes), so they see the latest props.
    • exec.stop(entity) accepts undefined.
    • Types: string events are only accepted for events without required payload; exec/dispatch in the initial state getter are fully typed.
    • Packaging: the package is ESM-only. CommonJS consumers can require() it on Node.js 20.19+ and 22.12+, which engines.node now requires.

Patch Changes

  • 608692b: The hook passes the React Compiler lint rules (eslint-plugin-react-hooks recommended config). The effects map is now read only from effects, never during render.

@github-actions
github-actions Bot force-pushed the changeset-release/master branch from 8e35fdb to b6e1ac0 Compare October 28, 2026 15:27
@davidkpiano
davidkpiano merged commit 657a08b into master Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant