Skip to content

Releases: bitshares/bitshares-core

BitShares Core "Splash" ♥ 5.2.1 ♥

05 May 15:16
c06d09c
Compare
Choose a tag to compare

Release Notes

The BitShares Core software has been updated to the 5.2.1 Bugfix Release. The codename of the 5.x releases is "Splash". The BitShares Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release includes fixes about node stability and documentations 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 found at the BitShares Developer Portal.

Who Should Upgrade

It is recommended that all nodes be upgraded to benefit from the stability improvements introduced in this release and the benefits introduced in the 5.2.0 Feature Release, although it is not required.

How To Upgrade

Precautions

  • For nodes running versions earlier than 5.2.0, a blockchain replay will automatically be performed after the validation node software is restarted. This typically takes a few hours on a modern CPU.

How to Upgrade from Source Code

Note:

  • The code base requires a compiler that supports the C++ 14 standard
  • The minimum supported boost version is 1.58, the maximum is 1.74
  • The minimum supported CMake version is 3.2
  • For Ubuntu users, it is now supported and recommended to build in Ubuntu 20.04 LTS

Obtain the Source Code

The source code may be obtained by checking out the 5.2.1 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:5.2.1

Binaries for download

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

Note: These 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 4e800939886adfad8b5404f6f754d1c90f777a7135f0d7aac0ce43c5d5d9c7a6
Mac 8af13a35e75f7646b4006ea4ca420b6cf16badeee3d0150c1263cb918d7daacc
Linux c48e28498f7b062df7e616f402b1ad5526b344f2a26eaf0c9b75b6269eca1bbf

Changes

The changes for 5.2.1 Bugfix Release are summarized below.

Node Performance and Stability

Description Issue Pull Request
Fix a node synchronization issue 2428, 2434, 2438 2445
Fix P2P log messages appear in console and default.log 2435 2436
Add seed nodes - 2444, 2450

Documentation

Description Issue Pull Request
Fix Doxygen warnings 2433 2443
Update links and wording in README - 2439, 2441
Update version - 2446
Update contributors - 2452

Release Contributors

@abitmore (https://github.com/abitmore)
@technologiespro (https://github.com/technologiespro)
@xiao93 (https://github.com/xiao93)

BitShares Testnet test-5.2.1

04 May 15:40
8a5995d
Compare
Choose a tag to compare
Pre-release

Note: this pre-release is for the public test network (testnet) but NOT the BitShares Mainnet.

Please check the draft release notes of version 5.2.1 for more info.

Docker image: docker pull bitshares/bitshares-core:test-5.2.1.

BitShares Core "Splash" ♥ 5.2.0 ♥

28 Apr 10:23
1f3e2e9
Compare
Choose a tag to compare

Release Notes

The BitShares Core software has been updated to the 5.2.0 Feature Release. The codename of the 5.x releases is "Splash". The Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release includes additions, improvements and bug fixes 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 found at the BitShares Developer Portal.

Who Should Upgrade

It is recommended that all nodes be upgraded, although it is not required.

API nodes will benefit from the new API, performance and stability improvements, and functionality improvements.

Block producers and other nodes will benefit from the stability improvements.

Command-line interface (CLI) wallet users will benefit from the CLI improvements.

How To Upgrade

Precautions

  • A blockchain replay will automatically be performed after the validation node software is restarted. This typically takes a few hours on a modern CPU.

How to Upgrade from Source Code

Note:

  • The code base requires a compiler that supports the C++ 14 standard
  • The minimum supported boost version is 1.58, the maximum is 1.74
  • The minimum supported CMake version is 3.2
  • For Ubuntu users, it is now supported and recommended to build in Ubuntu 20.04 LTS

Obtain the Source Code

The source code may be obtained by checking out the 5.2.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:5.2.0

Binaries for download

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

Note: These 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 e235de2b70ff12fea5a75621b83fc5050d45b755156bc3ab0ddf6ab18ee421ab
Mac b2c85bff171fdd908ea2e001944cb51d5d73f1df4b5133f8712642bc682c7add
Linux 68dfc7afc2a3a32c8f5a4491e8956173bd9d4e0151736476bf698670b1ad03a9

Changes

The changes for 5.2.0 Feature Release are summarized below.

Node Functionality

Description Issue Pull Request
Disable p2p network when delayed_node plugin is enabled 104 2040, 2393
Fix data error in (virtual) execute_bid_operation - 2363
Fix transaction loss after broadcast 2376 2383

Node Performance and Stability

Description Issue Pull Request
Reduce the allowable range of negative latency - 2370
Improve market ticker read performance via chunks - 2358
Update seed nodes - 2353, 2422, 2423

API

Please check the linked pull requests for more info and documentation.

Description Issue Pull Request
Add database API get_liquidity_pools_by_one_asset to query for liquidity pools by any one asset in the pool 2356 2365

Command-Line Interface (CLI) Wallet

Description Issue Pull Request
Fix brain-key compatibility between bitshares-core and bitshares-ui 2354 2355
Fix CLI get_account_history_by_operations ordering - 2359
Print more info in account history in CLI 2296 2360, 2384
Add CLI commands get_account_name, get_asset_id, get_asset_symbol and get_asset_name - 2364
Fix sign_memo command for signing with public keys - 2386

Software Design

Description Issue Pull Request
Support building with Boost 1.74 - FC-226, 2406
Support building in Ubuntu 20.04 LTS 2216 FC-234, FC-236, 2347, 2349
Fix assigning instead of comparing - FC-232
Define related functions only when have editline - FC-233
Force TLSv1.2 or above when using libcurl - 2368
Set program options with a template function in tests - 2402
Fix code smells 2101 2372, 2390, 2392
Remove unnecessary include of boost/test/auto_unit_test.hpp 2414 2415
Remove unused code - 2424

Build Process and Continuous Integration (CI)

Description Issue Pull Request
Fix cache for matrix in Github Actions - FC-239, 2366
Integrate SonarScanner in Github Actions workflow 2314 FC-240, FC-241, 2367, 2391, 2401
Fix MinGW build in Github Actions 2427 2426

Documentation

Description Issue Pull Request
Fix typo in docs of serializable _types - FC-235
Fix description for the FC namespace in doxygen 2342 FC-237
Update copyright notices about static_variant - FC-238
Update comment about liquidity_pool_exchange_operation market fee sharing - [2382](https://github.co...
Read more

BitShares Testnet test-5.2.0

21 Apr 11:28
85d86a9
Compare
Choose a tag to compare
Pre-release

Note: this pre-release is for the public test network (testnet) but NOT the BitShares Mainnet.

Please check the draft release notes of version 5.2.0 for more info.

Docker image is available: docker pull bitshares/bitshares-core:test-5.2.0 .

BitShares Core "Splash" 5.1.0

26 Jan 14:23
bd40332
Compare
Choose a tag to compare

Release Notes

The BitShares Core software has been updated to the 5.1.0 Feature Release. The codename of the 5.x releases is "Splash". The Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release includes additions, improvements and bug fixes 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 found at the BitShares Developer Portal.

Who Should Upgrade?

Public API nodes should upgrade to support client software that attempt to use the new APIs.

Private API nodes may or may not upgrade depending on the use cases.

Pure validation nodes E.G. block producers and seed nodes are not required to upgrade.

Upgrade Process

Precautions

  • A blockchain replay will automatically be performed after the validation node software is restarted. This typically takes a few hours on a modern CPU.

How to Upgrade from Source Code

Note:

  • The code base requires a compiler that supports the C++ 14 standard
  • The minimum supported boost version is 1.58, the maximum is 1.69
  • The minimum supported CMake version is 3.2

Obtain the Source Code

The source code may be obtained by checking out the 5.1.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:5.1.0

Binaries for download

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

Note: These 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 161c349f2af47894d9458fe5da7922d192c6be97c3bccf760c505c6866b72c65
Mac fd077811dff087598e3ba84632b786c53037417ab2c3630ba3d0a3e4380a61cb
Linux fb14af10e9b59e28d1e9ff78e23c08fe90bdfe07a1ee0d4e2b443819ad7d9cc8

Changes

The changes for 5.1.0 Feature Release are summarized below.

Node Functionality

Description Issue Pull Request
Add current supply and maximum supply to budget object 2303 2304
Update seed nodes - 2277, 2309, 2315, 2316

Node Performance and Stability

Description Issue Pull Request
Fix a crash related to OpenSSL config file path 2276 FC-211, 2288

Node Plug-ins

Description Issue Pull Request
Expand market history plugin to support liquidity pools - 2297

API

Please check the linked pull requests for more info and documentation.

Description Issue Pull Request
Add APIs for liquidity pools 2280, 2284, 2286 2285, 2297
Add APIs for tickets 2291 2289
Add current supply and maximum supply to budget object 2303 2304

Software Design

Description Issue Pull Request
Force 16-byte alignment on optional class - FC-219
Simplify implementation of account and asset lookup APIs - 2308
Explicitly convert integers to bools - FC-221, 2320
Fix compiler warnings - FC-212, 2310

Build Process and Continuous Integration (CI)

Description Issue Pull Request
Add a check for project submodules - 2329
Improve testing in parallel in Github Actions CI 2274 FC-217, FC-209, FC-210, 2275
Run Github Actions CI in Ubuntu 16 and 18 - FC-215, 2317
Use Boost 1.69 in Github Actions Actions CI macOS build - FC-212, 2301
Support macOS 11 Big Sur in Github Actions CI - FC-218, 2322
Show more log messages in Github Actions CI - FC-220, 2320
Update build status badges - FC-227, FC-228, 2332
Stop using Travis-CI 2312, 2292 FC-214, FC-213, 2313, 2301, 2294, 2287

Documentation

Description Issue Pull Request
Improve docs of get_trade_history* database API - 2305
Add comments for operation types and object types - 2306
Correct a chain parameter's description - 2326
Add make_new_plugin.sh script in plugin README - 2293
Fix Doxygen warnings - FC-223, 2324
Update license year and contributors list - FC-225, FC-229, FC-230, 2330, 2335, 2336

Unit Tests

Description Issue Pull Request
Deal with a race condition in logging tests - FC-222

#...

Read more

BitShares Core 5.0.0 "Splash"

22 Sep 02:20
a06a712
Compare
Choose a tag to compare

Release Notes

The BitShares Core software has been updated to the 5.0.0 Protocol Release. The code name of the release is "Splash". The Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release includes additions, improvements, and changes to the consensus protocol.

The scheduled protocol upgrade time is Monday, September 28, 2020 17:00:00 UTC (2020-09-28T17:00:00Z).

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

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

Who Should Upgrade?

All node operators must upgrade to handle the protocol upgrade.

Upgrade Process

Precautions

  • All validation nodes must complete their upgrade prior to Protocol Activation
  • A blockchain replay will automatically be performed after the validation node software is restarted. This typically takes a few hours on a modern CPU.

How to Upgrade from Source Code

Note:

  • The code base requires a compiler that supports the C++ 14 standard
  • The minimum supported boost version is 1.58, the maximum is 1.69
  • The minimum supported CMake version is 3.2

Obtain the Source Code

The source code may be obtained by checking out the 5.0.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 for download

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

Note: These 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 677d46af75827caccbc08f62eea1225d865ed690cea759a608684a8550877684
Mac 41a50ff84aeef248e66b577cc1a9d1f3cd5c8eb55f33812ac95378adafe54c8e
Linux 4ccb45bd871fb821328a1e3e8536de3f97f370811c63c2ca3c5ade37652705be

Changes

The changes for 5.0.0 Protocol Release are summarized below.

Protocol

Description Issue Pull Request
Automated Market Making (AMM) / Liquidity Pools 2260 2261
Remove voting power from liquid BTS and tickets 2262 2263, 2267

Node Functionality

Description Issue Pull Request
Update websocket to support TLSv1.2 2255 FC-207
Improve API logging, especially useful for nodes running behind a reverse proxy 844 FC-134, 2167
Add voting statistics during maintenance time - 2247
Fix replay percent calculation 2020, 2243 2246
Show "testnet" text when running witness_node for testnet 1995 2257

Node Performance and Stability

Description Issue Pull Request
Implement simple concurrent_unordered_set, potentially fix node crash issue 1256 FC-204, 1308
Fix websocket crash or hang issues 1784, 1856 FC-201, 2204
Fix race condition in websocket server close - FC-205
Fix reconnect of delayed node 2034 2038

Node Plug-ins

Description Issue Pull Request
Add extended history tracking for selected accounts 2258 2259
Improve ES plugin logging 1953 2189, 2245
Rethrow plugin exception 2241 2242

API

Description Issue Pull Request
Add mto_id to ticker data - 2237
Improve error messages of history APIs, check if required plugins are enabled 2021 2158

Software Design

Description Issue Pull Request
Support boost 1.72 - FC-189, FC-190
Update bloom_filter to an new version in FC - FC-176
Make space+type ids constexpr and get rid of useless definition - 2073
Fix macOS build warning wrt 'tuple_size' 2197 FC-202
Fix potential out-of-bounds access in HTTP request parser - FC-178
Remove some debug code from account_object.cpp - 2189
Remove useless code - 2086

Build Process and Continuous Integration

Description Issue Pull Request
Add GitHub Actions auto-build workflow 2054, 2110, 2253 2062, 2112, FC-180, FC-187, 2170, 2177, 2178, 2179, 2230, 2254, FC-206, FC-208
Show more detailed messages when running test cases in CI - FC-197, 2148
Improve SonarQube scanning in CI - 2218, [2221](https://github.com/bitshare...
Read more

BitShares Core 4.0.0

30 Jun 02:50
c9e2bf4
Compare
Choose a tag to compare

Release Notes

The BitShares Core software has been updated to the 4.0.0 Protocol 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, improvements, and changes to the consensus protocol.

The scheduled protocol upgrade time is Thursday, July 30, 2020 13:55:00 UTC (2020-07-30T13:55:00Z).

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

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

Who Should Upgrade?

All operators must upgrade to handle the protocol upgrade and to benefit from performance improvements.

Operators of API nodes will be able to configure custom limitations on their API nodes as described in the API section.

Upgrade Process

Precautions

  • All validation nodes must complete their upgrade prior to Protocol Activation: Thursday, July 30, 2020 13:55:00 UTC
  • A blockchain replay will automatically be performed after the validation node software is restarted. This typically takes a few hours on a modern CPU.

Upgrading from Any Version

Delayed Node

The witness_node program can be configured to serve the features that were previously provided by the delayed_node program. Therefore the delayed_node program is no longer supported. Instructions for configuring a witness node to act as delayed node can be found in the Wiki.

Elastic Search Plugin

The default values for the Elastic Search Plugin have been changed. These changes are summarized under Elastic Search Plugin.

Custom Operations Plugin

A new custom_operations plugin is added in this release which is enabled by default for new nodes. The plugin stores account catalogs of key=>value data using custom operations. The feature is expected to be utilized by several client applications including the reference UI and the BTS++ mobile App in the near future. Existing public API nodes should enable it.

API Helper Indexes Plugin

The api_helper_indexes plugin is now required for serving several existing critical APIs. Public API nodes should enable it. Please check the API section for more info.

Upgrading from 3.2.0

Operators of API nodes need to edit their configuration file per the instructions in the 3.3.0 Release Notes API section.

Upgrading from before 3.2.0

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 the 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 4.0.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 for download

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

Note: These 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 9482f0ef03e4df2fdd08c30e535709940925fd2ac0eccbe19c399316e57f0961
Mac 25a28802d6bd44f9d516ade2b605ea6e5c55fdbddcf801c638be11f1c92ca0a7
Linux 5d62f634633693e0a89dd86fdc0314ac0edb2fdc0d9b1437b84c62c5167270b7

Changes

The changes for 4.0.0 Protocol Release are summarized below.

Protocol

Description Issue Pull Request
Margin Call Fee Ratio (BSIP-74) BSIP-74, 2129 2159, 2180
Asset Owner Defines MCR and MSSR Values (BSIP-75) BSIP-75 2176
Require Higher CR When Creating / Adjusting Debt Positions (BSIP-77) BSIP-77 2157
Simple Maker-Taker Market Fees (BSIP-81) BSIP-81 2136, 2155
Maker order creation fee discount (BSIP-85) BSIP-85 2145
Share Market Fees to the Network (BSIP-86) BSIP-86 2128, 2140
Force settlement fee (BSIP-87) BSIP-87 2151, 2159, 2172
Add HTLC related features: HASH160 support, optional memo, optional preimage size 1967 FC-143, 1998
Share market fees of force-settle orders to the referral program 1780 1842, 2132
Redirect market fees sharing to temp-account to committee-account 1800 1870, 2133
Asset precision can be updated when asset has zero supply - 2176
New asset issuer permission and flag to disable updating of maximum supply - 2176
New asset issuer permission and flag to disable creation of new supply - 2176
Independent asset creation fee for assets with a prefix - 2176
Fix 250M supply issue 2103 2104
Fix additional authorities checking on custom_operation 210, 2087 1629, 2138
Fix overabundant balance check for bid_collateral_operation 1692 ...
Read more

Bugfix release 3.3.2

23 Sep 20:12
1976d20
Compare
Choose a tag to compare

Release Notes

The BitShares Core software has been updated to the 3.3.2 Bugfix Release. The Core software is used to build the validation nodes that perform consensus of all transactions on the BitShares blockchain. This release contains only bugfixes related to the P2P networking layer.

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?

Upgrade is strongly recommended for nodes running the 3.3.x releases, which are known to crash comparatively often. This release should improve the situation significantly.

Versions before 3.3.0 are suffering from a data leak that has also been fixed with 3.3.2. We recommend that these nodes should be upgraded too. Please check the release nodes of all intermediate releases when upgrading.

Upgrade Process

Precautions

None when upgrading from 3.3.1.

Please check the 3.3.0 Release Notes for more information if you are upgrading from versions prior to 3.3.0.

How to Upgrade from Source Code

Obtain the Source Code

The source code may be obtained by checking out the 3.3.2 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 and the node software are pre-built and available for download.

Note: These 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 666af326d833cb1bd13d999cc0b426d0c5eedc18fe783c4a6f3b17207f894e74
Mac 37ad3783b18d711831c7a2edf3082f7ebab506d9ebb5ab70c770f1b3e46f9443
Linux e66e342bee14f64cf0bab88d200c9021a30222a0e690e84cf9a302e808e4556f

Changes

The changes for 3.3.2 Bugfix Release are summarized below.

P2P layer

Description Issue Pull Request
Data leak 1999 2002
Node stability - 1996, FC 165

Release Contributors

@abitmore
@pmconrad
@vogel76

Bugfix release 3.3.1

05 Sep 14:09
ca8e352
Compare
Choose a tag to compare

Emergency Bugfix Release

This release fixes a chain halt. All nodes must upgrade.

Note: to avoid replay, nodes on older 3.x.y versions might prefer to upgrade to the respective patch versions. We have tagged these with 3.0.2, 3.1.1 and 3.2.2 respectively.

The only change in this release is #1975.

Upgrade instructions from previous versions apply. Docker builds are underway but may take some time to complete.

Binaries

Binaries of the command line interface (CLI) wallet and node software are being pre-built and will be made available for download.

Note: starting with core release 3.3.1, 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 4e7087b58b7ba7cc4ad2d9acdae7bb3c01a3454b2030f1c24ba96e296fcac58c
Mac 8f16969ec819e0950425405f3eaac84edd0edc95018255cddd821a80d7290907
Linux 30d4b8ddbfea143904d099b78e2083a666b6c0d7e68fb1810fbbdfb841f971af

Binaries for older versions

Version Platform SHA256 Checksum
3.0.2 Linux 182c9bac3c7a77914918451f6df182f76f35fcfbb535386f792730da43680cb8

BitShares Core 3.3.0

02 Sep 14:51
ba19d55
Compare
Choose a tag to compare

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

This release requires a replay of the blockchain, which will be automatically executed after the upgrade.

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 27a983c76ab2f733904925a4bfe2c9368a7f0476152da42282fcc026b01b8737
Mac b19f60589faaca3f6b4f5691a58588f801e0f75c20f319f81bf8033e5e17f4df
Linux 08df312085fc536798ef398186f5c08999f78df724bb94c34f952aebf33f312e

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](https://github.com/bitshares/bitshares-core...
Read more