[Bitcoin-development] bitcoinj 0.6 now available

Mike Hearn mike at plan99.net
Mon Sep 24 13:35:42 UTC 2012

I'm pleased to announce the release of version 0.6 of bitcoinj, the leading
Java implementation of Bitcoin. You can download the source from Google
Code, or use the release-0.6 branch from git. Our Nexus repository will be
updated soon.

This release focuses on improved compliance with the protocol, improved and
more scalable network handling, a more flexible send API, other misc API
improvements and of course, a large pile of bug fixes. You should upgrade
your software to use bitcoinj 0.6 as soon as possible, if only to benefit
from the fixes - the API changes are minimal so it should be easy.

In more detail:

   - Thanks to Jim Burton, the wallet now stores the depth and work done
   for all transactions, and coinbase transactions are now processed
   correctly. The ability to handle pubkey-only outputs was added, so these
   are now spendable. Migration from 0.5 wallets that don't store this is
   supported, but only for depth, by using
   - Made some more APIs documented and public.
   - Improved block chain download handling.
   - Added compatibility with the broken URIs generated by blockchain.info,
   meaning that the iPhone app and Android apps can now read each others
   - Wallets can now auto-save themselves, taking the hassle of managing
   wallet persistence away from your app. See the javadocs for
   Wallet.autoSaveToFile() for information on this.
   - The network layer was rewritten on top of Netty to be more robust,
   more scalable and to remove flakyness in the unit tests. Thanks to Miron
   Cuperman for this work.
   - Thanks to Matt Corallo the ping/pong protocol is now supported. Also
   various protocol conformance issues and other misc bugs were resolved.
   - WalletTool now has a RAW_DUMP option that prints the raw protocol
   buffer form as text.
   - You can now explicitly set fees on a created transaction using the fee
   member of SendRequest. Please note that the correct fees for a
   transaction are still not auto-calculated or minimized. This will come in a
   future release.
   - Many bug fixes.

API changes:

   - TransactionConfidence.OVERRIDDEN_BY_DOUBLE_SPEND is now called DEAD
   - PeerGroup.broadcastTransaction now returns a Guava ListenableFuture (which
   is a subclass of Future, so it's compatible). The future completes when the
   transaction has been heard back from the network, instead of just being
   written out.
   - Wallet.sendCoins() now returns a SendResult that contains both the
   transaction, and the future returned by PeerGroup.broadcastTransaction(),
   so it will no longer block. As a result sendCoinsAsync() has been
   - Various send methods on Wallet now take a SendRequest object that lets
   you customize the created transactions. The methods that let you explicitly
   set the change address are removed, you should set the changeAddress member
   of the SendRequest instead.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20120924/484d4944/attachment.html>

More information about the bitcoin-dev mailing list