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 for BitShares Core 201810 #1381

Closed
TheTaconator opened this issue Oct 15, 2018 · 8 comments
Closed

Release Notes for BitShares Core 201810 #1381

TheTaconator opened this issue Oct 15, 2018 · 8 comments

Comments

@TheTaconator
Copy link
Contributor

TheTaconator commented Oct 15, 2018

Release Notes

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 Windows and Mac

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.

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

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 network code node.cpp - 1231
Error while converting value to string 1392 1394,FC-83
Update Sahkan's seed nodes - 1404

Node Plugins

Description Issue Pull Request
Terminate block production loop when shutting down witness plugin 1314 1332, 1364
add dascoin adaptor - 1356,1396
[ES plugin] Wrong value of additional_data.fill_data.fill_order 1295 1351
refine es_objects plugin 1271

Command Line Interface (CLI)

Description Issue Pull Request
CLI wallet: avoid directly overwriting wallet file on exit 1109 1195
cli_wallet crashes when doing import_key on Mac 1244 1248
get to_id from to_account instead of get_account_id() - 1242
wallet compatibility issue 1307 1323

Build Process

Description Issue Pull Request
Integrating cURL into cmake - 1329, 1336
cli_test doesn't compile on Windows due to using 'sys/socket.h' 1292 1305
clean old style codes - 1250

Unit Tests

Description Issue Pull Request
Not able to perform testing [100,000 transactions per second] 1298 1337
Refactor cli_test 1192 1243
Test case failed on chain_test 1326 1346

Documentation

Description Issue Pull Request
API documentation 780 1174
Launch BitShares Developer Portal 1031 How-19, Dev-41
add new doc portals to readme 953 1358,1363
add readme to plugins - 1319
LaTeX project for documentation like C++ ISO/IEC 1288 -
Probably wrong comment 1301 1349
Create plugin script - 1302
add new doc portals to readme 1363
Add disk space requirements to readme - 1376,1379
Update get_trade_history API docs and coding style - 1397

Release Contributors

@abitmore
@botanegg
@cogutvalera
@cwyyprog
Damir from Dascoin
@HarukaMa
@jmjatlanta
@ihla
@liondani
@OpenLedgerDev
@oxarbitrage
@pmconrad
@RichardWeiYang
@ryanRfox
@tsugimoto
@zhuliting

@cogutvalera
Copy link
Member

Well done ! Nice ! Thanks !

@pmconrad
Copy link
Contributor

Thanks.
I think the 4 "Development Process" PR's need not be listed, they don't actually change anything content-related.

@abitmore
Copy link
Member

Here is my own opinion about how to write a good release note. There are many articles over the Internet about same topic as well.

Release notes should be audience oriented. (Same thing applies to other documents)

Question:

  • Who are the targeted audience of the release notes (who will read the release notes)?

Answer:

  • node operators including exchanges, gateways, other businesses integrated BitShares, API node providers, witnesses, seed node providers, bot runners and etc.
  • News transmitters / public relation dept.

Question:

  • What do they care the most when reading the document?

Answer 1 (for node operators, ordered by priority):

  • Do I have to upgrade to the new release?
    • does the release contain security fixes, am I affected?
    • does the release contain features or fixes that I badly needed (which may improve my business a lot)?
      Note: actually this is hard, because it means you need to know your product, know the businesses around, know what do they need / want.
  • If I want to upgrade to the new release, what do I need to pay special attention?
    • will this release break anything (e.g. API changes)?
    • will this release requires more resource to run, if yes, what are the new requirements?
    • will this release reduce performance e.g. slower startup time, which may impact my business?
  • If I want to upgrade to the new release, what do I need to do?
    • where are the binaries for download? where are the checksums?
    • what are the steps to upgrade?
    • how much time would I need to complete the upgrade? what additional resources would I need for upgrading?

Answer 2 (for news transmitters / public relation dept.)

  • What are the big news / most attractive things in this release?
  • Do I understand what's the release note is talking about? If I can't understand, what should I guess?

Question:

  • What are the minor things that few people will have interest to read?

Answer (examples):

  • code style changes
  • removal of unused files / code or duplicate code
  • fixes of comments in code
  • fixes of typos
  • fixes for test cases
  • code refactory

So here comes some principles:

  • The wording should make sense, and should be easily understood by targeted audiences.
  • Need a good summary, emphases the "big things" in this release.
  • Security fixes should be explicitly listed.
  • API changes should be explicitly listed.
  • Important things should be explicitly described.
  • Important new features and fixes should be listed above minor changes.
  • List contributors, generally, order by contribution.

And some tips:

  • group related things together / combine them if it's better
  • list similar things together

@cogutvalera
Copy link
Member

something like this BitShares Core Release 2.0.180823

@jmjatlanta
Copy link
Contributor

Wow, a lot of effort went into that. Thanks @TheTaconator for the work and @abitmore for the insightful opinion. If I were to combine those two things, I guess a brief paragraph to start would satisfy the public relations people, and the details would help the integrator/admin.

@oxarbitrage oxarbitrage added this to the 201810 - Feature Release milestone Oct 16, 2018
@abitmore
Copy link
Member

Need to add related PRs in FC to the list which including following 2 pulls but not only them:

Need to add #1392 add #1394 to the list.

@abitmore
Copy link
Member

#1049 may break some client applications and should be explicitly mentioned.

@oxarbitrage
Copy link
Member

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

6 participants