You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
835 lines
43 KiB
835 lines
43 KiB
============================================================================ |
|
User visible changes for btcd |
|
A full-node bitcoin implementation written in Go |
|
============================================================================ |
|
|
|
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
|
|
|