Cleanup build files, upgrade build dependencies.
Module utxo -> ledger
Get rid of children_create and children_clear (children_create can still be specified to override __init__ behavior).
Completely revamp PatriciaNode structure, moving most of the functionality of Trie into Node (similar to reorganization of MerkleNode that was performed earlier).
Remove OutPoint as a separate class - it's now part of the Input structure.
Switch from namedtuple (read-only) to recordtype (read-write) for ChainParameters.
Make dependency versioning >=.
Small code style adjustments.
Make Block the block header only, and rename prev_block -> parent_hash, merkle_root -> merkle_hash.
Change difficulty to the same algorithm used by the Satoshi client (except returning an mpq instead of a double).
Add work calculation (number of hash operations which need to be performed on average to solve the proof of work at the block's difficulty).
Add ConnectedBlockInfo structure, which records some extra useful information about a block which is learned from its place in the block graph.
Add built-in serialize/deserialize to the hash algorithm interfaces, so that a hash value can be used as a 'type' in places where serializable types are expected (e.g., index structures).
Move imports closer to where they are needed so that the above constants can be imported into other modules without a circular dependency.
Fix spelling typo.
'height' should not be included in this check because it needs to be specified if you are passing in a regular transaction.
Switch to tuple for ever so slight speed increase.
Put most likely difference first.
Add metadata to pythonic representation of UnspentTransaction.
Pythonic code style adjustment.