================ Protocol Changes ================ This documents lists changes made by protocol version. Version 1.0 =========== Deprecated methods ------------------ * :func:`blockchain.utxo.get_address` * :func:`blockchain.numblocks.subscribe` .. _version 1.1: Version 1.1 =========== Changes ------- * improved semantics of :func:`server.version` to aid protocol negotiation, and a changed return value. * :func:`blockchain.transaction.get` no longer takes the *height* argument that was ignored anyway. * :func:`blockchain.transaction.broadcast` returns errors like any other JSON RPC call. A transaction hash result is only returned on success. New methods ----------- * :func:`blockchain.scripthash.get_balance` * :func:`blockchain.scripthash.get_history` * :func:`blockchain.scripthash.get_mempool` * :func:`blockchain.scripthash.listunspent` * :func:`blockchain.scripthash.subscribe` * :func:`server.features` * :func:`server.add_peer` Removed methods --------------- * :func:`blockchain.utxo.get_address` * :func:`blockchain.numblocks.subscribe` .. _version 1.2: Version 1.2 =========== Changes ------- * :func:`blockchain.transaction.get` now has an optional parameter *verbose*. * :func:`blockchain.headers.subscribe` now has an optional parameter *raw*. * :func:`server.version` should not be used for "ping" functionality; use the new :func:`server.ping` method instead. New methods ----------- * :func:`blockchain.block.headers` * :func:`mempool.get_fee_histogram` * :func:`server.ping` Deprecated methods ------------------ * :func:`blockchain.block.get_chunk`. Switch to :func:`blockchain.block.headers` * :func:`blockchain.address.get_balance`. Switch to :func:`blockchain.scripthash.get_balance`. * :func:`blockchain.address.get_history`. Switch to :func:`blockchain.scripthash.get_history`. * :func:`blockchain.address.get_mempool`. Switch to :func:`blockchain.scripthash.get_mempool`. * :func:`blockchain.address.listunspent`. Switch to :func:`blockchain.scripthash.listunspent`. * :func:`blockchain.address.subscribe`. Switch to :func:`blockchain.scripthash.subscribe`. * :func:`blockchain.headers.subscribe` with *raw* other than :const:`True`. .. _version 1.3: Version 1.3 =========== Changes ------- * :func:`blockchain.headers.subscribe` argument *raw* switches default to :const:`True` New methods ----------- * :func:`blockchain.block.header` Removed methods --------------- * :func:`blockchain.address.get_balance` * :func:`blockchain.address.get_history` * :func:`blockchain.address.get_mempool` * :func:`blockchain.address.listunspent` * :func:`blockchain.address.subscribe` Deprecated methods ------------------ * :func:`blockchain.block.get_header`. Switch to :func:`blockchain.block.header`. .. _version 1.4: Version 1.4 =========== This version removes all support for :ref:`deserialized headers `. Changes ------- * Deserialized headers are no longer available, so removed argument *raw* from :func:`blockchain.headers.subscribe`. * Only the first :func:`server.version` message is accepted. * Optional *cp_height* argument added to :func:`blockchain.block.header` and :func:`blockchain.block.headers` to return merkle proofs of the header to a given checkpoint. New methods ----------- * :func:`blockchain.transaction.id_from_pos` to return a transaction hash, and optionally a merkle proof, given a block height and position in the block. Removed methods --------------- * :func:`blockchain.block.get_header` * :func:`blockchain.block.get_chunk` Version 1.4.1 ============= Changes ------- * :func:`blockchain.block.header` and :func:`blockchain.block.headers` now truncate AuxPoW data (if using an AuxPoW chain) when *cp_height* is nonzero. AuxPoW data is still present when *cp_height* is zero. Non-AuxPoW chains are unaffected. Version 1.4.1 ============= New methods ----------- * :func:`blockchain.scipthash.unsubscribe` to unsubscribe from a script hash. Version 1.8.0 ============= New methods ----------- * :func:`blockchain.scripthash.get_asset_balance` * :func:`blockchain.scripthash.listassets` * :func:`blockchain.asset.get_meta` * :func:`blockchain.asset.subscribe` * :func:`blockchain.asset.unsubscribe` Version 1.9.0 ============= New methods ----------- * :func:`blockchain.asset.is_qualified` * :func:`blockchain.asset.get_restricted_associations_current` * :func:`blockchain.asset.get_restricted_associations_history` * :func:`blockchain.asset.get_qualifier_associations_current` * :func:`blockchain.asset.get_qualifier_associations_history` * :func:`blockchain.asset.get_tags_for_h160_current` * :func:`blockchain.asset.get_tags_for_h160_history` * :func:`blockchain.asset.get_h160_for_asset_current` * :func:`blockchain.asset.get_h160_for_asset_history` * :func:`blockchain.asset.frozen_status_current` * :func:`blockchain.asset.frozen_status_history` * :func:`blockchain.asset.broadcasts` * :func:`blockchain.asset.get_assets_with_prefix` * :func:`blockchain.asset.list_addresses_by_asset` Version 1.10.0 ============== New methods ----------- * :func:`blockchain.asset.check_tag` * :func:`blockchain.asset.all_tags` * :func:`blockchain.asset.is_frozen` * :func:`blockchain.asset.validator_string` * :func:`blockchain.asset.restricted_associations` Removed methods --------------- * :func:`blockchain.asset.is_qualified` * :func:`blockchain.asset.get_restricted_associations_current` * :func:`blockchain.asset.get_restricted_associations_history` * :func:`blockchain.asset.get_qualifier_associations_current` * :func:`blockchain.asset.get_qualifier_associations_history` * :func:`blockchain.asset.get_tags_for_h160_current` * :func:`blockchain.asset.get_tags_for_h160_history` * :func:`blockchain.asset.get_h160_for_asset_current` * :func:`blockchain.asset.get_h160_for_asset_history` * :func:`blockchain.asset.frozen_status_current` * :func:`blockchain.asset.frozen_status_history` Version 1.11.0 ============== New methods ----------- * :func:`blockchain.tag.qualifier.list` * :func:`blockchain.tag.qualifier.subscribe` * :func:`blockchain.tag.h160.subscribe` * :func:`blockchain.asset.broadcasts.subscribe` * :func:`blockchain.asset.is_frozen.subscribe` * :func:`blockchain.asset.verifier_string.subscribe` * :func:`blockchain.asset.restricted_associations.subscribe` * :func:`blockchain.tag.qualifier.unsubscribe` * :func:`blockchain.tag.h160.unsubscribe` * :func:`blockchain.asset.broadcasts.unsubscribe` * :func:`blockchain.asset.is_frozen.unsubscribe` * :func:`blockchain.asset.verifier_string.unsubscribe` * :func:`blockchain.asset.restricted_associations.unsubscribe` Changes ------- * :func:`blockchain.scripthash.listassets` and :func:`blockchain.scripthash.get_asset_balance` now include an optional parameter to filter assets * :func:`blockchain.scripthash.listassets` renamed to :func:`blockchain.scripthash.listassetunspents` * :func:`blockchain.asset.check_tag` renamed to :func:`blockchain.tag.check` * :func:`blockchain.asset.all_tags` renamed to :func:`blockchain.tag.h160.list` * :func:`blockchain.asset.validator_string` renamed to :func:`blockchain.asset.verifier_string` * :func:`server.features` now includes a unsupported protocol version list