Skip to content

v22.0.0

Latest

Choose a tag to compare

@markwhitfeld markwhitfeld released this 01 Jul 19:22
3ba5509

What's Changed

  • feat(store): support async/await syntax for dispatch by @arturovt in #2399
  • feat(store): add registerNgxsPlugin function for dynamic plugin registration by @arturovt in #2396
  • fix(storage-plugin): guard against environments that do not provide ngServerMode by @arturovt in #2400
  • fix(store): cleanup observers once subjects complete by @arturovt in #2401
  • feat(store): improve createSelector signature type checking by @markwhitfeld in #2402
  • fix(storage-plugin): improve dependency ranges for security fixes by @markwhitfeld in #2404
  • feat(store): export AsyncReturnType from public API by @arturovt in #2405
  • fix(store): skip state mutations when injector is destroyed mid-action by @arturovt in #2406
  • fix(store): warn when state is mutated after injector destruction by @arturovt in #2407
  • feat(store): add safePatch operator by @arturovt in #2408
  • refactor(store): use our custom NoInfer by @arturovt in #2409
  • fix(store): report destroyed injector errors via ErrorHandler by @arturovt in #2410
  • docs: add safePatch operator docs & improve comments in StateContextF… by @arturovt in #2411
  • docs(operators): rewrite JSDoc comments and add @example tags by @arturovt in #2412
  • feat(operators): add updateItems operator by @arturovt in #2413
  • feat(operators): add removeItems operator by @arturovt in #2414
  • docs(select): update injectContainerState description to reflect false default by @arturovt in #2415
  • docs(store): clarify @Selector vs select() usage and add lazy selector component example by @arturovt in #2416
  • docs(store): add type-safe selectors guide and modernize selector-utils examples by @arturovt in #2417
  • refactor(store): replace custom NoInfer with TypeScript built-in by @arturovt in #2418
  • Revert "refactor(store): replace custom NoInfer with TypeScript built-in (#2418)" by @arturovt in #2419
  • fix(store): include state path in StateContextDestroyedError production message by @arturovt in #2421
  • fix(storage-plugin): treat missing version key as 0 when matching migrations by @arturovt in #2422
  • fix(store): return original reference from updateItems when no elements match by @arturovt in #2424
  • fix(store): silence console.warn in withNgxsPendingTasks for browser by @arturovt in #2425
  • feat(store): expose ɵgetTypedNgxsStateFactory for internal third-party usage by @arturovt in #2426
  • feat(store): expose ɵgetTypedNgxsStateFactory for internal third-party usage by @arturovt in #2427
  • docs: add lazy loading action handlers recipe by @arturovt in #2355
  • perf(store): reduce operator allocations on action dispatch hot path by @arturovt in #2435
  • refactor(store): restore mergeMap pipeline in connectActionHandlers by @arturovt in #2436
  • perf(store): replace map/defaultIfEmpty/catchError with manual Observable in connectActionHandlers by @arturovt in #2437
  • perf(store): prevent StateFactory retention via unhandled error callback by @arturovt in #2438
  • refactor(store): remove mergeMap in ngxsBootstrap and simplify bootstrap state by @arturovt in #2439
  • refactor(store): reduce RxJS stuff in lifecycle manager by @arturovt in #2440
  • feat(store): error in dev mode when selectSignal selector returns new reference with identical value by @arturovt in #2441
  • feat(store): add warnOnNewReferenceWithIdenticalValue to NgxsDevelopmentOptions by @arturovt in #2442
  • fix(store): selectSignal - should fallback to the default signal quality by @dmitry-stepanenko in #2443
  • feat(storage-plugin): support factory functions as engine in KeyWithExplicitEngine by @arturovt in #2444
  • feat: deprecate NgModule-based APIs in favor of standalone providers by @arturovt in #2445
  • fix(store): use Object.create(null) for plain lookup maps to prevent prototype pollution by @arturovt in #2446
  • fix(store): expose originalFn on memoized selector in dev mode for clearer warnings by @arturovt in #2448
  • ci(store): increase max bundle size by @markwhitfeld in #2452
  • ci: add on-demand dev publish workflow with manual approval gate by @arturovt in #2449
  • ci: fix trusted publishing by @markwhitfeld in #2454
  • fix(store): harden lookup maps against prototype pollution by @arturovt in #2447
  • chore(deps): resolve vulnerability scanner gripes by @markwhitfeld in #2453
  • ci: renovate config fix by @markwhitfeld in #2456
  • chore: upgrade nx to v22.7.5 by @markwhitfeld in #2457
  • fix(build): simplify package build pipeline and fix windows pipeline issue by @markwhitfeld in #2458
  • build: migrate from Cypress to Playwright by @markwhitfeld in #2460
  • build: add Angular 22 support by @markwhitfeld in #2455
  • docs: v22 announcement article by @markwhitfeld in #2461
  • chore: release v22.0.0 by @markwhitfeld in #2463

Full Changelog: v21.0.0...v22.0.0