Releases: mobxjs/mobx-state-tree
Version 5.1.2
What's Changed
Full Changelog: v5.1.1...v5.1.2
Version 5.1.1
Version 5.1.0
mobx-state-tree changes
Note from the maintainer: we are releasing a "feature-level" 5.x release due to mst-middlewares
and mobx-state-tree
versions being synchronized. However, mobx-state-tree
does not have any significant changes in this release. We plan to decouple mst-middlewares
and mobx-state-tree
in the future to avoid this issue. Sorry about any issues this causes!
- Docs: Include Instance import in docs (#1834 by @hgulersen and @elektronik2k5)
- CI: Return coverage report (#1819 by @pustovalov)
- Minor refactors (#1800, #1801, #1802 by @rluvaton)
mst-middlewares changes
- Add includeHooks flag to UndoManager (#1796 by @andrezzoid)
- Update mobx-state-tree peerDependency in mst-middlewares (#1824 by @Tucker-Eric, @FreeFrags, and @ruudandriessen)
Version 5.0.5
This patch-level release fixes an issue with snapshots being preprocessed twice in some instances. Thanks to @adamkovalsky for the PR (#1822)!
- Fixes a regression introduced in #1792 where a snapshot preprocessor gets called on an already preprocessed snapshot, resulting in potential errors.
If there are any problems with this release, please file an issue or leave comments in the attached Discussion! Thanks to everyone who contributed!
Version 5.0.4
This patch-level release fixes three issues with node reconciliation. Thanks to @adamkovalsky for the PR!
- Adds a
getReconcilationType
method toBaseNode
, which returns the type which should be used for reconcilating the node. This is normally the node'stype
, but in the case ofsnapshotProcessor
it is overridden to be thesnapshotProcessor
type. This is necessary so that the union typereconcile
can correctly reconcile the "current" node first if it's possible. This fixes #1791. - Fixes the
snapshotProcessor
type'sisValidSnapshot
andis
methods to return a validation error and not to throw if the specified preprocessor fails, which can happen when checking if an arbitrary snapshot is valid input (e.g. when determining a union type). We can't expect preprocessors to accept any arbitrary input, so we must assume they can throw when provided with invalid snapshots. This also fixes #1777. - Fixes the array's
areSame
utility to first check that the provided value is a valid snapshot before callingisMatchingSnapshotId
, to avoid the preprocessor throwing an error if the provided snapshot is invalid.
If there are any problems with this release, please file an issue or leave comments in the attached Discussion! Thanks to everyone who contributed!
Version 5.0.3
This patch-level release has a few small updates:
- Removed a couple MobX TypeScript properties that have already been removed in MobX in #1666 by @Strandinator
- Fixes array reconciliation in snapshotProcessor in #1784 by @adamkovalsky, fixing #1776
- Updates devDependencies across the project in #1786 by @jamonholmgren
- Some documentation updates as well
If there are any problems with this release, please file an issue or leave comments in the attached Discussion! Thanks to everyone who contributed!
Version 5.0.2
This patch-level release fixes #1702, "MST should work with useProxies: ifAvailable
option from mobx." It should be fully backwards-compatible with previous 5.x releases.
MobX 6.0 was released recently and ifAvailable
was broken in MST. This PR fixes that.
Thanks to @BATCOH for reporting the issue and the PR fixing it!
Version 5.0.1
This release fixes #1653 (PR #1656). MobX 6.1.0 introduced a new issue and this addresses that. Thanks to @urugator!
There should be no breaking changes.
This new approach, replacing makeObservable
with manually created actions and computed views, also seems to have improved instance instantiation speed (MyModel.create()
) by about 20% in @jamonholmgren's benchmarks.
Please report any new bugs and we will address as soon as possible. We wanted to get this fix into the hands of users ASAP as previously doing yarn add mobx mobx-state-tree
means you would end up with brokenness.
Version 5.0.0
What's New
Version 5.0.0 includes bugfixes that may in rare cases cause breaking changes if relying on undocumented behavior. Most apps should be able to upgrade without problems. Please file an issue if you upgrade and it causes any new bugs.
Bugfixes
• isPlainObject()
supports objects from another window (#1584 by @ConneXNL)
• Models from snapshot processors can now be added to maps (#1581 by @kidroca)
• applyPatch
can now replace root of store if path is empty (#1522 by @epodgaetskiy)