Skip to content

Commit

Permalink
Add v0.3 release highlights [ECR-2551] (#547)
Browse files Browse the repository at this point in the history
* Add the release highlights and some links to Javadocs,
clarify the wording.

* Update the release date.
dmitry-timofeev authored Oct 29, 2018
1 parent 46f72ef commit a9e6e04
Showing 1 changed file with 31 additions and 13 deletions.
44 changes: 31 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -15,14 +15,30 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

## [0.3] - TBA <!-- somewhere next week -->
## [0.3] - 2018-10-30

### Highlights

This release brings:
- Support of flat map proofs, the new compact proof format for `ProofMap`,
supporting several keys.
- Built-in serializers of Java primitive types, some Exonum library types
and protobuf messages.
- Ability to report the transaction execution result as an exception with
extra information accessible by a client: `TransactionExecutionException`.
- A separate module `exonum-java-binding-common` that can be used in _client_
applications to create transaction messages, check proofs, serialize/deserialize data,
perform cryptographic operations.
- Various fixes and improvements.

The release is based on Exonum 0.8.

### Added
- Flat map proofs support, including proofs of absence and multiproofs — proofs for several
entries at once. (#250, #507, #532)
- `StandardSerializers` now supports `bool`, `fixed32`, `uint32`, `sint32`,
`fixed64`, `uint64`, `sint64`, `float` and `double` primitive types,
`PrivateKey`, `PublicKey` and `byte[]` serialization. (#514, #523)
- [`StandardSerializers`](https://exonum.com/doc/api/java-binding-common/0.3/com/exonum/binding/common/serialization/StandardSerializers.html)
now supports `bool`, `fixed32`, `uint32`, `sint32`, `fixed64`, `uint64`, `sint64`, `float`
and `double` primitive types, `PrivateKey`, `PublicKey` and `byte[]` serialization. (#514, #523)
- A deterministic `Serializer` of any protobuf message — `StandardSerializers#protobuf`. (#493)
- Static factory methods accepting protobuf messages to collections,
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.
- Wallet transactions history support to the cryptocurrency-demo. (#481)

### Changed
- `Transaction#execute` can throw `TransactionExecutionException` to roll back
- [`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-)
can throw `TransactionExecutionException` to roll back
any changes to the database. The exception includes an error code and an optional
description which the framework saves to the storage for later retrieval. (#392)
- Refactor `exonum-java-proofs` module to `exonum-java-binding-common` module
description which the framework saves to the storage for later retrieval.
Any other exception is considered as an unexpected error (panic in Rust terms). (#392)
- Refactored `exonum-java-proofs` module to `exonum-java-binding-common` module
with `com.exonum.binding.common` root package so that more functionality
is available to client applications with no dependency on `exonum-java-binding-core` (#459)
- Move `crypto` package to `exonum-java-binding-common` module. (#467)
- Move `hash` package to `exonum-java-binding-common` module. (#469)
- Move `Transaction`-related classes to the new `com.exonum.binding.transaction` package. (#469)
- Move `messages` package to `message` package in `exonum-java-binding-common` module. (#469)
- Move `proofs` package to `com.exonum.binding.common` package. (#469)
- Move `serialization` package to `com.exonum.binding.common` package. (#469)
- Moved `crypto` package to `exonum-java-binding-common` module. (#467)
- Moved `hash` package to `exonum-java-binding-common` module. (#469)
- Moved `Transaction`-related classes to the new `com.exonum.binding.transaction` package. (#469)
- Moved `messages` package to `message` package in `exonum-java-binding-common` module. (#469)
- Moved `proofs` package to `com.exonum.binding.common` package. (#469)
- Moved `serialization` package to `com.exonum.binding.common` package. (#469)
- `ProofMapIndexProxy#getProof` to return a flat `UncheckedMapProof`
instead of tree-like `MapProof`, which is a more efficient format in terms of space. (#478)
- `ProofListIndexProxy#getProof` and `ProofListIndexProxy#getRangeProof` to return

0 comments on commit a9e6e04

Please sign in to comment.