Releases: vigetlabs/microcosm
Releases · vigetlabs/microcosm
v9.12.0
This is a big update, however there should be no breaking changes
(assuming you are not referencing Microcosm internals).
Noticeable Changes
- Microcosm now stores transactions created by actions as a tree. The
long term plan for this change is to support undo trees. - Stores determine initial state when they are added to a
Microcosm. This allows for Microcosms to be created without needing
tostart()
. - Added history API. This is an unstable API. However, for those
curious, check out the undo-tree example. - Added some additional validations to ensure proper use of Microcosm.
- Actions that are generators now receive the last payload as the
returned value fromyield
. This should help to improve sequential,
daisy chained, calls. - Adjusted build tooling to expose Microcosm modules at
microcosm/*
instead ofmicrocosm/src/*
- Stores and Plugins can now be functions. When this is the case, they
will act as theregister
function in each instance.
Internal Changes
- Adjustments to improve v8 performance. All Microcosm operations
should occur without deoptimization penalties.
Upgrading
For those referencing Microcosm internals, we have moved their hosted
directory from src
to the folder root. This means the following
changes are necessary:
Instead of:
require('microcosm/src/lifecycle')
Change this to:
require('microcosm/lifecycle')
v9.11.0
v9.10.0
v9.9.2
v9.9.1
v9.9.0
Noticeable changes
- Each store will receive the reduced state from all prior
stores. This means that stores can respond to the result from prior
operations. This should not affect any stores that do not access the
third argument of store callbacks (all application state).
Internal changes
- Rewrites and improvements to
dispatch
andsend
methods to
achieve higher v8 optimization.
v9.8.0
v9.7.0
v9.6.0
Noticeable changes
- The
deserialize
lifecycle method is now provided the entire raw
state as the action parameters. This means that it is now available
as the second argument in store callbacks. - Similarly, the
serialize
lifecycle method is now provided the
entire app state in the action. This means that it is now available
as the second argument in store callbacks.
Internal changes
- Tweaks to lazy callback executed after
app.push
for better
optimization - Tweaks to
flatten
for better optimization - Renamed
async
utility tocoroutine
- Reworked transactions to expose future lifecycle methods
- Retain 100% test coverage
Upgrading
There are no breaking changes for this release.