Releases: ngxs/store
Releases Β· ngxs/store
v18.1.5
What's Changed
- fix(store): prevent writing to state once action handler is unsubscribed by @arturovt in #2231
- perf(store): replace
instanceof Function
withtypeof
by @arturovt in #2247 - refactor(store): use
Object.is
as default equality check by @arturovt in #2245 - refactor(router-plugin): mark selectors as pure by @arturovt in #2248
- refactor(storage-plugin): mark engine tokens as pure by @arturovt in #2249
- refactor(store): tree-shake internal state tokens by @arturovt in #2246
- chore: release v18.1.5 by @arturovt in #2252
Full Changelog: v18.1.4...v18.1.5
v18.1.4
What's Changed
- fix(logger-plugin): run
filter
function in injection context by @arturovt in #2236 - fix(store): disallow nullable actions in
dispatch()
by @pietzschke in #2221 - chore: release v18.1.4 by @arturovt in #2238
New Contributors
- @pietzschke made their first contribution in #2221
Full Changelog: v18.1.3...v18.1.4
v18.1.3
What's Changed
- build: copy LICENSE after build by @arturovt in #2234
- chore(deps): update dependency rollup to v4.22.4 [security] by @renovate in #2222
- chore(deps): update dependency express to v4.20.0 [security] by @renovate in #2220
- chore: release v18.1.3 by @arturovt in #2235
Full Changelog: v18.1.2...v18.1.3
v18.1.2
What's Changed
- ci: skip cache for github actions by @markwhitfeld in #2205
- ci: fix bundlemon reporting by @markwhitfeld in #2206
- docs: update discord link by @markwhitfeld in #2208
- fix: allow selector utils usage within state class by @markwhitfeld in #2210
- test: clean up tests' console logging by @markwhitfeld in #2211
- ci: add preview releases with pkg.pr.new by @dmitry-stepanenko in #2216
- docs(tutorial): create todo app tutorial based on tutorial kit by @profanis in #2213
- chore: install tutorial packages by @profanis in #2223
- perf(store): avoid going over states list every time action is dispatched by @arturovt in #2219
- fix(store): register feature plugins correctly by @arturovt in #2228
- refactor(store): add action registry by @arturovt in #2224
- fix(store): memoize selectors which return NaN by @arturovt in #2230
- chore: release v18.1.2 by @arturovt in #2232
Full Changelog: v18.1.1...v18.1.2
v18.1.1
What's Changed
- fix(store): use
computed
inselectSignal
by @arturovt in #2201 - chore: release v18.1.1 by @markwhitfeld in #2203
Full Changelog: v18.1.0...v18.1.1
v18.1.0
What's Changed
- docs: update
options.md
to add a warning about environments by @arturovt in #2174 - docs: update unit-testing recipe by @arturovt in #2175
- build: upgrade workspace to Angular 18 by @arturovt in #2187
- docs(store): update the logo in store package by @profanis in #2185
- fix(schematics): remove local ng utils for schematics by @dmitry-stepanenko in #2184
- docs: update the logo in the main readme file by @profanis in #2188
- fix(store): decouple state signal updates from synchronous changes by @arturovt in #2189
- feat(store): add
withExperimentalNgxsPendingTasks
by @arturovt in #2186 - feat(store): debounce
selectSignal
by default by @arturovt in #2190 - docs: adjust details on injectContainerState by @markwhitfeld in #2195
- docs: improve error handling section in docs by @markwhitfeld in #2196
- docs: add explanation of deterministic vs non-deterministic errors by @markwhitfeld in #2197
- chore: release v18.1.0 by @markwhitfeld in #2198
Full Changelog: v18.0.0...v18.1.0
v18.0.0
What's Changed
- fix(router-plugin): expose
NGXS_ROUTER_PLUGIN_OPTIONS
privately by @arturovt in #2037 - fix(devtools-plugin): do not re-enter Angular zone when resetting state by @arturovt in #2038
- feat(store): add standalone features by @arturovt in #2044
- ci: get CircleCI running again by @arturovt in #2050
- feat: add schematics by @dmitry-stepanenko in #2032
- fix(storage-plugin): expose storage plugin internals privately through subpackage by @arturovt in #2052
- refactor(websocket-plugin): get rid off
rxjs/webSocket
and useWebSocket
directly by @arturovt in #2033 - refactor: use
ReplaySubject
for take until notifiers by @arturovt in #2055 - fix(store): expose keys which are used to store metadata privately by @arturovt in #2054
- chore: add v3.8 release notes by @Carniatto in #1980
- docs: update
action-handlers.md
by @arturovt in #2056 - docs: example code not compiling by @benoitnesme in #2059
- docs: introduce schematics by @profanis in #2057
- fix(store): show error when state initialization order is invalid by @arturovt in #2066
- fix(store): log feature states added before store is initialized by @arturovt in #2067
- chore:
tsconfig.spec.json
files should extend from roottsconfig.spec.json
by @arturovt in #2068 - docs: update store documentation by @profanis in #2069
- docs(form-plugin): npm package title and title of README mismatch by @linhub15 in #2070
- fix(store): patch operator must handle existing nulls by @TheKingDave in #2064
- docs(installation): add snippets for devtools-plugin by @OanaSurdea in #2077
- feat(store): add support for standalone APIs in schematics by @dmitry-stepanenko in #2060
- build: add angular 17 support by @jpraetorius in #2079
- docs: fix paths and provide defaults into schematics by @profanis in #2081
- feat(store): change the StateModule name into State by @profanis in #2082
- refactor: integration app serve targets by @Dyqmin in #2084
- fix(schematics): replace the deprecated api in the unit tests and add a missing decorator by @profanis in #2088
- feat: state, store and starter-kit schematics support a project option by @profanis in #2089
- fix(store): ensure features are initialized after root state by @arturovt in #2083
- fix(schematics): dasherize the state and store file name by @profanis in #2090
- fix(store): change
instanceof Promise
toisPromise
to allow any promisable object by @arturovt in #2093 - feat: upgrade workspace to Angular 17 by @arturovt in #2087
- chore: format files after upgrading to Nx 17 by @arturovt in #2096
- ci: upgrade Node version to
18.x
by @arturovt in #2095 - ci: remove
integration_ng15_tests
job by @arturovt in #2098 - ci: switch from
dtslint
to ESLint by @arturovt in #2103 - feat(storage-plugin): require explicit options when providing storage plugin by @arturovt in #2100
- feat(store): add
selectSignal
by @arturovt in #2097 - refactor: move metadata into internals by @arturovt in #2062
- perf(store): improve compliant prop getter by @arturovt in #2106
- feat(storage-plugin): allow providing feature states by @arturovt in #1994
- perf(store): select prop getter implementation only once by @arturovt in #2107
- fix(store):
dispatch
return observable should be<void>
by @arturovt in #2109 - fix(store): enable throwing errors from selectors by default by @arturovt in #2111
- fix(store):
ctx.getState
should returnDeepReadOnly<>
by @arturovt in #2110 - Revert "fix(store):
ctx.getState
should returnDeepReadOnly<>
" by @arturovt in #2113 - fix(store):
ofActionErrored
should returnActionCompletion
by @arturovt in #2112 - fix(store):
setState
andpatchState
should both return<void>
by @arturovt in #2114 - fix(websocket-plugin):
WebSocket
title casing should be consistent by @arturovt in #2115 - fix(store):
select,selectOnce,selectSnapshot
should only accept typed selector by @arturovt in #2116 - fix(store): do not inject container state by default by @arturovt in #2117
- fix(store): remove
defaultsState
config property by @arturovt in #2118 - fix(store): remove deprecated stuff by @arturovt in #2119
- docs: update
suppressErrors
examples by @arturovt in #2120 - docs(router-plugin): update to explain standalone API by @arturovt in #2121
- docs(logger-plugin): update to explain standalone API by @arturovt in #2123
- docs(devtools-plugin): update to explain standalone API by @arturovt in #2122
- docs(websocket-plugin): update to explain standalone API by @arturovt in #2124
- docs(form-plugin): update to explain standalone API by @arturovt in #2125
- docs(storage-plugin): update to explain standalone API by @arturovt in #2126
- docs: use new Angular features by @arturovt in #2127
- docs: update recipes by @arturovt in #2129
- docs: update
concepts/select.md
by @arturovt in #2128 - docs: update concepts, lazy loading guide and examples by @arturovt in #2130
- docs: update more examples by @arturovt in #2132
- build: flatten
.d.ts
files by @arturovt in #2131 - feat(store): expose
withNgxsDevelopmentOptions
standalone API by @arturovt in #2134 - refactor(store): deprecate
@Select
by @arturovt in #2135 - feat(storage-plugin): migrate to the property 'keys' by @profanis in #2108
- refactor(store): deprecate state
children
by @arturovt in #2136 - refactor(store): rely on
ngDevMode
to be always defined by @arturovt in #2138 - docs: improve the doc structure by @profanis in #2139
- feat(store): export selector util types privately by @arturovt in #2140
- feat(store): implement NGXS unhandled error handler by @arturovt in #2137
- docs: remove any Ivy mentions by @arturovt in #2142
- docs: section headings as uppercase by @profanis in #2144
- feat(signals): provide
@ngxs/signals
package with signals utilities by @arturovt in #2141 - chore(deps): update dependency express to v4.19.2 [security] by @renovate in #2145
- feat(store): add
dispatch
utility by @arturovt in #2143 - fix(store): remove
RequireAtLeastOneProperty
to make it simpler by @arturovt in #2147 - docs: introduce deprecation root pages by @profanis in #2146
- docs: add inject container state deprecation notice by @arturovt in #2148
- fix(store): created maps properties should be enumerable by @arturovt in #2150
- fix(store): update
ActionDef
new to returnany
by @arturovt in #2149 - fix(store): do not rely on private token when checking whether zone is enabled by @arturovt in #2151
- docs: explain
dispatch
utility by @arturovt in #2153 - docs: introduce an overview page on each section by @profanis in #2155
- feat(store): add preboot feature and recipe by @arturovt in #2156
- feat(store): improve selector decorator types (#1929) by @ConnorUllmann in #2042
- docs: update life cycle guide and examples by @arturovt in #2154
- chore: upgrade deps, update "wait for stable" test and simplify docs by @arturovt in https://github.com/ngxs/store/pull/...
v3.8.2
What's Changed
- build: add angular 17 support by @jpraetorius in #2079
- docs: update
options.md
by @arturovt in #2023 - refactor(store): remove
isAngularInTestMode
by @arturovt in #2024 - refactor(store): do not create new functions in each
@State
decorator by @arturovt in #2022 - refactor(store): do not create new functions per each new context by @arturovt in #2025
- perf(store): tree-shake selectors validation errors by @arturovt in #2020
- docs: fix upsertItem operator example by @nilzen in #2028
- fix(store): patch operator must handle existing nulls by @TheKingDave in #2064
- fix(devtools-plugin): do not re-enter Angular zone when resetting state by @arturovt in #2038
- fix(storage-plugin): access local and session storages globals only in browser by @arturovt in #2034
- fix(storage-plugin): require only
getItem
andsetItem
on engines by @arturovt in #2036 - ci: update node images and browser tools by @arturovt in #2039
- refactor(*): replace
get type()
withtype =
in actions by @arturovt in #2035
New Contributors
- @jpraetorius made their first contribution in #2079
- @TheKingDave made their first contribution in #2064
- @nilzen made their first contribution in #2028
Full Changelog: v3.8.1...v3.8.2
v3.8.1
What's Changed
- fix(store): check if state is injectable in JIT by @arturovt in #1988
- test(store): add unit tests to reproduce state value is not immediately set but queued up by @arturovt in #1990
- chore: migrate to nx by @dmitry-stepanenko in #1992
- fix(store): state stream should always return latest value even if update is queued up by @arturovt in #1995
- chore: upgrade Husky and commitlint by @arturovt in #1997
- chore(integration): update target dependencies for the integration project by @dmitry-stepanenko in #1998
- chore: enforce running tests sequentially on circleci by @dmitry-stepanenko in #2013
- chore: limit amount of workers on CI by @dmitry-stepanenko in #2014
- fix(store): ensure
StateFactory
does not connect actions multiple times by @arturovt in #2010 - refactor(store): singleton providers as
providedIn: root
by @arturovt in #2015 - build: add Angular 16 support by @markwhitfeld in #2008
- chore: run Cypress migration in workspace root by @arturovt in #2016
- refactor: simplify integration app and run Cypress SSR tests by @arturovt in #2017
- chore: release v3.8.1 by @markwhitfeld in #2018
New Contributors
- @dmitry-stepanenko made their first contribution in #1992
Full Changelog: v3.8.0...v3.8.1
v3.8.0
Note: In this release we are publishing in the new Ivy packaging format, and therefore have dropped support for Angular 11 and earlier.
What's Changed
- feat(store): strongly type ofAction* methods by @bbarry in #1808
- feat(store): expose ActionContext and ActionStatus by @arturovt in #1766
- feat(store): warn on unhandled actions by @arturovt in #1870
- feat(store): allow prodiving
warnOnUnhandledActions
as boolean by @arturovt in #1951 - feat(store): build packages in Ivy format by @arturovt in #1945
- feat(store): improve create selector types by @markwhitfeld in #1982
- feat(operators): improve publicly exposed types by @markwhitfeld in #1956
- feat(operators): improve type checking and intellisense for State Operators by @markwhitfeld in #1947
- feat(selector-utils): add advanced selector utils by @Carniatto in #1824
- perf(store): tree-shake patch errors by @arturovt in #1955
- fix(store): do not infer T from argument to patch by @david-shortman in #1806
- fix(store): get descriptor explicitly when considered as class prop by @arturovt in #1961
- fix(store): avoid delayed updates from state stream by @arturovt in #1981
- feat(storage-plugin): allow providing namespace for keys by @arturovt in #1841
- feat(storage-plugin): enable providing storage engine individually by @arturovt in #1935
- feat(router-plugin): provide more actions and navigation timing option by @arturovt in #1932
- feat(form-plugin): allow
ngxsFormDebounce
to be string by @arturovt in #1972 - feat(devtools-plugin): add trace options to
NgxsDevtoolsOptions
by @Dyqmin in #1968 - feat(devtools-plugin): add new options to the
NgxsDevtoolsOptions
interface by @oleksandr-codefresh in #1879 - chore(deps): update dependency express to v4.17.3 [security] by @renovate in #1949
- test(unit): update unit test setup, revise existing unit tests by @rfprod in #1846
- docs: update action-handlers.md by @maxaxehax in #1973
New Contributors
- @oleksandr-codefresh made their first contribution in #1879
- @Dyqmin made their first contribution in #1968
- @maxaxehax made their first contribution in #1973
- @david-shortman made their first contribution in #1806
- @bbarry made their first contribution in #1808
Full Changelog: v3.7.6...v3.8.0