Skip to content

Releases: btcsuite/btcd

btcd v0.4.0-alpha

12 Dec 19:45
Compare
Choose a tag to compare
btcd v0.4.0-alpha Pre-release
Pre-release
  • Allow listen interfaces to be specified via --listen instead of only the
    port (#33)
  • Allow listen interfaces for the RPC server to be specified via
    --rpclisten instead of only the port
    (#34)
  • Only disable listening when --connect or --proxy are used when no
    --listen interface are specified
    (#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 (#36) and
    (#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
      (#48)
    • Allow logging levels to be dynamically changed via RPC
      (#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
    (#54)
  • Fix a race with pushing address messages that could lead to a panic
    (#58)
  • Improve which external IP address is reported to peers based on which
    interface they are connected through
    (#35)
  • Add --externalip option to allow an external IP address to be specified
    for cases such as tor hidden services or advanced network configurations
    (#38)
  • Add --upnp option to support automatic port mapping via UPnP
    (#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
    (#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

btcd v0.3.3-alpha

13 Nov 17:05
Compare
Choose a tag to compare
btcd v0.3.3-alpha Pre-release
Pre-release
  • Significantly improve initial block chain download speed
    (#20)
  • Add a new checkpoint at block height 267300
  • Optimize most recently used inventory handling
    (#21)
  • Optimize duplicate transaction input check
    (btcsuite/btcchain#2)
  • Optimize transaction hashing
    (#25)
  • Rework and optimize wallet listener notifications
    (#22)
  • Optimize serialization and deserialization
    (#27)
  • Add support for minimum transaction fee to memory pool acceptance
    (#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 (#26)
  • Add support for the following RPC calls: getpeerinfo, getconnectedcount,
    addnode, verifychain
    (#13)
    (#17)
  • Implement rescan websocket extension to allow wallet rescans
  • Use correct paths for application data storage for all supported
    operating systems (#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

btcd v0.3.2-alpha

22 Oct 21:54
Compare
Choose a tag to compare
btcd v0.3.2-alpha Pre-release
Pre-release
  • Add a 32-bit MSI for Windows
  • Fix an issue that could cause the download of the block chain to stall (#12)
  • Remove deprecated sqlite as an available database backend
  • Close sqlite compile issue as sqlite has now been removed (#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 (#19)
  • Other minor bug fixes and general code cleanup

btcd v0.3.1-alpha

15 Oct 22:06
Compare
Choose a tag to compare
btcd v0.3.1-alpha Pre-release
Pre-release
  • 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 -- #18
  • Fix issue preventing block 21066 on testnet -- btcsuite/btcchain#1
  • Fix issue preventing block 96464 on testnet -- btcsuite/btcscript#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

btcd v0.3.0-alpha

05 Oct 07:33
Compare
Choose a tag to compare
btcd v0.3.0-alpha Pre-release
Pre-release
  • Initial Public Preview