Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,69 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [2.0.0](https://github.com/TrigenSoftware/nano_kit/compare/v1.2.0...v2.0.0) (2026-09-28)

### ⚠ BREAKING CHANGES

* **store,query:** `$getMapKey`, `setMapKey`, `deleteMapKey`, `clearMap`, `subMapEvent`,
`fireMapEvent`, `$$insert`, `$$clear`, `$$deleted` and the `SignalsMapEvent` and
`SignalsMapEvents` types are removed from `@nano_kit/store`, and `SignalsMap` is a class to
create with `new`, not a type over a plain `Map`. The `cache` of a query client context is
a `ShardedSignalsMap`: its `has`, `set` and `delete` take a sharded key.
* **agera,kida:** `effect` no longer defers when created inside a deferred scope body: use
`deferEffect` there. `subscribe`, `listen`, `observe` and `subscribeAny` no longer accept the
`noDefer` argument.
* **kida:** `resolved` hands values through verbatim - a falsy source value is data, not a
reset to `undefined`: emptiness is expressed by `T` itself (e.g. `T | null`), and the input type
drops the falsy arm.
* **kida,store:** an operator called with static operands returns the value, not an accessor.
`concat` is removed, the `f` tag takes its place.
* the packages require Node.js 24 or newer.
* **kida,store,query:** the tasks pool is gone — `TasksPool$`, `TasksRunner$`, `tasksRunner`, `addTask`,
`waitCurrentTasks` and `taskPromise` are removed, `waitTasks` takes a signal instead of a pool, and
the `tasks()` and `ssr()` query settings are removed: `hydratable()` is the whole SSR setting.

### Features

* add development diagnostics with separate development and production builds ([#236](https://github.com/TrigenSoftware/nano_kit/issues/236)) ([39be996](https://github.com/TrigenSoftware/nano_kit/commit/39be99600aa5c5066b8eb5205431740986df3dee))
* **agera,kida,store:** add `uninspected` to keep the nodes of a listener out of `inspect`, and the old value to `UpdateEvent` ([#262](https://github.com/TrigenSoftware/nano_kit/issues/262)) ([83384ce](https://github.com/TrigenSoftware/nano_kit/commit/83384ce8e61f37d27bf8989df91c503f0ec3200e))
* **agera,kida:** add `deferEffect` for effects owned by a deferred scope ([#257](https://github.com/TrigenSoftware/nano_kit/issues/257)) ([12cb14b](https://github.com/TrigenSoftware/nano_kit/commit/12cb14b4ca39645dbd2899e8e2b79738d387c854))
* **agera:** add `inspect` to report graph events in the development build ([#237](https://github.com/TrigenSoftware/nano_kit/issues/237)) ([07e4290](https://github.com/TrigenSoftware/nano_kit/commit/07e4290790f7c2b75864fa0e82e2fa7acd0ed76c))
* **agera:** call the `inspect` listener with one event object ([#264](https://github.com/TrigenSoftware/nano_kit/issues/264)) ([f49ec73](https://github.com/TrigenSoftware/nano_kit/commit/f49ec734647dee7bd97ee3ffc908232e2f095ccb))
* **agera:** enclose the lifecycle listeners of a node between `FireEvent` and `FireEndEvent` ([#267](https://github.com/TrigenSoftware/nano_kit/issues/267)) ([ef084b7](https://github.com/TrigenSoftware/nano_kit/commit/ef084b7d898f21c70d96bec8702ffd490ff3cf15))
* **agera:** report the end of a run with `RunEndEvent`, and leave `oldValue` out of a first evaluation ([#265](https://github.com/TrigenSoftware/nano_kit/issues/265)) ([61186e0](https://github.com/TrigenSoftware/nano_kit/commit/61186e07a5f6e8ff77fb782c1d177b5534d4462a))
* **devtools,store:** add the DevTools panel ([#263](https://github.com/TrigenSoftware/nano_kit/issues/263)) ([bc1e51a](https://github.com/TrigenSoftware/nano_kit/commit/bc1e51a9c8e5979aa7813039c4e78bfd052bccc0))
* **intl:** use a plain string translation for every plural form and match case ([#246](https://github.com/TrigenSoftware/nano_kit/issues/246)) ([82d45cf](https://github.com/TrigenSoftware/nano_kit/commit/82d45cfaf2c9008a6a1bc23841343eb25982c301))
* **kida,store,query:** attach tasks to the signals they fill ([#222](https://github.com/TrigenSoftware/nano_kit/issues/222)) ([841acd1](https://github.com/TrigenSoftware/nano_kit/commit/841acd12fcb3c2bd6c494f9ff47dfe998c962457))
* **kida,store:** return a plain result from the operators when every operand is static ([#260](https://github.com/TrigenSoftware/nano_kit/issues/260)) ([3a8b32f](https://github.com/TrigenSoftware/nano_kit/commit/3a8b32f674e045cc42fd422803983f604b5cb4f9))
* **kida:** add `latest` for the value of the source that changed last ([#231](https://github.com/TrigenSoftware/nano_kit/issues/231)) ([84efaed](https://github.com/TrigenSoftware/nano_kit/commit/84efaed2453ab10542afad83958fdea2f709c899))
* **kida:** attach the `resolved` promise as a task and hand values through verbatim ([#223](https://github.com/TrigenSoftware/nano_kit/issues/223)) ([8fabbeb](https://github.com/TrigenSoftware/nano_kit/commit/8fabbeb80f6462ac32c90a8b1ac523c8086971e7))
* **kida:** export `child` to build custom child signals ([#250](https://github.com/TrigenSoftware/nano_kit/issues/250)) ([8794697](https://github.com/TrigenSoftware/nano_kit/commit/8794697145e338684cf90e91fc6ceb81eb4e9adb))
* **kida:** rename the template tag `f` to `text` ([505d947](https://github.com/TrigenSoftware/nano_kit/commit/505d9479b4d75b4008d11718606392322cec1e89))
* require Node.js 24 ([#268](https://github.com/TrigenSoftware/nano_kit/issues/268)) ([c6ed062](https://github.com/TrigenSoftware/nano_kit/commit/c6ed0627e0e76785941ede1bb8f280c5d80896a0))
* **store,query:** replace the signals map functions with the `SignalsMap` and `IndexedSignalsMap` classes ([#261](https://github.com/TrigenSoftware/nano_kit/issues/261)) ([c062f06](https://github.com/TrigenSoftware/nano_kit/commit/c062f068a65f3869ec907175f0e1cc14e96d54a8))

### Bug Fixes

* **agera:** drop the development warning about a signal written inside a computed ([#266](https://github.com/TrigenSoftware/nano_kit/issues/266)) ([21e269b](https://github.com/TrigenSoftware/nano_kit/commit/21e269b0f4aab003f3559229d8146e3b67bfe8eb))
* **agera:** queue `batch` and `trigger` writes onto a running flush instead of draining it ([#256](https://github.com/TrigenSoftware/nano_kit/issues/256)) ([d6afbdd](https://github.com/TrigenSoftware/nano_kit/commit/d6afbdd0dcd8dd02ecf8172698b9cca9f4d290c5))
* **deps:** update dependency @astrojs/starlight to ^0.42.0 ([#228](https://github.com/TrigenSoftware/nano_kit/issues/228)) ([bb5a65c](https://github.com/TrigenSoftware/nano_kit/commit/bb5a65c147f669f393df3cce0418b5c3d53dea00))
* **deps:** update dependency jotai to v3 ([#243](https://github.com/TrigenSoftware/nano_kit/issues/243)) ([a6c972f](https://github.com/TrigenSoftware/nano_kit/commit/a6c972f169bc0a1c759647f2ee5cd71e59b83225))
* **deps:** update dependency mobx to v7 ([#184](https://github.com/TrigenSoftware/nano_kit/issues/184)) ([5c3ff53](https://github.com/TrigenSoftware/nano_kit/commit/5c3ff533967b61a4e30ee6fc9a5205159ef0a902))
* **deps:** update dependency starlight-llms-txt to ^0.12.0 ([#258](https://github.com/TrigenSoftware/nano_kit/issues/258)) ([d52874c](https://github.com/TrigenSoftware/nano_kit/commit/d52874c7711b45eec97a59150fef4e086fae9dc6))
* **deps:** update dependency starlight-sidebar-topics to ^0.9.0 ([#232](https://github.com/TrigenSoftware/nano_kit/issues/232)) ([65da70d](https://github.com/TrigenSoftware/nano_kit/commit/65da70d2e54f82470146309d0a6aadb9aad798c9))
* **intl:** require explicit options next to a fallback in the Intl formatters ([#245](https://github.com/TrigenSoftware/nano_kit/issues/245)) ([6b3d44e](https://github.com/TrigenSoftware/nano_kit/commit/6b3d44e26df8d26e455912c43ad6f47835b3ea0e))
* **kida:** keep `onMount` subscribed when a signal remounts within the unmount delay ([#229](https://github.com/TrigenSoftware/nano_kit/issues/229)) ([b911d4c](https://github.com/TrigenSoftware/nano_kit/commit/b911d4ce7657e67e47427f4863e0ab4b90212949))
* **next-router:** let a nested `NextNavigationProvider` pick up search params below a prerenderable layout ([#242](https://github.com/TrigenSoftware/nano_kit/issues/242)) ([13a2eb3](https://github.com/TrigenSoftware/nano_kit/commit/13a2eb3f5b5f5f5e619952a3bf052573c705a99c))
* **platform-web:** accept `null` in `parseLocales` for a missing `Accept-Language` header ([#244](https://github.com/TrigenSoftware/nano_kit/issues/244)) ([1e29516](https://github.com/TrigenSoftware/nano_kit/commit/1e295161c9c2cb38c40601c849a91cc790324a55))
* **platform-web:** broadcast `broadcasted` writes and resets while the signal is not observed ([#247](https://github.com/TrigenSoftware/nano_kit/issues/247)) ([2696386](https://github.com/TrigenSoftware/nano_kit/commit/26963862b0bb73136d31acabff82df2713ea0d6e))
* **platform-web:** expire a cookie immediately with `maxAge: 0` ([#248](https://github.com/TrigenSoftware/nano_kit/issues/248)) ([bae248e](https://github.com/TrigenSoftware/nano_kit/commit/bae248e0ab35d34025ec8c1d64b1454ebd79b672))
* **preact:** reuse the parent context by default in `HydrationProvider`, as React does ([#249](https://github.com/TrigenSoftware/nano_kit/issues/249)) ([cb2d9e2](https://github.com/TrigenSoftware/nano_kit/commit/cb2d9e2dccd01f78fce30746f4d8696400a7f374))
* **router,ssr:** render the `httpEquiv` meta prop as the `http-equiv` attribute ([#253](https://github.com/TrigenSoftware/nano_kit/issues/253)) ([568df71](https://github.com/TrigenSoftware/nano_kit/commit/568df7139c2138e0a20f75d397ed6d9a6f4cdc9c))
* **ssr,react-ssr,preact-ssr,svelte-ssr:** escape head values and the dehydrated snapshot in the rendered html ([#239](https://github.com/TrigenSoftware/nano_kit/issues/239)) ([60eefe2](https://github.com/TrigenSoftware/nano_kit/commit/60eefe2cb6e80d54306d15fcc63dab26cc878396))
* **svelte-router:** re-render `App` when the matched page component changes ([#241](https://github.com/TrigenSoftware/nano_kit/issues/241)) ([0d44ed1](https://github.com/TrigenSoftware/nano_kit/commit/0d44ed15aa9d10b517e57a3255b4abd595f523d9))
* **svelte-router:** resolve `getLocation`, `getNavigation`, `getPaths` and `getCanGoBack` through the Svelte context ([#240](https://github.com/TrigenSoftware/nano_kit/issues/240)) ([2e465d3](https://github.com/TrigenSoftware/nano_kit/commit/2e465d36cbc0733f848301a570c52e5610559b1e))

## [1.2.0](https://github.com/TrigenSoftware/nano_kit/compare/v1.1.0...v1.2.0) (2026-08-30)

### Features
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "nano_kit",
"type": "module",
"private": true,
"version": "1.2.0",
"version": "2.0.0",
"description": "A lightweight, modular, and performant state management ecosystem for building modern web applications.",
"author": "dangreen",
"license": "MIT",
Expand Down
25 changes: 25 additions & 0 deletions packages/agera/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,31 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [2.0.0](https://github.com/TrigenSoftware/nano_kit/compare/v1.2.0...v2.0.0) (2026-09-28)

### ⚠ BREAKING CHANGES

* `effect` no longer defers when created inside a deferred scope body: use
`deferEffect` there. `subscribe`, `listen`, `observe` and `subscribeAny` no longer accept the
`noDefer` argument.
* the packages require Node.js 24 or newer.

### Features

* add `deferEffect` for effects owned by a deferred scope ([#257](https://github.com/TrigenSoftware/nano_kit/issues/257)) ([12cb14b](https://github.com/TrigenSoftware/nano_kit/commit/12cb14b4ca39645dbd2899e8e2b79738d387c854))
* add `inspect` to report graph events in the development build ([#237](https://github.com/TrigenSoftware/nano_kit/issues/237)) ([07e4290](https://github.com/TrigenSoftware/nano_kit/commit/07e4290790f7c2b75864fa0e82e2fa7acd0ed76c))
* add `uninspected` to keep the nodes of a listener out of `inspect`, and the old value to `UpdateEvent` ([#262](https://github.com/TrigenSoftware/nano_kit/issues/262)) ([83384ce](https://github.com/TrigenSoftware/nano_kit/commit/83384ce8e61f37d27bf8989df91c503f0ec3200e))
* add development diagnostics with separate development and production builds ([#236](https://github.com/TrigenSoftware/nano_kit/issues/236)) ([39be996](https://github.com/TrigenSoftware/nano_kit/commit/39be99600aa5c5066b8eb5205431740986df3dee))
* call the `inspect` listener with one event object ([#264](https://github.com/TrigenSoftware/nano_kit/issues/264)) ([f49ec73](https://github.com/TrigenSoftware/nano_kit/commit/f49ec734647dee7bd97ee3ffc908232e2f095ccb))
* enclose the lifecycle listeners of a node between `FireEvent` and `FireEndEvent` ([#267](https://github.com/TrigenSoftware/nano_kit/issues/267)) ([ef084b7](https://github.com/TrigenSoftware/nano_kit/commit/ef084b7d898f21c70d96bec8702ffd490ff3cf15))
* report the end of a run with `RunEndEvent`, and leave `oldValue` out of a first evaluation ([#265](https://github.com/TrigenSoftware/nano_kit/issues/265)) ([61186e0](https://github.com/TrigenSoftware/nano_kit/commit/61186e07a5f6e8ff77fb782c1d177b5534d4462a))
* require Node.js 24 ([#268](https://github.com/TrigenSoftware/nano_kit/issues/268)) ([c6ed062](https://github.com/TrigenSoftware/nano_kit/commit/c6ed0627e0e76785941ede1bb8f280c5d80896a0))

### Bug Fixes

* drop the development warning about a signal written inside a computed ([#266](https://github.com/TrigenSoftware/nano_kit/issues/266)) ([21e269b](https://github.com/TrigenSoftware/nano_kit/commit/21e269b0f4aab003f3559229d8146e3b67bfe8eb))
* queue `batch` and `trigger` writes onto a running flush instead of draining it ([#256](https://github.com/TrigenSoftware/nano_kit/issues/256)) ([d6afbdd](https://github.com/TrigenSoftware/nano_kit/commit/d6afbdd0dcd8dd02ecf8172698b9cca9f4d290c5))

## [1.2.0](https://github.com/TrigenSoftware/nano_kit/compare/v1.0.0...v1.2.0) (2026-08-30)

### Features
Expand Down
2 changes: 1 addition & 1 deletion packages/agera/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "agera",
"type": "module",
"version": "1.2.0",
"version": "2.0.0",
"description": "A small push-pull based signal library based on alien-signals algorithm.",
"author": "dangreen",
"license": "MIT",
Expand Down
15 changes: 15 additions & 0 deletions packages/devtools/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Changelog

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [2.0.0](https://github.com/TrigenSoftware/nano_kit/compare/v1.2.0...v2.0.0) (2026-09-28)

### ⚠ BREAKING CHANGES

* the packages require Node.js 24 or newer.

### Features

* add the DevTools panel ([#263](https://github.com/TrigenSoftware/nano_kit/issues/263)) ([bc1e51a](https://github.com/TrigenSoftware/nano_kit/commit/bc1e51a9c8e5979aa7813039c4e78bfd052bccc0))
* require Node.js 24 ([#268](https://github.com/TrigenSoftware/nano_kit/issues/268)) ([c6ed062](https://github.com/TrigenSoftware/nano_kit/commit/c6ed0627e0e76785941ede1bb8f280c5d80896a0))
2 changes: 1 addition & 1 deletion packages/devtools/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@nano_kit/devtools",
"type": "module",
"version": "1.0.0",
"version": "2.0.0",
"description": "In-page DevTools panel for nano_kit: the reactive graph, values, lifecycle and a flush-grouped log.",
"author": "dangreen",
"license": "MIT",
Expand Down
16 changes: 16 additions & 0 deletions packages/intl/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [2.0.0](https://github.com/TrigenSoftware/nano_kit/compare/v1.2.0...v2.0.0) (2026-09-28)

### ⚠ BREAKING CHANGES

* the packages require Node.js 24 or newer.

### Features

* add development diagnostics with separate development and production builds ([#236](https://github.com/TrigenSoftware/nano_kit/issues/236)) ([39be996](https://github.com/TrigenSoftware/nano_kit/commit/39be99600aa5c5066b8eb5205431740986df3dee))
* require Node.js 24 ([#268](https://github.com/TrigenSoftware/nano_kit/issues/268)) ([c6ed062](https://github.com/TrigenSoftware/nano_kit/commit/c6ed0627e0e76785941ede1bb8f280c5d80896a0))
* use a plain string translation for every plural form and match case ([#246](https://github.com/TrigenSoftware/nano_kit/issues/246)) ([82d45cf](https://github.com/TrigenSoftware/nano_kit/commit/82d45cfaf2c9008a6a1bc23841343eb25982c301))

### Bug Fixes

* require explicit options next to a fallback in the Intl formatters ([#245](https://github.com/TrigenSoftware/nano_kit/issues/245)) ([6b3d44e](https://github.com/TrigenSoftware/nano_kit/commit/6b3d44e26df8d26e455912c43ad6f47835b3ea0e))

## [1.2.0](https://github.com/TrigenSoftware/nano_kit/compare/v1.1.0...v1.2.0) (2026-08-30)

### Features
Expand Down
2 changes: 1 addition & 1 deletion packages/intl/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@nano_kit/intl",
"type": "module",
"version": "1.2.0",
"version": "2.0.0",
"description": "A lightweight internationalization library for Nano Kit applications.",
"author": "dangreen",
"license": "MIT",
Expand Down
Loading