+++ /dev/null
-============================================================================
-User visible changes for btcd
- A full-node bitcoin implementation written in Go
-============================================================================
-
-Changes in 0.12.0 (Fri Nov 20 2015)
- - Protocol and network related changes:
- - Add a new checkpoint at block height 382320 (#555)
- - Implement BIP0065 which includes support for version 4 blocks, a new
- consensus opcode (OP_CHECKLOCKTIMEVERIFY) that enforces transaction
- lock times, and a double-threshold switchover mechanism (#535, #459,
- #455)
- - Implement BIP0111 which provides a new bloom filter service flag and
- hence provides support for protocol version 70011 (#499)
- - Add a new parameter --nopeerbloomfilters to allow disabling bloom
- filter support (#499)
- - Reject non-canonically encoded variable length integers (#507)
- - Add mainnet peer discovery DNS seed (seed.bitcoin.jonasschnelli.ch)
- (#496)
- - Correct reconnect handling for persistent peers (#463, #464)
- - Ignore requests for block headers if not fully synced (#444)
- - Add CLI support for specifying the zone id on IPv6 addresses (#538)
- - Fix a couple of issues where the initial block sync could stall (#518,
- #229, #486)
- - Fix an issue which prevented the --onion option from working as
- intended (#446)
- - Transaction relay (memory pool) changes:
- - Require transactions to only include signatures encoded with the
- canonical 'low-s' encoding (#512)
- - Add a new parameter --minrelaytxfee to allow the minimum transaction
- fee in BTC/kB to be overridden (#520)
- - Retain memory pool transactions when they redeem another one that is
- removed when a block is accepted (#539)
- - Do not send reject messages for a transaction if it is valid but
- causes an orphan transaction which depends on it to be determined
- as invalid (#546)
- - Refrain from attempting to add orphans to the memory pool multiple
- times when the transaction they redeem is added (#551)
- - Modify minimum transaction fee calculations to scale based on bytes
- instead of full kilobyte boundaries (#521, #537)
- - Implement signature cache:
- - Provides a limited memory cache of validated signatures which is a
- huge optimization when verifying blocks for transactions that are
- already in the memory pool (#506)
- - Add a new parameter '--sigcachemaxsize' which allows the size of the
- new cache to be manually changed if desired (#506)
- - Mining support changes:
- - Notify getblocktemplate long polling clients when a block is pushed
- via submitblock (#488)
- - Speed up getblocktemplate by making use of the new signature cache
- (#506)
- - RPC changes:
- - Implement getmempoolinfo command (#453)
- - Implement getblockheader command (#461)
- - Modify createrawtransaction command to accept a new optional parameter
- 'locktime' (#529)
- - Modify listunspent result to include the 'spendable' field (#440)
- - Modify getinfo command to include 'errors' field (#511)
- - Add timestamps to blockconnected and blockdisconnected notifications
- (#450)
- - Several modifications to searchrawtranscations command:
- - Accept a new optional parameter 'vinextra' which causes the results
- to include information about the outputs referenced by a transaction's
- inputs (#485, #487)
- - Skip entries in the mempool too (#495)
- - Accept a new optional parameter 'reverse' to return the results in
- reverse order (most recent to oldest) (#497)
- - Accept a new optional parameter 'filteraddrs' which causes the
- results to only include inputs and outputs which involve the
- provided addresses (#516)
- - Change the notification order to notify clients about mined
- transactions (recvtx, redeemingtx) before the blockconnected
- notification (#449)
- - Update verifymessage RPC to use the standard algorithm so it is
- compatible with other implementations (#515)
- - Improve ping statistics by pinging on an interval (#517)
- - Websocket changes:
- - Implement session command which returns a per-session unique id (#500,
- #503)
- - btcctl utility changes:
- - Add getmempoolinfo command (#453)
- - Add getblockheader command (#461)
- - Add getwalletinfo command (#471)
- - Notable developer-related package changes:
- - Introduce a new peer package which acts a common base for creating and
- concurrently managing bitcoin network peers (#445)
- - Various cleanup of the new peer package (#528, #531, #524, #534,
- #549)
- - Blocks heights now consistently use int32 everywhere (#481)
- - The BlockHeader type in the wire package now provides the BtcDecode
- and BtcEncode methods (#467)
- - Update wire package to recognize BIP0064 (getutxo) service bit (#489)
- - Export LockTimeThreshold constant from txscript package (#454)
- - Export MaxDataCarrierSize constant from txscript package (#466)
- - Provide new IsUnspendable function from the txscript package (#478)
- - Export variable length string functions from the wire package (#514)
- - Export DNS Seeds for each network from the chaincfg package (#544)
- - Preliminary work towards separating the memory pool into a separate
- package (#525, #548)
- - Misc changes:
- - Various documentation updates (#442, #462, #465, #460, #470, #473,
- #505, #530, #545)
- - Add installation instructions for gentoo (#542)
- - Ensure an error is shown if OS limits can't be set at startup (#498)
- - Tighten the standardness checks for multisig scripts (#526)
- - Test coverage improvement (#468, #494, #527, #543, #550)
- - Several optimizations (#457, #474, #475, #476, #508, #509)
- - Minor code cleanup and refactoring (#472, #479, #482, #519, #540)
- - Contributors (alphabetical order):
- - Ben Echols
- - Bruno Clermont
- - danda
- - Daniel Krawisz
- - Dario Nieuwenhuis
- - Dave Collins
- - David Hill
- - Javed Khan
- - Jonathan Gillham
- - Joseph Becher
- - Josh Rickmar
- - Justus Ranvier
- - Mawuli Adzoe
- - Olaoluwa Osuntokun
- - Rune T. Aune
-
-Changes in 0.11.1 (Wed May 27 2015)
- - Protocol and network related changes:
- - Use correct sub-command in reject message for rejected transactions
- (#436, #437)
- - Add a new parameter --torisolation which forces new circuits for each
- connection when using tor (#430)
- - Transaction relay (memory pool) changes:
- - Reduce the default number max number of allowed orphan transactions
- to 1000 (#419)
- - Add a new parameter --maxorphantx which allows the maximum number of
- orphan transactions stored in the mempool to be specified (#419)
- - RPC changes:
- - Modify listtransactions result to include the 'involveswatchonly' and
- 'vout' fields (#427)
- - Update getrawtransaction result to omit the 'confirmations' field
- when it is 0 (#420, #422)
- - Update signrawtransaction result to include errors (#423)
- - btcctl utility changes:
- - Add gettxoutproof command (#428)
- - Add verifytxoutproof command (#428)
- - Notable developer-related package changes:
- - The btcec package now provides the ability to perform ECDH
- encryption and decryption (#375)
- - The block and header validation in the blockchain package has been
- split to help pave the way toward concurrent downloads (#386)
- - Misc changes:
- - Minor peer optimization (#433)
- - Contributors (alphabetical order):
- - Dave Collins
- - David Hill
- - Federico Bond
- - Ishbir Singh
- - Josh Rickmar
-
-Changes in 0.11.0 (Wed May 06 2015)
- - Protocol and network related changes:
- - **IMPORTANT: Update is required due to the following point**
- - Correct a few corner cases in script handling which could result in
- forking from the network on non-standard transactions (#425)
- - Add a new checkpoint at block height 352940 (#418)
- - Optimized script execution (#395, #400, #404, #409)
- - Fix a case that could lead stalled syncs (#138, #296)
- - Network address manager changes:
- - Implement eclipse attack countermeasures as proposed in
- http://cs-people.bu.edu/heilman/eclipse (#370, #373)
- - Optional address indexing changes:
- - Fix an issue where a reorg could cause an orderly shutdown when the
- address index is active (#340, #357)
- - Transaction relay (memory pool) changes:
- - Increase maximum allowed space for nulldata transactions to 80 bytes
- (#331)
- - Implement support for the following rules specified by BIP0062:
- - The S value in ECDSA signature must be at most half the curve order
- (rule 5) (#349)
- - Script execution must result in a single non-zero value on the stack
- (rule 6) (#347)
- - NOTE: All 7 rules of BIP0062 are now implemented
- - Use network adjusted time in finalized transaction checks to improve
- consistency across nodes (#332)
- - Process orphan transactions on acceptance of new transactions (#345)
- - RPC changes:
- - Add support for a limited RPC user which is not allowed admin level
- operations on the server (#363)
- - Implement node command for more unified control over connected peers
- (#79, #341)
- - Implement generate command for regtest/simnet to support
- deterministically mining a specified number of blocks (#362, #407)
- - Update searchrawtransactions to return the matching transactions in
- order (#354)
- - Correct an issue with searchrawtransactions where it could return
- duplicates (#346, #354)
- - Increase precision of 'difficulty' field in getblock result to 8
- (#414, #415)
- - Omit 'nextblockhash' field from getblock result when it is empty
- (#416, #417)
- - Add 'id' and 'timeoffset' fields to getpeerinfo result (#335)
- - Websocket changes:
- - Implement new commands stopnotifyspent, stopnotifyreceived,
- stopnotifyblocks, and stopnotifynewtransactions to allow clients to
- cancel notification registrations (#122, #342)
- - btcctl utility changes:
- - A single dash can now be used as an argument to cause that argument to
- be read from stdin (#348)
- - Add generate command
- - Notable developer-related package changes:
- - The new version 2 btcjson package has now replaced the deprecated
- version 1 package (#368)
- - The btcec package now performs all signing using RFC6979 deterministic
- signatures (#358, #360)
- - The txscript package has been significantly cleaned up and had a few
- API changes (#387, #388, #389, #390, #391, #392, #393, #395, #396,
- #400, #403, #404, #405, #406, #408, #409, #410, #412)
- - A new PkScriptLocs function has been added to the wire package MsgTx
- type which provides callers that deal with scripts optimization
- opportunities (#343)
- - Misc changes:
- - Minor wire hashing optimizations (#366, #367)
- - Other minor internal optimizations
- - Contributors (alphabetical order):
- - Alex Akselrod
- - Arne Brutschy
- - Chris Jepson
- - Daniel Krawisz
- - Dave Collins
- - David Hill
- - Jimmy Song
- - Jonas Nick
- - Josh Rickmar
- - Olaoluwa Osuntokun
- - Oleg Andreev
-
-Changes in 0.10.0 (Sun Mar 01 2015)
- - Protocol and network related changes:
- - Add a new checkpoint at block height 343185
- - Implement BIP066 which includes support for version 3 blocks, a new
- consensus rule which prevents non-DER encoded signatures, and a
- double-threshold switchover mechanism
- - Rather than announcing all known addresses on getaddr requests which
- can possibly result in multiple messages, randomize the results and
- limit them to the max allowed by a single message (1000 addresses)
- - Add more reserved IP spaces to the address manager
- - Transaction relay (memory pool) changes:
- - Make transactions which contain reserved opcodes nonstandard
- - No longer accept or relay free and low-fee transactions that have
- insufficient priority to be mined in the next block
- - Implement support for the following rules specified by BIP0062:
- - ECDSA signature must use strict DER encoding (rule 1)
- - The signature script must only contain push operations (rule 2)
- - All push operations must use the smallest possible encoding (rule 3)
- - All stack values interpreted as a number must be encoding using the
- shortest possible form (rule 4)
- - NOTE: Rule 1 was already enforced, however the entire script now
- evaluates to false rather than only the signature verification as
- required by BIP0062
- - Allow transactions with nulldata transaction outputs to be treated as
- standard
- - Mining support changes:
- - Modify the getblocktemplate RPC to generate and return block templates
- for version 3 blocks which are compatible with BIP0066
- - Allow getblocktemplate to serve blocks when the current time is
- less than the minimum allowed time for a generated block template
- (https://github.com/btcsuite/btcd/issues/209)
- - Crypto changes:
- - Optimize scalar multiplication by the base point by using a
- pre-computed table which results in approximately a 35% speedup
- (https://github.com/btcsuite/btcec/issues/2)
- - Optimize general scalar multiplication by using the secp256k1
- endomorphism which results in approximately a 17-20% speedup
- (https://github.com/btcsuite/btcec/issues/1)
- - Optimize general scalar multiplication by using non-adjacent form
- which results in approximately an additional 8% speedup
- (https://github.com/btcsuite/btcec/issues/3)
- - Implement optional address indexing:
- - Add a new parameter --addrindex which will enable the creation of an
- address index which can be queried to determine all transactions which
- involve a given address
- (https://github.com/btcsuite/btcd/issues/190)
- - Add a new logging subsystem for address index related operations
- - Support new searchrawtransactions RPC
- (https://github.com/btcsuite/btcd/issues/185)
- - RPC changes:
- - Require TLS version 1.2 as the minimum version for all TLS connections
- - Provide support for disabling TLS when only listening on localhost
- (https://github.com/btcsuite/btcd/pull/192)
- - Modify help output for all commands to provide much more consistent
- and detailed information
- - Correct case in getrawtransaction which would refuse to serve certain
- transactions with invalid scripts
- (https://github.com/btcsuite/btcd/issues/210)
- - Correct error handling in the getrawtransaction RPC which could lead
- to a crash in rare cases
- (https://github.com/btcsuite/btcd/issues/196)
- - Update getinfo RPC to include the appropriate 'timeoffset' calculated
- from the median network time
- - Modify listreceivedbyaddress result type to include txids field so it
- is compatible
- - Add 'iswatchonly' field to validateaddress result
- - Add 'startingpriority' and 'currentpriority' fields to getrawmempool
- (https://github.com/btcsuite/btcd/issues/178)
- - Don't omit the 'confirmations' field from getrawtransaction when it is
- zero
- - Websocket changes:
- - Modify the behavior of the rescan command to automatically register
- for notifications about transactions paying to rescanned addresses
- or spending outputs from the final rescan utxo set when the rescan
- is through the best block in the chain
- - btcctl utility changes:
- - Make the list of commands available via the -l option rather than
- dumping the entire list on usage errors
- - Alphabetize and categorize the list of commands by chain and wallet
- - Make the help option only show the help options instead of also
- dumping all of the commands
- - Make the usage syntax much more consistent and correct a few cases of
- misnamed fields
- (https://github.com/btcsuite/btcd/issues/305)
- - Improve usage errors to show the specific parameter number, reason,
- and error code
- - Only show the usage for specific command is shown when a valid command
- is provided with invalid parameters
- - Add support for a SOCK5 proxy
- - Modify output for integer fields (such as timestamps) to display
- normally instead in scientific notation
- - Add invalidateblock command
- - Add reconsiderblock command
- - Add createnewaccount command
- - Add renameaccount command
- - Add searchrawtransactions command
- - Add importaddress command
- - Add importpubkey command
- - showblock utility changes:
- - Remove utility in favor of the RPC getblock method
- - Notable developer-related package changes:
- - Many of the core packages have been relocated into the btcd repository
- (https://github.com/btcsuite/btcd/issues/214)
- - A new version of the btcjson package that has been completely
- redesigned from the ground up based based upon how the project has
- evolved and lessons learned while using it since it was first written
- is now available in the btcjson/v2/btcjson directory
- - This will ultimately replace the current version so anyone making
- use of this package will need to update their code accordingly
- - The btcec package now provides better facilities for working directly
- with its public and private keys without having to mix elements from
- the ecdsa package
- - Update the script builder to ensure all rules specified by BIP0062 are
- adhered to when creating scripts
- - The blockchain package now provides a MedianTimeSource interface and
- concrete implementation for providing time samples from remote peers
- and using that data to calculate an offset against the local time
- - Misc changes:
- - Fix a slow memory leak due to tickers not being stopped
- (https://github.com/btcsuite/btcd/issues/189)
- - Fix an issue where a mix of orphans and SPV clients could trigger a
- condition where peers would no longer be served
- (https://github.com/btcsuite/btcd/issues/231)
- - The RPC username and password can now contain symbols which previously
- conflicted with special symbols used in URLs
- - Improve handling of obtaining random nonces to prevent cases where it
- could error when not enough entropy was available
- - Improve handling of home directory creation errors such as in the case
- of unmounted symlinks (https://github.com/btcsuite/btcd/issues/193)
- - Improve the error reporting for rejected transactions to include the
- inputs which are missing and/or being double spent
- - Update sample config file with new options and correct a comment
- regarding the fact the RPC server only listens on localhost by default
- (https://github.com/btcsuite/btcd/issues/218)
- - Update the continuous integration builds to run several tools which
- help keep code quality high
- - Significant amount of internal code cleanup and improvements
- - Other minor internal optimizations
- - Code Contributors (alphabetical order):
- - Beldur
- - Ben Holden-Crowther
- - Dave Collins
- - David Evans
- - David Hill
- - Guilherme Salgado
- - Javed Khan
- - Jimmy Song
- - John C. Vernaleo
- - Jonathan Gillham
- - Josh Rickmar
- - Michael Ford
- - Michail Kargakis
- - kac
- - Olaoluwa Osuntokun
-
-Changes in 0.9.0 (Sat Sep 20 2014)
- - Protocol and network related changes:
- - Add a new checkpoint at block height 319400
- - Add support for BIP0037 bloom filters
- (https://github.com/conformal/btcd/issues/132)
- - Implement BIP0061 reject handling and hence support for protocol
- version 70002 (https://github.com/conformal/btcd/issues/133)
- - Add testnet DNS seeds for peer discovery (testnet-seed.alexykot.me
- and testnet-seed.bitcoin.schildbach.de)
- - Add mainnet DNS seed for peer discovery (seeds.bitcoin.open-nodes.org)
- - Make multisig transactions with non-null dummy data nonstandard
- (https://github.com/conformal/btcd/issues/131)
- - Make transactions with an excessive number of signature operations
- nonstandard
- - Perform initial DNS lookups concurrently which allows connections
- more quickly
- - Improve the address manager to significantly reduce memory usage and
- add tests
- - Remove orphan transactions when they appear in a mined block
- (https://github.com/conformal/btcd/issues/166)
- - Apply incremental back off on connection retries for persistent peers
- that give invalid replies to mirror the logic used for failed
- connections (https://github.com/conformal/btcd/issues/103)
- - Correct rate-limiting of free and low-fee transactions
- - Mining support changes:
- - Implement getblocktemplate RPC with the following support:
- (https://github.com/conformal/btcd/issues/124)
- - BIP0022 Non-Optional Sections
- - BIP0022 Long Polling
- - BIP0023 Basic Pool Extensions
- - BIP0023 Mutation coinbase/append
- - BIP0023 Mutations time, time/increment, and time/decrement
- - BIP0023 Mutation transactions/add
- - BIP0023 Mutations prevblock, coinbase, and generation
- - BIP0023 Block Proposals
- - Implement built-in concurrent CPU miner
- (https://github.com/conformal/btcd/issues/137)
- NOTE: CPU mining on mainnet is pointless. This has been provided
- for testing purposes such as for the new simulation test network
- - Add --generate flag to enable CPU mining
- - Deprecate the --getworkkey flag in favor of --miningaddr which
- specifies which addresses generated blocks will choose from to pay
- the subsidy to
- - RPC changes:
- - Implement gettxout command
- (https://github.com/conformal/btcd/issues/141)
- - Implement validateaddress command
- - Implement verifymessage command
- - Mark getunconfirmedbalance RPC as wallet-only
- - Mark getwalletinfo RPC as wallet-only
- - Update getgenerate, setgenerate, gethashespersec, and getmininginfo
- to return the appropriate information about new CPU mining status
- - Modify getpeerinfo pingtime and pingwait field types to float64 so
- they are compatible
- - Improve disconnect handling for normal HTTP clients
- - Make error code returns for invalid hex more consistent
- - Websocket changes:
- - Switch to a new more efficient websocket package
- (https://github.com/conformal/btcd/issues/134)
- - Add rescanfinished notification
- - Modify the rescanprogress notification to include block hash as well
- as height (https://github.com/conformal/btcd/issues/151)
- - btcctl utility changes:
- - Accept --simnet flag which automatically selects the appropriate port
- and TLS certificates needed to communicate with btcd and btcwallet on
- the simulation test network
- - Fix createrawtransaction command to send amounts denominated in BTC
- - Add estimatefee command
- - Add estimatepriority command
- - Add getmininginfo command
- - Add getnetworkinfo command
- - Add gettxout command
- - Add lockunspent command
- - Add signrawtransaction command
- - addblock utility changes:
- - Accept --simnet flag which automatically selects the appropriate port
- and TLS certificates needed to communicate with btcd and btcwallet on
- the simulation test network
- - Notable developer-related package changes:
- - Provide a new bloom package in btcutil which allows creating and
- working with BIP0037 bloom filters
- - Provide a new hdkeychain package in btcutil which allows working with
- BIP0032 hierarchical deterministic key chains
- - Introduce a new btcnet package which houses network parameters
- - Provide new simnet network (--simnet) which is useful for private
- simulation testing
- - Enforce low S values in serialized signatures as detailed in BIP0062
- - Return errors from all methods on the btcdb.Db interface
- (https://github.com/conformal/btcdb/issues/5)
- - Allow behavior flags to alter btcchain.ProcessBlock
- (https://github.com/conformal/btcchain/issues/5)
- - Provide a new SerializeSize API for blocks
- (https://github.com/conformal/btcwire/issues/19)
- - Several of the core packages now work with Google App Engine
- - Misc changes:
- - Correct an issue where the database could corrupt under certain
- circumstances which would require a new chain download
- - Slightly optimize deserialization
- - Use the correct IP block for he.net
- - Fix an issue where it was possible the block manager could hang on
- shutdown
- - Update sample config file so the comments are on a separate line
- rather than the end of a line so they are not interpreted as settings
- (https://github.com/conformal/btcd/issues/135)
- - Correct an issue where getdata requests were not being properly
- throttled which could lead to larger than necessary memory usage
- - Always show help when given the help flag even when the config file
- contains invalid entries
- - General code cleanup and minor optimizations
-
-Changes in 0.8.0-beta (Sun May 25 2014)
- - Btcd is now Beta (https://github.com/conformal/btcd/issues/130)
- - Add a new checkpoint at block height 300255
- - Protocol and network related changes:
- - Lower the minimum transaction relay fee to 1000 satoshi to match
- recent reference client changes
- (https://github.com/conformal/btcd/issues/100)
- - Raise the maximum signature script size to support standard 15-of-15
- multi-signature pay-to-sript-hash transactions with compressed pubkeys
- to remain compatible with the reference client
- (https://github.com/conformal/btcd/issues/128)
- - Reduce max bytes allowed for a standard nulldata transaction to 40 for
- compatibility with the reference client
- - Introduce a new btcnet package which houses all of the network params
- for each network (mainnet, testnet3, regtest) to ultimately enable
- easier addition and tweaking of networks without needing to change
- several packages
- - Fix several script discrepancies found by reference client test data
- - Add new DNS seed for peer discovery (seed.bitnodes.io)
- - Reduce the max known inventory cache from 20000 items to 1000 items
- - Fix an issue where unknown inventory types could lead to a hung peer
- - Implement inventory rebroadcast handler for sendrawtransaction
- (https://github.com/conformal/btcd/issues/99)
- - Update user agent to fully support BIP0014
- (https://github.com/conformal/btcwire/issues/10)
- - Implement initial mining support:
- - Add a new logging subsystem for mining related operations
- - Implement infrastructure for creating block templates
- - Provide options to control block template creation settings
- - Support the getwork RPC
- - Allow address identifiers to apply to more than one network since both
- testnet3 and the regression test network unfortunately use the same
- identifier
- - RPC changes:
- - Set the content type for HTTP POST RPC connections to application/json
- (https://github.com/conformal/btcd/issues/121)
- - Modified the RPC server startup so it only requires at least one valid
- listen interface
- - Correct an error path where it was possible certain errors would not
- be returned
- - Implement getwork command
- (https://github.com/conformal/btcd/issues/125)
- - Update sendrawtransaction command to reject orphans
- - Update sendrawtransaction command to include the reason a transaction
- was rejected
- - Update getinfo command to populate connection count field
- - Update getinfo command to include relay fee field
- (https://github.com/conformal/btcd/issues/107)
- - Allow transactions submitted with sendrawtransaction to bypass the
- rate limiter
- - Allow the getcurrentnet and getbestblock extensions to be accessed via
- HTTP POST in addition to Websockets
- (https://github.com/conformal/btcd/issues/127)
- - Websocket changes:
- - Rework notifications to ensure they are delivered in the order they
- occur
- - Rename notifynewtxs command to notifyreceived (funds received)
- - Rename notifyallnewtxs command to notifynewtransactions
- - Rename alltx notification to txaccepted
- - Rename allverbosetx notification to txacceptedverbose
- (https://github.com/conformal/btcd/issues/98)
- - Add rescan progress notification
- - Add recvtx notification
- - Add redeemingtx notification
- - Modify notifyspent command to accept an array of outpoints
- (https://github.com/conformal/btcd/issues/123)
- - Significantly optimize the rescan command to yield up to a 60x speed
- increase
- - btcctl utility changes:
- - Add createencryptedwallet command
- - Add getblockchaininfo command
- - Add importwallet commmand
- - Add addmultisigaddress commmand
- - Add setgenerate command
- - Accept --testnet and --wallet flags which automatically select
- the appropriate port and TLS certificates needed to communicate
- with btcd and btcwallet (https://github.com/conformal/btcd/issues/112)
- - Allow path expansion from config file entries
- (https://github.com/conformal/btcd/issues/113)
- - Minor refactor simplify handling of options
- - addblock utility changes:
- - Improve logging by making it consistent with the logging provided by
- btcd (https://github.com/conformal/btcd/issues/90)
- - Improve several package APIs for developers:
- - Add new amount type for consistently handling monetary values
- - Add new coin selector API
- - Add new WIF (Wallet Import Format) API
- - Add new crypto types for private keys and signatures
- - Add new API to sign transactions including script merging and hash
- types
- - Expose function to extract all pushed data from a script
- (https://github.com/conformal/btcscript/issues/8)
- - Misc changes:
- - Optimize address manager shuffling to do 67% less work on average
- - Resolve a couple of benign data races found by the race detector
- (https://github.com/conformal/btcd/issues/101)
- - Add IP address to all peer related errors to clarify which peer is the
- cause (https://github.com/conformal/btcd/issues/102)
- - Fix a UPNP case issue that prevented the --upnp option from working
- with some UPNP servers
- - Update documentation in the sample config file regarding debug levels
- - Adjust some logging levels to improve debug messages
- - Improve the throughput of query messages to the block manager
- - Several minor optimizations to reduce GC churn and enhance speed
- - Other minor refactoring
- - General code cleanup
-
-Changes in 0.7.0 (Thu Feb 20 2014)
- - Fix an issue when parsing scripts which contain a multi-signature script
- which require zero signatures such as testnet block
- 000000001881dccfeda317393c261f76d09e399e15e27d280e5368420f442632
- (https://github.com/conformal/btcscript/issues/7)
- - Add check to ensure all transactions accepted to mempool only contain
- canonical data pushes (https://github.com/conformal/btcscript/issues/6)
- - Fix an issue causing excessive memory consumption
- - Significantly rework and improve the websocket notification system:
- - Each client is now independent so slow clients no longer limit the
- speed of other connected clients
- - Potentially long-running operations such as rescans are now run in
- their own handler and rate-limited to one operation at a time without
- preventing simultaneous requests from the same client for the faster
- requests or notifications
- - A couple of scenarios which could cause shutdown to hang have been
- resolved
- - Update notifynewtx notifications to support all address types instead
- of only pay-to-pubkey-hash
- - Provide a --rpcmaxwebsockets option to allow limiting the number of
- concurrent websocket clients
- - Add a new websocket command notifyallnewtxs to request notifications
- (https://github.com/conformal/btcd/issues/86) (thanks @flammit)
- - Improve btcctl utility in the following ways:
- - Add getnetworkhashps command
- - Add gettransaction command (wallet-specific)
- - Add signmessage command (wallet-specific)
- - Update getwork command to accept
- - Continue cleanup and work on implementing the RPC API:
- - Implement getnettotals command
- (https://github.com/conformal/btcd/issues/84)
- - Implement networkhashps command
- (https://github.com/conformal/btcd/issues/87)
- - Update getpeerinfo to always include syncnode field even when false
- - Remove help addenda for getpeerinfo now that it supports all fields
- - Close standard RPC connections on auth failure
- - Provide a --rpcmaxclients option to allow limiting the number of
- concurrent RPC clients (https://github.com/conformal/btcd/issues/68)
- - Include IP address in RPC auth failure log messages
- - Resolve a rather harmless data races found by the race detector
- (https://github.com/conformal/btcd/issues/94)
- - Increase block priority size and max standard transaction size to 50k
- and 100k, respectively (https://github.com/conformal/btcd/issues/71)
- - Add rate limiting of free transactions to the memory pool to prevent
- penny flooding (https://github.com/conformal/btcd/issues/40)
- - Provide a --logdir option (https://github.com/conformal/btcd/issues/95)
- - Change the default log file path to include the network
- - Add a new ScriptBuilder interface to btcscript to support creation of
- custom scripts (https://github.com/conformal/btcscript/issues/5)
- - General code cleanup
-
-Changes in 0.6.0 (Tue Feb 04 2014)
- - Fix an issue when parsing scripts which contain invalid signatures that
- caused a chain fork on block
- 0000000000000001e4241fd0b3469a713f41c5682605451c05d3033288fb2244
- - Correct an issue which could lead to an error in removeBlockNode
- (https://github.com/conformal/btcchain/issues/4)
- - Improve addblock utility as follows:
- - Check imported blocks against all chain rules and checkpoints
- - Skip blocks which are already known so you can stop and restart the
- import or start the import after you have already downloaded a portion
- of the chain
- - Correct an issue where the utility did not shutdown cleanly after
- processing all blocks
- - Add error on attempt to import orphan blocks
- - Improve error handling and reporting
- - Display statistics after input file has been fully processed
- - Rework, optimize, and improve headers-first mode:
- - Resuming the chain sync from any point before the final checkpoint
- will now use headers-first mode
- (https://github.com/conformal/btcd/issues/69)
- - Verify all checkpoints as opposed to only the final one
- - Reduce and bound memory usage
- - Rollback to the last known good point when a header does not match a
- checkpoint
- - Log information about what is happening with headers
- - Improve btcctl utility in the following ways:
- - Add getaddednodeinfo command
- - Add getnettotals command
- - Add getblocktemplate command (wallet-specific)
- - Add getwork command (wallet-specific)
- - Add getnewaddress command (wallet-specific)
- - Add walletpassphrasechange command (wallet-specific)
- - Add walletlock command (wallet-specific)
- - Add sendfrom command (wallet-specific)
- - Add sendmany command (wallet-specific)
- - Add settxfee command (wallet-specific)
- - Add listsinceblock command (wallet-specific)
- - Add listaccounts command (wallet-specific)
- - Add keypoolrefill command (wallet-specific)
- - Add getreceivedbyaccount command (wallet-specific)
- - Add getrawchangeaddress command (wallet-specific)
- - Add gettxoutsetinfo command (wallet-specific)
- - Add listaddressgroupings command (wallet-specific)
- - Add listlockunspent command (wallet-specific)
- - Add listlock command (wallet-specific)
- - Add listreceivedbyaccount command (wallet-specific)
- - Add validateaddress command (wallet-specific)
- - Add verifymessage command (wallet-specific)
- - Add sendtoaddress command (wallet-specific)
- - Continue cleanup and work on implementing the RPC API:
- - Implement submitblock command
- (https://github.com/conformal/btcd/issues/61)
- - Implement help command
- - Implement ping command
- - Implement getaddednodeinfo command
- (https://github.com/conformal/btcd/issues/78)
- - Implement getinfo command
- - Update getpeerinfo to support bytesrecv and bytessent
- (https://github.com/conformal/btcd/issues/83)
- - Improve and correct several RPC server and websocket areas:
- - Change the connection endpoint for websockets from /wallet to /ws
- (https://github.com/conformal/btcd/issues/80)
- - Implement an alternative authentication for websockets so clients
- such as javascript from browsers that don't support setting HTTP
- headers can authenticate (https://github.com/conformal/btcd/issues/77)
- - Add an authentication deadline for RPC connections
- (https://github.com/conformal/btcd/issues/68)
- - Use standard authentication failure responses for RPC connections
- - Make automatically generated certificate more standard so it works
- from client such as node.js and Firefox
- - Correct some minor issues which could prevent the RPC server from
- shutting down in an orderly fashion
- - Make all websocket notifications require registration
- - Change the data sent over websockets to text since it is JSON-RPC
- - Allow connections that do not have an Origin header set
- - Expose and track the number of bytes read and written per peer
- (https://github.com/conformal/btcwire/issues/6)
- - Correct an issue with sendrawtransaction when invoked via websockets
- which prevented a minedtx notification from being added
- - Rescan operations issued from remote wallets are no stopped when
- the wallet disconnects mid-operation
- (https://github.com/conformal/btcd/issues/66)
- - Several optimizations related to fetching block information from the
- database
- - General code cleanup
-
-Changes in 0.5.0 (Mon Jan 13 2014)
- - Optimize initial block download by introducing a new mode which
- downloads the block headers first (up to the final checkpoint)
- - Improve peer handling to remove the potential for slow peers to cause
- sluggishness amongst all peers
- (https://github.com/conformal/btcd/issues/63)
- - Fix an issue where the initial block sync could stall when the sync peer
- disconnects (https://github.com/conformal/btcd/issues/62)
- - Correct an issue where --externalip was doing a DNS lookup on the full
- host:port instead of just the host portion
- (https://github.com/conformal/btcd/issues/38)
- - Fix an issue which could lead to a panic on chain switches
- (https://github.com/conformal/btcd/issues/70)
- - Improve btcctl utility in the following ways:
- - Show getdifficulty output as floating point to 6 digits of precision
- - Show all JSON object replies formatted as standard JSON
- - Allow btcctl getblock to accept optional params
- - Add getaccount command (wallet-specific)
- - Add getaccountaddress command (wallet-specific)
- - Add sendrawtransaction command
- - Continue cleanup and work on implementing RPC API calls
- - Update getrawmempool to support new optional verbose flag
- - Update getrawtransaction to match the reference client
- - Update getblock to support new optional verbose flag
- - Update raw transactions to fully match the reference client including
- support for all transaction types and address types
- - Correct getrawmempool fee field to return BTC instead of Satoshi
- - Correct getpeerinfo service flag to return 8 digit string so it
- matches the reference client
- - Correct verifychain to return a boolean
- - Implement decoderawtransaction command
- - Implement createrawtransaction command
- - Implement decodescript command
- - Implement gethashespersec command
- - Allow RPC handler overrides when invoked via a websocket versus
- legacy connection
- - Add new DNS seed for peer discovery
- - Display user agent on new valid peer log message
- (https://github.com/conformal/btcd/issues/64)
- - Notify wallet when new transactions that pay to registered addresses
- show up in the mempool before being mined into a block
- - Support a tor-specific proxy in addition to a normal proxy
- (https://github.com/conformal/btcd/issues/47)
- - Remove deprecated sqlite3 imports from utilities
- - Remove leftover profile write from addblock utility
- - Quite a bit of code cleanup and refactoring to improve maintainability
-
-Changes in 0.4.0 (Thu Dec 12 2013)
- - Allow listen interfaces to be specified via --listen instead of only the
- port (https://github.com/conformal/btcd/issues/33)
- - Allow listen interfaces for the RPC server to be specified via
- --rpclisten instead of only the port
- (https://github.com/conformal/btcd/issues/34)
- - Only disable listening when --connect or --proxy are used when no
- --listen interface are specified
- (https://github.com/conformal/btcd/issues/10)
- - Add several new standard transaction checks to transaction memory pool:
- - Support nulldata scripts as standard
- - Only allow a max of one nulldata output per transaction
- - Enforce a maximum of 3 public keys in multi-signature transactions
- - The number of signatures in multi-signature transactions must not
- exceed the number of public keys
- - The number of inputs to a signature script must match the expected
- number of inputs for the script type
- - The number of inputs pushed onto the stack by a redeeming signature
- script must match the number of inputs consumed by the referenced
- public key script
- - When a block is connected, remove any transactions from the memory pool
- which are now double spends as a result of the newly connected
- transactions
- - Don't relay transactions resurrected during a chain switch since
- other peers will also be switching chains and therefore already know
- about them
- - Cleanup a few cases where rejected transactions showed as an error
- rather than as a rejected transaction
- - Ignore the default configuration file when --regtest (regression test
- mode) is specified
- - Implement TLS support for RPC including automatic certificate generation
- - Support HTTP authentication headers for web sockets
- - Update address manager to recognize and properly work with Tor
- addresses (https://github.com/conformal/btcd/issues/36) and
- (https://github.com/conformal/btcd/issues/37)
- - Improve btcctl utility in the following ways:
- - Add the ability to specify a configuration file
- - Add a default entry for the RPC cert to point to the location
- it will likely be in the btcd home directory
- - Implement --version flag
- - Provide a --notls option to support non-TLS configurations
- - Fix a couple of minor races found by the Go race detector
- - Improve logging
- - Allow logging level to be specified on a per subsystem basis
- (https://github.com/conformal/btcd/issues/48)
- - Allow logging levels to be dynamically changed via RPC
- (https://github.com/conformal/btcd/issues/15)
- - Implement a rolling log file with a max of 10MB per file and a
- rotation size of 3 which results in a max logging size of 30 MB
- - Correct a minor issue with the rescanning websocket call
- (https://github.com/conformal/btcd/issues/54)
- - Fix a race with pushing address messages that could lead to a panic
- (https://github.com/conformal/btcd/issues/58)
- - Improve which external IP address is reported to peers based on which
- interface they are connected through
- (https://github.com/conformal/btcd/issues/35)
- - Add --externalip option to allow an external IP address to be specified
- for cases such as tor hidden services or advanced network configurations
- (https://github.com/conformal/btcd/issues/38)
- - Add --upnp option to support automatic port mapping via UPnP
- (https://github.com/conformal/btcd/issues/51)
- - Update Ctrl+C interrupt handler to properly sync address manager and
- remove the UPnP port mapping (if needed)
- - Continue cleanup and work on implementing RPC API calls
- - Add importprivkey (import private key) command to btcctl
- - Update getrawtransaction to provide addresses properly, support
- new verbose param, and match the reference implementation with the
- exception of MULTISIG (thanks @flammit)
- - Update getblock with new verbose flag (thanks @flammit)
- - Add listtransactions command to btcctl
- - Add getbalance command to btcctl
- - Add basic support for btcd to run as a native Windows service
- (https://github.com/conformal/btcd/issues/42)
- - Package addblock utility with Windows MSIs
- - Add support for TravisCI (continuous build integration)
- - Cleanup some documentation and usage
- - Several other minor bug fixes and general code cleanup
-
-Changes in 0.3.3 (Wed Nov 13 2013)
- - Significantly improve initial block chain download speed
- (https://github.com/conformal/btcd/issues/20)
- - Add a new checkpoint at block height 267300
- - Optimize most recently used inventory handling
- (https://github.com/conformal/btcd/issues/21)
- - Optimize duplicate transaction input check
- (https://github.com/conformal/btcchain/issues/2)
- - Optimize transaction hashing
- (https://github.com/conformal/btcd/issues/25)
- - Rework and optimize wallet listener notifications
- (https://github.com/conformal/btcd/issues/22)
- - Optimize serialization and deserialization
- (https://github.com/conformal/btcd/issues/27)
- - Add support for minimum transaction fee to memory pool acceptance
- (https://github.com/conformal/btcd/issues/29)
- - Improve leveldb database performance by removing explicit GC call
- - Fix an issue where Ctrl+C was not always finishing orderly database
- shutdown
- - Fix an issue in the script handling for OP_CHECKSIG
- - Impose max limits on all variable length protocol entries to prevent
- abuse from malicious peers
- - Enforce DER signatures for transactions allowed into the memory pool
- - Separate the debug profile http server from the RPC server
- - Rework of the RPC code to improve performance and make the code cleaner
- - The getrawtransaction RPC call now properly checks the memory pool
- before consulting the db (https://github.com/conformal/btcd/issues/26)
- - Add support for the following RPC calls: getpeerinfo, getconnectedcount,
- addnode, verifychain
- (https://github.com/conformal/btcd/issues/13)
- (https://github.com/conformal/btcd/issues/17)
- - Implement rescan websocket extension to allow wallet rescans
- - Use correct paths for application data storage for all supported
- operating systems (https://github.com/conformal/btcd/issues/30)
- - Add a default redirect to the http profiling page when accessing the
- http profile server
- - Add a new --cpuprofile option which can be used to generate CPU
- profiling data on platforms that support it
- - Several other minor performance optimizations
- - Other minor bug fixes and general code cleanup
-
-Changes in 0.3.2 (Tue Oct 22 2013)
- - Fix an issue that could cause the download of the block chain to stall
- (https://github.com/conformal/btcd/issues/12)
- - Remove deprecated sqlite as an available database backend
- - Close sqlite compile issue as sqlite has now been removed
- (https://github.com/conformal/btcd/issues/11)
- - Change default RPC ports to 8334 (mainnet) and 18334 (testnet)
- - Continue cleanup and work on implementing RPC API calls
- - Add support for the following RPC calls: getrawmempool,
- getbestblockhash, decoderawtransaction, getdifficulty,
- getconnectioncount, getpeerinfo, and addnode
- - Improve the btcctl utility that is used to issue JSON-RPC commands
- - Fix an issue preventing btcd from cleanly shutting down with the RPC
- stop command
- - Add a number of database interface tests to ensure backends implement
- the expected interface
- - Expose some additional information from btcscript to be used for
- identifying "standard"" transactions
- - Add support for plan9 - thanks @mischief
- (https://github.com/conformal/btcd/pull/19)
- - Other minor bug fixes and general code cleanup
-
-Changes in 0.3.1-alpha (Tue Oct 15 2013)
- - Change default database to leveldb
- NOTE: This does mean you will have to redownload the block chain. Since we
- are still in alpha, we didn't feel writing a converter was worth the time as
- it would take away from more important issues at this stage
- - Add a warning if there are multiple block chain databases of different types
- - Fix issue with unexpected EOF in leveldb -- https://github.com/conformal/btcd/issues/18
- - Fix issue preventing block 21066 on testnet -- https://github.com/conformal/btcchain/issues/1
- - Fix issue preventing block 96464 on testnet -- https://github.com/conformal/btcscript/issues/1
- - Optimize transaction lookups
- - Correct a few cases of list removal that could result in improper cleanup
- of no longer needed orphans
- - Add functionality to increase ulimits on non-Windows platforms
- - Add support for mempool command which allows remote peers to query the
- transaction memory pool via the bitcoin protocol
- - Clean up logging a bit
- - Add a flag to disable checkpoints for developers
- - Add a lot of useful debug logging such as message summaries
- - Other minor bug fixes and general code cleanup
-
-Initial Release 0.3.0-alpha (Sat Oct 05 2013):
- - Initial release