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:
- Catapult Core Server - 0.10.0.4
- Catapult REST - 2.2.1
- SDK TypeScript/JavaScript - 0.22.2
- SDK Java - 0.22.1
- Symbol Bootstrap - 0.3.1
- Hard Fork happened: block 215500
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:3000The faucets can be found at:
http://faucet-0.10.0.x-01.symboldev.network
http://faucet-0.10.0.x-02.symboldev.networkExplorer 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
- Wallets that accompany this have now been released as well
- Java and Core Server now tagged and linked
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 onlytop
andbottom
levels.- Updated server status codes.
- Simplified search endpoints.
Fixed
- Fixed
transferMosaicId
,fromHeight
andtoHeight
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 configurableepochAdjustment
from the network properties. The value can be retrieved usingRepositoryFactory.getEpochAdjustment()
or calling catapult-rest’snetwork/properties
endpoint.- [BREAKING CHANGE]
NetworkCurrency
subclasses replaced withCurrency
objects. You can retrieve the network currencies withRepositoryFactory.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
andNemesisImportanceBlockInfo
.- Added
FinalizationRepository
.- Added
transferMosaicId
,fromTransferAmount
,toTransferAmount
to transaction searches.- Added
CurrencyService
to allow loading Network and customCurrency
objects from the rest API.- Added
UnlockedAccount
endpoint inNodeRepository
to check harvester’s unlocking status on the selected node.- Added
StateProofService
to verify the different states.- Added
serialize()
to state objectsAccountInfo
,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 simplifyPaginationStreamer
objects creation.- Improved
search
endpoints allowing “empty” criteria in order to paginate over all the objects.Listener
now accepts address aliases asUnresolvedAddress
objects.- Added V1 and V2 Voting Key transaction support.
- Updated
FinalizationProof
object with the newSignatureSchema
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)
Package Version Link SDK OkHttp v0.22.2 https://repo.maven.apache.org/maven2/io/nem/symbol-sdk-okhttp-client SDK Vertx v0.22.2 https://repo.maven.apache.org/maven2/io/nem/symbol-sdk-vertx-client Catbuffer Library v0.0.24 https://repo.maven.apache.org/maven2/io/nem/catbuffer-java Client OkHttp v0.10.5 https://repo.maven.apache.org/maven2/io/nem/symbol-openapi-okhttp-gson-client Client Vertx v0.10.5 https://repo.maven.apache.org/maven2/io/nem/symbol-openapi-vertx-client/
- 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 configurableepochAdjustment
from the network properties. The value can be retrieved usingRepositoryFactory.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 customCurrency
objects from the rest service.- Added
StateProofService
to verify the different states.- Added
serialize()
to state objectsAccountInfo
,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 simplifyPaginationStreamer
objects creation.- Improved
search
endpoints allowing “empty” criteria in order to paginate over all the objects.Listener
now accepts address aliases asUnresolvedAddress
objects.- Added V1 and V2 Voting Key transaction support.
- Updated
FinalizationProof
object addedSignatureSchema
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.