@@ -15,14 +15,30 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
15
15
16
16
## [ Unreleased]
17
17
18
- ## [ 0.3] - TBA <!-- somewhere next week -->
18
+ ## [ 0.3] - 2018-10-30
19
+
20
+ ### Highlights
21
+
22
+ This release brings:
23
+ - Support of flat map proofs, the new compact proof format for ` ProofMap ` ,
24
+ supporting several keys.
25
+ - Built-in serializers of Java primitive types, some Exonum library types
26
+ and protobuf messages.
27
+ - Ability to report the transaction execution result as an exception with
28
+ extra information accessible by a client: ` TransactionExecutionException ` .
29
+ - A separate module ` exonum-java-binding-common ` that can be used in _ client_
30
+ applications to create transaction messages, check proofs, serialize/deserialize data,
31
+ perform cryptographic operations.
32
+ - Various fixes and improvements.
33
+
34
+ The release is based on Exonum 0.8.
19
35
20
36
### Added
21
37
- Flat map proofs support, including proofs of absence and multiproofs — proofs for several
22
38
entries at once. (#250 , #507 , #532 )
23
- - ` StandardSerializers ` now supports ` bool ` , ` fixed32 ` , ` uint32 ` , ` sint32 ` ,
24
- ` fixed64 ` , ` uint64 ` , ` sint64 ` , ` float ` and ` double ` primitive types,
25
- ` PrivateKey ` , ` PublicKey ` and ` byte[] ` serialization. (#514 , #523 )
39
+ - [ ` StandardSerializers ` ] ( https://exonum.com/doc/api/java-binding-common/0.3/com/exonum/binding/common/serialization/StandardSerializers.html )
40
+ now supports ` bool ` , ` fixed32 ` , ` uint32 ` , ` sint32 ` , ` fixed64 ` , ` uint64 ` , ` sint64 ` , ` float `
41
+ and ` double ` primitive types, ` PrivateKey ` , ` PublicKey ` and ` byte[] ` serialization. (#514 , #523 )
26
42
- A deterministic ` Serializer ` of any protobuf message — ` StandardSerializers#protobuf ` . (#493 )
27
43
- Static factory methods accepting protobuf messages to collections,
28
44
allowing to pass Protocol Buffer messages directly instead of using
@@ -32,18 +48,20 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
32
48
- Wallet transactions history support to the cryptocurrency-demo. (#481 )
33
49
34
50
### Changed
35
- - ` Transaction#execute ` can throw ` TransactionExecutionException ` to roll back
51
+ - [ ` Transaction#execute ` ] ( https://exonum.com/doc/api/java-binding-core/0.3/com/exonum/binding/transaction/Transaction.html#execute-com.exonum.binding.storage.database.Fork- )
52
+ can throw ` TransactionExecutionException ` to roll back
36
53
any changes to the database. The exception includes an error code and an optional
37
- description which the framework saves to the storage for later retrieval. (#392 )
38
- - Refactor ` exonum-java-proofs ` module to ` exonum-java-binding-common ` module
54
+ description which the framework saves to the storage for later retrieval.
55
+ Any other exception is considered as an unexpected error (panic in Rust terms). (#392 )
56
+ - Refactored ` exonum-java-proofs ` module to ` exonum-java-binding-common ` module
39
57
with ` com.exonum.binding.common ` root package so that more functionality
40
58
is available to client applications with no dependency on ` exonum-java-binding-core ` (#459 )
41
- - Move ` crypto ` package to ` exonum-java-binding-common ` module. (#467 )
42
- - Move ` hash ` package to ` exonum-java-binding-common ` module. (#469 )
43
- - Move ` Transaction ` -related classes to the new ` com.exonum.binding.transaction ` package. (#469 )
44
- - Move ` messages ` package to ` message ` package in ` exonum-java-binding-common ` module. (#469 )
45
- - Move ` proofs ` package to ` com.exonum.binding.common ` package. (#469 )
46
- - Move ` serialization ` package to ` com.exonum.binding.common ` package. (#469 )
59
+ - Moved ` crypto ` package to ` exonum-java-binding-common ` module. (#467 )
60
+ - Moved ` hash ` package to ` exonum-java-binding-common ` module. (#469 )
61
+ - Moved ` Transaction ` -related classes to the new ` com.exonum.binding.transaction ` package. (#469 )
62
+ - Moved ` messages ` package to ` message ` package in ` exonum-java-binding-common ` module. (#469 )
63
+ - Moved ` proofs ` package to ` com.exonum.binding.common ` package. (#469 )
64
+ - Moved ` serialization ` package to ` com.exonum.binding.common ` package. (#469 )
47
65
- ` ProofMapIndexProxy#getProof ` to return a flat ` UncheckedMapProof `
48
66
instead of tree-like ` MapProof ` , which is a more efficient format in terms of space. (#478 )
49
67
- ` ProofListIndexProxy#getProof ` and ` ProofListIndexProxy#getRangeProof ` to return
0 commit comments