Skip to content

Latest commit

 

History

History
217 lines (167 loc) · 9.74 KB

HISTORY.rst

File metadata and controls

217 lines (167 loc) · 9.74 KB

Release History

Unreleased (see master)

  • No new changes since 0.11.5 yet.

0.11.5 (2021-01-24)

  • Update bchsvexplorer.com to bsvbook.guarda.co c/o xloem and kcentrifugal
  • Extend test coverage to py38 and py39

0.11.3 (2020-11-7)

  • Make 'prepare_transaction' a @classmethod as it should not require a private key (breaking change as function signature now requires the 'network' as a positional argument)

0.11.2 (2020-10-11)

  • NetworkAPI.broadcast_tx() now returns the txid instead of null.

0.11.1 (2020-04-10)

  • Fixed an off-by-one bug for generating pushdata op_codes for data-carrier 'op_return' txs - c/o gitzhou.

0.11.0 (2019-02-15)

  • Added WhatsOnChain API for mainnet and testnet (MatterCloud is now a paid-only service)
  • Unspent data type: removed 'script' (scriptpubkey) attribute (unavailable from main WhatsOnChain and Satoshi.io APIs and is not even used for anything in the codebase at present)
  • Transaction, TxOutput, TxInput data types: removed unnecessary 'cruft' like 'amount_in', 'amount_out' and 'fee' (also to facilitate use of WhatsOnChain etc. and reduce maintenance overheads).
  • MatterCloud now activated via 'MATTERCLOUD_API_KEY' environment variable which will make it the highest priority API in the list.
  • Renamed BitIndex3 to MatterCloud

0.10.4 (2019-02-13)

0.10.3 (2019-01-31)

  • Allow transaction fee less than 1 sat/byte (i.e. float) c/o gitzhou

0.10.2 (2019-11-28)

  • Fixed broken API endpoint for foreign currency conversions.

0.10.1 (2019-11-24)

  • Added new Fullnode class for connecting to local bitcoin node via JSON-RPC (thanks goes to https://github.com/xloem for the initial legwork).
  • Fullnode class works for Mainnet, Testnet, Scaling-testnet and RegTest (local mock blockchain).
  • Reordered outputs to always have 'false return' metadata included in the first output instead of the last. This will fix a new issue that arose with rendering of images etc. on bico.media.
  • Prepend OP_FALSE to OP_RETURN in preparation for Genesis upgrade coming in February.
  • Add 'sweep' function to PrivateKey class for sending all coins to a given address.
  • 0.10.1 includes a patch for rpc methods list

0.9.0 (2019-08-11)

  • breaking Bitcoin Cash addressees are no longer supported.
  • Added bchsvexplorer for redundancy on mainnet.
  • PrivateKey.get_transaction() now returns a Transaction object with TxInput and TxOutput objects within it.
  • Metadata is represented in TxOutput.data as a list of pushdata fields.

0.8.0 (2019-7-13)

  • breaking PrivateKeyTest no longer exists (is now merged with PrivateKey class)

  • breaking bip32.py no longer exists (is now moved to a new repo: https://github.com/AustEcon/bsvbip32)

    • Maintains modularity of codebase.
    • Bip32 deserves it's own repo as an extension to bitsv.
  • Added BitIndex3 (with main, test, stn support) - teething issues still on server side for stn due to very large volumes and requirement for server upgrades.

  • breaking Refactored network services.py into separate modules (within services folder). (Only an issue for those who use these APIs directly rather than via PrivateKey)

  • breaking Refactored NetworkAPI class to be accessed via object instantiation rather than via classmethods. (Only an issue for those who access NetworkAPI class directly rather than via PrivateKey).

    • Allows for naming and testing of 5 prime function calls to be the same across all three networks (main/test/stn) and minimizes duplication of code and potential for errors.
    • Also allows for custom implementations of the NetworkAPI used by the PrivateKey on a case-by-case basis if necessary.
  • Added main / test / stn network to NetworkAPI class (and therefore PrivateKey) and normalization process for diverse (future) APIs.

  • Improved the syntax for the send_op_return() function to accept a simple list of encoded bytes (old syntax still supported)

  • Fixed a bug where a network error would result from leaving behind an amount < DUST (courtesy Carpemer)

  • Added retry wrapper for 400 and 500 errors (courtesy Carpemer)

    • will come into play when throttled to e.g. 3 requests per second by the new BitIndex API.
  • Added redundancy to the rates API (because the https://bitcoinsv-rates.com/api/rates/ endpoint went down for several days). Therefore added a Bitfinex replacement in series:

  • send_op_return() will now not consolidate utxos by default. (i.e. combine=False is default parameter)

  • restored python3.5 and pypy3 compatibility

0.7.1 (2019-4-20)

  • Legacy address now default __repr__

  • Added documentation page for op_return related functionality see: https://austecon.github.io/bitsv/guide/op_return.html added Python3.7 to travis CI testing

  • Bip32 feature set - have refactored and added functions (no documentation yet - coming soon).

  • Breaking: Bip32 feature set refactored:

    • File renamed from bip32utils.py --> bip32.py and
    • Deprecation warning: Changed class name from bip32utils --> "Bip32" (basically wrapping pycoin.key.Key functions):
    • New functions: get_xpub, get_xprv, address, private_key, get_children, get_child_addresses, get_child_private_keys, sign, verify, chain_code, fingerprint
    • Deprecation warning: old class "bip32utils" is retained as an alias temporarily but will be removed with the next release.

0.6.1 (2019-4-15)

0.6.0 (2019-4-7)

  • New Feature: Added Hierarchical deterministic wallet support (in bip32.py).

    • Can use xprv key to generate Electrum SV or Handcash list of address / private key pairs
    • Can use xpub key to generate list of addresses for viewing only
  • Added BitIndex functions for dealing with extended public keys

0.5.6 (2019-3-30)

  • PyPi ReadMe rendering issues.

0.5.5 (2019-3-29)

  • Default fee set to 1 sat/byte for all transaction types.
  • Updated ReadMe to include changes in 0.5.4 and updated examples.

0.5.4 (2019-03-25)

  • Added 100kb OP_RETURN capability (fixed a bug).
  • Fixed currency conversion courtesy "http://bitcoinsv-rates.com/api/rates/" api.
  • Fixed issue with different APIs getting utxos out of sync with rapid transaction broadcasting.
  • Fixed some tests and removed deprecated ones.

0.5.3 (2019-01-27)

  • Port code base over to Bitcoin SV
  • Allow raw byte string to be used as transaction OP_RETURN message. Increase message maximum OP_RETURN size to 220 bytes.
  • Add a get_transaction() function to network services that returns an instance of a new Transaction class which contains some common details of the transaction.

0.5.2 (2018-05-16)

  • bccblock.info is offline, replace with cashexplorer.bitcoin.com. Hard fork happened yesterday. Not sure if bccblock.info was even ready for that.

0.5.1 (2018-03-11)

  • Fix fee calculation with combined=False.
  • Also lower fees since we can. Couple little tweaks.
  • Delete a .orig file I had added before by mistake.

0.5.0 (2018-02-03)

  • Breaking change! Add cashaddr support, return .address as cashaddr. That hopefully is all that breaks.

0.4.3 (2017-12-20)

  • Switch from Bitpay to BCCBlock.info. Bitpay API is unusable with their address format, unless we switch over. Not interested in doing that in the near future so I found another block explorer.

0.4.2 (2017-12-20)

  • Raise exception when using pay2sh addresses.

0.4.1 (2017-11-01)

  • Removed blockr.io network backend as Coinbase has shut it down.

0.4.0 (2017-04-19)

  • Changed elliptic curve backend from OpenSSL to libsecp256k1. This results in an order of magnitude faster key creation and signing/verifying.
  • Improved performance of base58 encoding/decoding.
  • Breaking: Dropped support for Python 3.3 & 3.4.
  • Breaking: :func: ~bitsv.verify_sig now returns False for invalid signatures instead of raising an exception. Also, strict is no longer a parameter as BIP-62 compliance is now required.

0.3.1 (2017-03-21)

  • Fixed :ref: cold storage <coldstorage> workflow.
  • Improved performance of private key instantiation.

0.3.0 (2017-03-20)

  • Implemented a way to use private keys in :ref: cold storage <coldstorage>.
  • Changed the default timeout of services from 5 to 10 seconds.
  • Fixed network service redundancy by failing if response code is not 200.

0.2.0 (2017-03-17)

  • Improved stability of network tests.
  • Added :func: ~bitsv.verify_sig.
  • Refactored crypto to yield over an order of magnitude faster hashing.

0.1.0 (2017-03-15)

  • Initial release.