Exonum Java Binding 0.4.0
Pre-release
Pre-release
Overview
This release is based on the latest Exonum version, 0.10,
and brings the features and improvements outlined below.
If you are upgrading an existing Java service, please consult
the migration guide.
Added
- Support of new transaction message format added in Exonum 0.10. It allows service
developers to use any serialization format, and the framework to perform signature verification
automatically. Both the service and client APIs are migrated. (#534, #574) com.exonum.binding.blockchain.Blockchain
, allowing services to read data,
maintained by the framework (blocks, transaction messages, transaction execution results, etc.).
(#548, #549, #571, #573)- Support of
Service#afterCommit(BlockCommittedEvent event)
method
that is invoked after each block commit event. (#550) com.exonum.binding.common.serialization.json.JsonSerializer
providing JSON serialization
support of any objects, including Exonum built-in types. (#611)- Support of passing arbitrary arguments to the JVM when the node is launched via
--jvm-args-prepend
and--jvm-args-append
CLI flags. (#629) --jvm-debug
application command line argument that allows JDWP debugging of a node. (#629)ListIndexProxy#stream
to enable stream processing of list elements. (#661)- Support of running services on Java 11 runtime.
Changed
com.exonum.binding.storage.indices.MapEntry
moved to package
com.exonum.binding.common.collect
.FlatMapProof
andMapIndex
are updated
to use this implementation ofMapEntry
.- The
--ejb-jvm-args
command line argument has been substituted with--jvm-args-prepend
and
--jvm-args-append
arguments that can now be passed at theRun
stage instead of
Generate-Config
. Also, these JVM arguments are not saved to any of the configuration
files. (#629) Node#getPublicKey
to returnPublicKey
instead ofbyte[]
. (#651)com.exonum.binding.transaction.Transaction#execute
now accepts
com.exonum.binding.transaction.TransactionContext
instead ofcom.exonum.binding.storage.database.View
Removed
com.exonum.binding.common.proofs.map.MapEntry
— moved to package
com.exonum.binding.common.collect
.ViewModificationCounter
replaced with per-View
modification counters to simplify
their relationship and testing. (#658)- Exonum v0.9 message format related classes.
Fixed
- A bug in the cryptocurrency demo frontend that sometimes resulted in rejected transactions and/or
wrong response code (#621).