Release Notes

STRATO 5.0 Release Notes

November 25, 2019

New Additions / Feature Improvements

In this release we have added SolidVM - a fully production-ready option for processing Ethereum smart contracts. SolidVM can be used to improve overall smart contract functionality and performance over the standard EthereumVM. With the EthereumVM, Solidity event data is hashed and inaccessible to smart contracts directly. With SolidVM, event data is maintained in a human readable format, with the argument information for all events persisted and more easily obtainable. The use of SolidVM for smart contracts enables a more lightweight transmission of event information into the blockchain by only transmitting relevant new or updated values.

  • SolidVM event handling implemented
  • SMD dashboard updated to integrate OAuth support
  • New Nginx logs format for better debugging
  • External Storage backward compatibility added for STRATO 4.5.1 and below

Bug fixes

  • Fix response to GET/state request when SolidVM
  • Remediate issues causing STRATO to crash when trying to post a transaction to a private chain after restarting the node
  • Fix indexing of SolidVm blocks after STRATO restart to avoid Slipstream failure
  • Fix nonce issue in SolidVM
  • Fix bloc/v2.2/ contracts endpoint for contracts uploaded using SolidVM
  • Fix unhandled exception in Vault-wrapper for Get request for user keys when keys do not yet exist
  • Fix method to transfer tokens to private chain members when using SolidVM
  • Fix benchmark in strato-sequencer for stability
  • Fix bug in SolidVM event handling protocols causing intermittent system failures during removal of a private chain member
  • Fix intermittent looping in the transactionResult endpoint by ensuring transaction list of blocks to run on a private chain is cleared properly
  • Fix the OAuth logout in SMD for users using Google SSO
  • Fix for Nginx logs that was causing it to show messages selectively

Upgrades, Breaking Changes & Announcements

  • Users wishing to use SolidVM in a production state should install 5.0. Prior releases contain a demo version of this feature.
  • Full OAuth support has been enabled in the Track & Trace demo application

STRATO 4.5.2 Release Notes

September 13, 2019

New Additions / Feature Improvements

  • Add support for STRATO to bypass compiler when running solidVM
  • New verbose logging options for private chains and additional privacy db tools for debugging
  • Improved internal logging for blocks to be run and block hash information
  • Improvement which sends values set in the private chain governance contract constructors to slipstream.
  • Improved private chain error handling

Bug fixes

  • Better handling for the result of insertChainHash
  • Fix to private chain hydration mechanism
  • Ensure that private transaction bodies are automatically stored in redis

STRATO 4.5.1 Release Notes

August 26, 2019

New Additions / Feature Improvements

  • New IP-address agnostic peer identity scheme for enode addresses
  • New endpoint for retrieving detailed information for an account address, including username
  • Platform improvements to sync functions of private chains
  • Implementation of internal platform tools related to enode address management
  • Inclusion of STRATO version in the SMD UI
  • Improved error handling for ambiguous or duplicate private chain transaction requests

Bug fixes

  • Fix to management of database updates for contract history
  • Button fix to re-enable file upload in the external storage UI when Oauth is not enabled
  • Fix to allow the CMD to handle arrays of warning messages
  • Fix to the disk space monitoring alerts in the SMD
  • Added support for enabling External Storage feature when OAuth is also enabled

STRATO 4.5 Release Notes

July 3, 2019

New Features

Enhanced key management/security measures - Key Management variable added in platform and Strato Getting Started to block unauthorized transactions

Significant Private Chain Improvements - Deduplication of chain details in peer to peer communications - Allow manual override of chain membership on a node - Ethereum VM checkpointing for private chains - Improved persistence and query tools for private chain metadata and related information

Significant Improvements to Network Restart functions - Ability to update executables in place without complete network upgrade - Improved checkpointing and retention of checkpoints by sequencer during restart - Manual (backup) private chain synchronization trigger in sequencer - Removed expiration for Kafka checkpoints - improvements to queryStrato diagnostic tool

Central Monitoring Dashboard Improvements - Support for use of ports other than 80 - Performance enhancements from updates to polling endpoints - Health calculation refactor - Better Health Update Notifications for offline connections

Demo Application Improvements - Improvements for using track and trace on remote hosts

Documentation improvements - Swagger documentation improvements (link) - Developer documentation updates (link)

Bug fixes

  • Several P2P sync-related fixes
  • Fix preventing Nginx from using stale DNS information if container IP addresses change
  • Fix to health updatime calculations after restart
  • Fix to postgres record inconsistencies resulting from container restart
  • Updates to prevent reinsertion of statediff information into postgres
  • Fix to API response when querying GET /transactions with chainID and lastURL

Upgrades & Breaking Changes

  • Because 4.5.0 introduces a key management variable in the backend, users should also update to the most recent version of the Strato Getting Started repository to avoid potential conflicts.
  • Upgrading to 4.5.0 requires additional support for users who have created private chains and private chain transactions. Please contact us for additional information if you are using a version below 4.5.0 with private chains employed and seek to update your network.

STRATO 4.4.1 (HotFix) Release Notes

May 15, 2019

Bug Fixes

  • Fixed disruption to sync from long term memory issue
  • Fixed debugging messages for SolidVM
  • Resolved testing issues for the following beta features: - Tool for adding node to network - Central Monitoring Dashboard

STRATO 4.4 Release Notes

May 3, 2019

New Features

  • Alpha (2.0) Version Solidity Virtual Machine - Improved SolidVM transaction execution bottlenecks and addition of multinode functionality infrastructure
  • Improved Private Chain Sync capabilities
  • Infrastructure and backend support for CMD monitoring tool - Backend development included the development of network uptime calculation and node health calculation algorithms and related alert system integration with OpsGenie
  • OAuth Integration for Swagger Documentation - Improvements to current Swagger documentation descriptions and organization and integration of endpoints with OAuth
  • P2P Performance Enhancements - Improvements to P2P memory usage
  • Demo Application Tools - Development of application framework generation tool and enhancements to demo application including the incorporation of blockapps-sol and blockapps rest tools
  • Network on-boarding enhancements - Tools to simplify the process of on-boarding new members to the network

Bug Fixes

  • Several fixes were developed to address upgrade issues, specifically, upgrade bugs state root mismatches, p2p syncing and private chain syncing

  • SMD UI fixes for the private chain interfaces and interactions

Instructions for Upgrading Your Network

For production deployments, please contact us for further support. For non-production deployments, the following steps are recommended for upgrading without data loss. When upgrading, only one node can be upgraded at a time. Once an upgrade has been successful on one node, the next node can be upgraded and upgrades should continue in sequence until the entire network is upgraded

  • Steps:
  • Update the docker-compose.yaml file on your node and replace the contents with the version for 4.4
  • Use./strato.sh —pull to retrieve updated docker compose images
  • Backup local data: mkdir db_backup docker exec -i strato_postgres_1 pg_dumpall -U postgres -f /tmp/pgdump docker cp strato_postgres_1:/tmp/pgdump ./db_backup docker exec -i strato_postgres_1 rm -rf /tmp/pgdump
  • Run ./strato --remove to remove the current containers
  • Add the additional script configurations to your run.sh scripts based on your current version

    Users seeking to upgrade from version 4.2 or below will need to add the following lines to the run.sh script configurations before running 4.4:

    `export brokenRefundReenable=true` (add this as the first line of the script)
    `blockstanbulAdmins=$validators \` (replace $validators with the string value from validators in run.sh)
    `OAUTH_STRATO42_FALLBACK=true \`(if using OAuth)
    

    Users seeking to upgrade from version 4.3 (or related implementations) will need to add the following to the run script configurations before running 4.4:

    `blockstanbulAdmins=$validators \` (replace $validators with the string value from validators in run.sh)
    
  • Start the container using sh run.sh

STRATO 4.3 Release Notes

March 8, 2019

New Features

  • Alpha (1.0) Version Solidity Virtual Machine - Allows use of a pluggable Solidity VM on designated contracts through additional metadata properties in the contract API requests

  • Improved Application Deployment - Refactoring of code and libraries relied upon for application deployment, which resulted in a time-saving 50% decrease in deployment time on a single node.

  • New Demo Application - Fresh new demo application which showcases the latest STRATO features, including OAuth, External Storage, Private Chains, and Consortium Network Governance

  • Extension of OAuth protection capability to all remaining API endpoints. This provides a foundation for future development work on network monitoring tools

Bug fixes

  • Several Space and memory leak fixes to better support extended network usage. Performance measurements both in speed and in space usage is improved, with overall improvements of 25% and 50%, respectively

  • Fix to bug that blocked use of External Storage feature when OAuth was enabled

Announcements

  • Starting with the following release (4.4), we will no longer officially be supporting versions of STRATO platform earlier than 4.0.

STRATO 4.2 Release Notes

January 22, 2019

New Features

  • Enhanced Private Chain Synchronization - Users creating private chains on the blockchain can now add private chain members after the chain has been created, and are able to resynchronize with a private chain if their connection to the blockchain experiences a disruption.
  • Private Chain Governance UI and Contract Enhancements - Users now can see a drop down list of default private chain governance options or can drag and drop a Private Chain Governance contract into the UI from a local folder.
  • Enhanced Audit Trail Capabilities - Improvements to STRATO's UI to allow audit trail feature to be configured on a contract-specific basis at the time contracts are created or uploaded through the UI. Additional enhancements to improve the coordination between audit trail and private chain features.
  • Oauth Integration - New integration capablities with OAuth authentication solutions, extending OAuth-based authentication to all main chain and private chain transactions and interactions.
  • UI Improvements - Enhanced user feedback on fauceting.

Bug fixes

  • Fixed issue in the create contract modal
  • Addressed an intermittent memory leak
  • Added a default peer connectivity PBFT parameter
  • Removed a race condition affecting the consensus protocols

STRATO 4.1.0 Release Notes

STRATO 4.0.1 (HotFix) Release Notes

STRATO 4.0.0 Release Notes

New Features

  • Private Transaction Chains - To provide transaction privacy, we introduce the concept of private transaction chains. With private transaction chains, participants on the public blockchain will be able to transact with each other privately, while maintaining the immutability and auditability of the public blockchain.
  • Enterprise User Management - BlockApps STRATO can be integrated with existing enterprise user management systems, such as OAuth2, OpenID, etc. When submitting a request to sign transactions with BlockApps STRATO, STRATO will validate user metadata with the user management system before proceeding with transaction signing. Learn more here.
  • PBFT - We introduce an experimental feature which allows users to select between two consensus algorithms based on their network performance requirements. We offer PBFT as a configurable option (Practical Byzantine Fault Tolerance) and default POW (Proof-of-Work). PBFT is faster than Proof of Work, and is designed for permissioned networks where the identities of the participants are known to others.
  • Solidity 0.4.24 Upgrade - STRATO now supports Solidity up to version 0.4.24!

STRATO 3.1.2 (HotFix) Release Notes

  • Storage offset bug fix;
  • Parsing fixes for contacts;
  • Multi-node syncing issue fixes;
  • Other small fixes

STRATO 3.1.1 (HotFix) Release Notes

  • Hot fix for syncing issue affecting the old networks
  • Security fixes for public mode
  • Other small fixes

STRATO 3.1 Release Notes

May 23, 2018

New Features

  • Genesis Ingestion Tool - for Large Record Contract Creation Constant memory usage for file creation and storage initalization of ingestion. Added support for hash maps.
  • Solidity Improvements - supports constant keyword and variable initalization.
  • Query Pagination - support for offset and limit when querying Cirrus in order to control response size over large datasets.
  • Node Performance Improvements - increased contract creation transactions per second.
  • Updates to Kafka Library - Kafka has been upgraded to 1.1.0.

Updates

  • Solidity now enforces the “constant” modifier on variables. This means that the previous workaround to initialization of constants in the constructor function may not longer work.

STRATO 3.0 Release Notes

April 6, 2018

New Features

  • Batch Contract Uploader - In an effort to make our blockchain even faster, we devised a method to upload empty contracts to the genesis block. This eliminates bottlenecks when uploading hundreds (or thousands) of contracts, such as the case of our enterprise users. The result? 4,000 contracts uploaded to STRATO in 144 seconds, which translates to 27.7 contracts per minute. Not bad!
  • Improved Signup Flow - We updated our signup flow to make it easier to request tokens and launch apps. Try it out now.

Bug Fixes

  • BlockApps BA is Fixed - Some users were unable to deploy our supply chain demo app. Upon investigation, we discovered a circular dependency between Bloc, our state route API, and Cirrus, our contract indexer. This was fixed by letting Cirrus discover and index contracts on its own, which eliminates the needlessly high number of function calls that were previously being made to the Bloc state route.
  • Array Members Return Properly in State - Previously, contracts with large arrays produced truncated JSON results. We solved this by paginating Bloc, the state route, and STRATO, the storage route. Now, large arrays return properly formatted JSON.
  • CLI Instructions Updated - We improved our documentation to better distiguish between uploading apps to localhost versus the testnet. Click here to try the CLI.

March 6, 2018 Release Notes

New Features

  • STRATO CLI - You can now deploy STRATO apps directly from your CLI. Run npm install -g strato-cli to download a sample app and upload it to the testnet.
  • New User Flow for STRATO Getting Started - We revamped our onboarding experience to accomodate our token request form and new CLI. Click here to get started.

February 20, 2018 Release Notes

New Features

February 2, 2018 Release Notes

New Features

Bug Fixes

  • We're continuing to improve the reliability of STRATO deployment on RedHat OpenShift. Our efforts are focused on single-node versions of STRATO, but we're planning to begin performance enhancements on multi-node in an upcoming release.
  • Method call popup on STRATO dashboard now populates with addresses consistently. Users complained about adding addresses that didn't show up in their dashboard, but this issue is now resolved.
  • Improved gas and ether usage values from STRATO transaction results. Some users were not getting accurate gas and ether values when querying STRATO transaction results. This issue is now resolved.

January 19, 2018 Release Notes

New Features

  • Improved documentation for BlockApps BA - Supply Chain Demo App. Users were experiencing difficulty deploying our demo app on AWS, so we revised the documentation to make it easier to get started.

Bug Fixes

  • Account Detail is blank if address has no associated balance
  • Date on transaction and transaction detail page, on firefox, shows up as Invalid Date

December 15, 2017 Release Notes

New Features

  • Contract Metadata added to STRATO contracts - all dApp metadata is now stored on the blockchain, making it easier for nodes to deliver dApps consistently
  • Ability to send ABI info to Bloc in order to call methods for contracts not created using Bloc
  • All contracts compiled through Bloc are now indexed by Cirrus automatically

Bug Fixes

  • Error handling added to incorrect password on contract creation
  • Sync Issue - I start mining on my own chain when reconnecting
  • Passes compilation button but fails when creating contract
  • P2p does not retry to sync if bootnode was unreachable on STRATO init
  • Show proper Solidity Compile errors for SimpleStorage on the SMD Code Editor
  • On Contracts list, contract card gets stretched when method name is long

December 1, 2017 Release Notes

New Features

  • Ensure Data persistence in the Testnet nodes for restarts, fixes and enhancements (upgrades)
  • Perform network upgrade by adding new substitute nodes (code upgrade) - could be laptop or VM's outside the network

Bug Fixes

  • Errors displayed if contract upload fails
  • Discovery fixed to improve node syncing
  • AppMetadata is registered before STRATO start syncing

November 10, 2017 Release Notes

New Features

Apps sync to all nodes on network

Apps can be launched from any node on the network. * Ability to register an application on the testnet * Ability to discover existing apps on the testnet * Microsoft Azure updated with latest images * Ability to see all dApps on the network when nodes are synced * Updated documentation for dApp guide * Updated packaging for lottery-app * Error handling added to lottery app

Bug Fixes

  • Initial value for "value" in bloc swagger docs is too high, making contract upload fail
  • Resolved error while syncing with Testnet - stuck at Block 3966
  • Resolved inability to create users In Developer Demo SMD linked to Site
  • Getting-started fails to init on CentOS - blockapps-bloc: libpq: failed (could not translate host name "postgres" to address
  • Fixed timestamp: Invalid Date
  • Execute fails Bloc API in Swagger docs - Post - /users/{user}/{address}/send
  • Added error handling to incorrect password on contract creation in SMD
  • Fixed issue code editor contracts not being indexed by cirrus

October 27, 2017 Release Notes

New Features

  • Apps Tab with a demo lottery app
  • Basic Code Editor with file management
  • Cirrus now supports updating contract definitions

Enhancements

  • Network request progress indicator on SMD
  • SMD no longer tries to get all accounts every 5 seconds
  • Misc performance and usability changes
  • Env variable checks for SMD for tracking and app deployment

Bug Fixes

  • Bloc gives compiler errors instead of generic 500 on compile issues
  • Pragma statement no longer causes contract compilation to fail