Skip to content

Latest commit

 

History

History
103 lines (78 loc) · 4.52 KB

File metadata and controls

103 lines (78 loc) · 4.52 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Added

  • Message.Builder#setBody(byte[]) to avoid ByteBuffer.wrap in the client code.
  • MapIndex.isEmpty() method to check if MapIndex is empty.
  • Flat map proofs support, including multiproofs — proofs for several entries at once. (#250, #507, #532)
  • Wallet transactions history support to the cryptocurrency-demo. (#481)
  • StandardSerializers 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 StandardSerializers#protobuf. (#505)

Changed

  • Transaction#execute 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)
  • ListProofValidator returns an instance of NavigableMap instead of Map. (#457)
  • Refactor 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)
  • 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 UncheckedListProof instead of ListProof. The latter is renamed into ListProofNode and may be accessed through UncheckedListProof#getRootProofNode (#516)

Removed

  • Hashing#toHexString. (#379)
  • Deprecated tree map proofs in preference to flat map proofs, the only supported format by the Exonum storage. (#518)

0.2 - 2018-07-23

Added

  • Standard services may be enabled using specific ejb_app_services.toml file. It supports only configuration and btc-anchoring services at the moment.

    To enable services put ejb_app_services.toml file into EJB App's directory with the following content:

    services = ["configuration", "btc-anchoring"]

    Configuration service is enabled by default. (#338, #313)

  • Added operations to get a message with and without signature (BinaryMessage#getMessageNoSignature and BinaryMessage#getSignedMessage respectively). (#339)

  • Added methods to sign transaction messages and verify their signatures. (#341)

  • Enabled passing extra arguments to the JVM from the command line. Use --ejb-jvm-args flag to specify an additional argument, e.g., --ejb-jvm-args=Xmx2g. (#342)

Changed

  • Prepended /api before the path to the REST API endpoints of a service. (#340)

  • Message#getSignature returns a byte array. (#339)

Removed

  • --ejb-debug option — use the corresponding JVM flags, e.g., --ejb-jvm-args=Xcheck:jni. (#342)

0.1.2 - 2018-07-19

Parent module and BOM module were released as they are required dependencies to define a Java service.

0.1 - 2018-06-16

The first release of Exonum Java Binding.