-
Notifications
You must be signed in to change notification settings - Fork 1.1k
M10 release note #509
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
M10 release note #509
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,18 +6,65 @@ Here are brief summaries of what's changed between each snapshot release. | |
| Milestone 10.0 | ||
| -------------- | ||
|
|
||
| API changes: | ||
|
|
||
| * The new Jackson module provides JSON/YAML serialisers for common Corda datatypes. If you have previously been | ||
| using the JSON support in the standalone web server, please be aware that amounts are now serialised as strings | ||
| instead of { quantity, token } pairs as before. The old format is still accepted, but new JSON will be produced | ||
| using strings like "1000.00 USD" when writing. You can use any format supported by ``Amount.parseCurrency`` | ||
| as input. | ||
| .. warning:: Due to incompatibility between older version of IntelliJ and gradle 3.4, you will need to upgrade Intellij to 2017.1 and kotlin-plugin to 1.1.1 in order to run Corda demos in IntelliJ. | ||
| Also, the Kapt generated model are no longer included in our codebase, please run ``kaptKotlin`` gradle task if you experience problem with ``Model`` class when building in IntelliJ. | ||
|
||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we need to provide some really clear instructions here (with a visual link to what to click in IntelliJ) as people will undoubtedly trip up. Kapt is used to generate schema model and entity code (from annotations in the codebase) using the Kotlin Annotation processor. If the gradle KaptKotlin task is not run, then IntelliJ will report loads of |
||
| * Dependencies changes: | ||
| * Upgraded Kotlin to v1.1.1. | ||
| * Upgraded Gradle to v3.4.1. | ||
| * Upgraded Requery to v1.2.1. | ||
| * Upgraded H2 to v1.4.194. | ||
| * Replaced kotlinx-support-jdk8 with kotlin-stdlib-jre8. | ||
|
|
||
| * API changes: | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These points are v technical. Please remember to add the "so what?" info, i.e. why are these changes worthwhile, ideally with a business spin. Move technical changes beneath Vault and DemoBench
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think its ok to be a bit technical in change log? The less technical more businessy stuff is in the
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, that's why we split them - changelog is for developers who are upgrading their apps, release notes is for everyone else who is interested but not working with the platform every day. |
||
| * The new Jackson module provides JSON/YAML serialisers for common Corda datatypes. | ||
| If you have previously been using the JSON support in the standalone web server, | ||
| please be aware that amounts are now serialised as strings instead of { quantity, token } pairs as before. | ||
|
||
| The old format is still accepted, but new JSON will be produced using strings like "1000.00 USD" when writing. | ||
|
||
| You can use any format supported by ``Amount.parseCurrency`` as input. | ||
|
|
||
| * We have restructured client package in this milestone. | ||
| * ``CordaClientRPC`` is now in the new ``:client:rpc`` module. | ||
| * The old ``:client`` module has been broken into ``:client:jfx`` and ``:client:mock``. | ||
|
||
| * We also have a new ``:node-api`` module (package ``net.corda.nodeapi``) which contains the common RPC classes such as ``RPCException`` and ``User``. | ||
|
||
|
|
||
| * Configuration: | ||
| * Replace ``artemisPort`` with ``p2pPort`` in Gradle configuration | ||
| * Replace ``artemisAddress`` with ``p2pAddress`` in node configuration | ||
| * Added ``rpcAddress`` in node configuration | ||
| * Replace ``artemisPort`` with ``p2pPort`` in Gradle configuration. | ||
| * Replace ``artemisAddress`` with ``p2pAddress`` in node configuration. | ||
| * Added ``rpcAddress`` in node configuration for non-ssl RPC connection. | ||
|
|
||
| * Object Serialization: | ||
| * Pool Kryo instances for efficiency. | ||
|
|
||
| * RPC client changes: | ||
| * Added a non-ssl connector to artemis broker for non-ssl RPC connection. | ||
|
||
| CordaRPCClient can only connect to ``rpcAddress``, please make sure ``rpcAddress`` is configured in the node. | ||
|
|
||
| * Vault: | ||
|
||
| * Soft Locking is a new feature implemented in the vault which prevents a node constructing transactions that attempt to use the same input(s) simultaneously. | ||
| * Such transactions would result in naturally wasted work when the notary rejects them as double spend attempts. | ||
| * Soft locks are automatically applied to coin selection (eg. cash spending) to ensure that no two transactions attempt to spend the same fungible states. | ||
|
|
||
| * Corda Demobench: | ||
|
||
| * DemoBench is a new tool to make configure and launch local Corda nodes easier. A very useful tool to demonstrate to your colleagues the fundamentals of Corda in real-time. It has the following features: | ||
|
||
| * New nodes can be added at the click of a button. Clicking "Add node" creates a new tab that lets you edit the most important configuration properties of the node before launch, such as its legal name and which Cordapps will be loaded. | ||
| * Each tab contains a terminal emulator, attached to the pty of the node. This lets you see console output. | ||
| * You can launch an Explorer instance for each node at the click of a button. Credentials are handed to the Explorer so it starts out logged in already. | ||
|
||
| * Some basic statistics are shown about each node, informed via the RPC connection. | ||
|
||
| * Another button launches a database viewer in the system browser. | ||
|
||
| * The configurations of all running nodes can be saved into a single ``.profile`` file that can be reloaded later. | ||
| * You can download Corda demobench from `here <https://www.corda.net/downloads/>`_ | ||
|
|
||
| * Improvements: | ||
| * Added ``--version`` command line flag to print the version of the node. | ||
| * Flows written in Java can now execute a sub-flow inside ``UntrustworthyData.unwrap``. | ||
| * Added additional JUnit tests for coin selection by issuer. | ||
|
||
|
|
||
| * Bug fixes: | ||
| * ``--logging-level`` command line flag was previously broken, now correctly sets the logging level. | ||
| * Fixed bug whereby Cash Exit was not taking into account the issuer reference. | ||
|
|
||
|
|
||
|
|
||
| Milestone 9.1 | ||
| ------------- | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,20 +7,25 @@ the previous milestone release. | |
| Milestone 10 | ||
| ------------ | ||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No mention of Soft Locking? |
||
| We have delivered the long waited Kotlin 1.1 upgrade in M10! The new features in Kotlin allow us to write even more clean and easy to manage code, which greatly increase our productivity. | ||
|
||
| We have also introduced a new demobench and Corda shell to make running and demoing Corda easier for the corda community. | ||
|
|
||
| A new interactive **Corda Shell** has been added to the node. The shell lets developers and node administrators | ||
| easily command the node by running flows, RPCs and SQL queries. It also provides a variety of commands to monitor | ||
| the node. The Corda Shell is based on the popular `CRaSH project <http://www.crashub.org/>`_ and new commands can | ||
| be easily added to the node by simply dropping Groovy or Java files into the node's ``shell-commands`` directory. | ||
| We have many enhancements planned over time including SSH access, more commands and better tab completion. | ||
|
|
||
| There is a new tool "DemoBench", which makes it easy to configure and launch local Corda nodes. It is a standalone desktop app that can be bundled with its own JRE and packaged as either EXE (Windows), DMG (MacOS) or RPM (Linux-based). It has the following features: | ||
| The new "DemoBench" makes it easy to configure and launch local Corda nodes. It is a standalone desktop app that can be bundled with its own JRE and packaged as either EXE (Windows), DMG (MacOS) or RPM (Linux-based). It has the following features: | ||
| #. New nodes can be added at the click of a button. Clicking "Add node" creates a new tab that lets you edit the most important configuration properties of the node before launch, such as its legal name and which Cordapps will be loaded. | ||
|
||
| #. Each tab contains a terminal emulator, attached to the pty of the node. This lets you see console output. | ||
|
||
| #. You can launch an Explorer instance for each node at the click of a button. Credentials are handed to the Explorer so it starts out logged in already. | ||
|
||
| #. Some basic statistics are shown about each node, informed via the RPC connection. | ||
| #. Another button launches a database viewer in the system browser. | ||
| #. The configurations of all running nodes can be saved into a single ``.profile`` file that can be reloaded later. | ||
|
|
||
| This release contains tons of improvements, new features, library upgrades and bug fixes. For a full list of changes please see :doc:`change-log`. | ||
|
|
||
| Milestone 9 | ||
| ----------- | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we quickly talk about how this is done - specifically link to IntelliJ downloads, and unless I'm mistaken the plugin version is the default for the latest download, so there's hopefully no manual work required to update the plugin?