Protocol Changes

This document lists changes made by protocol version.

Version 1.0

Deprecated methods

Version 1.1

Changes

New methods

Removed methods

Version 1.2

Changes

New methods

Deprecated methods

Version 1.3

Changes

New methods

Removed methods

Deprecated methods

Version 1.4

This version removes all support for deserialized headers.

Changes

New methods

Removed methods

Version 1.4.1

Changes

Version 1.4.2

New methods

Version 1.4.3

New methods

Version 1.5

(this version number was skipped, no corresponding protocol is defined)

Version 1.6

Changes

  • Breaking change for the version negotiation: we now mandate that the server.version() message must be the first message sent. That is, version negotiation must happen before any other messages.

  • Also for server.version(), the server must tolerate and ignore extraneous arguments, to allow for extensions in future protocol versions.

  • The status of a scripthash has its definition tightened in a backwards-compatible way: mempool txs now have a canonical ordering defined for the calculation (previously their order was undefined).

  • blockchain.scripthash.get_mempool() previously did not define an order for mempool transactions. We now mandate a specific ordering.

  • Optional mode argument added to blockchain.estimatefee().

  • blockchain.block.headers() now returns headers as a list, instead of a single concatenated hex string.

New methods

Removed methods