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
WalletProtobufSerializer.setChainHeight().
- 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
QRcodes.
- 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
removed.
- 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.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development