-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Release 1.12.0e https://www.jelurida.com/ sha256 checksums: 923f12ed6ac471f4133c001cf2fcfa6015c7eff95d24763641ff81e36cca9663 nxt-client-1.12.0e.zip c07eb19c95776f20845368143c8e78ca471afb347e7ca10976d8744f66cb539d nxt-client-1.12.0e.sh The exe and dmg packages must have a digital signature by "Jelurida Swiss SA". Change log: This is an experimental release, enabling several new features on testnet only at block height 2500000. All testnet nodes must upgrade to this release before this block (expected Sept 1, 2019). This release can also be used on mainnet but upgrade is optional. New features: Added Asset Dividends payment by asset or currency. This allows paying asset dividends not only in NXT, but also in any asset or monetary system currency. Added Asset Properties feature, to allow setting arbitrary name/value metadata on assets. Any user can set a property on any asset, only the asset issuer or the user who sets the property can delete it. Added Asset Increase transaction, allowing asset issuers to increase the total number of asset shares available. The Asset Delete History has been renamed to Quantity Change History and now shows both asset deletion and new shares issuance transactions. The getAssetDeletes API has been deprecated and a new getAssetHistory API can be used to retrieve asset deletions, increases, or both. Asset Dividends by Holding, Asset Properties and Asset Increase are currently testnet-only features and will be enabled on mainnet at the next planned hardfork block, exact height to be announced later. New APIs related to the above features: getAssetHistory, increaseAssetShares, getAssetProperties, setAssetProperty, deleteAssetProperty Process management add-ons, APIs and UI: When enabling add-ons using the nxt.addOns property, if a package name is not specified, the nxt.addons package is assumed, therefore it is no longer needed to specify the full package name for the default add-ons included in the release. Added StartForging and ForgingEncryptedConfig add-ons to facilitate management of forging processes. The StartForging add-on reads the passphrases stored in a plain text file, as defined in the property nxt.startForgingFile, one passphrase per line, and automatically starts forging with each of these accounts when the server is started. Since passphrases are stored unencrypted, this add-on should only be used on well secured servers, or with accounts of insignificant value, or in test environments. For a secure way of starting forging with multiple accounts on a remote server the ForgingEncryptedConfig add-on can be used to store the passphrases of forging accounts in an encrypted file. This add-on exports two APIs: saveForgingEncrypted and startForgingEncrypted, used respectively to save the list of forging passphrases in an encrypted file, and to start forging with them by only submitting to the server the password necessary to decrypt this file. Note that at runtime, the forging account passphrases will still be kept in server memory, but when using these add-ons will never need to be stored on disk, and will not need to be re-submitted to the server each time forging needs to be started. These add-ons are useful when forging on a fully trusted node, and having to restart forging remotely without a risk of exposing the passphrases in transit. Added StartFundingMonitors and FundingMonitorsEncryptedConfig add-ons to facilitate management of funding monitor processes. The StartFundingMonitors add-on will automatically start all funding monitors configured in a JSON formatted file, as defined in the property nxt.startFundingMonitorsFile. The JSON can be generated by manually starting the funding monitors as desired, and using the GetFundingMonitor API to retrieve the list of monitors in JSON format. The secretPhrase parameter needs to be manually added to the JSON for each funding monitor. The FundingMonitorsEncryptedConfig add-ons allow storing the JSON configuration of funding monitors in an encrypted instead of plain text file, and starting the funding monitors by submitting only the decryption password to the server. It exports two APIs for this purpose, saveFundingMonitorsEncrypted and startFundingMonitorsEncrypted. The SaveEncrypted APIs require the admin passphrase when used on a remote node. To prevent overwriting arbitrary files, they will only overwrite an existing file located in the conf/processes directory and with a default for the add-on filename; otherwise the file must not already exist. An UI for the above ForgingEncryptedConfig and FundingMonitorsEncryptedConfig add-ons has been added, accessible under the cogwheel/processes menu. Accounts under account control are no longer allowed to start FundingMonitors. Java programming API: As an alternative to programming against the http API, the same API calls are now accessible from java programs using the so called APICallers. Those are available in the nxt.http.callers package, and code samples for how to use them are provided under src/java/com/jelurida/ardor/client/api, demonstrating tasks such as local signing, message encryption and decryption, waiting for a new block, etc. When integrating the Nxt functionality in your java programs, using APICallers is the recommended approach instead of accessing core Nxt classes directly. Light client networking improvements: Bootstrap of API proxy - try to connect to known peers and if this fails, connect to trusted nodes to get latest open API peers. The purpose is to either have a node serving the proxy at start, or to know that the network is down, and also to fix the problems caused by old initial peers. Default bootstrap node is defined in nxt.properties: nxt.proxyBootstrapNodes=nxt.jelurida.com; The new bootstrapAPIProxy API can be used to refresh the latest open API peers from the bootstrap node. Performance and stability improvements and bugfixes. Windows and Mac installations now use by default an embedded Open JDK 12 installation. The H2 database now uses the newer MV_STORE format by default. Conversion to this format however takes effect only when running compact.sh on an existing database, or re-downloading the blockchain from scratch. Updated Jetty to version 9.3.27, H2 to 1.4.199. -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEvs/qm2srO/+g27NEDPnHRy2AuLkFAl1n1wUACgkQDPnHRy2A uLlgbQ/6A4CPdNiKSCNv+w1JpHVzv2AVKWl5JdBPojg2AryAWCIz4qx8vI+CsWP9 2FMSOLnSvCFeHFsxTb92qPotItwS2V6zEuBJhY9lpt1jt2W/vD3hGnCMPvkc7IG4 jOMxenVdXPi1wJdWWW7hneuc08IXcFITBvhRg+5nI7vdLzHItIDxK62Prk2PHEfz h58b94+qnjIprKvUzpXkCXXJUJ5gdK0HVFCXYj0DiNHZFwj1+OpSxtcssEDabfd6 RlLsiMHOcMsYAeyNxZW8oSiiIYS/JUMu571IRHbNjxl05iSxxRZM2nguOggA+sEY QUh7i7NxBSc8Y8z/4sHnDLoczRpRNJNH5sNf9Da2Ur4Rp6iHb7Uw85vki4/Z3UJp aMP3t/8fH9894+HOKi7NO+z3ibbtLPXqwJODWQyV7l9eggrm/wqIZ5Z0XnLPSjWK 2TI1JWWxtBsQYd6yIZRq1vnakQVul90ppPpm8tj5AhLZxSoojNwx+bggfSWH89hN INOy7M5QBcf/iUNoEv4jED8Pbrdsgvta6OrxwuoeRzZiZpz6uF/X93w+vNa5Yrf0 YJQtbwz9sFK1l/Rqr+raNkVeSRTYscuC9FlQxnZCJYEkYbnwW0qX4hhxw0lbm7+q rWxJoafYCRj9RonRdeLHiIo/VIzZM7004zR/pjWR9GUoQjApubU= =M+TE -----END PGP SIGNATURE-----