Skip to content

Commit 28b5900

Browse files
authored
Merge pull request #860 from preactjs/changeset-release/main
Version Packages
2 parents 7039a75 + 651ec84 commit 28b5900

27 files changed

+233
-150
lines changed

.changeset/brave-frogs-trade.md

Lines changed: 0 additions & 42 deletions
This file was deleted.

.changeset/curvy-ducks-remain.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/dull-walls-bathe.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.changeset/hungry-apricots-shake.md

Lines changed: 0 additions & 45 deletions
This file was deleted.

.changeset/poor-snails-smell.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/proud-tomatoes-flow.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

extension/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# preact-signals-devtools
22

3+
## 1.1.6
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [[`5794b04`](https://github.com/preactjs/signals/commit/5794b0418ef6a04810ade08e2a8237c66e61ed4b), [`4872968`](https://github.com/preactjs/signals/commit/48729680775b593d3bc1d3c7c778e99fdf91c41a), [`00ba858`](https://github.com/preactjs/signals/commit/00ba858365c135049400607d2f3f380756c96c5d), [`19ac39b`](https://github.com/preactjs/signals/commit/19ac39bb4a7a3273090753a50a58efb717f5553d)]:
8+
- @preact/signals@2.7.0
9+
- @preact/signals-devtools-adapter@0.4.0
10+
- @preact/signals-devtools-ui@0.4.0
11+
- @preact/signals-core@1.13.0
12+
313
## 1.1.5
414

515
### Patch Changes

extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "preact-signals-devtools",
3-
"version": "1.1.5",
3+
"version": "1.1.6",
44
"description": "Chrome DevTools extension for debugging Preact Signals",
55
"private": true,
66
"type": "module",

packages/core/CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,50 @@
11
# @preact/signals-core
22

3+
## 1.13.0
4+
5+
### Minor Changes
6+
7+
- [#812](https://github.com/preactjs/signals/pull/812) [`19ac39b`](https://github.com/preactjs/signals/commit/19ac39bb4a7a3273090753a50a58efb717f5553d) Thanks [@andrewiggins](https://github.com/andrewiggins)! - Add `createModel` and `action` to signals core package
8+
9+
**`createModel`** provides a structured way to create reactive model classes that encapsulate signals, computed values, and actions:
10+
11+
```js
12+
const CounterModel = createModel((initialCount = 0) => {
13+
const count = signal(initialCount);
14+
const doubled = computed(() => count.value * 2);
15+
16+
effect(() => {
17+
console.log("Count changed:", count.value);
18+
});
19+
20+
return {
21+
count,
22+
doubled,
23+
increment() {
24+
count.value++;
25+
},
26+
};
27+
});
28+
29+
const counter = new CounterModel(5);
30+
counter.increment(); // Updates are automatically batched
31+
counter[Symbol.dispose](); // Cleans up all effects
32+
```
33+
34+
Key features:
35+
- Factory functions can accept arguments for initialization
36+
- All methods are automatically wrapped as actions (batched & untracked)
37+
- Effects created during model construction are captured and disposed when the model is disposed via `Symbol.dispose`
38+
- TypeScript validates that models only contain signals, actions, or nested objects with signals/actions
39+
40+
**`action`** is a helper that wraps a function to run batched and untracked:
41+
42+
```js
43+
const updateAll = action(items => {
44+
items.forEach(item => item.value++);
45+
}); // All updates batched into single notification
46+
```
47+
348
## 1.12.2
449

550
### Patch Changes

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@preact/signals-core",
3-
"version": "1.12.2",
3+
"version": "1.13.0",
44
"license": "MIT",
55
"description": "Manage state with style in every framework",
66
"keywords": [],

0 commit comments

Comments
 (0)