Fetching contributors…
Cannot retrieve contributors at this time
312 lines (200 sloc) 8.97 KB

OmniJ Changes

A high-level view of the changes in each OmniJ binary release.



  • Update to JavaMoney API 1.0.3


  • Update to JavaMoney RI 1.2.1


  • Increase Timeout in OmniwalletClient to 2 minutes

  • Better handle timeout errors in OmniwalletClient.getConsensusForCurrency()

  • Improvements to OmniwalletClientSpec

  • Upgrade to Retrofit 2.4.0

  • Upgrade to OkHttp3 logging-interceptor 3.10.0

All modules

  • BREAKING: Upgrade all modules to Java 8

  • Upgrade to consensusj (formerly bitcoinj-addons) 0.2.8

  • Upgrade to bitcoinj 0.14.7

  • Upgrade to Groovy 2.5.2

  • Upgrade to Spock 1.2-RC2

  • Upgrade to Gradle 4.6


Released: 2017.10.16

All modules

  • Upgrade to bitcoinj 0.14.5

  • Upgrade to bitcoinj-addons 0.2.6

  • Upgrade to Groovy 2.5.0-beta-2

Omni Java Money support (omnij-money)

  • Upgrade to XChange 4.2.3


Released: 2017.08.17

All modules

  • Upgrade to bitcoinj-addons 0.2.5

  • Upgrade to Gradle 4.1

OmniJ Core (omnij-core)

  • Add methods/constants for OmniValue value validation/conversion

  • SEC → SAFEX ticker symbol rename

Omniwallet REST client (omnij-rest-client)

  • Improved exception and error handling

  • Most remote methods now throw InterruptedException, IOException

  • Add optional strictMode flag to OmniwalletClient

Omni Java Money support (omnij-money)

  • Update to XChange 4.2.1

  • Use dynamic classloading to load XChange ExchangeRateProviders

  • Enable Kraken USDT/USD pair

  • SEC → SAFEX ticker symbol rename


Released: 2017.07.16

All modules

  • Upgrade to bitcoinj-addons 0.2.4

  • Use invokedynamic ("indy") version of Groovy


Released: 2017.06.28

All modules

  • Gradle build cleanup (remove RoboVM support, etc)

  • Minor documentation improvements

OmniJ Core (omnij-core)

  • Remove dependency on java.xml.bind.DatatypeConverter (for Android support)

Omniwallet REST client (omnij-rest-client)

  • Add asynchronous interfaces to OmniwalletClient and OmniCoreClient (using CompleteableFuture)

  • Add handling of upstream rate-limit in BTC results in OW multi-address-balance requests

  • Add support for Omni protocol "reserved" balances (OmniCoreClient only for now)

  • Code cleanup/simplification

Omni RPC client, Omni Core integration tests (omnij-rpc)

  • Use https to communicate with Omni Explorer

Omni Java Money support (omnij-money)

  • BaseXChangeExchangeRateProvider implementations can take ScheduledExecutorService in constructor

  • Add Kraken exhange (USDT/USD pair disabled till XChange 4.2.1 released)

Dependency updates

  • Update to Groovy 2.5.0-beta-1 (Groovy 2.5 fixes Issue #109)

  • Gradle Bintray plugin 1.7.3

  • JavaMoney money-api-bp 1.0.1


Released: 2017.05.23


All modules

  • build.gradle reads JDK7_HOME environment variable to compile Java 7 modules with correct classpath

  • Assorted code, build, JavaDoc improvements

Omniwallet REST client (omnij-rest-client)

  • Implement Omniwallet multi-address balance request

  • Fix issues with accessing Omniwallet via CloudFlare

  • OmniBalanceService methods now throw IOException

Omni RPC client, Omni Core integration tests (omnij-rpc)

  • Updated for generate RPC API changes in Bitcoin Core / bitcoinj-addons

  • Use non-segwit serialization for RPC tests (Dexx)

  • Bump rpcWaitTimeoutSeconds in consensus tests to 10 hours.

  • Use instead of in tests, etc.

  • Deprecated ConsensusEntry Groovy class removed

  • Updates for OmniChest → OmniExplorer

Dependency updates

  • Update to Gradle 3.5

  • Update to bitcoinj-addons 0.2.3

  • Update to Groovy 2.4.11

  • Update to Spock 1.1

  • Update to SLF4j 1.7.25

  • omnij-money: Update to Moneta 1.1

  • omnij-money: Update to XChange 4.2.0

  • omnij-rest-client: Update to Retrofit 2.3.0

  • omnij-rest-client: Update to OkHttp 3.8.0

Potentially Breaking

  • Some exceptions, such as ParseException are no longer declared, you may need to remove some catch statements.


Released: 2016.11.16

Potentially Breaking

  • The 0.5.x branch requires Omni Core or later

  • d067b26 - Send omni_* RPC method names rather than *_MP

  • PR #135 -OmniExtendedClient is deprecated (use methods/RPCs in OmniClient instead)


  • Tweaks to integration tests for Omni Core Bitcoin 0.13 rebase

  • Update to bitcoinj-addons 0.2.1


  • 03e447e - The value protected member of OmniValue is now called willets


Released: 2016.09.28


  • The 0.4.x branch will be the last to support Omni Core releases 0.0.10 and earlier

  • Add RPCs for fee distribution system

  • Pluggable fee calculator interface for OmniTxBuilder

  • Add OmniScriptingClient with dynamic method support for all RPC methods

  • Add PDC currency ticker symbol

  • Proof-of-concept address converters for Omni "Safe" addresses

  • Additional tests for fee distribution and feature activation

  • Further improvements in omnij-rest-client module to support OmniPortfolio

  • Bug fix for Omni transaction generation on TestNet

  • All modules except omnij-rest-client should now be Java 7 compatible JARs

  • Fix Issue #127: Test log spammed since update to bitcoinj 0.14.1

  • Update to Groovy 2.4.7

  • Update to bitcoinj-addons 0.1.3

  • Update to bitcoinj 0.14.3

  • Other library updates


Released: 2016.05.25


  • Token rename MSCOMNI and TMSCTOMNI (old names are still present, but deprecated)

  • 2-way conversion between ISO-style currency codes (e.g. "OMNI", "USDT") and CurrencyID

  • Code cleanup in OmniTxBuilder in preparation for improved fee calculation

  • All-pair trading integration tests added

  • Upgrade to bitcoinj-addons 0.1.0

  • Upgrade to bitcoinj 0.14.1


Released: 2016.05.04


  • New omnij-money module (Java Money implementation for OMNI and all Omni smart properties)

  • New omnij-rest-client module (common interface for OmniCore and Omniwallet REST API)

  • Add CurrencyID constants for USDT, EURT, MAID, AMP, SEC, AGRS

  • Upgrade to bitcoinj-addons 0.0.13

  • Upgrade to Groovy 2.4.6, bitcoinj 0.13.6, and Gradle 2.12


Released: 2015.12.01

Potentially Breaking

  • BigDecimal had been replaced by OmniValue in many places (same as v0.3.4 which wasn’t published)


  • Omni Chest consensus tool can now distinguish between divisible/indivisible OmniValues by '.'

  • Fix numeric type issues in OverOfferDeactivationSpec.groovy


Tagged: 2015.11.24 (no JARs were published)

Potentially Breaking

  • BigDecimal had been replaced by OmniValue in many places

  • Omni Chest consensus tool has hardcoded divisible/indivisible OmniValue selection that needs work


  • Explicitly set transaction and relay fees for regtests

  • OmniClient createProperty() method with full parameters.

  • Omni Chest and Omniwallet consensus tools update

  • Update to bitcoinj 0.13.3, bitcoinj-addons 0.0.11

  • Replace BigDecimal with OmniValue in many more places

    • rename MPBalanceEntry to BalanceEntry

    • BalanceEntry replaces ConsensusEntry

    • BalanceEntry using OmniValue rather than BigDecimal

  • Use Jackson JSON mapping more effectively


Released: 2015.10.06

Potentially Breaking

  • OmniClient constructor now requires a bitcoinj NetworkParameters instance.


  • Update to bitcoinj-addons 0.0.10

  • Simplify OmniClient, OmniExtendedClient with better use of Jackson

  • omniNetParams read-only property on OmniClient

  • Add omniCreateToken.groovy demonstration script and integration test

  • Improvements to integration tests of Omni Core

  • RegTest tests now run on TravisCI - and on Pull Requests, too.


Released: 2015.09.30

Use OmniValue over BigDecimal in RPC method parameters. JSON-RPC results still use BigDecimal and Map structures. They will migrate to POJOs and OmniValue soon.

Potentially Breaking

  • Use OmniValue over BigDecimal in RPC method parameters.


  • Update to bitcoinj-addons v0.0.9.

  • All "number of coins" parameters in OmniClient are now OmniValue

  • All "number of coins" parameters in OmniExtendedClient are now OmniValue

  • Conversion to using OmniValue and Coin in test is near complete.


Last release before API starts changing to use OmniValue rather than BigDecimal


  • Update to bitcoinj-addons v0.0.8

  • Support for creating unsigned Omni transactions.

  • Improvements to non-dust and minimum transaction fee calculations.

  • More RegTest integration tests of Omni Core.


First release. See commit history for details.