Releases: CounterpartyXCP/counterparty-core
counterparty-lib v9.51.0
Description
This is an incremental upgrade with a few minor protocol changes. The most significant change is the addition of the HTTP REST API, which should make interacting with the Counterparty reference client much easier for developers.
Mandatory Upgrade Block
- All clients must be upgraded by block 352000.
Protocol Changes
- Check for null data chunks.
- Disable rock‐paper‐scissors.
- Catch unhandled exception with invalid script on testnet
Implementation Changes
- Default to using
opreturn
encoding when possible
Interface Changes
- Deprecate
get_asset_info(assets)
API method. - Deprecate
get_xcp_supply()
API method in favor ofget_supply(asset)
. - Changed
get_unspent_txouts
API method parameter and return values. - Added HTTP Rest API.
- Authentication on JSON‐RPC API is off by default
rpc_password
configuration parameter is no longer mandatory
Upgrade Procedure
- Upgrade
counterparty-cli
to v1.1.0 (recommended) - Transition away from deprecated API method calls.
- Disable API authentication if it's unnecessary.
counterparty-lib v9.50.0
Description
This a hotfix for a fatal integer overflow error that affected all clients parsing mainnet block 348076. There was insufficient sanity checking for invalid send transactions, and the problem would have been avoided if the parsing of invalid send transactions returned earlier. Indeed, there is already a complete re-implementation of send transactions currently in testing here: https://github.com/CounterpartyXCP/counterpartyd/blob/master/counterpartylib/lib/messages/versions/send2.py
Mandatory Upgrade Block
- All clients must upgrade immediately.
Protocol Changes
- NONE
Implementation Changes
- NONE
Interface Changes
- NONE
Upgrade Procedure
- NONE
counterparty-lib v9.49.4
Description
This was a major upgrade, though non-mandatory, because it involved a complete re-architecting of the project---this package is now a 'pure' Pyton library and a PyPi package, with no wallet functionality or command-line interface. Installation of counterparty-lib
is now as simple as running $ pip3 install counterparty-lib
; installation of the CLI is as simple as running $ pip3 install counterparty-cli
.
Migration from earlier versions may well be accompanied by some hiccups---we've tried to make the upgrade path as smooth as possible, but there are definitely edge cases we haven't been able to test. However, because this new version includes no changes to the core protocol, upgrades may proceed at a relatively leisurely pace.
Mandatory Upgrade Block
- None
Protocol Changes
- None
Implementation Changes
- Re-architected this package as a library
- Moved CLI to new repository:
counterparty-cli
- Remove all signing and broadcast functionality
- Created
setup.py
build script - Return to using requests for handling connections to backend
- Introduced global variable
CURRENT_BLOCK_INDEX
- Prepared version check for repository rename to
counterparty-lib
- Improved test coverage
- Misc. bug fixes
- Removed option of using Insight, Blockr and SoChain as a backend
- Added option of using btcd as a backend
- Moved API docs elsewhere
Interface Changes
- Renamed configuration parameters:
jmcorgan
->addrindex
,BACKEND_RPC_*
->BACKEND_*
,BLOCKCHAIN_SERVICE_NAME
->BACKEND_NAME
. counterpartyd.py server
has been changed tocounterparty-server start
(CLI)- Paths to all configuration files, database files and log files changed. Their default locations are displayed when
counterparty-server
is run with--verbose
. - Removed signing and broadcast functionality from API (
do_*
,sign_tx
,broadcast_tx
calls). The API documentation contains a guide to wallet integration.
Upgrade Procedure
- The migration of the configuration files and database files to their new paths is handled automatically by the setup script:
python3 setup.py install
. - The names of some configuration parameters have changed---see above.
- If you were using Insight, SoChain or Blockr for block explorer functionality, you must now switch to using a Patched Bitcoin Core or btcd as the backend.
counterpartyd v9.49.3
Description
This version contains significant improvements to the codebase and fixes a number of notable bugs. It has a new and improved logging system, and it now allows for providing public keys manually through the API and CLI.
Protocol Changes
- None
Mandatory Upgrade Block
- None
Codebase Changes
- Misc. code reorganisation and cleanup
- Removed obsolete callback functionality
Documentation Changes
- Rewrote README
Interface Changes
- New logging format, architecture
- Better logging when handling
SIGTERM
,SIGKILL
Upgrade Procedure
- For users of the API: now, when composing transactions, the pubkey of the source address (which hasn't been used before) must be passed as a parameter (e.g. with
pubkey=
). The pubkey of an address in your wallet may be easily retrieved using Bitcoin Core'svalidateaddress
API call. Update: Also, set the following two options for Bitcoin Core:rpcthreads=1000
andrpctimeout=300
.
API Changes
- PubkeyHashes may everywhere be replaced by pubkeys (or the latter may be provided either as a string or a list via the optional
pubkey
parameter). - The API Status Poller now starts correctly.
- The API will no longer search the local wallet for pubkeys, so they must be
passed to the API manually if being used for the first time. Otherwise, you may get a "<address>
not published
in blockchain" error.
CLI Changes
- PubkeyHashes may everywhere be replaced by pubkeys
- If no RPC password is specified, generate automatically
counterpartyd v9.49.2
Description
This version contains miscellaneous, but very substantial, improvements to the codebase.
Protocol Changes
- None
Interface Changes
- Transaction hashes in match IDs are now separated by an underscore ('_').
- Unhandled exceptions are now logged.
Mandatory Upgrade Block
- None
Upgrade Procedure
- None
API Changes
- Transaction hashes in match IDs are now separated by an underscore ('_').
- Documentation has been updated somewhat.
CLI Changes
- Transaction hashes in match IDs are now separated by an underscore ('_').
- The obsolete
carefulness
option has been removed.
counterpartyd v9.49.1
Description
The only change in this new version is the disabling of logging user-submitted text, in asset descriptions and broadcasts, to the console.
Protocol Changes
- None
Interface Changes
- Log output has been altered.
Mandatory Upgrade Block
- None
Upgrade Procedure
- None
API Changes
- None
CLI Changes
- None