Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1TG8pH-0002cO-2H for bitcoin-development@lists.sourceforge.net; Mon, 24 Sep 2012 13:35:55 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com designates 74.125.82.175 as permitted sender) client-ip=74.125.82.175; envelope-from=mh.in.england@gmail.com; helo=mail-we0-f175.google.com; Received: from mail-we0-f175.google.com ([74.125.82.175]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1TG8pB-0000i9-8g for bitcoin-development@lists.sourceforge.net; Mon, 24 Sep 2012 13:35:55 +0000 Received: by weyt44 with SMTP id t44so2288586wey.34 for ; Mon, 24 Sep 2012 06:35:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.180.81.38 with SMTP id w6mr14481852wix.10.1348493743015; Mon, 24 Sep 2012 06:35:43 -0700 (PDT) Sender: mh.in.england@gmail.com Received: by 10.216.139.134 with HTTP; Mon, 24 Sep 2012 06:35:42 -0700 (PDT) Date: Mon, 24 Sep 2012 15:35:42 +0200 X-Google-Sender-Auth: tMGORoMCDWUzmTo60f1DYwasr4o Message-ID: From: Mike Hearn To: Bitcoin Dev Content-Type: multipart/alternative; boundary=f46d044288c088c65404ca72aa2e X-Spam-Score: -0.8 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (mh.in.england[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 HTML_OBFUSCATE_05_10 BODY: Message is 5% to 10% HTML obfuscation 1.0 HTML_MESSAGE BODY: HTML included in message 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.3 AWL AWL: From: address is in the auto white-list X-Headers-End: 1TG8pB-0000i9-8g Subject: [Bitcoin-development] bitcoinj 0.6 now available X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2012 13:35:55 -0000 --f46d044288c088c65404ca72aa2e Content-Type: text/plain; charset=UTF-8 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. --f46d044288c088c65404ca72aa2e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I'm pleased to announce th= e release of version 0.6 of bitcoinj, the leading Java implementation of Bi= tcoin. 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 fle= xible 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 s= o it should be easy.

In more detail:
  • Thanks to Jim Burton, the wallet now stores the depth and work don= e for all transactions, and=C2=A0coinbase transactions=C2=A0are now process= ed correctly. The ability to handle=C2=A0pubkey-only outputs=C2=A0was added= , so these are now spendable. Migration from 0.5 wallets that don't sto= re this is supported, but only for depth, by using=C2=A0WalletPro= tobufSerializer.setChainHeight().
  • Made some more APIs documented and public= .
  • Improved block chain download=C2=A0= handling.
  • Added compatibility with th= e broken URIs generated by blockchain.in= fo, meaning that the iPhone app and Android apps can now read each othe= rs QRcodes.
  • Wallets can now auto-save themselves, tak= ing the hassle of managing wallet persistence away from your app. See the j= avadocs for Wallet.autoSaveToFile() for information on this.
  • The network layer was rewritten on top of Netty to be more robust, more sca= lable and to remove flakyness in the unit tests. Thanks to Miron Cuperman f= or 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=C2=A0now has a = RAW_DUMP option that prints the raw protocol buffer form as text.
  • You can now explicitly set fees on a crea= ted transaction using the fee member of=C2=A0SendRequest. Pl= ease note that the correct fees for a transaction are still not auto-calcul= ated or minimized. This will come in a future release.
  • Many bug fixes.

API changes:

  • TransactionConfidence.OVERRIDDE= N_BY_DOUBLE_SPEND=C2=A0is now called=C2=A0DEAD
  • PeerGroup.broadcastTransaction<= /tt>=C2=A0now returns a Guava=C2=A0ListenableFuture=C2=A0(wh= ich 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()=C2=A0no= w returns a=C2=A0SendResult=C2=A0that contains both the tran= saction, and the future returned by=C2=A0PeerGroup.broadcastTrans= action(), so it will no longer block. As a result=C2=A0sendC= oinsAsync()=C2=A0has been removed.
  • Various send methods on Wallet now take a= =C2=A0SendRequest=C2=A0object that lets you customize the cr= eated transactions. The methods that let you explicitly set the change addr= ess are removed, you should set the=C2=A0changeAddress=C2=A0= member of the=C2=A0SendRequest=C2=A0instead.
--f46d044288c088c65404ca72aa2e--