A high-level view of the changes in each ConsensusJ binary release.
In progress.
-
Upgrade to XChange 4.3.12
-
Add integration test for CoinbasePro Exchange
-
Deprecate Bitfinex, Coinbase, and ItBit exchange providers in favor of
DynamicXChangeRateProvider
-
Add convenience constructors to
DynamicXChangeRateProvider
andBaseXChangeExchangeRateProvider
-
Add
WalletAppKitService
(see Issue #42)
-
Use
WalletAppKitService
instead ofPeerGroupService
(see Issue #42)
-
Use
WalletAppKitService
instead ofPeerGroupService
(see Issue #42)
Released: 2018.10.24
-
Remove
stdTxFee
,stdRelayTxFee
,defaultMaxConf
fromBTCTestSupport
trait (now uses the getters inBitcoinExtendedClient
viaBitcoinClientDelegate
)
Released: 2018.07.31
-
All classes with
RPC
in name now useRpc
-
Low-level RPC send method is now
sendRequestForResponse()
-
JsonRpcResponse
is now immutable -
Make order of constructor args consistent in JsonRpcRequest
-
Rename Dynamic RPC Methods support classes
-
UntypedRPCClient
→DynamicRpcMethodSupport
-
DynamicRPCFallback
→DynamicRpcMethodFallback
-
-
use
long
fornonce
inBlockInfo
(fixes #44)
-
module/filename changed from
bitcoinj-cli
-
Fixes for JSON-RPC parameter type on
generate
/setgenerate
andgetblockhash
- cj-btc-cli-kt
-
-
Experimental Kotlin version of
cj-btc-cli
-
- cj-eth-jsonrpc
-
-
Proof-of-concept Ethereum JSON-RPC client
-
- cj-eth-jsonrpc-gvy
-
-
Groovy (Dynamic RPC methods) Ethereum JSON-RPC client
-
- cj-nmc-daemon
-
-
New Namecoin daemon module created by Jeremy Rand
-
Currently a work-in-progress
-
- cj-nmc-jsonrpc
-
-
Proof-of-concept Namecoin JSON-RPC client
-
- cj-nmc-jsonrpc-gvy
-
-
Groovy (Dynamic RPC methods) Namecoin JSON-RPC client
-
-
Fixes for RegTest integration tests
-
Namecoin classes moved to
org.consensusj.namecoin
-
Ethereum classes moved to
org.consensusj.ethereum
-
Upgrade Groovy to 2.5.1
-
Upgrade to Spring Boot 2.0.3
-
Upgrade to Gradle 4.9
-
Upgrade Bintray plugin to 1.8.4
-
Upgrade to Asciidoclet 1.5.6 (release version)
Released: 2018.07.10
These new modules were all extracted from the existing bitcoinj-rpcclient
module.
- consensusj-jsonrpc
-
-
Java JSON-RPC client with no bitcoinj dependency
-
Automatic-Module-Name: org.consensusj.jsonrpc
-
- consensusj-jsonrpc-gvy
-
-
Groovy-enhanced JSON-RPC client with dynamic method support
-
Automatic-Module-Name: org.consensusj.jsonrpc.groovy
-
- cjbtc-jsonrpc
-
-
Java Bitcoin JSON-RPC client
-
Needs more refactoring before it can get an Automatic-Module-Name
-
- cjbtc-jsonrpc-gvy
-
-
Groovy-enhanced Bitcoin JSON-RPC with dynamic method support and integration test support classes
-
Needs more refactoring before it can get an Automatic-Module-Name
-
-
Most code factored out into new modules
-
Still contains Ethereum and Namecoin JSON-RPC clients (but those will be factored into new modules in a future release)
-
Still contains Bitcoin integration tests
-
Removed all Groovy code from compile source set (but not test) and removed Groovy transitive dependency.
Released: 2018.07.03
-
BREAKING: Move
jsonrpc
subpackage fromcom.msgilligan
toorg.consensusj
-
Gracefully handle error case in
RPCClient
whereerrorStream
is null -
Update Ethereum clients to work with Infura
-
Fix Issue #24: RPCClient doesn’t work with long username / password)
-
BREAKING: Upgrade to Java 8
-
Rename command-line tool to cj-bitcoin-cli
-
Add Graal native-image build of cj-bitcoin-cli
-
cj-bitcoin-cli now reads
bitcoin.conf
for settings
-
BREAKING: Upgrade to Java 8
-
Upgrade to XChange 4.3.8
-
Upgrade to
org.javamoney:moneta
(JavaMoney) 1.2.1 frommoneta-bp
-
BREAKING: Move
proxy
package formcom.msgilligan.bitcoin
toorg.consensusj
-
Add functional test of
ProxyMain
-
Upgrade to Ratpack 1.5.4
-
Travis CI test builds on
oraclejdk9
andopenjdk8
-
Upgrade to bitcoinj 0.14.7
-
Upgrade to Jackson 2.9.5
-
Upgrade to Groovy 2.5.0
-
Upgrade to Spring Boot 2.0.1.RELEASE
-
Upgrade to Gradle 4.7
-
Upgrade to newer Asciidoctor components
-
Centralize Asciidoctor component versioning in variables
-
Upgrade to Asciidoclet 1.5.5-SNAPSHOT for Java 9+ Javadoc
Released: 2017.10.16
-
Simplify
UntypedRPCClient
interface (subclasses ofAbstractRPCClient
not affected) -
Improve JavaDoc
Released: 2017.07.16
-
Fix: Look for
bitcoin.conf
in~/.bitcoin
on Linux (lower-case 'b') -
Improved error-handling and concurrency
-
Partial support for JSON-RPC 2.0 (tested with Parity)
-
Preliminary support for Ethereum/Parity JSON-RPC
-
Update Ethereum calls for Parity and add a few methods
-
Core JSON-RPC implementation moved from
bitcoinj.rpc
tojsonrpc
subpackage.
-
Upgrade Groovy to 2.5.0-beta-1
-
Use Groovy invokedynamic ("indy") jars and compiler flag
-
Upgrade several Gradle build plugins
Released: 2017.05.22
-
Fix error when Gradle
bintrayUpload
task run on root project -
Upgrade Groovy to 2.4.11
-
Upgrade Gradle to 3.5
Released: 2017.04.26
-
Update README.adoc
-
Assorted code, build, JavaDoc improvements
-
build.gradle
readsJDK7_HOME
environment variable to compile Java 7 modules with correct classpath -
Upgrade bitcoinj to 0.14.4
-
Upgrade jackson-core and jackson-databind to 2.8.7 (in modules that use Jackson)
-
Upgrade Groovy to 2.4.10
-
Upgrade Spock to 1.1-rc-4
-
Upgrade SLF4J to 1.7.25
-
New RPC methods:
addnode
,getaddednodeinfo
-
Deprecate
BitcoinClient#generateBlock
-
Disable hack enabling self-signed SSL RPC servers
-
Add
ECKey
serializer (does not serialize private key) -
Fix incorrectly named JSON properties in
BlockChainInfo
POJO -
Fix deprecation warnings in serializers/deserializers
-
Upgrade to Moneta BP 1.1 (Java 7 Backport of JavaMoney Reference Implementation)
-
Upgrade to XChange 4.1.0
Released: 2016.10.24
-
Bitcoin RPC clients require Bitcoin Core 0.10.4 (or Omni Core 0.0.11.1) or later
-
Migrate to using
generate
to generate blocks in regtest (with fallback for earlier versions) -
Start migration away from getinfo to getblockchaininfo, getnetworkinfo
-
Many dependency version bumps, notably Jackson 2.8.1 and Spring Boot 1.4.0
-
Add proof-of-concept Ratpack-based JSON-RPC proxy server in bitcoinj-proxy
-
Handle new JSON properties that show up in responses on bitcoind 0.13+
-
Be generally more forgiving of new JSON properties in JSON-RPC responses
-
Add tests for creating/sending standalone bitcoinj Transactions
-
Add integration tests for OP_RETURN and Bare Multisig transactions via P2P and RPC
-
Make RPCConfig a Jackson POJO (for use in configuration files)
-
Move more test fixture methods from Spock base classes to Groovy traits
Released: 2016.08.22
-
In
BaseXChangeExchangeRateProvider
correctly handle exchanges that don’t provide a timestamp (e.g. Poloniex) -
Proof-of-concept Ethereum RPC client
-
Add basic Spock test for
OP_RETURN
-
Fix and un-ignore
TransactionSpec."Can create and serialize a transaction"
Spock test -
Added
generate
RPC method -
Add
.travis.yml
for Travis CI testing -
Improved support for logging during tests
-
Miscellaneous code cleanup and commenting
-
Update to Gradle 2.14.1
-
Update to Spock 1.1-rc2
Released: 2016.06.29
-
ExchangeRateObserver
will now get a notification immediately after subscribing if data already present -
Improved error handling/logging for JSON parsing exceptions in
RPCClient
-
bitcoinj-dsljs
: Proof-of-concept model for JavaScript integration via Nashorn.
Released: 2016.06.19
-
Improvements to
bitcoin.conf
reading classes -
new
BitcoinScriptingClient
-
Has typed Java methods and dynamic, Groovy fallback methods
-
No configuration constructor that uses
bitcoin.conf
-
-
new
AbstractRPCClient
to allow alternate HTTP transport client -
new
DynamicRPCFallback
Groovy trait to add dynamic methods to anyRPCClient
subclass -
new
NamecoinScriptingClient
andnamecoin.conf
file reading support -
add
listAddressGroupings
method toBitcoinClient
-
Fix: correctly pass command-line
args
to daemon and peerserver apps -
Update to bitcoinj 0.14.3
-
Update to Groovy 2.4.7
-
Other library updates (slf4j)
Released: 2016.04.22
-
Add
bitcoinj-money
(JavaMoney support) module-
BaseXChangeExchangeRateProvider and subclasses for Bitfinex and Itbit
-
BitcoinCurrencyProvider to add "BTC" currency code to Java
-
-
rename
bitcoinj-groovy
module tobitcoinj-dsl
-
Bump Gradle (wrapper) to 2.12
-
Bump Gradle Shadow plugin to 1.2.3
-
Bump bitcoinj to 0.13.6
-
Bump Groovy to 2.4.6
-
Update PeerServer to Angular.js 1.4.8 and Bootstrap 3.3.6
Released: 2015.11.24
-
Consistently use Groovy 2.4.5 (via ext.groovyVersion)
-
Ignore unknown properties in RPC getinfo call (causes crash in Omni client)
-
Add MainNet integration smoke test for bitcoinj-rpcclient
-
Upgrade to bitcoinj 0.13.3
-
Add minimal Namecoin RPC client and Namecoin address support (NMCMainNetParams)
-
WIP Spock test based on "Working with Contracts" bitcoinj documentation page.
-
A little bit of HTML formatting for in peers.html in PeerServer
-
Use WebJars to replace local copies of angular, jquery, bootstrap, etc.
-
Update versions of front-end libraries using WebJars
-
Add BlockCypherSyncing trait that uses BlockCypher API for syncing
Released: 2015.10.06
-
Deprecated
BTC
utility class removed. -
Alternate
RPCClient
constructors removed (doesn’t affectBitcoinClient
) -
Some methods return POJOs where they previously returned
Map
.
-
BitcoinClient
constructor now takes a bitcoinj NetworkParameters instance. -
Add Jackson/JSON POJOs:
WalletTransactionInfo
,RawTransactionInfo
,BlockInfo
-
Significant JavaDoc improvements.
-
Code cleanup and simplification.
-
Upgrade CLI module to use Apache Commons CLI version 1.3.1
-
Replace type conversion hack in BitcoinJCLI with a more-extensible type conversion mechanism.
Released: 2015.09.29
This is the first release with a CHANGELOG.
-
RPC client API, BitcoinClient is now using bitcoinj types for almost all JSON-RPC parameters and return types. See Issue #9 to track progress.
-
RPC client API,
setGenerate()
(alsogenerateBlock()
,generateBlocks()
) when talking tobitcoind
0.9.x or earlier will return an empty list rather thannull
. If server is0.10.x
or later, will return a list ofSha256Hash
.
-
JSON-RPC client and server are now sharing Jackson JSON serializer, deserializers, and POJOs in the
bitcoinj-json
module. -
JSON-RPC server now has a skeleton implementation of
getinfo
. -
Miscelleneous documentation improvements.
-
Issue #10 Broken links in
doc/index.adoc
fixed