Lisk 0.8.0 has been released, bringing more performance improvements and bug fixes. For this release, we’ve put even more work into database optimization, refining the API layer and resolving some difficult bugs. Following are more details on the changes, enjoy!
The Little Things
As with each successive release it is our pleasure to report a number of bugs that have been squashed. These bugs range from the minor misnamed and deprecated endpoint for the dApps API, to the application listening before it is ready and finally the rare but major nullification of the configuration file. These are just a small list of bugs that were resolved, we know that this list will shrink with successive releases.
Performance
We have also improved the performance of some heavily used database tables, particularly, `trs_list` view has been refactored and now provides much better performance, completely ironing out inefficiencies which cropped up in prior releases. Additionally, a `round_fees` table has been introduced to collect transaction fees awarded to delegates for each round. The new memory table brings performance improvements and much greater data flexibility for historical lookups on fee allocations.
In previous releases, it took up to 120 seconds of not receiving a block from the network to begin pulling fresh blocks from a peer. Now, nodes synchronize blocks after 20 seconds of not receiving new blocks, meaning that lagging peers catch up more often and much faster than before.
Modularity
While efforts toward scalability are ongoing, 0.8.0 brings a much needed step in the right direction. Under 0.8.0 all existing API’s have been extracted into their own modules so that future developments to the Lisk API are far easier to implement.
The binary builds also received some modularity/scalability improvements. We have moved away from Forever as the process manager and replaced it with PM2. PM2 offers much greater flexibility and control of the node process with some performance monitoring features and the required modularity to easily support multiple Lisk processes.
Lisk UI
A large number of bug fixes have been applied to the user-interface component of the Lisk client. The fixes include improved responsiveness on mobile devices, better feedback when placing votes, a more accurate sync progress indicator, the proper removal of user data on logout, and a performance fix related to the display of forging statistics. All of these fixes should help provide a better experience for users awaiting the planned Lisk Nano 1.0.0 release, that will eventually replace Lisk UI as the main user-interface for Lisk.
GPLv3
One final thing of note for these releases is that we are moving from The MIT License to the GPLv3 license. While this has no direct impact on the code itself, it is important to properly license our code in a way that the Lisk Foundation receives recognition on its open-sourced products. Code prior to this release will remain MIT licensed but going forward from Lisk 0.8.0 all new code will fall under GPLv3. If you wish to know more about the differences between the GPL and MIT licenses, please read the article: GPL vs. MIT: Which License to Use.
Summary
Lisk 0.8.0 yields significant performance gains through faster syncing, more efficient use of the database, and greater stability through the resolution of some bugs, continuing to improve upon the solid foundation established by previous releases. This release, along with the planned minor release of 0.9.0, lays the basis for our first major release, Lisk v1.0.0. A complete list of changes can be seen in the release log on GitHub. If you have any questions, feel free to reach out to us.
https://blog.lisk.io/lisk-0-8-0-squashing-bugs-increasing-performance-and-modularity-e8579b6426eb