This post was republished from the Dash Core Group blog. The original post can be found here.
Dash Core Group is pleased to announce the release of Dash Platform v0.14. This is the 3rd release in our newly defined process, and our 5th release overall, where observers of Dash’s development can expect new functionality delivered roughly every 6 weeks. In that regard, observers can expect the next release to arrive sometime between August 25 — September 8.
As usual, due to the breaking changes introduced in this release all data on Evonet has been wiped. Developers should make adjustments to their local setups to reflect this. Below you’ll find a list of the most important updates. You can view all of the updates in greater detail by visiting the release notes for each platform component, which are included in the last section of this article.
- Document Timestamps: Being able to record the creation or update time of any given document stored on Dash Platform has significant implications for many use cases. Furthermore, timestamping documents opens possibilities for application optimization, e.g. fetching only new/updated documents. Consequently, we have added two new optional, protocol-defined document properties, $createdAt and $updatedAt. These properties can be marked as required in a data contract, and values are set by the Dash SDK and validated against the Platform Chain block time. Filtering or sorting documents by creation or update time can be accomplished by designating these properties as indexes in a data contract.
- New and Improved DAPI Client: Platform team developers completely rewrote DAPI Client to improve code quality, usability, and testability. In the new version, developers can specify exact DAPI node addresses or inject their own custom logic to obtain/select nodes, as opposed to only being able to use seeds. All DAPI Client methods accept the same options as the DAPIClient constructor, so developers can specify different behavior for each API call. Previously, faulty nodes were excluded for a specific API call. Now, faulty nodes are banned for a specific period of time which increments exponentially in the event of repeated faults.
- Platform Test Suite: Platform team developers have consolidated all Dash Platform functional and end-to-end (e2e) tests into one single tool. This tool ships as a docker image and allows developers to run tests against any platform compatible network or local node. In combination with the Distribution Package (mn-bootstrap), it has allowed the platform team to set up a comprehensive continuous integration workflow for platform components. This workflow makes testing integration of platform components significantly easier, speeds up development, makes release times more predictable, and fosters more robust, secure releases. Developers can read more about the test suite by visiting the Github repository: Platform Test Suite.
- Improved Distribution Package: The distribution package received many improvements with this release, especially for local development. To prepare your local standalone node, the platform team introduced the setup-for-local-development command, as well as two options for the start command that allows developers to build Drive and DAPI from source code, as opposed to the default, prebuilt Docker images.
First and foremost, I’d like to thank the platform team for their continued effort and dedication to developing and releasing Dash Platform. I’d also like to thank the other DCG developers, as well as the developers organizing on the Dash Devs Discord for their ongoing effort to improve the quality of Dash Platform. As DCG continues in our mission to deliver true digital cash, thus realizing the revolutionary potential of blockchain-based financial networks, it’s important to take a moment and celebrate the time and energy that has gone into developing this cutting-edge technology. During DCG’s Q2 Quarterly Call, we committed to delivering Dash Platform to testnet by the end of the year. After this release, observers can expect four more releases before the delivery to testnet, upon which Dash Platform will enter a new phase of its product lifecycle, one defined by growth, promotion, and use case identification.
Follow the Dash blog and social media channels for more releases and updates, and as usual, your thoughts, feedback, and pull requests are greatly appreciated.