Releases: mtmr0x/nucleo
Major improvements in current library
About this version
- several architectural improvements;
- typescript version updated;
- eslint version updated;
- several type declarations around the source code that was missing;
What's next?
I plan to release a new version of nucleojs with improved API and internal functionality. This version creates a safe ground for the modifications and improvements for version 2.
Final considerations
This is a stable version and I will keep support to it for any problem in version 1 but I will drop support eventually for this API. The nucleojs core will remain the same, but I might implement some changes in its API and I'm not sure about if version 2 will come compatible with version 1 API in some way.
I'm also studying how I could implement a React Hook like use for nucleojs that can actually help React Developers wanting some dynamic verification.
1.1.0 - Minor TypeScript updates
[chore] start release 1.1.0
Code style and documentation improvements
- Improve variable declarations across the library (great thanks to @afonsopacifer);
- Fix update and dispatch documentation (@rogefm, @raffaeldantass and @maclovin)
- Add documentation for dispatch and update functions signatures
v0.7.0: Nucleo Function Type
Added to codebase a type for functions Thanks to @rogefm; the changes are located in https://github.com/nucleojs/nucleo/pull/24
v0.6.0: makes dispatch data fully cloned and improve subscribers
- Make dispatch data saving pass through indexSearch
- make dispatch execute listeners sending safe and cloned data
- remove legacy executeListeners from lawyer file
v0.5.0: New cloneState method, remove getStore and improve subscriber
It implements overall fixes and improvements, alongside with one
important feature: cloneState
;
cloneState
Cloning state now makes the store untouchable, removing the old behavior
with getStore
function and adding a new way of getting data from store
with great performance and even more safe. Nucleo algorithm predicts the
data model to be cloned because its contracts allow to understand the
model and create a new object in a simple deep clone using Nucleo's tree
data structure.
subscriber improvements
Now all listeners will receive a cloned state after saved in store. From
now on inside the first parameter of a listeners, the structure will be:
function listener({ contractName, data }) {
// contractName -> a `string` containing the changed contract name
// data -> cloned object of that new state saved to store
}
Main changes
- add
cloneState
function in store creation return - remove
getStore
function from store creation return - send to listeners a updated cloned data with the contract name
- improve documentation for listeners argument model
- overall fixes in documentation
- overall fixes in code consistency
Overall fixes and tests improvements in NucleoList
Fixes in NucleoList type main topics
-
isolate indexSearch function to its own file
-
Create more tests to NucleoLists exploring exploits possibilities
-
Improve indexSearch function to work properly with NucleoList types
-
Fixes in NucleoList fields validations and serializations
Release message
Update method had some issues in trying to update a contract when some field was a NucleoList
type. This patch concludes refactors and fixes inside the index search algorithm to properly save data to store when it's an update
.
v0.2.5
v0.2.1
v0.2.0-New update method and overall fixes
New update mathod and overall fixes - add update spec file - improve update method to do not try to update when state is not dispatched yet - add script for single tests run and all tests - fix bugs in NucleoList dispatch - change version in package.json - improve README documentation - Add commented functionality for custom primitive types - finish and polish update functionality - Add licence file - Fixes in README documentation - Create index file with all Nucleo library methods