Skip to content

Latest commit

 

History

History
961 lines (616 loc) · 28.2 KB

CHANGELOG.adoc

File metadata and controls

961 lines (616 loc) · 28.2 KB

OmniJ Changes

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

v0.7.0 (planned)

Released: Forthcoming

Dependency Updates

  • jackson-module-parameter-names 2.15.3

v0.7.0-alpha3

Released: 2023-10-05

The 0.7.0 release of OmniJ will require the forthcoming ConsensusJ 0.7.0 and bitcoinj v0.17 (currently in alpha release.) There will likely be multiple alpha releases of OmniJ and ConsensusJ as bitcoinj is updated.

omnij-net-api

  • Prefer Publisher type over Flowable in public interfaces

omnij-cli

  • Upgrade to Java 21 (as consensusj-cli was updated to Java 21)

Dependency Updates

  • ConsensusJ 0.7.0-alpha3

Build/Test Updates

  • Gradle 8.4

  • Add Java Temurin 21-ea to the test matrix

v0.7.0-alpha2

Released: 2023.07.06

Breaking Change

  • Replace all usage of SSLSocketFactory with SSLContext.

Dependency Updates

  • bitcoinj 0.17-alpha2

  • ConsensusJ 0.7.0-alpha2

  • Groovy 4.0.14

Build/Test Updates

  • JUnit Jupiter 5.10.0

v0.7.0-alpha1

Released: 2023.07.13

Dependency Updates

  • All modules now require a minimum of JDK 11 or later (omnij-txrecords and omnij-cli still require JDK 17 or later)

  • bitcoinj 0.17-alpha1

  • ConsensusJ 0.7.0-alpha1

  • jackson-module-parameter-names 2.15.2

  • Groovy 4.0.13

  • OkHttp 3.4.19, Retrofit 2.9.0 (in omnij-rest-client-retrofit)

Build/Test Updates

  • Gradle 8.2.1

  • JUnit Jupiter 5.9.3

  • Use latest GraalVM 17 (new version numbering mechanism) on GitHub Actions

  • Code cleanup and logging improvements in RegTests

v0.6.3

Released: 2023.04.04

omnij-jsonrpc

  • OmniTransactionInfo: add totalAmount property for SendToMany

  • OmniTradeInfo.Match: add blockTime property

  • Remove unused/incorrect thrown exceptions from OmniClient.isOmniServer()

Dependency Updates

  • ConsensusJ 0.6.5

  • bitcoinj 0.16.2

  • Groovy 4.0.11

  • SLF4J 2.0.7

Build/Test Updates

  • Send to Many test plan (from DexX7)

  • test-omni-integ-regtest.sh: add -addresstype=p2sh-segwit

  • Many other test improvements

  • Finish migration to JUnit 5 API

  • Gradle 7.6.1

  • GraalVM 22.3.1 (used on GitHub Actions)

v0.6.2

Released: 2022-10-11

Overview

This release has some major refactoring (some breaking) in order to upgrade to ConsensusJ 0.6.4 , simplify the OmniClient class hierarchy, and simplify the inheritance hierarchy of the OmniJ Spock RegTests.

The BitcoinClient and BitcoinExtendedClient of ConsensusJ 0.6.4 add support for Bitcoin Core v0.23 and its changes to wallet functionality (such as defaulting to descriptor wallets and using wallet names in the JSON-RPC URL path.) This will help us with the planned rebase of Omni Core to the latest Bitcoin Core codebase.

omnij-core

  • BalanceEntry, AddressBalanceEntry, PropertyBalancEntry moved from omnij-jsonrpc

  • Compile with -parameters option

omnij-jsonrpc

  • OmniClient: Add isOmniServer() method for checking if server is Omni Core

  • OmniProxyMethods moved here from omnij-net-api

  • OmniClient: pull-up RxOmniClient features (and deprecate RxOmniClient)

  • OmniClient: Add no-args constructor that reads bitcoin.conf

  • Move BalanceEntry, AddressBalanceEntry, PropertyBalancEntry to omnij-core

  • Deprecate OmniClientModule constructor that takes NetworkParameters argument

  • Move 4 "pojos" from f.o.rpc to f.o.json.pojo

  • Add jackson-module-parameter-names dependency and use it in OmniClient Jackson mapper

  • Compile with -parameters option

omnij-rpc

  • Rename RxOmniTestClient to OmniTestClient

  • Deprecate OmniCLIClient and OmniScriptingClient

  • Deprecate OmniClientDelegate, OmniTestClientDelegate, and RawTxDelegate traits

Dependency Updates

  • ConsensusJ 0.6.4

  • Groovy 4.0.5

  • SLF4J 2.0.3

Build/Test Updates

  • Spock 2.3-groovy-4.0

v0.6.1

Released: 2022-09-13

omnij-core

  • RawTxBuilder: Fix bug in toHexString(byte[])

  • (Minor breaking) align enum names in TransactionType with omnicore.h

  • Further improvements to (still WIP) Transactions.TransactionType

omnij-jsonrpc

  • Add omniListTransactions() method, OmniTransactionInfo POJO.

  • Add omniGetTradeHistoryforAddress

  • Breaking: Return OmniTradeInfo for omniGetTrade

Dependency Updates

  • ConsensusJ 0.6.3

  • SLF4J 2.0.0

v0.6.0

Released: 2022-08-02

omnij-core

  • Fix bitcoinj deprecation warnings

  • CurrencyID: remove Cloneable and clone()

  • OmniOutput record-like class to support omni_sendtomany

  • New OmniValue.of() convenience static constructors

omnij-jsonrpc

  • Add omniSendToMany() (omni_sendtomany) method.

omnij-rest-client-retrofit

  • Set minimum required JDK back (down!) to Java 9.

Work-in-progress

  • omnij-core

    • Class C transaction signing

    • DevOmni: Independent (and not thoroughly tested) implementation of DevOmni calculations

  • omnij-txrecords

    • Omni transaction building using Java record types

    • Class C transaction signing

    • OmniSendService

    • OmniSigningService

Dependency Updates

  • ConsensusJ 0.6.1

  • bitcoinj 0.16.1

  • Groovy 4.0.4

Build/Test Updates

  • Use options.release to set required bytecode and API for each module

  • Gradle 7.5

  • Spock 2.2-M3-groovy-4.0

  • GraalVM 22.1.0 (used on GitHub Actions)

v0.5.21

Released: 2021-11-18

omnij-core

  • OmniPropertyInfo Improvements

    • Make sure Issuer Address is for the correct network (NetworkParameters)

    • Constructor and factory method changes to require NetworkParameters

    • For Bitcoin values, use creation TxID from genesis block

    • For Bitcoin info add URL and set managedissuance to true

omnij-net-api

  • OmniProxyMethods::omniProxyListProperties now expects OmniProxy server will add an OmniPropertyInfo for Bitcoin

v0.5.20

Released: 2021-11-17

omnij-core

  • Convert Ecosystem to enum

  • Convert PropertyType to enum

  • Remove deprecated Ecosystem constants (MSC/TMSC)

omnij-jsonrpc

  • Add OmniClient::getAllBalancesForAddressAsList

omnij-net-api

  • OmniCoreClient: Use OmniProxy if available

  • OmniCoreClient: Improved implementations of balancesForAddress*: notably balancesForAddressesAsync now uses parallel requests to fetch balances and can merge in BTC balances when Address Index or OmniProxy is available.

Dependency Updates

  • bitcoinj 0.16

  • ConsensusJ 0.5.13

Build/Test Updates

  • Github Actions graalvm.yml workflow: Use GraalVM 21.3.0

v0.5.19

Released: 2021-11-11

All modules

  • All modules now have Automatic-Module-Name in their manifest.

Removed module: omnij-analytics

  • Merged into omnij-net-api

omnij-net-api

  • omnij-net-api now includes Reactive Streams and RxJava support

  • Omniwallet clients now support and require the https://api.omniexplorer.info and https://api.omniwallet.org versions

  • Omniwallet clients now return best block hash in ChainTip

  • Now contains omnij-analytics

  • Add balancesForAddressAsync() to OmniBalanceService (common API for Omni Core JSON-RPC and Omniwallet)

omnij-jsonrpc

  • OmniClient now extends on RxBitcoinClient from ConsensusJ cj-btc-rx-jsonrpc (add JDK 9 dependency)

  • OmniPropertyInfo created from SmartPropertyListInfo now has placeholders instead of null

omnij-rest-client-jdk

  • OmniwalletModernJDKClient: better handling of HTTP status code errors

Dependency Updates

  • ConsensusJ 0.5.12

  • bitcoinj-0.16-rc1

  • RxJava 3.1.2 (used in omnij-analytics)

  • JavaMoney API 1.1 (non-backport, modular version)

  • JavaMoney Moneta 1.4.2 (non-backport, modular version)

  • Groovy 3.0.9

Build/Test Updates

  • Builds with JDK 17

  • Gradle 7.3

  • JUnit Jupiter 5.8.1

  • Github Actions: Switch to Temurin JDK

  • Github Actions: Replace JDK 16 with JDK 17 in the matrix

  • Github Actions: Update GraalVM build to GraalVM 21.2.0 (java11)

  • Asciidoctor Gradle Plugin 3.3.2

v0.5.18

Released: 2021.08.03

JSON-RPC clients

  • Add support for additional/alternate TLS/SSL Trust Stores using ConsensusJ 0.5.9.

Dependency Updates

  • ConsensusJ 0.5.9

  • SLF4J 1.7.32

Build/Test Updates

  • Spock 2.0-groovy-3.0 (release version)

v0.5.17

Released: 2021.05.11

Dependency Updates

  • bitcoinj 0.15.10

  • ConsensusJ 0.5.8

  • Groovy 3.0.8

Build/Test Updates

  • RegTest with Omni Core 0.10.0

  • CI builds with JDK 16 (and JDK 11 as before)

  • GraalVM CI build with 21.0.0.2

  • Get ConsensusJ from Gitlab Maven repo, now that Bintray is gone

  • Gradle 7.0

  • Spock 2.0-M5

v0.5.16

Released: 2021.03.12

omnij-jsonrpc

  • Don’t use default values issuer/creationtxid in OmniPropertyInfo, use null instead

Dependency Updates

  • ConsensusJ 0.5.6

  • JUnit Jupiter 5.7.1

v0.5.15

Released: 2021.03.02

omnij-jsonrpc

  • Add OmniServerModule for server-side Omni POJO to JSON serialization

v0.5.14

Released: 2021.02.02

new omnij-analytics module

  • Omni RichList support (incubating)

omnij-core

  • Bech32 address conversion methods are now public

  • Refactoring in OmniTxBuilder towards Class C and P2SH

omnij-jsonrpc

  • Fix case issues when serializing OmniPropertyInfo POJO

omnij-rest-client-mjdk

  • Refactoring/cleanup

Dependency Updates

  • bitcoinj 0.15.9

  • ConsensusJ 0.5.5

  • Groovy 3.0.7

Build/Test Updates

  • Make OmniTestClient a singleton (so regTestMiningAddress doesn’t change)

  • Github Actions build with JDK 11/15 instead of JDK 11/14

  • GraalVM build uses 21.0.0.java11

  • Replace jcenter() with mavenCentral()

  • Gradle 6.8.2

  • Spock 2.0-M4-groovy-3.0

  • Replace jcenter() with mavenCentral() in build.gradle

v0.5.13

Released: 2020.08.10

omnij-jsonrpc

  • Workaround for bitcoinj compareTo() issue where some addresses were missing from the SortedMap returned by omniGetAllBalancesForId

  • Added omniGetAllBalancesForIdAsList to return a List instead of a SortedMap

  • Fixes to how frozen is included in total balances

omnij-netapi

  • Fixes to how frozen is read from Omniwallet API

All modules

  • Add support for publishing JARs (and SNAPSHOT JARs) to Github Packages

  • JavaDoc cleanup and improvements

  • Project "site" (including JavaDoc) can now be published to Github Pages

v0.5.12

Released: 2020.08.04

omnij-core

  • Make toString() abstract in OmniValue and implement in subclasses

  • Add toPlainString() method

  • Add toFormattedString method

  • OmniDivisibleValue.bigDecimalValue() use movePointLeft rather than divide

  • OmniDivisibleValue.of(BigDecimal) use movePointRight rather than multiply

  • Fix bug in OmniValue.equals() that would identify OmniDivisibleValue and OmniIndivisibleValue of the same number of willetts "equal" (Object equality)

omnij-dsl

  • Use .longValueExact() for Number.getDivisible()

  • Remove unneeded/unused/incorrect .equals() on Number

omnij-netapi

  • Add constants for https://api.omniexplorer.info and https://api.omniwallet.org

  • Improved Omniwallet client support for Bitcoin Testnet

    • NetworkParameters defaults to null in OmniwalletAbstractClient

    • Ability to set NetworkParameters in the constructor

  • Add support for returning frozen balances in verifyAddresses() and getConsensusForCurrency()

  • OmniCoreClient — update to new ConsensusFetcher, make more async

  • Omniwallet*Client — update to new ConsensusFetcher, make more async

omnij-rest-client

  • see omnij-netapi

omnij-rest-client-mjdk

  • see omnij-netapi

omnij-jsonrpc

  • Add BalanceEntry.totalBalance static method.

  • OmniValueSerializer use OmniValue::toJsonFormattedString.

  • Change OmniValueSerializerSpec to require a decimal point for divisible currencies

omnij-rpc (Integration Test support)

  • RegTest/Integation now Require JDK11+

  • Omniwallet Integration test/consensus tools use OmniwalletModernJDKClient

  • Drop openjdk8 job from TravisCI

  • Deprecate OmniwalletConsensusFetcher

  • Deprecate ExplorerConsensusTool (was OmniChest, Explorer and Omniwallet now have the same API)

  • Remove obsolete OmniChest/OmniExplorer tests

  • Refactor ConsensusTool/OmniWalletConsensusTool from Groovy to Java

  • Rework ConsensusFetcher interface

    • Focus on Async (remote some synch calls, add more async calls)

    • default methods some synchronous calls (so subclasses don’t have to implement)

    • default methods to compose getBeforeheight-getConsensus-getAfterheight-retry

  • semi-deprecate DBConsensusTool by making it abstract

  • further deprecate ExplorerConsensusTool by making it abstract

  • further deprecate OmniwalletConesnsusTool by making it abstract

  • Move save, print, and output methods from ConsensusTool to ConsensusToolOutput

  • MultiPropertyComparison - use CompletableFuture and “combine” to fetch property lists and consensus data from both servers in parallel

omnij-cli

  • Add Graal native-image build of ConsensusCLI tool (omnij-consensus-tool)

  • Add manual page for omnij-consensus-tool.

  • Consensus tool can now fetch and display or save data from Omniwallet server URLs.

  • Port ConsensusCLI tool from Groovy to Java

  • Re-enable and fix RegTest integration tests of ConsensusCLI tool

  • Remove -omnichest-url option and use of ExplorerConsensusTool from ConsensusCLI tool

All modules

  • Add Github Actions builds for 3 workflows:

    • Regular Gradle build

    • Run RegTests

    • GraalVM build of omnij-consensus-tool

  • Enable Gradle build scans

  • Update to Groovy 3.0.5

v0.5.11

Released: 2020.07.14

omnij-core

  • Fixed bug in OmniIndivisibleValue.of(BigInteger) for large, but valid values.

  • Provide an implementation of OmniValue.doubleValue() (Warning: this will use rounding and should only be used for charting and similar applications.)

omnij-core

  • Remove deprecated ConsensusSnapshot constructor that took a Long for blockheight. (The remaining constructor takes an int)

v0.5.10

Released: 2020.07.07

omnij-core

  • Prototype Omni safe Bech32 (SegWit) address implementation OLE 300 implementation (PR #170)

omnij-jsonrpc

  • By default, tell Jackson to ignore unknown JSON Properties, see 6d98308

  • Breaking: omniGetProperty() now returns OmniPropertyInfo (instead of a Map)

  • New OmniPropertyInfo record (extends SmartPropertyListInfo), , see: 90e1598

  • Remove deprecated getters from SmartPropertyListInfo

  • Remove deprecated OmniExtendedClient.

REST

  • Refactor REST client modules

    • omnij-net-api: base definitions for OmniWallet REST API and universal Omni Core

    • omnij-rest-client: Retrofit-based Omniwallet client (Android-compatible)

    • omnij-rest-client-mjdk: Modern JDK Omniwallet client (JDK 11+)

  • By default, tell Jackson to ignore unknown JSON Properties, see 6d98308

  • OmniPropertyInfo support, see: 90e1598

  • Add isFreezingEnabled to OmniwalletPropertyInfo

  • Add PropertyInfoFromJsonFile to read Omni smart property list from a JSON String or InputStream.

Regression Tests / Integration Tests

  • RegTests now default to using server RPC Port 18443. (Bitcoin Core default since 0.16.0)

  • Running with Spock 2.0-M3, Groovy 3, JUnitPlatform, spock-junit4 adapter

  • Add delays after invalidating blocks see Issue #185

  • Fix RegTest and Integration Test classpath issues (PR #168)

  • Run RegTest integration tests against Omni Core 0.8.2

  • Other test scripting improvements for RegTest on Travis CI

omnij-cli

  • Requires JDK11+

  • Stop using deprecated OptionBuilder, other internal improvements

omnij-money

  • Remove dependency on consensusj-exchange

  • TetherUSDIdentityRateProvider no longer implements ObservableExchangeRateProvider

All modules

  • Use Gradle java-library plugin and declare api dependencies

  • Gradle: Set reproducibleFileOrder, preserveFileTimestamps (helps make builds reproducible)

  • TravisCI: Full build in addition to running regTest

  • Update to ConsensusJ 0.5.4

  • Update to bitcoinj 0.15.7 (Guava 28.2-android)

  • Update to Java Money BP 1.4 (API BP 1.0.4)

  • Update to Gradle 6.5

  • Update to Groovy 3.0.4

  • Update to Spock 2.0-M3

  • Update to JUnit 4.13

  • Asciidoctor Gradle plugin to 3.1.0

v0.5.9

Released: 2020.03.06

omnij-rest-client-mjdk

New module: A JDK 11+ java.net.http asynchronous client for Omniwallet. It extends OmniwalletAbstractClient and implements ConsensusService and is compatible with the existing Retrofit-based OmniwalletClient. If you are using JDK 11+ and are looking for an Omniwallet API client with minimal dependencies, this is your JAR.

omnij-rest-client-micronaut

New module: Experimental, incomplete Omniwallet Client that uses the Micronaut Http client. This is a proof-of-concept, but development was discontinued in favor of the Modern JDK mjdk client above. Use at your own risk. Comments welcome.

omnij-rest-client

  • Upgrade to Retrofit 2.6.4 (OkHTTP 3.12.8)

omnij-rpc

  • Omni integration tests have temporary workarounds to keep the Travis Omni RegTest tests passing until we update to newer Omni Core for those tests. This is related ot a Bitcoin Core change to the default RPC port for RegTest mode. (The consensusj constant RpcURI.RPCPORT_REGTEST was changed to reflect Bitcoin Core 0.16.0 and later)

omnij-money

  • Upgrade to moneta-bp-1.3

All modules

  • Official build now using JDK 11 (but most modules are src/target JDK 8)

  • Travis CI — build with both JDK 11 and JDK 8 (skip JDK11 dependent module when building under JDK 8)

  • Update to bitcoinj 0.15.6 (Guava 28.1-android)

  • Update to ConsensusJ 0.5.0

  • Update to SLF4J 1.7.30 (has Automatic-Module-Name in MANIFEST.MF)

  • Update to Groovy 2.5.9

  • Update to Gradle 6.2

v0.5.8

Released: 2019.03.28

All modules

  • Upgrade to bitcoinj 0.15.1. This is a major upgrade to bitcoinj to provide support for Segregated Witness transactions.

  • Upgrade to ConsensusJ 0.4.0.

  • Bug fixes for handling frozen Omni asset balances.

  • Breaking: Switch to correct spelling of Willett - Issue #142

  • adoc directory renamed to doc

omnij-cli

Known issue

Shadow JAR build is temporarily disabled.

v0.5.7

Released: 2018.11.27

omnij-core

  • Remove deprecated CurrencyIDs (e.g. TetherUS is now USDT)

omnij-rpc

  • Updates for new OmniExplorer API

  • Get omni-mainnet-consensus tests working again

  • Support frozen field in more places

  • ChestConsensusTool renamed ExplorerConsensusTool

v0.5.6

Released: 2018.10.24

omnij-core

  • Update to JavaMoney API 1.0.3 (Java 7 Backport)

omnij-money

  • Update to JavaMoney RI 1.2.1 (Java 7 Backport)

  • Remove deprecated `ExchangeRateProvider`s

omnij-rpc

  • Moved Java-only OmniClient to omnij-jsonrpc module

  • The Groovy additions to the OmniClient and the Omni JSONRPC-based integration tests remain in this module.

omnij-jsonrpc

  • New module containing Java-only OmniClient and supporting classes.

  • Handle new frozen field in AddressBalanceEntry and elsewhere

  • Add name field in PropertyBalanceEntry

omnij-rest-client

  • Handle frozen field added to AddressBalanceEntry

  • 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 require Java 8 or later

  • Upgrade to ConsensusJ (formerly bitcoinj-addons) 0.3.1

  • Upgrade to bitcoinj 0.14.7

  • Upgrade to Groovy 2.5.3

  • Upgrade to Spock 1.2

  • Upgrade to Gradle 4.10.2

v0.5.5

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

v0.5.4

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

v0.5.3

Released: 2017.07.16

All modules

  • Upgrade to bitcoinj-addons 0.2.4

  • Use invokedynamic ("indy") version of Groovy

v0.5.2

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

v0.5.1

Released: 2017.05.23

Features/Changes

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 http://omniexplorer.info instead of http://omnichest.info 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.

v0.5.0

Released: 2016.11.16

Potentially Breaking

  • The 0.5.x branch requires Omni Core 0.0.11.1 or later

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

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

Features/Changes

  • Tweaks to integration tests for Omni Core Bitcoin 0.13 rebase

  • Update to bitcoinj-addons 0.2.1

Internal

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

v0.4.0

Released: 2016.09.28

Features/Changes

  • 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

v0.3.7

Released: 2016.05.25

Features/Changes

  • 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

v0.3.6

Released: 2016.05.04

Features/Changes

  • 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

v0.3.5

Released: 2015.12.01

Potentially Breaking

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

Features/Changes

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

  • Fix numeric type issues in OverOfferDeactivationSpec.groovy

v0.3.4

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

Features/Changes

  • 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

v0.3.3

Released: 2015.10.06

Potentially Breaking

  • OmniClient constructor now requires a bitcoinj NetworkParameters instance.

Features/Changes

  • 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.

v0.3.2

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.

Features/Changes

  • 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.

v0.3.1

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

Features/Changes

  • 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.

REL-0.3.0

First release. See commit history for details.