A mid-level view of the changes in each OmniJ binary release.
Released: 2020.08.10
-
Workaround for bitcoinj compareTo() issue where some addresses were missing from the
SortedMap
returned byomniGetAllBalancesForId
-
Added
omniGetAllBalancesForIdAsList
to return aList
instead of aSortedMap
-
Fixes to how
frozen
is included in total balances
Released: 2020.08.04
-
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 identifyOmniDivisibleValue
andOmniIndivisibleValue
of the same number of willetts "equal" (Object
equality)
-
Use
.longValueExact()
forNumber.getDivisible()
-
Remove unneeded/unused/incorrect
.equals()
onNumber
-
Add constants for https://api.omniexplorer.info and https://api.omniwallet.org
-
Improved Omniwallet client support for Bitcoin Testnet
-
NetworkParameters defaults to
null
inOmniwalletAbstractClient
-
Ability to set
NetworkParameters in the constructor
-
-
Add support for returning
frozen
balances inverifyAddresses()
andgetConsensusForCurrency()
-
OmniCoreClient — update to new ConsensusFetcher, make more async
-
Omniwallet*Client — update to new ConsensusFetcher, make more async
-
Add
BalanceEntry.totalBalance
static method. -
OmniValueSerializer use OmniValue::toJsonFormattedString.
-
Change OmniValueSerializerSpec to require a decimal point for divisible currencies
-
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
, andoutput
methods from ConsensusTool to ConsensusToolOutput -
MultiPropertyComparison - use CompletableFuture and “combine” to fetch property lists and consensus data from both servers in parallel
-
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 ofExplorerConsensusTool
fromConsensusCLI
tool
Released: 2020.07.14
-
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.)
Released: 2020.07.07
-
By default, tell Jackson to ignore unknown JSON Properties, see 6d98308
-
Breaking:
omniGetProperty()
now returnsOmniPropertyInfo
(instead of aMap
) -
New
OmniPropertyInfo
record (extends SmartPropertyListInfo), , see: 90e1598 -
Remove deprecated getters from
SmartPropertyListInfo
-
Remove deprecated
OmniExtendedClient
.
-
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
toOmniwalletPropertyInfo
-
Add
PropertyInfoFromJsonFile
to read Omni smart property list from a JSONString
orInputStream
.
-
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
-
Remove dependency on
consensusj-exchange
-
TetherUSDIdentityRateProvider
no longer implementsObservableExchangeRateProvider
-
Use Gradle
java-library
plugin and declareapi
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
Released: 2020.03.06
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.
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.
-
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
constantRpcURI.RPCPORT_REGTEST
was changed to reflect Bitcoin Core 0.16.0 and later)
-
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
inMANIFEST.MF
) -
Update to Groovy 2.5.9
-
Update to Gradle 6.2
Released: 2019.03.28
-
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 todoc
Released: 2018.10.24
-
Update to JavaMoney RI 1.2.1 (Java 7 Backport)
-
Remove deprecated `ExchangeRateProvider`s
-
Moved Java-only
OmniClient
toomnij-jsonrpc
module -
The Groovy additions to the
OmniClient
and the Omni JSONRPC-based integration tests remain in this module.
-
New module containing Java-only
OmniClient
and supporting classes. -
Handle new
frozen
field inAddressBalanceEntry
and elsewhere -
Add
name
field inPropertyBalanceEntry
-
Handle
frozen
field added toAddressBalanceEntry
-
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
Released: 2017.08.17
-
Add methods/constants for OmniValue value validation/conversion
-
SEC → SAFEX ticker symbol rename
-
Improved exception and error handling
-
Most remote methods now throw InterruptedException, IOException
-
Add optional
strictMode
flag to OmniwalletClient
Released: 2017.06.28
-
Add asynchronous interfaces to
OmniwalletClient
andOmniCoreClient
(usingCompleteableFuture
) -
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
-
Use https to communicate with Omni Explorer
-
BaseXChangeExchangeRateProvider
implementations can takeScheduledExecutorService
in constructor -
Add Kraken exhange (USDT/USD pair disabled till XChange 4.2.1 released)
-
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
-
build.gradle
readsJDK7_HOME
environment variable to compile Java 7 modules with correct classpath -
Assorted code, build, JavaDoc improvements
-
Implement Omniwallet multi-address balance request
-
Fix issues with accessing Omniwallet via CloudFlare
-
OmniBalanceService
methods now throwIOException
-
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 ofhttp://omnichest.info
in tests, etc. -
Deprecated
ConsensusEntry
Groovy class removed -
Updates for OmniChest → OmniExplorer
Released: 2016.11.16
-
Tweaks to integration tests for Omni Core Bitcoin 0.13 rebase
-
Update to bitcoinj-addons 0.2.1
-
03e447e - The
value
protected member ofOmniValue
is now calledwillets
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
MSC
→OMNI
andTMSC
→TOMNI
(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
-
BigDecimal had been replaced by OmniValue in many places (same as v0.3.4 which wasn’t published)
Tagged: 2015.11.24 (no JARs were published)
-
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
-
Update to bitcoinj-addons 0.0.10
-
Simplify
OmniClient
,OmniExtendedClient
with better use of Jackson -
omniNetParams
read-only property onOmniClient
-
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.