When deserializing client payment channel state, if there was an existing close transaction, it was deserialized from wrong data.
Key rotation: remove the enabled setting. It's no longer useful and defaulted to off, which is dangerous and can lead to bugs.
Key rotation: construct new HD chain based on the oldest possible key, a la upgrade, with a fresh random HD chain only being created if all random keys are rotating.
Rename maybeDoMaintenance to doMaintenance and add a bit more docs.
Add maybeDoMaintenance back as a deprecated alias.
Key rotation: also unit test the creation time of a fresh key.
Fix WalletTemplate now that checkpoints are included.
Make basicCategoryStepTest independent of actual min fee level.
10x fee drop, now most miners seem to have upgraded to 0.9+
Fix off by one in DKC.getKeys(false). Resolves #253
doMaintenance: don't trigger signing if bool param is false, as an optimisation.
Key rotation: add saveNow call after new HD chains might have been added.
WalletTool: allow rotation time to be specified in seconds.
Key rotation: fix bug that could cause multiple identical key chains to be created over and over if the key rotation time was equal to the time of the oldest best key, with test coverage.
Default risk analysis: fix an off-by-one error in dust output comparisons.
Log full tx when considered risky.
Update toString() in ECKey to include private key in WIF format, adds helper methods with tests.
Use finer grained locking around the wallet keychain, to allow for fast reading of keys/the current receive address even if the wallet is busy auto saving or processing large transactions. This helps reduce UI hangs/lag on Android.
When deserializing wallet extensions, lock order is now wallet and then extension.
Don't allow creation of seeds with null passphrase

It should be the empty string as the standard default.