Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Notes: BitShares Core 3.3.0 #1892

Closed
MichelSantos opened this issue Aug 9, 2019 · 9 comments
Closed

Release Notes: BitShares Core 3.3.0 #1892

MichelSantos opened this issue Aug 9, 2019 · 9 comments

Comments

@MichelSantos
Copy link
Contributor

MichelSantos commented Aug 9, 2019

Release Notes

The BitShares Core software has been updated to the 3.3.0 Feature Release. The Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release includes additions and improvements but does not include any changes to the consensus protocol.

Documentation for users may be be found at How BitShares Works.

Documentation for BitShares developers may be now be found at the new BitShares Developer Portal.

Who Should Upgrade?

No upgrade is required by any operator of a validation node. Yet many operators will benefit by upgrading.

Operators of API nodes should upgrade to support client software that attempt to

Instructions for configuring a node to track the total amount in collateral can be found in the API section.

Operators of ElasticSearch nodes should upgrade to support Get operation by ID and serving get_account_history API.

Block producing nodes will benefit due to enable to load block signing keys from files.

All node operators will benefit from

  • performance improvements (1875) and
  • improved behavior when restarting a node (1832).

Users of the command line interface wallet (CLI) will benefit from the ability to sign messages on behalf of their account (1878).

Upgrade Process

Precautions

Operators of public API nodes should add an entry into their configuration file per the instructions in the API section.

Please check the 3.2.0 Release Notes for more information if you are upgrading from a version prior to 3.2.0.

How to Upgrade from Source Code

Note: the minimum build requirements have changed starting from this 3.3.0 Feature Release:

  • The code base requires a compiler that supports the C++ 14 standard (previously C++ 11).
  • The minimum supported boost version is 1.58 (previously 1.57).
  • The minimum supported CMake version is 3.2 (previously 3.1).

Obtain the Source Code

The source code may be obtained by checking out the 3.3.0 tag. Download the source at:

Build the Binaries

The binaries may be built by using your pre-existing process, or by following the standard instructions that can be found in the wiki:

Deploy the Binaries

Your standard process for deploying the node software may be used. No additional requirements or precautions will be required to deploy the new release.

How to Upgrade with Docker

The latest Docker image may be found at BitShares Core Docker page and updated with

docker pull bitshares/bitshares-core

Binaries

Binaries of the command line interface (CLI) wallet, node software, and delayed node are pre-built and available for download.

Note: starting with core release 3.3.0, binary builds are reproducible and were signed using gitian. Please check the README if you want to verify and/or contribute.

Platform SHA256 Checksum
Microsoft Windows TBD
Mac TBD
Linux TBD

Changes

The changes for 3.3.0 Feature Release are summarized below.

API

Description Issue Pull Request
Track total amount in collateral 1089, 1781, 1893 1836, 1889, 1894
Added get_htlcs API 1713 1849
Add optional auto-subscription parameters to APIs: get_objects, get_accounts, get_full_accounts, lookup_accounts, get_assets and get_htlc 1819 1868
ES Plugin: Get operation by ID; support get_account_history API 1682 1725

Public API Node operators should enable the new api_helper_indexes plugin to track collateral by adding the entry api_helper_indexes to the plugins entry of the node's configuration file (config.ini), typically, if the line looks like this:

# Space-separated list of plugins to activate
plugins = witness account_history market_history grouped_orders

should change it to:

# Space-separated list of plugins to activate
plugins = witness account_history market_history grouped_orders api_helper_indexes

Node Functionality

Description Issue Pull Request
Suppress p2p logs 978 1875
Witness node switch to correct fork on restart if was shut down on another long fork 1703 1832
Remove seed node with missing DNS record - 1879

Node Plug-ins

Description Issue Pull Request
Fix market ticker volume underflow issue 1883 1885, 1933
Witness node accepts block signing keys from file - 1812

Command Line Interface Wallet (CLI)

Description Issue Pull Request
Add sign_message command to cli_wallet - 1878

Software Design

Description Issue Pull Request
Put seed nodes into separate file - 1809
Add htlc parameters to developer genesis - 1833
Refactor CLI register_account and create_account_with_private_key commands, remove duplicate code - 1811
Database_api code refactory - 1891, 1920
Clean up FC, support native 128-bit integers 998, 1584, 1660,1816 FC-137, FC-140, 1789, 1917, 1927, 1941
Fix optional API argument bug 1898 FC-145, FC-146, 1912

Build Process

Description Issue Pull Request
Modified CMakeLists.txt for static linking of libcurl - 1872
Harden binaries through defensive compilation and linking - 1810
Make Travis use multi-stage build - 1890
CMake cleanup & MinGW support 1948 FC-121, FC-151, 1949
Upgrade to newer versions of MSVC compiler 1646 1840
Support building with Windows 10 / VS 2019 / Boost 1.70 1735 Websocketpp-3, FC-144, FC-147, 1912
Support Apple Xcode 10.1 / clang 4.0.1 1952 FC-152
Fix build with different genesis file 1965 1966
Create reproducible binary downloads with gitian 897 bitshares-gitian

Documentation

Description Issue Pull Request
Add protocol to libraries doc 1873 1877
Update api and cli docs - 1862, 1863, 1866
Update private testnet doc 1861 Dev 154, Wiki
Improve help message of get_dev_key - 1888
Default checkpoint in testnet 1722 Dev 161
Generate doxygen docs for FC and other libraries 741 1851, FC-141

Unit Tests

Description Issue Pull Request
Fix chain_test: Committee and witnesses initialization in genesis - 1835, 1928

Release Contributors

@abitmore
@cedar-book
@crypto-ape
@jmjatlanta
@nathanhourt
@oxarbitrage
@OpenLedgerApp
@pmconrad
@xeroc

@abitmore
Copy link
Member

abitmore commented Aug 9, 2019

Updated a few things.

@MichelSantos
Copy link
Contributor Author

@abitmore Please note a minor point that the "the minimum build requirements have changed" since Core 3.1.0

@abitmore
Copy link
Member

@MichelSantos I didn't understand your comment. I didn't see any change about build requirements in release notes of 3.1, but did see some in 3.2. What do we need to do?

@abitmore abitmore added this to the 3.3.0 - Feature Release milestone Aug 14, 2019
@MichelSantos
Copy link
Contributor Author

@abitmore You are correct that the build requirements changed in 3.2.0. My minor concern was that the usage of the word "since" could be interpreted to include or exclude the mentioned release; I was thinking exclude. My suggestion is to rephrase to "starting since" or "starting in" to convey that it includes the mentioned release.

@abitmore
Copy link
Member

@MichelSantos please feel free to edit.

@abitmore
Copy link
Member

Starting from this release we require CMake 3.2.

@kimziv

This comment has been minimized.

@kimziv

This comment has been minimized.

@MichelSantos

This comment has been minimized.

@abitmore abitmore closed this as completed Sep 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants