Skip to content

Release Notes

STRATO 11.3.0 Release Notes

July 2, 2024

Features, Improvements, and Updates

  • Added support for accessing address nonce in smart contracts
  • Upgraded PostgREST to version 12.0
  • Added support for decimal numbers type
  • Enhanced public key handling in certificate generation
  • Increased default account nonce limit to 2,000
  • Increased maximum data size for internal messaging

Bug Fixes

  • Improved synchronization logic for network nodes
  • Fixed data population issues in database tables
  • Enhanced validator block processing workflow

STRATO 11.2.1 Release Notes

May 16, 2024

Features, Improvements, and Updates

  • Enhanced contract data availability in database tables

Bug Fixes

  • Improved display of string and asset arrays in database views

STRATO 11.2.0 Release Notes

May 15, 2024

Features, Improvements, and Updates

  • Enhanced contract creation functionality via API
  • Added customization options for contract creator information
  • Improved access to contract origin data within smart contracts
  • Enhanced configuration update capabilities

Bug Fixes

  • Improved contract expansion handling in database
  • Enhanced creator information accuracy for contracts
  • Optimized database naming conventions

STRATO 11.1.0 Release Notes

March 28, 2024

Features, Improvements, and Updates

  • Enhanced debugging capabilities for virtual machine operations
  • Improved service provider URL derivation for test and production environments
  • Added new API endpoints for network peer information
  • Optimized internal data encoding and decoding processes

Bug Fixes

  • Improved handling of complex data structures in smart contracts
  • Enhanced parameter passing in contract constructors
  • Fixed issues with string handling in various components
  • Improved synchronization processes for network nodes

STRATO 11.0.0 Release Notes

January 22, 2024

Features, Improvements, and Updates

  • Added new debug logging options for various system components
  • Enhanced database indexing for inherited contracts

Bug Fixes

  • Improved handling of abstract contract inheritance in database indexing

STRATO 10.0.0 Release Notes

October 31, 2023

Features, Improvements, and Updates

  • Introduced abstract contract functionality in smart contracts
  • Added support for deterministic contract addresses
  • Implemented new transaction handling endpoints
  • Enhanced network synchronization capabilities
  • Improved database schema for complex data types
  • Added new identity management features
  • Enhanced import capabilities in smart contracts
  • Improved network peer management

Bug Fixes

  • Enhanced error handling in various system components
  • Improved compiler behavior for advanced contract features
  • Fixed issues with thread management in networking components

STRATO 9.0.0 Release Notes

February 1, 2023

Features, Improvements, and Updates

  • External Key Vault for STRATO nodes - enables multiple STRATO nodes to connect to the same key management server
  • By default, user IDs are used to link addresses in Shared Vault instead of email addresses
  • Enabled Private Shards to read from multiple other shards (previously only one parent shard was allowed)
  • Added extensive documentation for Application Development on STRATO Mercata
  • STRATO Management Dashboard
    • Pagination is enabled in the "Chains" page
    • History toggle available in the "Create Chain" and "Create Contract" modals
    • Improved navigation experience to the "Contracts" page
    • Added link added to STRATO Developer Documentation
    • The "Create Contract" modal now has default values and autofills chain ID & label to the currently selected chainID
    • SMD references to "private chain" have been removed and changed to "private shard"
  • Developers will now know when private shard creation fails due to a runtime error - the POST /chain API now properly gives error responses in these scenarios
  • The chain ID of a contract is now accessible in its hex-string representation on the this built-in member
  • POST /transaction endpoint responds with a more informative error message when a contract and/or chainID pair doesn't exist
  • Private shard constructors no longer have empty block timestamps
  • Cirrus history tables are always on for contracts
  • Network validators moved from address based user identity to x509 certificate based identity opening up the scope for verified identities, KTC, KYB, AML
  • Network validator voting moved to smart-contract based governance in the Genesis Block at the static address of 0x100
  • Identity Management Dapp (CertificateRegistry) moved to the Genesis Block at the static address of 0x509
  • Shard IDs and private transaction hashes can no longer be accidentally reused
  • New metatadata endpoint for easier attainability of: node's pubkey, list of validators, node sync status and other administrative checks
  • Genesis block updates to be configurable, specify network validators, admins, and pre-load X.509 certificates

Bug Fixes

  • Default Governance Contracts for private shards in SMD no longer have syntax error
  • SMD ‘Create Chain’ modal now has a contract selection option
  • SolidVM now stores the correct organization of the creator of a Private Shard when using Code Pointers
  • Governance contracts without explicit constructors now cause chain creation to fail
  • Create Chain endpoint now returns an error when the governance contract throws a type or runtime error
  • P2P communication limited based on networkID (Nodes with different networkIDs are put on a blocklist)
  • Adding private chain members makes peers connect directly to each other

STRATO 8.1.0 Release Notes

December 9, 2022

Features, Improvements, and Updates

  • Only the contract owner is able to call Certificate.addChild() in the X.509 Identity Dapp
  • POST /chains endpoint added to Swagger doc
  • Improved logging in P2P when members are added to shards
  • Removed SolidVM pragmas and related tests and consolidated all versioned features into the core functionality of SolidVM
  • Improved security of private shard transactions

Bug Fixes

  • Fixed SMD Contracts tab that was failing to load on large networks
  • Improved display of error responses during contract creation in SMD

Update from previous version

  • Older versions of STRATO (pre-8.1.0) cannot be updated to 8.1.0

STRATO 8.0.0 Release Notes

November 9, 2022

Features, Improvements, and Updates

  • Remove flag for requiring X.509 Certificates for users and make this required/always on
  • Added gas in SolidVM
  • Updated validators and private chain users to use X.509 common names
  • Updated SMD to display new logo

Bug Fixes

  • Fixed bug occurring during private chain creation causing the Organization to be an empty string
  • Fixed bug on SMD causing a warning message to appear despite a successful function call on a private chain contract

Update from previous version

  • Older versions of STRATO (pre-8.0.0) cannot be updated to 8.0.0

STRATO 7.9.0 Release Notes

October 28, 2022

Features, Improvements, and Updates

  • Added /x509/createCert API endpoint
  • Added pagination to the GET /bloc/v2.2/chain API endpoint
  • Implemented OrganizationAdded and OrganizationRemoved events to allow chain members to be added/removed based on x509 cert information
  • Added isDisableValidator flag to allow the disabling of validator behavior of a node
  • Added getUserCert function for access to a user's Certificate Contract based on user address in the Certificate Registry App

Bug Fixes

  • Fixed bug causing cache inconsistencies on Slipstream query failures
  • Fixed bug causing the API to interpret SolidVM contracts as if they were EVM
  • Fixed bug where members could not be added or removed in the contract's constructor of a private chain
  • Fixed VM memory leak issue

Update from previous version

  • For updating from STRATO Version 7.5 and older: Before any validator on a network is updated to 7.9 and any transactions are posted to the network, the rest of the nodes must be also updated to 7.9 to avoid the existing nodes running the older versions of STRATO becoming unhealthy.

STRATO 7.8.0 Release Notes

October 10, 2022

Features, Improvements, and Updates

  • Added new SolidVM pragma version 3.4
  • Improved SolidVM typechecker:
    • Added check receive function's signature
    • Added check fallback function's signature
    • Added duplicate declaration checks for symbols
  • Added the following functionalities to SolidVM 3.4:

    • Added support for function overloading
    • Implemented pure, and view function modifiers
    • Added constant and immutable state variable modifiers
    • Implemented Revert function
    • Implemented code function for address type
    • Added Hex String Literal support
    • Implemented additional Binary operators
    • Added msg.sig and msg.data buiilt-ins
    • Implemented ecrecover builtin function
  • Added "expirationDate" field to the X.509 Certificate contract

  • Added Certificate Smart Contract for X.509 Registry Dapp
  • Added ability to set the root key, used for cert verification, at Cert Registry Dapp post time
  • Added ability to set certificate expiration date when using the certificate generation tool

Bug Fixes

  • Fixed bug causing private chains to not be shared among other nodes in a network without a container restart on the node that created the chains
  • Fixed bug causing statediff to fail with duplicate key constraint violation when restarting STRATO Docker container
  • Fixed bug causing errors in binding variable assignment for loop expressions
  • Fixed bug preventing users from being able to use a random ordered list of named arguments in a function call

Update from previous version

  • For updating from STRATO Version 7.5 and older: Before any validator on a network is updated to 7.8 and any transactions are posted to the network, the rest of the nodes must be also updated to 7.8 to avoid the existing nodes running the older versions of STRATO becoming unhealthy.

STRATO 7.7.1 Release Notes

September 12, 2022

Bug Fixes

  • Fixed a bug where a block proposer could get a stateroot mismatch when running a block containing cert registrations

STRATO 7.7.0 Release Notes

August 29, 2022

Features, Improvements, and Updates

  • Added new SolidVM pragma version 3.3
  • Added the following functionalities in SolidVM:

    • Added support for custom function modifiers
    • Added support for salted contract creations
    • Added support for number unit suffixes (wei, szabo, finney, ether)
    • Implemented the use of the "e" scientific notation for exponents
    • Implemented try/catch blocks
    • Implemented builtin functions:
      • sha256
      • ripemd160
      • blockhash
      • selfdestruct
      • tx.certificate
    • Reworked mapping behavior to return a types default value when a key is not in a mapping
  • Added the following functionalities in X509:

    • Added support for multi-root certs
    • Added support for root certs to be used for cert validation
    • Renamed references of "tx.group" to "tx.organizationalUnit"
    • Reworked verifyCert builtin function to check that the root cert is signed by the public key
    • Created function verifyCertAgainstCerts to compare a cert against a supplied list of root certs
    • Added the following fields to the Certificate contract:
      • bool isValid
      • Certificate parent
      • Certificate[] children
    • Added revoke function in the Certificate contract
    • Added revokeCert(address _cert) function to the CertificateRegistry Dapp
    • Reworked Certificate Dapp to update the necessary children and parent pointers of all related Certificate contracts after Certificate is registered
  • Added check for single-member private chains in --drop-chains command for strato-getting-started

Bug Fixes

  • Fixed bug that allowed “account” type name to be declared as a variable in SolidVM

Update from previous version

  • For updating from STRATO Version 7.5 and older: Before any validator on a network is updated to 7.7 and any transactions are posted to the network, the rest of the nodes must be also updated to 7.7 to avoid the existing nodes running the older versions of STRATO becoming unhealthy

STRATO 7.6.0 Release Notes

June 27, 2022

New features, enhancements and additions:

  • Updates to x509 including only allowing BlockApps user to use registerCert function
  • Added support for x509 certificate chaining
  • Updates to SolidVM for compatibility with latest Solidity version
  • Multiple enhancements to state variables, function, and account types in SolidVM
  • Added capability to allow multidimensional arrays of structs to be passed as function arguments in SolidVM
  • Added support to parse JSON objects as Solidity structs for API function arguments in SolidVM
  • Added support for mapping parser for API function arguments and support for allowing in-memory mappings to be altered in SolidVM
  • Added more informative STRATO API error related messages for transaction endpoint
  • Refactoring to have Total World Difficulty equal to the number of blocks in a network
  • Deprecated the No Index option on the STRATO Management Dashboard
  • Updates to documentation including x509 changes and SolidVM enhancements

Bug Fixes

  • Fixed bug causing block creation delay when voting to remove validator
  • Fixed bug causing multinode applications to fail
  • Fixed bug causing VM to crash when accessing/assigning unallocated array values
  • Fixed bug causing issues with chainId member access
  • Fixed Query Builder STRATO Management Dashboard page bug causing incorrect population of the columns for a queried contract
  • Fixed bug with syncing peers receiving private transaction information
  • Fixed bloc /transaction endpoint bug causing endpoint to hit fetch limit
  • Fixed bug that allowed contract state variables to be used as function return types in SolidVM
  • Fixed bug causing SolidVM to fail when reading a string state variable from another contract
  • Fixed bug where byte values passed as function arguments were not handled properly
  • Fixed Contracts STRATO Management Dashboard page bug displaying contracts with an error state
  • Fixed contract upload request details in blockapps-rest debug log output

Update from previous version

  • Due to the Total World Difficulty calculation change in 7.6, before any validator on a network is updated to 7.6 — and any transactions are posted to the network — the rest of the nodes must be also updated to 7.6 in order to avoid the existing nodes running the older versions of STRATO becoming unhealthy

STRATO 7.5.0 Release Notes

April 4, 2022

New features, enhancements and additions:

  • Removed External Storage feature
  • Refactoring to add and support Joins feature, including upgrading PostgREST version from v0.4.3.0 to v9.0.0
  • Security patches
  • Refactoring to decrease Kafka message size
  • Added a flag to enable/disable EVM indexing to Cirrus. EVM indexing is disabled by default.
  • Added more informative argument-error related messages
  • Updates to documentation and related tests
  • Updated dependecies to comply with GitHub's new security policy

Bug Fixes

  • Fixed bug causing high CPU usage occurring in specific rare situations
  • Fixed memory leak occurring in specific rare situations
  • Fixed 'Contracts' tile on the STRATO Management Dashboard main page to display proper Contracts count
  • Fixed bug where contracts would fail to be stored in Cirrus due to contract int variable values being too large
  • Fixed bug where Kafka errors were uncaught

Update from previous version

  • No custom changes required to update from 7.4.0

     

For older release notes, please see the Release Notes Archive.