-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA512Release 2.2.3sha256 checksums:93ae873e406d405490baf6e26816509282e8c92a505798168a914ede1d2c704e ardor-client-2.2.3.zipf414a71a656bdc0e97ff71ad1b65b7bd182d8b80216bc285e4e59f9cf63e0371 ardor-client-2.2.3.shThe exe and dmg packages must have a digital signature by "Jelurida Swiss SA".Change log:This release adds multiple usability enhancements, optimizations and bug fixes.For users of 2.2.1 or 2.2.2, upgrade is optional but highly recommended.New feature: Shamir Secret SharingShamir Secret Sharing support is now enabled for both client and server. Itallows splitting a passphrase into N pieces out of which only K are required torestore the original secret. This technique is useful to protect the fullpassphrase from key loggers on the client workstation and from eavesdroppingduring transport to a remote node. Shamir Secret Sharing is also useful for thecreation of fragmented backups, by storing each piece in a different physicalplace or with a different trusted party, with at least K of them required torecover the full passphrase.Secret share splitting and combining is supported both on the server side usingthe node APIs, and client side in the wallet, so that secrets split on one sidecan be combined on the other.Client sideWhen printing a paper wallet, a new dialog enables setting the total number ofsecret pieces to generate from a passphrase, and the number of secrets requiredto re-combine a passphrase. These secrets are then printed into separate pagesof the paper wallet.For all dialogs which accept entry of a passphrase the user can now check the"Shared Secret" checkbox, then enter or scan the required number of secretpieces to combine the original passphrase in memory.Server sideAny API which accepts the "secretPhrase" parameter can now accept insteadmultiple "sharedPiece" parameters which the node will combine into the originalpassphrase in memory. A node can keep some of the secrets in its configurationfile while accepting other secrets using API parameters.To configure this setup for account address X, split your passphrase intoseveral pieces then list some of the pieces in a semicolon separated list as thevalue of the property nxt.secretPhrasePieces.X. When using the API, submit theparameter sharedPieceAccount=X where X is the account address, and also submitthe remaining required pieces using multiple sharedPiece parameters. Thisconfiguration enables to start forging, bundling, etc, on a remote node withoutever transmitting the full account passphrase to it over the internet.New APIs for Shamir Secret Sharing:Use the splitSecret API to split a passphrase into pieces.Use the combineSecret API to combine secret pieces to the original passphrase.ContractsDue to enhancements to the underlying API caller infrastructure all lightweightcontracts have to be recompiled and redeployed in order for a contract runnerrunning this version to be able to execute them correctly.Any other code using the API callers must also be recompiled.InstallationThe Windows and Mac installers now bundle a copy of OpenJDK 11 and Java FX sdk.OpenJDK is installed into the jdk folder.Java FX is installed into the javafx-sdk folder.The jre folder which included the Java distribution in previous releases is nolonger created by the installation.Users who created customized scripts relying on the jre folder should adjusttheir scripts to the new structure.For the linux installation package, the code is compiled with OpenJDK 8, andcan still be run under either Java 8, or Java 11 or 12. For Windows and Mac,the installation package is compiled using Java 11.UI improvementsWhen loading a transaction voucher it is now possible to attach an encryptedmessage to yourself, and to recalculate the transaction fee. It is now alsopossible to not immediately broadcast voucher transaction, for the purpose ofoffline signing.The coin exchange displays the inverse rate in the "Buy" dialog, and as atooltip when hoovering with the mouse over any price field.Expected orders and order cancellations (unconfirmed or phased) are displayedin the order book with a special icon to their left.Left pane balances are updated with each new block.The order of columns was changed so that the "Sum" column displays the coin tobuy, clicking the "Sum" column updates the amount to buy accordingly.Red warning is displayed when typing an amount to buy which requires largerbalance than the available balance. Total field is limited to 8 decimals.The dashboard transaction view was improved to reduce appearances of duplicatetransactions when the transaction moves from unconfirmed to confirmed status.Support login by alias and recipient alias for any alias. If not an accountalias, map the alias to the alias owner account. Since any alias owned by anaccount can now be used as an alias to the account, this release deprecatesthe so-called "account" aliases, and we will remove support for them in thenext release.Approximate leasing expiration date is displayed in the Account Leasing tab.A new Account Properties tab has been added to the account info modal,displaying all properties set on the account.Networking and performance improvements.As a result of our extensive load testing efforts, this release includesseveral networking stability improvements and performance optimizations.New add-ons to simplify automated and secure running of tasks on remote nodes:A set of custom add-ons to automate forging, bundling, and funding monitorshas been include in this release.The StartForging add-on reads the passphrases stored in a plain text file, asdefined in the property nxt.startForgingFile, one passphrase per line, andautomatically starts forging with each of these accounts when the server isstarted. Since passphrases are stored unencrypted, this add-on should onlybe used on well secured servers, or with accounts of insignificant value, orin test environments.For a secure way of starting forging with multiple accounts on a remote server,the SaveForgingEncrypted add-on can be used to store the passphrases of forgingaccounts in an encrypted file, and the StartForgingEncrypted add-on to startforging with them by only submitting to the server the password necessary todecrypt this file. Note that at runtime, the forging account passphrases willstill be kept in server memory, but when using these add-ons will never need tobe stored on disk, and will not need to be re-submitted to the server each timeforging needs to be started. These add-ons are useful when forging on a fullytrusted node, and having to restart forging remotely without a risk of exposingthe passphrases in transit.The StartBundling add-on reads a list of Bundlers stored in a JSON formattedfile, as defined in the property nxt.startBundlingFile. The exact JSON can beinitially generated by manually starting the bundlers configured as desired,including any custom bundling rules, and using the GetBundlers API to retrievethe list of bundlers in JSON format. The only manual modification required isto add a "secretPhrase" parameter to the JSON for each bundler, with thecorresponding account secret phrase. On server start, the StartBundling add-onwill automatically start all bundlers as configured.Similarly to the above forging add-ons, the SaveBundlingEncrypted andStartBundlingEncrypted add-ons can be used to store the JSON configuration ofbundlers in an encrypted instead of plain text file, and start the bundlerson submitting the decryption password to the server.Finally, for automating funding monitors, the StartFundingMonitors add-on willautomatically start all funding monitors configured in a JSON formatted file,as defined in the property nxt.startFundingMonitorsFile. The JSON can begenerated by manually starting the funding monitors as desired, and using theGetFundingMonitor API to retrieve the list of monitors in JSON format. Again,the secretPhrase parameter needs to be manually added to the JSON for eachfunding monitor.The SaveFundingMonitorsEncrypted and StartFundingMonitorsEncrypted add-onsallow storing the JSON configuration of funding monitors in an encryptedinstead of plain text file, and starting the funding monitors by submittingonly the decryption password to the server.Other improvements:The CalculateFee API now also returns the required child chain fee based onthe best bundling rate available, as feeNQT.The JPLSnapshot add-on has been ported to Ardor. It can be used to generatea JPL-compliant snapshot of Ignis child chain balances.Starting a funding monitor or shuffler with feeRateNQTPerFXT=0 is now allowed.Library updates:Updated Jetty to version 9.4.17, Bouncy Castle to 1.61, and H2 database to1.4.199. With the new H2 release, using MVStore mode is the default. However,conversion of existing databases to MVStore format is not automatic. Tomigrate to the new storage format, the easiest way is to use the compact.shor compact.bat script, which should take a few minutes, and will also improvethe database performance.-----BEGIN PGP SIGNATURE-----iQIzBAEBCgAdFiEEvs/qm2srO/+g27NEDPnHRy2AuLkFAly+8jAACgkQDPnHRy2AuLnRiA//TXgWWzbkM6TC48faknX0JT93hfsbJs0DSndHpVz22CFnvDBBgrFONVHN1pLQt8KIW8lWawGqkhMKWsWydzAYpgWqldzBRhkJd7mqO+JDE3gGUNOVr0bWQ47ay4yFNI8kONLuNbHalyiszcKUg8Y6FJG2+XcQmJCDjap0YVifxwoL0z0Kh+Tr7JiX7mYH5eTg19nXMc9e1Pu0HqFc1cA84nVhrgihtyTesMYNEmMDfM40+eakJxFmLYr8vx+8se4qLUhaJJIOxHSdoTAq/DDcRcq2ri2nHfjJxPCHufe2rZB9BvZ0mBR22lYO5YTPdSiEn8z1kWauw5yRLKiQKEQ8BjJ8cLpKTJPL/zDik4dCVxLiFTi26m5kBYF4rvSXOVk3MzLe4gHW2yjyqsSv90FqEG5wgaSzGrN97YTRgUzKFzl4fDsqe9xPY1P2ZE3KvUVSyftY9reVrj1jFcLEDd/NTC+ioRtgu51j9V2gxSNYp7Vm6WKFtZzmf3WSklUGwbuAuBvB9lqsVMc1LZvJ3xBoriy8jkSS1FQZs1L6vORiF0iWIlowJ1B5gc0IQCI//VqIxQGK659Qj/5ZIXn+9xqHn5UHWa1Ruhgpyo6tgDQmE+76Q0JKOlRLr2bXJEWDc7niabKfcm3wHG/iut3SaYjNJqazfb13WAme19oL9wHKZO0==Io2V-----END PGP SIGNATURE-----