NEM Symbol 0.10.0.4 Release Announcement - Launch On Target

NEM Symbol 0.10.0.4 Release Announcement

14th January 2021 - LAUNCH STILL ON TARGET


The much planned and awaited final major Symbol Release and Testnet patch is now available. Below is further detail, the main release components are:

A huge thankyou to all the team members that worked tirelessly to make this happen, the past 2 weeks have been particularly intense. @Jaguar0625, @gimre and @BloodyRookie’s - efforts over the past 4+ years can also now be seen in the updated Catapult Development Visualisation.

Thanks to CoinDesk for covering the release

This release will now soak until launch and become v1.0 for the Mainnet, there may be further minor patch releases but no new major changes will occur and the code is feature frozen.

As always some risk remains while in Testnet, if something major is found, at this time there are no known major issues and no new features coming; 14th January 2021 launch is on track.

NEM Symbol 0.10.0.4 Release Announcement:

A short while ago the below was posted on the public Slack channel: https://nem2.slack.com/archives/C9E7N7H1N/p1607993591079500

Hi All, The 0.10.0.4 server build was released and test network has been updated

The new api nodes endpoints are:
http://api-01.ap-northeast-1.0.10.0.x.symboldev.network:3000
http://api-01.ap-southeast-1.0.10.0.x.symboldev.network:3000
http://api-01.eu-central-1.0.10.0.x.symboldev.network:3000
http://api-01.eu-west-1.0.10.0.x.symboldev.network:3000
http://api-01.us-east-1.0.10.0.x.symboldev.network:3000
http://api-01.us-west-1.0.10.0.x.symboldev.network:3000

The faucets can be found at:
http://faucet-0.10.0.x-01.symboldev.network
http://faucet-0.10.0.x-02.symboldev.network

Explorer is here: http://explorer-0.10.0.x-01.symboldev.network

For those interested in testing out running a test network node :
https://github.com/nemtech/symbol-bootstrap/releases/tag/v0.3.0
More info will be provided on Symbol-Boostrap

Testnet Issues Summary

This release was expected a week or so ago, final testing identified a few issues, those have now been resolved and the Testnet patch can be released. During this time the Testnet has been frozen/finality stopped while we worked through the issues, apologies for any inconvenience but this was an important process to work through and get right.

We are carrying a couple of known issues/improvements into this release (deep rollback issues on github) which will be updated with a non-breaking patch before launch.

This release is a little different because it was necessary to cause a Hard Fork in the Testnet. A hard fork is a good process to go through as it will occur post launch with feature additions etc, it tests a process we know will occur again. This time it highlighted a couple of issues that were only found due to the hard fork and able to be fixed before Mainnet, it is Testnet fulfilling its purpose & identifying issues pre-launch.

One node (api-01.us-east-1.0.10.0.x.symboldev.network) remains in debug state to for further debugging if necessary, this is unfortunately the default node for the wallet so will need to be changed manually in the wallet. A new wallet release will be announced tomorrow which will solve this minor issue.

Release Process

A Hard Fork occurred at Block 215500, around which point the NGL servers were upgraded and smoke testing (and issue resolution) on the release started. All community Testnet servers will now need to upgrade, ideally asap and resynchronise to catch up on the new fork.

Fortunately, the Symbol Bootstrap tool now supports upgrading of nodes, please see below for instructions.

500 Nodes + Performance Test

A performance test will be undertaken shortly, this is expected to involve:

  • Scaling the number of nodes to at least 500 by Thu/Fri this week, to be left running until launch.

  • Running a high traffic performance test from Fri - Mon/Tue next week, during which time performance is likely to slow down as the network will be deliberately under load

Now - let’s go and test that Testnet!

Updates


How to Upgrade your Testnet Node (0.10.0.4)

Before upgrading, it’s recommended to backup your node’s target folder

Install the latest bootstrap:

npm install -g symbol-bootstrap@0.3.0

Peer Node Only

If you are running a Peer only node, run:

symbol-bootstrap start -p testnet -a peer --upgrade (-c myCustomPreset.yml)

The --upgrade opion will recreate your server configuration, docker configuration, and upgrade the format of addresses.yml without dropping the existing data or generates keys.

Dual Node or API Node

If you are running an API or a Dual node, run:

symbol-bootstrap start -p testnet -a api --upgrade --resetData (-c myCustomPreset.yml)

symbol-bootstrap start -p testnet -a dual --upgrade --resetData (-c myCustomPreset.yml)

--resetData will drop the node’s data (but not the keys). The node will synchronize from scratch but reusing your node’s keys. This testnet release doesn’t have a mongo upgrade process, both RocksDB and Mongo DB must be recreated.

If you are creating a new testnet node, --reset will clear up all your data and keys. The keys will be regenerated if you are not providing them with a custom preset.

It’s worth double-checking that your docker services are running. Validate the services logs and check that your node’s keys and accounts are valid.

For new nodes, you can also follow: Running a Symbol Testnet Node


Symbol 0.10.0.4 Release Notes

Core Server

Github: https://github.com/nemtech/catapult-server/releases/tag/v0.10.0.4

[0.10.0.4] - 04-Dec-2020

Added

  • ipv6 support #63
  • versions to all state primary documents in mongo #113 #115
  • clang 11.0.1 support
  • gcc 10.2.0 support

Fixed

  • finalization fork resolution #102
  • finalization fork resolution #102
  • add ListenInterface #55
  • resolve confirmed transaction addresses #82
  • recovery finalization support (EnableRevoteOnBoot), #90
  • check node version when adding to node container #97
  • allow non-voting nodes to pull finalization proofs more aggressively #99
  • fix mongo indexes
  • minor issues: #93, #96, #98, #100, #101, #104, #105
  • non-voting node with higher importances does not get rolled back when a fork is resolved #108
  • reduce allocations
    • in PatriciaTree
    • using custom memory pool with OpenSSL
  • Trail-of-Bits: cosmetic changes
  • minor issues: #93, #96, #98, #100, #101, #104, #105, #116

Changed

  • change voting key tree into key list
  • change voting key link transaction, to use shorter keys
  • mongo namespace meta.active -> meta.latest
  • upgrade dependencies to latest versions
  • drop use of boost::filesystem and boost::thread_group
  • add extended importance blocks to allow trustless verification of finalization proofs #103
  • only serialize non-empty AccountRestrictions #114

REST

Github: https://github.com/nemtech/catapult-rest/releases/tag/v2.2.0
Slack: WILL ADD SLACK LINK WHEN POSTED

[v2.2.1] - 9-Dec-2020

Fixed

  • Fixed v1 voting key issue in finalization route.

[v2.2.0] - 8-Dec-2020

Added

  • Catapult-server finality (0.10.0.4 - testnet/v3) support.
  • Added state model versions.
  • Added state merkle proof endpoints (/merkle) which returns deserialized merkle-patricia tree.
  • Added multi-version transaction support.
  • Added Symbol Bootstrap support for development and unit testing purposes.
  • Added V1 and V2 voting key link transaction support.

Updated

  • Updated latest flag in namespace’s collection and endpoints.
  • Updated finality proof endpoints to match the latest Testnet changes.
  • Updated bmTreeSignature schema with only top and bottom levels.
  • Updated server status codes.
  • Simplified search endpoints.

Fixed

  • Fixed transferMosaicId, fromHeight and toHeight transaction search filters.

SDK - TypeScript/JavaScript

Github: https://github.com/nemtech/symbol-sdk-typescript-javascript/releases/tag/v0.22.2
Slack: https://nem2.slack.com/archives/CEZKUE4KB/p1607993872007700

[0.22.2] - 12-Dec-2020

Milestone: Catapult-server finality(0.10.0.4)

Package Version Link
SDK Core v0.22.2 symbol-sdk
Catbuffer v0.0.25 catbuffer-typescript
Client Library v0.10.5-1 symbol-openapi-typescript-fetch-client
  • [BREAKING CHANGE] Deadline.create requires the configurable epochAdjustment from the network properties. The value can be retrieved using RepositoryFactory.getEpochAdjustment() or calling catapult-rest’s network/properties endpoint.
  • [BREAKING CHANGE] NetworkCurrency subclasses replaced with Currency objects. You can retrieve the network currencies with RepositoryFactory.getCurrencies().
  • [BREAKING CHANGE] SecretLockRepository.getSecretLock has been updated. It now takes the composite hash as parameter.
  • [BREAKING CHANGE] Replaced BlockInfo with the new block types: NormalBlockInfo and NemesisImportanceBlockInfo.
  • Added FinalizationRepository.
  • Added transferMosaicId, fromTransferAmount, toTransferAmount to transaction searches.
  • Added CurrencyService to allow loading Network and custom Currency objects from the rest API.
  • Added UnlockedAccount endpoint in NodeRepository to check harvester’s unlocking status on the selected node.
  • Added StateProofService to verify the different states.
  • Added serialize() to state objects AccountInfo, MosaicInfo, NamespaceInfo, MultisigAccountInfo, AccountRestrictions, MosaicGlobalRestriction, MosaicAddressRestriction, MetadataEntry, SecretLockInfo, HashLockInfo to generate the state proof hashes.
  • Added version field to state objects.
  • Added /merkle endpoints to the repositories of the different states which returns the state Merkle-Patricia tree.
  • Added stremer() to repositories to simplify PaginationStreamer objects creation.
  • Improved search endpoints allowing “empty” criteria in order to paginate over all the objects.
  • Listener now accepts address aliases as UnresolvedAddress objects.
  • Added V1 and V2 Voting Key transaction support.
  • Updated FinalizationProof object with the new SignatureSchema for catapult-server tree testnet/v3.
  • Fixed finalization proof schema version compatibility issue.

SDK - Java

Github: https://github.com/nemtech/symbol-sdk-java/releases/tag/v0.22.1
Slack: WILL ADD SLACK LINK WHEN POSTED

[0.22.2] - 14-Dec-2020

Milestone: Catapult-server finality (0.10.0.4)

  • Added voting key padding in acount state.

[0.22.1] - 10-Dec-2020

  • Fixed finalization proof schema version compatibility issue.
  • Account voting key version compatibility issue.

[0.22.0] - 8-Dec-2020

  • [BREAKING CHANGE] Deadline.create requires the configurable epochAdjustment from the network properties. The value can be retrieved using RepositoryFactory.getEpochAdjustment().
  • [BREAKING CHANGE] SecreatLockRepository.getSecretLock has been removed. You can now search by secret by using the search criteria.
  • Added FinalizationRepository.
  • Added transferMosaicId, fromTransferAmount, toTransferAmount to transaction searches.
  • Added CurrencyService to allow loading Network and custom Currency objects from the rest service.
  • Added StateProofService to verify the different states.
  • Added serialize() to state objects AccountInfo, MosaicInfo, NamespaceInfo, MultisigAccountInfo, AccountRestrictions, MosaicGlobalRestriction, MosaicAddressRestriction, MetadataEntry, SecretLockInfo, HashLockInfo to generate the state proof hashes.
  • Added version field to state objects.
  • Added /merkle endpoints to the repositories of the different states.
  • Added stremer() to repositories to simplify PaginationStreamer objects creation.
  • Improved search endpoints allowing “empty” criteria in order to paginate over all the objects.
  • Listener now accepts address aliases as UnresolvedAddress objects.
  • Added V1 and V2 Voting Key transaction support.
  • Updated FinalizationProof object added SignatureSchema for server tree testnet/v3.

Symbol Bootstrap

Github: https://github.com/nemtech/symbol-bootstrap/releases/tag/v0.3.1
Slack: https://nem2.slack.com/archives/C9E7N7H1N/p1608206264100600

[0.3.1] - Dec-17-2020

Milestone: Hippopotamus(0.10.0.4)

Package Version Link
Symbol Bootstrap v0.3.1 symbol-bootstrap
  • Allowed Bootstrap to run as sudo/root. NOT RECOMMENDED!
  • Added Chmod 777 permission change to the db data folder when running as sudo/root.
  • Increased Rest’s DB connection attempts and retries. This avoids Rest shutting down if the DB creation takes longer.
  • Updated Wallet to latest 0.13.6 release

[0.3.0]

Milestone: Hippopotamus(0.10.0.4)

  • New Service: Wallet. Bootstrap private network starts a Wallet service in http://localhost:80/ when using --assembly full. . Warning: This wallet service is for demonstration purposes only.
  • New Service: Explorer. Bootstrap private network starts an Explorer service in http://localhost:90/ when using --assembly full.
  • New Service: Faucet. Bootstrap private network starts a Faucet service in http://localhost:100/ when using --assembly full.
  • Using remote accounts when setting up nodes by default. This improves security by avoiding main account private keys to be exposed in node configuration (like harvesterSigningPrivateKey).
  • Removed unnecessary tls related files once certificates are created.
  • Added addresses.yml migration from old formats.
  • Added --upgrade flag to config, compose and start.
  • Fixed api broker name in testnet’s api assembly.
  • Images are not pulled by default speeding up bootstrap and avoiding unexpected alpha server upgrades. To pull new images use --pullImages.
  • Testnet Long Voting Key V1 and Short Voting Key V2 support.
  • Added compose preset support to inject properties into generated docker-compose services.

Open API

Github: https://github.com/nemtech/catbuffer-generators/releases/tag/v0.0.25

[0.10.5] - 10-Dec-2020

Targets catapult-rest 2.2.1

Fixed

  • Finalization proof schame v1 / v2 compatibility issue.

Catbuffer

Github: https://github.com/nemtech/symbol-openapi/releases/tag/v0.10.5

Symbol Explorer

Github: https://github.com/nemgrouplimited/symbol-explorer/releases/tag/v0.7.0

[v0.7.0][v0.7.0] - 9-Dec-2020

Milestone: catapult-server@v0.10.0.4

Package Version Link
REST Core v2.2.0 catapult-rest
SDK Core v0.22.2 symbol-sdk

Added

  • Added compatibility for 0.10.0.4 server.
  • Add extra graph info into transaction list #709
  • Display node type on base info widget (Voting node / non voting node) #723
  • View receipt info in detail page such as Account, Block, Mosaic and Namespace #716
  • Display more than 1 alias name in listing or detail page. #716
  • New message component #724

Fixed

  • Finalized Blocks are not up to date #675
  • Replace hardcoded XYM text from i18n properties #684
  • Addresses are not displayed correctly #701
  • Transaction Detail. Doesn’t display info for some transactions #703
  • Display all transactions at one page for an account #704
  • Namespace Detail. Handle expired namespace. #705
  • TG. Aggrate Bonded icon missing. #706
  • Only one account alias is presented. #714
  • Minor change for CR. #718
  • Account Detail. metadata is missing. #725

Symbol Faucet

Github: https://github.com/nemgrouplimited/symbol-faucet/releases/tag/v0.4.1

[0.4.1] - 9-Dec-2020

Milestone: catapult-server@v0.10.0.4

Package Version Link
REST Core v2.2.0 catapult-rest
SDK Core v0.22.0 symbol-sdk

Added

  • Added compatibility for 0.10.0.4 server.

Fixed

  • Lazy node health check when loading the page

[0.4.0] - 24-Nov-2020

Milestone: catapult-server@v0.10.0.3

Package Version Link
REST Core v2.1.0 catapult-rest
SDK Core v0.21.0 symbol-sdk

Added

  • improvement on toast notification.
  • added error message hanlding for api node down or faucet init error.
11 Likes

Ubuntu 20.04
There has been a new release of Symbol Bootstrap tool that resolves the issues deploying onto Ubuntu. This will also now cope with being run as sudo but root level access is not required and we recommend against running with sudo unless you have a specific reason to do so and accept the degraded security.

I will update the main post as well

Slack post: https://nem2.slack.com/archives/C9E7N7H1N/p1608206264100600

Hi team, we have released bootstrap 0.3.1 https://github.com/nemtech/symbol-bootstrap/releases/tag/v0.3.1

1 Like