Skip to content

Releases: bitshares/bitshares-core

BitShares Core Release 2.0.181120

20 Nov 14:56
a0e7dff
Compare
Choose a tag to compare

The BitShares community discovered a problem in the UI introduced by a change in bitshares-core in the 2.0.181105 release. The voting page of the UI was blank, caused by the removal of the budget_object in PR 1213.

This release reverts just that change, and allows the voting page to be displayed correctly.

No upgrade is required by any operator of a validation node. Yet operators of API nodes should upgrade to this release. Users of the BitShares UI will benefit when the node they connect to has been upgraded.

SHA256 Hashes

BitShares-Core-2.0.181120-Linux-cli-tools.tar.gz
35eaa18bdd1a0943ca95a23abdbf40bc57eb502a7b1aafd71c2363681fb4a0e2

BitShares-Core-2.0.181120-Windows-x64-cli-tools.zip
58045fa7f50a3c8818790d69f29fa250d719e8535bd334cac55c576f0b54bf1c

BitShares-Core-2.0.181120-macOS-cli-tools.tar.gz
8f9f59d12eba0c519c4d5f875697abd8cbd0b1b441d6c6609e9e5c38f6824b18

BitShares Core Release 2.0.181105

05 Nov 18:39
3ea5287
Compare
Choose a tag to compare

The BitShares Core software has been updated to the 201810 Feature Release. The Core software is used by validation nodes which perform consensus of all transactions on the BitShares blockchain. This release includes new features, optimizations, and bug fixes but does not include any changes to the consensus protocol.

No action is required if you do not operate a validation node or the command line interface (CLI) wallet.

Numerous performance improvements have been made to the software that will benefit all operators of validation nodes including block producers, seed nodes, and API nodes, especially those using the Elasticsearch plugin.

Documentation for BitShares developers may be now be found at the new BitShares Developer Portal (https://dev.bitshares.works).

Who Should Upgrade?

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

All operators will benefit from performance improvements (915, 1327, 1359) and fixes (1024, 1203, 1286, 1325).

Operators of block producing nodes will benefit from performance improvements (1251), safety measures (1252), and fixes (1266, 1332, 1364).

Operators of API nodes including Elasticsearch APIs will benefit from improvements to data availability (1351, 1352) and performance (1049, 1271, 1356).

Users of the command line interface (CLI) wallet will also benefit from improvements (1195, 1248).

Upgrade Process

Precautions

Precaution 1

Operators of API nodes that service client software that expect to receive updates about all data on the blockchain by default (such as BitShares Reference Wallet before 180401), as opposed to narrowly subscribed data, should ensure that their API nodes are configured with the enable-subscribe-to-all set to true due to Pull Request 1049.

How to Upgrade from Source Code

Obtain the Source Code

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

CLI Binaries for Linux, Windows and Mac

A binary of the command line interface (CLI) wallet for Linux is pre-built and available for download here BitShares-core-2.0.181105-Linux-cli-tools.tar.gz.

Linux SHA256 Checksum (shasum):
944771487b4ce2dddeb99c3bcba5ebde7a8f19082dbfb3bf1402b319005ea3a6

A binary of the command line interface (CLI) wallet for Windows is pre-built and available for download here BitShares-Core-2.0.181105-Windows-x64-cli-tools.zip.

Windows SHA256 Checksum:
c950f0b41a23500ec897e8b9e5b12a318c5b7d2d8b1b02c286833a7f9c66d1cf

For Mac please download BitShares-Core-2.0.181105-macOS-cli-tools.tar.gz.

Mac SHA256 Checksum (shasum): 19338e77d5dc87dcbb80280edd2bac833f502f1a0b1905875165d118ba174259

Changes

The changes for BitShares Core for the 201810 Feature Release are summarized below.

Core Functionality

Description Issue Pull Request
Change call_order_update_operation to return order_id 1269 1352

Node Functionality

Description Issue Pull Request
Segmentation fault when running several witness nodes on the same machine 377 1286
Performance opt pt 1 1079 1359
Log console output during replay to file 985 1355, FC-76
Change replay percentage to total block size processed 1289 1335
Improve block generation performance - 1251
Review and backport EOS patch about unsigned_int unpacking 993 1267
Check and port Steem PR 2692: missing FC typenames 1217 1248
witness_node uses two incompatible parsers for config.ini 149 1024,1325
db_block.cpp: removed unreachable code - 1312
Cleanup budget_record_object? 1139 1213
Change object_id to more than 32 bit 1088 1267
More 32 bit to 64 bit changes 1206 1347, 1374
Remove definition of unused symbol_type - 1235
Update application.cpp - 1345
application.cpp: minor optimization - 1327
Call order and bitAsset related code refactory - 1306
Re-add enable-subscribe-notify-all option after GUI issue fixed 752 1049
When signing a block that updates the signing witness's signing key, use correct signing key 125 1203
remove unused variable _consecutive_production_enabled - 1294
Check Steem issue 2658: Not producing block because node didn't wake up within 500ms of the slot time 1157 1266
remove verify_account_history_plugin_index() - 915
inconsistent error message for update_asset_issuer 944 1255
Possible to generate a block that is too large 1136 1252
remove duplicated line in networ...
Read more

BitShares Core Release 2.0.180823

23 Aug 19:21
af28e26
Compare
Choose a tag to compare

This is the first BitShares-Core release that supports Ubuntu 18.04 LTS. Due to the new features and improvements included in this release, all nodes are encouraged to upgrade (will replay automatically on first run).

Platform specific notes

SHA256 Checksum

  • BitShares-Core-2.0.180823-Windows-x64-cli-tools.zip : Windows
    • 2d6434427a9bfff0e20c8bee175b5ff8fda9709e91dbc8edbf8ed0c9ccf2f3f1
  • BitShares-Core-2.0.180823-macOS-cli-tools.tar.gz : macOS High Sierra 10.13.6
    • 0c377ab4e93c24cf1c6ff8be04abd0dc8423dbf3dde89b7fbe558e90c80a9e8b

Security fixes

  • CLI wallet: updated choice of range proof params in cli wallet reveals transaction magnitude to very narrow range for Blinded Transfers (issue #480 / PR #1117 #1227)

API changes

  • Removed crypto_api from default list of allowed APIs. (issue #1123 / PR #1125)
  • Changed default max-ops-per-account value to 100, impacts account history (#1120)
  • Added get_account_limit_orders database API to query for open orders of one account in one market #463 #849 #1163
  • Added get_asset_count API to return total number of available assets #688, #1159
  • Added get_transaction_hex_without_sig API get serialized transaction hex without signatures field (issue #1013 / PR #1038)
  • Added support for account name as parameter for all API calls #969 #989 #1164 #1168 #1152 #1155
  • Added fail_reason field to proposal object #730, #1036
  • Retroactively deducted witness missed_blocks caused by chain halts #1087

New features and improvements

  • Added Openssl 1.1 and Ubuntu 18.04 support (issue #835 / PR #559 #921 #1008 bitshares/bitshares-fc#7)
    • Fixed invalid use of incomplete type BIGNUM {aka struct bignum_st} #327
  • Added witness_node startup option --enable-standby-votes-tracking to track votes of standby witnesses and committee members, enabled by default #987, #1191, #1211
  • Added cli_wallet startup option --suggest-brain-key to generate keys without connecting to a witness_node #1011, #1039
  • Added quit command to cli_wallet #1104, #1050 bitshares/bitshares-fc#63
  • Improved witness_node performance for generating blocks, resyncing and replaying
    • Improved account maintenance (vote tally) performance (issue #803/ PR #1085)
    • Improved performance of database::update_expired_feeds() and global object getters #1093 #1180
    • Slightly improved price comparison performance #1094 #1124
    • Added index on short_backing_asset, better performance for updating asset (Issue #960 / PR #1019)

Docker File

  • Changed default docker p2p port to 1776, fixed p2p port to match Dockerfile #1226, #1078
  • Fixes to make Docker containers shutdown gracefully #1077 #1115
  • Fixed Docker Cloud Build Failing Due to Compile Time #1221 #1222
  • Modified Dockerfile to work with new docker cloud version (0.10.1) #1075
  • Updated testnet Branch to Include Latest Dockerfile #1074

Elasticsearch

  • Elasticsearch refactor #1103 #1201
    • Add auth to communicate with the ES database with --elasticsearch-basic-auth startup option.
    • Custom index names with --elasticsearch-index-prefix startup option.
    • Removed --elasticsearch-logs startup option
    • Better error handling: if there is an error when sending data to ElasticSearch, plugin will stop processing blocks and keep trying, and it resumes when connection is back at the same place. #681
    • add operation_id_num for easier filtering.
    • Fill orders data in additional for easy volume.
    • Test cases framework. #1047
    • Make full use of common functions in the 2 plugins(utilities).
    • flush ES database on every block when node is in sync to improve real time user experience. #1137
    • Increased performance of the elasticsearch plugin where possible: #1260
  • Updated documentation https://github.com/bitshares/bitshares-core/wiki/ElasticSearch-Plugin

Bugfixes

Other changes

Contributors in this release:

BitShares Core Release 2.0.180612

12 Jun 14:57
27d2e3e
Compare
Choose a tag to compare

This is a protocol upgrade release. All nodes should upgrade before 2018-07-19 14:00:00 UTC.

Note: in the previous release (2.0.180425) we fixed a serious bug.

  • If you're upgrading from 2.0.180425 to 2.0.180612, you don't need to do anything special;
  • if you're upgrading from a release earlier than 2.0.180425 to 2.0.180612, please check release notes of 2.0.180425 to see if you need to perform additional steps.

Consensus changes

API changes

  • extensions field of call_order_update_operation changed from an array to an object, which affects all related API's E.G. get_block, get_account_history, get_relative_account_history and etc. Due to this, old version of cli_wallet won't be compatible with new API nodes when that operation would occur in result.
  • [Issue #862, PR #872] Improved pagination of list_assets node API
  • [Issue #863, PR #871] Node get_ticker API now returns time stamp of latest block instead of server time
  • [Issue #811, PR #861] Added get_full_account command/API to cli_wallet

Other changes

  • [FC PR #36] Support Boost 1.64-1.65

  • [FC PR #43] Fixed a memory leak issue in TCP socket destruction

  • [FC PR #44] Fixed Diffie-Hellman shared key computation (related to memo encryption)

  • [Issue #727, PR #880] Added stack trace printing when node crashes (only for boost 1.65)

  • [Issue #878, PR #927] Made number of I/O threads configurable (can be manual or auto)

  • [Issue #805, PR #840 / #919 / #937] Improved logging level and messages; added logging options about log-rotation

  • [Issue #837, PR #848 / #839] Added cli_wallet to Docker

  • [PR #938] Fixed an issue that may cause the node to store incorrect block ID to disk when switching forks

  • [Issue #582, PR #813] Fixed macOS witness node crash issue when being used as an API server

  • [Issue #776, PR #816 / #955] Fixed missing notification to RPC clients when changes occurred on some types of objects

  • [Issue #888, PR #954] Fixed an integer overflow issue when checking whether a price feed has expired

  • [Issue #864, PR #865] Fixed a cli_wallet transaction signing issue when creating proposals with transaction builder

  • [Issue #859, PR #801 / #817] Fixed macOS and Ninja build errors introduced in last release

  • [Issue #136, PR #928] Fixed an asset supply calculation error in test case

  • [Issue #943, PR #869 / #945] Improved a few assertion error messages

  • [PR #850] Removed unused asset cache from cli_wallet

  • [PR #918] Fixed in-code documentation for set_desired_witness_and_committee_member_count command/API in cli_wallet

  • [PR #804] Refactored node.cpp and application.cpp for easier testing

  • [PR #851 / #853 / #854 / #855] Fixed several compiler warnings

Contributors

SHA256 checksum

  • BitShares-Core-2.0.180612-x64-cli-tools.zip: Windows
    • 549d7b31404ef4ef4bd17854859efc4ead536e69df6c3284f773cbf15b04fe9f
  • BitShares-Core-2.0.180612-macOS-cli-tools.tar.gz: macOS
    • 83384a90afe0b47f578caeedff881f8e067218ede2333fa2adfeb8f99d7267c7

BitShares Core Release 2.0.180425

25 Apr 20:09
bf263b1
Compare
Choose a tag to compare

This is a bugfix release.

In this release we fixed a bug in account history plugin, which may result in incorrect operation history IDs being stored under certain circumtances. Account history is mainly used by 3rd-party businesses for integration.

This bug doesn't affect consensus or chain security.

Who need to upgrade, and what to do

Businesses (E.G. exchanges, payment processors, gateways or merchants) who're running witness_node with track-account option, if rely on correctness of operation history object IDs (1.11.x) returned by witness_node to identify transactions, are likely affected.

Please:

  1. upgrade the node, and
  2. restart the node with --replay-blockchain parameter, and
  3. carefully check historical data which was retrieved from the old node and processed in the past, compare it to new data returned by upgraded node, deal with the differences if needed, and
  4. perhaps review business data process logic.

Please be aware that the 3rd step is important for businesses to avoid processing same transaction (E.G. a deposit) more than once. After restarted with --replay-blockchain, history object IDs may have changed. For example, before restart, get_relative_account_history [account_name] 0 1 0 may return an operation history ID 1.11.123456789 which indicates a deposit, but after restart, operation history ID of the same deposit may have changed to 1.11.123456700.

All earlier versions are affected.

Who are not affected

Here are some cases likely not affected by the bug. However, for your own safety, please make decision by your own.

  • The bug doesn't affect delayed_node, so data stored and returned by delayed_node is always correct. IDs stored in witness_node can be different than those stored in delayed_node. If a business only reads data from delayed_node, it's not affected.

    • However, if the business also reads data from witness_node, it can be affected.
  • Businesses that don't rely on correctness of 1.11.x IDs to identify transactions, for example those identify transactions by transaction IDs or signatures, are likely not affected, so don't need to upgrade.

  • Nodes that were not running with track-account option are not affected, so no need to upgrade.

    • Nodes running with default options are in this categary.
    • Public seed nodes, API nodes and witnesses should be in this categary.
  • Personal nodes that are not interested in history object IDs are probably affected, but usually don't need to upgrade.

More info about the bug

The bug was in account history plugin, if track-account option is used in a node, when forking occurs (E.G. due to network latency issues), the node may unintendedly skip some IDs. After that, incorrect IDs will be stored and then be returned when being queried. A restart with --replay-blockchain may correct IDs of existing/historical data, but doesn't prevent new incorrect IDs from being stored.

After upgraded and replayed, the node won't skip IDs, so will always store correct IDs.

Related issue and pull request: #585, #873.

SHA256 checksum

  • BitShares-Core-2.0.180425-x64-cli-tools.zip: Windows
    • ee6687979a1dabf7ea19cdbdd717929292d091caae9bfe3c1b09fb6464f39180

BitShares Core Release 2.0.180328

28 Mar 19:11
92eb45c
Compare
Choose a tag to compare

This release contains several security fixes. All nodes please upgrade as soon as possible.

Note:

  • libcurl-dev is a dependency since release 2.0.171212. For Ubuntu, use this command to install it:
    • sudo apt-get install libcurl4-openssl-dev
  • The submodule remote URLs were changed in this release. To update an existing local repository, need to run additional git submodule sync and git submodule update commands:
git fetch origin
git checkout 2.0.180328
git submodule update --init --recursive # this command will fail
git submodule sync --recursive
git submodule update --init --recursive

Security fixes

New features and improvements

  • Implemented grouped_order plugin with API, enabled by default in witness_node, so clients can get cleaner order book when there are lots of dust orders: #639, #662
  • Implemented es_objects plugin to store "objects" in Elastic Search for easy querying: #500
  • Added API's to get withdraw_permission objects related to an account #611, #676
  • Added get_top_markets API #512, #737
  • Added broadcast_transaction CLI command/API for broadcasting transaction signed by cold wallet #656
  • Added a proposer field (fee_paying account) in proposal object #608
  • Settlement order changes will be pushed to client if subscribed to certain market #745, #747
  • Added SSL, Boost and websocket to --version commands output #579, #610
  • Refactored get_account_history API for better performance #613, #628
  • Plugin sanitization #468, #661

Bugfixes

  • Fixed websocket connection issue in Linux when kernel higher than 4.4.0 bitshares/bitshares-fc#18
  • Correctly disconnect peers #721, #722
  • Fixed broken HTTP headers in Elasticsearch requests #653
  • Partially fixed CLI account caching issue #151, #640
  • Fixed #436 object_database created outside of witness data directory #689

Other changes

Contributors in this release:

SHA256 Checksum

  • BitShares-Core-2.0.180328-x64-cli-tools.zip : Windows
    • 658fa5b7ed9beff18649f9d7f2533494198e45d245d0b822695a4abbedf37442

BitShares Core Release 2.0.180202

02 Feb 14:34
1d0b859
Compare
Choose a tag to compare

This release contains fixes for a few vulnerabilities that could lead to Denial of Service attacks in both API and P2P layer. All nodes (especially active witnesses, seed nodes and public API nodes) are recommended to upgrade as soon as possible.

Note: libcurl-dev is a dependency since release 2.0.171212 (sudo apt-get install libcurl4-openssl-dev for Ubuntu).

Critical Bug Fixes

Features and Improvements

  • Added a new api call get_account_history_by_operations to the rpc api and the cli_wallet. #430
  • Updated Docker files and documents, by @xeroc. #568
  • Replaced all double types with string for all market API's, E.G. get_ticker, so they will return more accurate data. #594
  • Fixed some issues in get_required_signatures API #570
  • Fixed a charting issue #571
  • Fixed a few bugs in vote_id_type initialization #578
  • Hardfork 353 related code cleanup by @pmconrad #574
  • Some other minor changes and cleanups

Contributors in this release:

SHA256 Checksum

  • BitShares-Core-2.0.180202-x64-cli-tools.zip : Windows
    • 9d909b821785572420714a355509e2fafa9b0089e49e5466f7f1a21e85352792

BitShares Core Release 2.0.171212

13 Dec 01:25
015026f
Compare
Choose a tag to compare

After the hardfork release (2.0.171105a) and hardfork date (2017-12-08) passed, the BitShares Core dev team has enough updates for a new release. This release targets API nodes and we recommend them to upgrade. Block producers (witnesses) and seed nodes should keep in the hardfork release (2.0.171105a) until we can confirm the new release is stable enough.

The most notorious changes are in the addition and update of plugins and some general fixes. No consensus changes are present in this release and the upgrade is recommended to API nodes but optional.

Changes

  • New ElasticSearch plugin. Pull request: #444 - Allows to run full nodes with reduced RAM while it adds more robust querying into account history. Issues: #358 #503 #413 #373 #430 #487

    • libcurl-dev is now a dependency (sudo apt-get install libcurl4-openssl-dev).
  • Market History plugin changes. Several improvments were done in this release to the market history plugin. Related pull requests: #455 #478 #513 #466 Issues: #449 #472 #467 #454 #448 #505 #509 #185 #521 #465

  • Now supports boost 1.61, 1.62 and 1.63: #483 #486

  • Other changes:

Contributors in this release

SHA256 Checksum

  • BitShares-Core-2.0.171212-x64-cli-tools.zip : Windows
    • 35f48d4751ada051b5b3130d7d9345ea0ad356519c03680b138adb2efd4cff52
  • BitShares-Core-2.0.171212-osx-cli-tools.zip : macOS
    • d58e8f77a90efc0d65d18db9143e0fef6168f0832822298d420d668e05c4dc82

BitShares Core Release 2.0.171105a

05 Nov 20:13
Compare
Choose a tag to compare

This release contains a consensus change. All nodes must upgrade before 2017-12-08 15:40:00 UTC!

Changes:

  • Bugfixes

SHA256 Checksum:

  • BitShares-Core-2.0.171105a-x64-cli-tools.zip
    • 8e7bb51b985d709f2e7d7a03a855ca2d9ce24ea62d1fab679585f3d30997c6e4

BitShares Core Release 2.0.171025

25 Oct 18:48
Compare
Choose a tag to compare

UPDATE (2017-11-07): Please use 2.0.171105a. Consensus upgrade is scheduled at 2017-12-08 15:40:00 UTC.

UPDATE (2017-11-03): Don't upgrade to this release. It won't sync further than block #21462208. We've found the reason, will release a new version soon. Before the fix is out, block producing nodes (witnesses) and seed nodes please use 2.0.171019a, other nodes please use 2.0.170710 or 2.0.171019a.

This release merges all the work done in the last 3 months in the develop Bitshares branch into master.

All full nodes must upgrade before 2017-11-27 14:40:00 UTC!

Changes:

  • BSIP-0018 #340
  • Improved startup time #339
  • Fix for early withdrawal claims #23
  • Fix for bug in vote evaluation #369
  • Fix to prohibit voting for non-existant entities #348
  • Some API changes #352 #344 #347 #330 #311 #312 #306 #304 #420
  • new option --plugins for run-time selection of active plugins #288
  • Fix for the "no blocks to pop" message during shutdown #336
  • Fix for transaction signing in cli_wallet #321
  • Improved error logging #332
  • Get rid of broken flat_index #335
  • Fix for blockchain crash #324
  • Incorporate p2p fixes that were made to steem codebase #411
  • Changed default settings to reduce RAM for new nodes #422
  • Fixed rounding issue when creating assets #429
  • Fix and softfork protection for asset creation fee issue #433
  • Fixed issue of more than 100 accounts owned by the same user #295
  • Prevent new bid_collateral operation from entering the blockchain before hardfork #441

Contributors:

Checksum of Binaries:

  • BitShares-Core-2.0.171025-x64-cli-tools.zip
    • SHA256SUM: 22360e99d923881b95f1c0c92c00ccfde52c8454306d15a33e013d829f1fbd6c