Cheap test to see if an input stream is a wallet.
Extract getDisplayNameFromCertificate() into new X509Utils class. Also joins PkiVerificationData.name and .orgName into one .displayName. Adds tests using client/smime certificates of mine.
Extract loading of X.509 trust stores to TrustStoreLoader.
Move X509Utils/TrustStoreLoader, add JavaDocs, and add back a parameter to allow location data to be included in the display name.
Payment protocol: add PaymentSession.getNetworkParameters method.
TransactionOutput: add equals/hashcode/duplicateDetached methods.
TransactionInput: verify(): don't crash if the given output has no parent. Clears a static analysis warning.
Implement equals/hashCode for ECDSA/TransactionSignature, and make them immutable.

Change the canonicalisation method to return a canonicalised copy, if required, and change the name to force users to notice that it's no longer mutating the object.

Resolves issue 544.
Upgrade to Bouncy Castle 1.50. Patch from Peter Dettman. Resolves issue 497.
Add Peter Dettman to the AUTHORS file.
Upgrade to Guava 16.0.1.

Resolves issue 375.
ECKey: switch away from the deprecated DERInteger class.
Fix compatibility with Java 6.
Add support for creating multisig inputs scripts that redeem P2SH outputs
Fix X509UtilsTest ended up in wrong package.
Rename tool for the payment protocol. It was not obvious from the name that it has a main method.
Move verification of payment requests into new PaymentProtocol class.
Add signing of payment requests to PaymentProtocol class.
Unit tests for signing and verifying both valid and expired payment requests.
Move BIP71 MIME types to PaymentProtocol class.