From bb9d9823a19ae87719375eb0e4652d3b6935cd59 Mon Sep 17 00:00:00 2001 From: markwhitfeld Date: Wed, 17 Dec 2025 22:27:10 +0200 Subject: [PATCH 1/2] chore: small tweaks --- .../2025-12-17_announcing_ngxs_21/article.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/publication/2025-12-17_announcing_ngxs_21/article.md b/publication/2025-12-17_announcing_ngxs_21/article.md index a19ab69ef..f0ae39103 100644 --- a/publication/2025-12-17_announcing_ngxs_21/article.md +++ b/publication/2025-12-17_announcing_ngxs_21/article.md @@ -72,7 +72,7 @@ async fetchUsers(ctx: StateContext) { } catch (error) { if (error.name === 'AbortError') { console.log('Fetch was canceled'); - return; + return; // Gracefully exit if canceled } throw error; } @@ -92,16 +92,21 @@ We've addressed several important issues to improve stability and reliability: - **Lifecycle Safety**: Added guards against running state functions after the injector is destroyed ([PR #2366](https://github.com/ngxs/store/pull/2366), [PR #2377](https://github.com/ngxs/store/pull/2377)) - **Selector Improvements**: Fixed `createPickSelector` to not throw on unregistered states ([PR #2378](https://github.com/ngxs/store/pull/2378)) -- **Application Stability**: Stopped contributing to stability once the app is stable, improving performance ([PR #2379](https://github.com/ngxs/store/pull/2379)) - **Type Safety**: Updated action handler types to allow `Observable` and `Promise` ([PR #2385](https://github.com/ngxs/store/pull/2385)) -- **Task Management**: Fixed issue where tasks could cause unnecessary unsubscribe operations ([PR #2388](https://github.com/ngxs/store/pull/2388)) + +## Debugging Improvements + +This release includes the following debugging improvements: + +- **Signal Debugging**: Added `debugName` to computed signals in `selectSignal` for better developer experience ([PR #2370](https://github.com/ngxs/store/pull/2370)) ## Performance Improvements This release includes several performance optimizations: - **Memory Management**: Cleared internal `_states` on destroy to aid garbage collection under high load ([PR #2365](https://github.com/ngxs/store/pull/2365)) -- **Signal Debugging**: Added `debugName` to computed signals in `selectSignal` for better developer experience ([PR #2370](https://github.com/ngxs/store/pull/2370)) +- **Task Management**: Fixed issue where tasks could cause unnecessary unsubscribe operations ([PR #2388](https://github.com/ngxs/store/pull/2388)) +- **Application Stability**: Stopped contributing to stability once the app is stable, improving performance ([PR #2379](https://github.com/ngxs/store/pull/2379)) ## Plugin Improvements From b0b50256093c311df564750960d619191308ce86 Mon Sep 17 00:00:00 2001 From: markwhitfeld Date: Wed, 17 Dec 2025 22:32:27 +0200 Subject: [PATCH 2/2] docs: change log typo fix --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c080d96e..666643fd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ $ npm install @ngxs/store@dev - Refactor(store): Clear `_states` on destroy to aid GC under high load [#2365](https://github.com/ngxs/store/pull/2365) - Refactor(store): Add `debugName` to `computed` signals in `selectSignal` [#2370](https://github.com/ngxs/store/pull/2370) - Fix(storage-plugin): Guard against `engine` may be falsy [#2367](https://github.com/ngxs/store/pull/2367) [#2368](https://github.com/ngxs/store/pull/2368) -- Peformance(storage-plugin): Replace closure-based action matcher with direct type comparison [#2369](https://github.com/ngxs/store/pull/2369) +- Performance(storage-plugin): Replace closure-based action matcher with direct type comparison [#2369](https://github.com/ngxs/store/pull/2369) - Fix(router-plugin): Avoid redundant NGXS state updates for identical router snapshots [#2372](https://github.com/ngxs/store/pull/2372) ### 20.1.0 2025-07-16