#2054b73164 Thanks @jviide! - Use the same tracking logic for both effects and computeds. This ensures that effects are only called whenever any of their dependencies changes. If they all stay the same, then the effect will not be invoked.
#20949756ae Thanks @jviide! - Optimize dependency value change checks by allowing earlier exists from the loop
@preact/signals-react 1.2.1
Patch Changes
#238bcf4b0b Thanks @eddyw! - Fix ERR_UNSUPPORTED_DIR_IMPORT error when importing use-sync-external-store/shim from ESM build
@preact/signals-core 1.2.0
This release improves performance of signals across all measurements. We want to especially highlight @jviide 's work in #161 here as it did outstanding strides on reducing memory usage, improving performance and ending up making signals one (if not the) fastest reactive library at the time of this writing 🎉
Minor Changes
#18379ff1e7 Thanks @jviide! - Add ability to run custom cleanup logic when an effect is disposed.
effect(() => {
console.log("This runs whenever a dependency changes");
return () => {
console.log("This runs when the effect is disposed");
});
});
#1616ac6923 Thanks @jviide! - Remove all usages of Set, Map and other allocation heavy objects in signals-core. This substaintially increases performance across all measurements.
@preact/signals-react 1.2.0
Minor Changes
#2190621526 Thanks @eddyw! - Replace useReducer with useSyncExternalStore
#39924fa9f7 Thanks @rschristian! - Fixes UMD builds of @preact/signals and @preact/signals-react
1.2.0
Minor Changes
#3876e4dab4 Thanks @XantreGodlike! - Removed difference in behaviour between adapters, signals that use a JSX value will correctly re-render the whole component rather than attempting the JSX-Text optimization.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
⚠️ Dependabot is rebasing this PR ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps @preact/signals from 1.1.5 to 1.2.1.
Release notes
Sourced from
@preact/signals
's releases.... (truncated)
Changelog
Sourced from
@preact/signals
's changelog.Commits
7242bd6
Fix unable to set SVG attribute from signal871ae33
Update useSignalEffect for new effect cleanup485bfc6
Alternative implementation of the deduped vdom-signals rendering31e791e
Add test to ensure signal changes only ever result in a single DOM mutationbe009eb
Add SSR detection to figure out when to allow Preact to render Signals rather...8d9688a
Change: props with Signal values are now only updated via the Signal update...304cc2a
Bugfix: clear the current Component updater before instantiating a new one so...2ab7157
Implement useSignalEffect with effect cleanups8d0ddf4
Track Component updater in propse6e6db7
Track Component attributes in properties instead of WeakSetsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show