* Install DemoBench as a systemwide application.
* This application's correct full name is "Corda DemoBench".
* Tidy up imports.
* Cordapps -> CorDapps
* Ensure application name is "Corda DemoBench" on MacOSX.
* Avoid NPE if corda.jar cannot be found.
* Log an error if Node Explorer or WebServer fail to start.
* Display an error dialog if we cannot find corda.jar at start-up.
* Use official notUsed() function for unwanted Observables.
* Fix unit tests.
* Rename function to readErrorLines().
* Work around JavaFX injecting 0 bytes into JediTerm's STDIN stream.
* Add (disabled) unit tests for running JediTerm in both Swing and JavaFX.
* Remove tests for running JediTerm under Swing and JavaFX.
* CORDA-305: Refactor CordaRPCClient into :client:rpc module
* CORDA-305: Remove the Kotlin test framework from the artifacts.
* CORDA-305: Migrate serialisation whitelist into node-api module.
* CORDA-305: Clean up unused RPC observables.
* CORDA-305: Add :client:rpc module to documentation tasks.
* CORDA-305: Include :finance into :client:rpc for its serialisable classes.
* CORDA-305: Move test classes into the correct directory.
* CORDA-305: Migrate :finance dependency from :client:rpc into DemoBench.
* CORDA-305: Update wording of TODO about handling Observables.
* Add basic spec for the demobench tool.
* Initial commit: Creating new tabs whenever the "Add Node" button is pressed. These tabs currently contain the bash shell only.
* Refactor shutdown code, although AWT is still misbehaving.
* Remove duplicate libpty native objects.
* Add initial form for configuring new nodes.
* Update to Corda 0.8-SNAPSHOT
* Patch JediTerm to allow the application to shutdown cleanly.
* Write configuration parameters into node.conf, and then run corda.jar in its own directory.
* The first node now becomes the session's Network Map service used by all other nodes. Force nodes to be created one-by-one.
* Trim node name and nearest city values.
* Fix logging location of corda.jar
* legalName field can be val.
* Allow configuration of extra network services.
* Launch DB viewer for node.
* Small tidy-up.
* Allow services to be loaded as a resources as well as a file.
* Include native artifacts in distribution.
* Add cash and issuer services to DemoBench.
* Configure Node and DemoBench to use same version of H2 database.
* Implement launching "Node Explorer" for each node.
* Create a capsule for Node Explorer, and allow login via command line parameters to bypass login screen.
* Simplify Kotlin objects.
* Include issuer for CHF (Swiss Francs)
* Fix SLF4J logging.
* Display simple statistics about the node on each tab.
* Add new RPC operation getCashBalances() to Node.
* Ensure demobench is built after explorer:capsule.
* Grant permissions to the Node's user, and install BanfOfCorda plugin for cash issuers.
* Initial inclusion of Corda and BankOfCorda JARs in distribution.
* Fix DemoBench distribution target.
* Add SLF4J binding for Log4J 2.x
* First batch of code review changes.
* More changes from review.
* Remove ".exe" from Java executable path, because Windows doesn't need it.
* Remove superfluous lamba parameter names.
* Better usage of Paths vs File API.
* Simplify the configuration object.
* Ensure a DemoBench installation is relocatable.
* Ensure that Node Explorer can write into its working directory.
* Disable Node Explorer and Database Viewer buttons until the node has launched and is responding to RPC.
* Only allow the first node to run notary services. And validate port numbers more strongly.
* Force all chosen port numbers to be different.
* Initial javapackager task: currently builds RPMs.
* Ensure JavaPackager task finds custom resources on the classpath.
* Move demobench.log into the user's demobench directory.
* Upgrade to Logback 1.1.10
* Make the javapackage task "more gradle" and "less ant".
* Display "0" balance for a node which has no cash balances at all.
* CORPRIV-665: Ensure tab closes if the node exits.
* CORPRIV-665: Protect against NPE
* CORPRIV-665: Protect harder against NPE
* CORPRIV-665: Protect NodeTerminalView from being destroyed twice.
* Initial custom resource script for Windows bundle.
* Take java executable from JRE.
* Allow Node Explorer to be relaunched.
* CORPRIV-658: Add gradle parameter "packageType" for javapackage task.
* Replace R3 logo with Corda logo.
* CORPRIV-658: Add icon file for Windows installer.
* CORPRIV-658: Add BAT file to create unsigned DemoBench.exe.
* CORPRIV-659: Add icon file for DMG package.
* Improve packaging information.
* CORPRIV-660: Allow user to launch Web server for each node.
* Tidy up gradle usage.
* Document provenance of jediterm-terminal-2.5.jar.
* Use "safe" casting operator.
* CORPRIV-659: Add bin/java to minimal JRE.
* CORPRIV-659: Basic shell script to package DemoBench as DMG.
* Add utility function for creating SLF4J loggers, and close unused I/O streams from forked processes.
* Switch from Runtime.exec() to ProcessBuilder.
* CORPRIV-660: Display Web server's port number on launch button.
* CORPRIV-661: Allow profiles to be loaded into DemoBench.
* Upgrade to TornadoFX 1.6.2.
* CORPRIV-661: Implement saving profiles.
* CORPRIV-661: Refactor code for guaranteeing a .zip extension.
* CORRIV-658: Add icon for Windows installer.
* CORPRIV-659: Update installer script and icons for DMG.
* CORPRIV-659: Tweak post-image script for DMG.
* CORPRIV-658: I've wasted enough time on this - Windows rejects this BMP
as invalid, and I have no idea why!?
* CORPRIV-658: Add external manifest for DemoBench.exe that declares it incapable of native HiDPI support.
* CORPRIV-661: Ensure that we can rewrite saved profiles correctly.
* Fix terminal resizing.
* CORPRIV-659: Fix DMG installer.
* CORPRIV-659: Better validation for JAVA_HOME.
* Downgrade JDK requirement to 8u102, for consistency with capsules.
* Comment how JediTerm is not available via Maven.
* CORPRIV-658: Rename packaging script.
* CORPRIV-659: Renaming packaging script.
* Comment file copying vs file filtering during packaging.
* Fixes from code review.
* CORPRIV-661: Ensure that nodes loaded from a profile have the correct network map service.
* Break textfield definitions out into separate functions.
* Fixes from code review.
* Code review tweaks.
* More code review tweaks.
* Another simple code review tweak.
* Replace companion object with a BiPredicate lambda.
* CORPRIV-664: Implement saving/loading of Cordapps with profiles.
* CORPRIV-664: Refactor saving/loading plugins.
* CORPRIV-664: Add initial unit tests for model.
* CORPRIV-664: Add simple unit tests for NodeController.
* CORPRIV-664: Unit test enhancements, e.g. configure JUL properly.
* CORPRIV-664: Use Suite instead of abstract test class.
* CORPRIV-664: Allow Cordapps to be loaded when each Node is configured.
* CORPRIV-664: Document which checked Java exceptions are thrown.
* Write JavaPackager output into build/javapackage directory.
* CORPRIV-664: Document more checked Java exceptions.
* Refactor Web and Explorer classes into their own packages.
* Declare WebServer and Explorer constructors as "internal".
* Update packaging scripts: tell user where the installer is!
* CORPRIV-659: Set "system menu bar" property for MacOSX.
* CORPRIV-661: Use "*.profile" for profile files.
* Remove unnecessary <children/> elements, as they are defaults.
* Fix build breakage when on Windows.
* Tweaks for EXE packaging script.
* Change function to extension function.
* Merged in corpriv-702 (pull request #25)
CORPRIV-702: Sign the DMG with a 'Developer ID Application' certificate.
* CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate.
* CORPRIV-702: Use "Developer ID Application" certificate instead. And now JavaPackager signs the application, which means that we only need to resign our embedded JVM.
* CORPRIV-702: Update comment better to explain why JRE must be resigned.
Approved-by: Mike Hearn
* Exclude old version of Javassist in favour of Hibernate's version from Node. (#320)
* Exclude old version of Javassist in favour of Hibernate's version.
* Comment why we are excluding javassist:javassist, and add TODO for when junit-quickcheck 0.8 is released.
* CORDA-265: Implement "ALL" permission for RPC users. (#306)
* CORDA-265: Implement "ALL" permission for RPC users. Users with this permission in node.conf can use any flow.
* CORDA-265: Ensure that we always close the RPC proxy object after each test.
* CORDA-265: Refactor construction of dummy RPC client into an abstract base class.
* CORDA-265: Document RPC "ALL" permission.
* CORDA-266: Update DemoBench to be compatible with 0.10-SNAPSHOT.
* CORDA-268: Reimplement to work on both JDK8 and JDK9 (for now).
* CORDA-268: Copy java from $JAVA_HOME/bin as this also works on JDK > 8.
* Code review fixes.
* Use SLF4J's version of the commons-logging bindings. Only include SLF4J's Log4J back-end for actual applications, e.g. Node. (#350)
* Update with SLF4J change.
* CORDA-266: Update to latest node.conf format.
* Upgrade to H2 1.4.194. (#389)
- Timezone related fixes.
- A Turkish case canonicalisation bug.
- Fixes for some scary threading related bugs.