neon-js

https://github.com/CityOfZion/neon-js

In June, the first beta version of the new version 4 was released. The new chosen stack includes typescript, lerna, jest and yarn. This would give us the tools to manage a growing codebase of multiple packages. While the aim is to have multiple packages, the neon-js package will still remain as a functional library with the same functionality.

The core package will be released under the name @cityofzion/neon-core instead. This will feature only the named modules and none of the semantic API. The api functionality in the current package will be extracted out as @cityofzion/neon-api and @cityofzion/neon-nep5 plugins that augment the core package. (Currently the plugin packages are not released and thus not available for trial).

To install version 4, you will need to install it using the next tag:

npm i @cityofzion/neon-js@next

For version 3, we will still continue to release while version 4 is built. This month, we released 3.9.1 which introduced deserialization of complex objects from the VM.

Another release of v4 was made, upgrading the dependencies and focusing on fixing the bugs that occurred during the transition to typescript. On v3, we released 3.9.2 which fixes various bugs that was affecting how neon-js was determining good rpc nodes.

With the announcement of voting, some focus was placed on investigation and putting in support for State Transactions. These are transactions that are used to vote for candidates. This work will be released when the feature is more stable.

Work on version 4 is wrapping up and will soon be released (early September). Work on v3 will stop once version 4 is out and a branch archive/v3 will be carved out to support future patches for v3. Due to the large changes happening in version 4, I do not expect an immediate uptake on version 4. Thus, version 3 will continue to receive patches and appropriate upgrades when necessary. However, version 3 might not have the infrastructure to support the new features that can be published in version 4. For example, any node based packages cannot be ported to version 3 without breaking browser compatbility.