Releases: mcrovero/effect-nextjs
Release list
@mcrovero/effect-nextjs@0.32.0
Minor Changes
e041aa4Thanks @mcrovero! - Requireeffect >= 3.20.0and remove the manual Next.jsAsyncLocalStoragecapture/restore workaround. Request helpers and cache revalidation now rely on Effect's patched async context propagation instead of restoring Next internals explicitly.
Patch Changes
-
#57
c53a8a2Thanks @mcrovero! - Clarify the Next.js request-helper contract in the docs and add regression coverage for readonly headers, cookie mutability, draft mode helpers, and synchronous request-scope errors. Also document that the cache facade currently mirrors the stable cache helpers covered by the repo's tested Next 15.5 setup. -
#56
1fce6e4Thanks @mcrovero! - Add a real Next.js integration test fixture that exercises the built package in an App Router app, covering request helpers, middleware-provided context, redirects, notFound handling, and route-handler cookie behavior. -
#54
24b167bThanks @mcrovero! - Fix interrupt-only handler failures so they reject with a real error instead ofundefined, and add a regression test for the publicNext.buildpath.
v0.31.0
Minor Changes
- #46
86f98cdThanks @mcrovero! - Added support for AsyncLocalStorage from Next.js to properly capture and restore context for cache revalidation. The library now importsworkAsyncStorageandworkUnitAsyncStoragefrom Next.js internal modules and uses them to maintain context across async boundaries, ensuring proper cache revalidation behavior.
v0.30.0
v0.21.0
Minor Changes
- #42
8af5aa5Thanks @mcrovero! - - feat: Add option to pass aManagedRuntimeusingNext.makeWithRuntime(tag, runtime), in addition to the existingNext.make(tag, layer).- When a runtime is provided explicitly, it is used as-is and is not registered in the HMR runtime registry; lifecycle is user-managed.
- breaking: Remove
NextMiddleware.layerutility.
v0.20.0
v0.12.0
v0.11.0
v0.10.0
Minor Changes
-
#32
e40f93cThanks @mcrovero! - This version changes the API to use the library, there is no longer a global Next.make(Layer) that exposes .page()/.layout()/.action()/.component() methods. You now need to use: NextPage.make("page_key", Layer), NextLayout.make("layout_key", Layer), etc.
The keys must be unique across the same type of components.
There are no more.setParamsSchema(...),.setSearchParamsSchema(...), and.setInputSchema(...).
You can now use the new helpers inside your handler:yield* Next.decodeParams(schema)(props)yield* Next.decodeSearchParams(schema)(props)
The actions API has changed, there is no more .build() look at the examples for the new API but .run() waiting to unify the API with the other handlers.
Read at the bottom of the README for more details for the decisions behind the new API.