Oct 13, 2018
release 1.5.0.0
Assets 2

This is a major release version based of Bitcoin Unlimited compatible with the Bitcoin Cash specifications you could find here:

A subsequent release containing the implementation of the November 2018 specification will be released soon after this one.

List of notable changes and fixes to the code base:

  • Graphene Relay: A protocol for efficiently relaying blocks across a blockchain's network (experimental, turned off by default, set use-grapheneblocks=1 to turn it on)
  • blocksdb: Add leveldb as an alternative storage method for blocks and undo data (experimental, on-disk blocksdb data formats may change in subsequent releases, turned off by default)
  • Double Spend Relaying
  • BIP 135: Generalized version bits voting
  • clean up shadowing/thread clang warn
  • Update depends libraries
  • Rework of the Bitcoin fuzzer command line driver tool
  • Add stand alone cpu miner to the set of binaries (useful to showcase the new mining RPC calls, provides a template for development of mining pool software, and is valuable for regtest/testnet mining)
  • Cashlib: create a shared library to make creating wallets easier (experimental, this library factors useful functionality out of bitcoind into a separate shared library that is callable from higher level languages. Currently supports transaction signing, additional functionality TBD)
  • Improve QA machinery (travis mainly)
  • Port Hierarchical Deterministic wallet (BIP 32)
  • add space-efficient mining RPC calls that send only the block header, coinbase transaction, and merkle branch: getminingcandidate, submitminingsolution

@sickpig sickpig released this Aug 18, 2018 · 896 commits to release since this release

Assets 2

This release is a minor release which is compatible with the Bitcoin Cash planned protocol upgrade that will take place on May 15th

Relevant changes:

  • provide test infrastructure to create transactions with more complex script
  • various fix and improvements applied to BU request manager
  • fix socket select bug on windows platform
  • fix a problem with incoming connections due to node IP address discoverability
  • ensure that EB and datacarrier size are set properly after a node restart
  • fix spurious disconnect due to block download crowding out getheaders
  • prune slow peers during initial sync

Release notes:
https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/dev/doc/release-notes/release-notes-bucash1.3.0.1.md

@sickpig sickpig released this Apr 23, 2018 · 949 commits to release since this release

Assets 2

This is a major release version based of Bitcoin Unlimited compatible with the Bitcoin Cash specifications you could find here:

List of notable changes and fixes to the code base:

  • May 15th 2018 protocol upgrade, at the median time past (MTP) time of 1526400000 (Tue May 15 12:00:00 UTC, 2018) this new features will introduced:
    • OP_RETURN data carrier size increases to 220 bytes
    • Increase the maximum blocksize (EB) to 32,000,000 bytes
    • Re-activate the following opcodes: OP_CAT, OP_AND, OP_OR, OP_XOR, OP_DIV, OP_MOD
    • Activate these new opcodes: OP_SPLIT to replace OP_SUBSTR, OP_NUM2BIN, OP_BIN2NUM
  • New RPC command listtransactionsfrom
  • Add new OP_DATASIGVERIFY (currently disabled)
  • Increase LevelDB performance on Linux 32 bit machine (port from Core)
  • QA enhancements (port from Core)
  • Improve XTHIN machinery by the use of shared txn
  • Greatly improve initial blocks download (IBD) performances
  • Automatically determine a more optimal -dbcache setting if none provided
  • Improve Request Manager functionalities

@sickpig sickpig released this Jan 26, 2018 · 1172 commits to release since this release

Assets 2

This is a minor release that brings this notable changes and fixes to the code base:

  • new and more performant logging system
  • optimize and strengthen connections handling code
  • update icons and images to reflect Bitcoin Cash style/layout
  • Stop using NODE_BITCOIN_CASH service bit for preferential peering
  • New RPC command rollbackchain
  • update univalue and tidyformat subtrees
  • simplify code around Aug 1st 17 and Nov 13th 17 upgrades

@sickpig sickpig released this Jan 8, 2018 · 1558 commits to release since this release

Assets 13

Main Changes

The main changes of this release is the introduction of the cashaddr new address format.
The specification for this new address encoding could be find here.
The old format continue to be supported and won't be deprecated, The old format will remain the default till January 14th, 2017, on
that day the new format will be used as default new format automatically.
A command line flag -usecashaddr and configuration parameter could be used to select which format to by default.

Add limited support to BitPay Bitcoin Cash addresses format, this new format is accepted in any time an address is requested, and you can show the BitPay address form using the getaddressforms RPC. However BitPay-form addresses are not displayed in the GUI or as responses to any other RPCs.

Other notable changes:

  • Activate the new DAA by height instead of MTP (removal of newdaaactivationtime parameter)
  • Cash net magic became mandatory. Peers incoming connections using the old magic would be rejected.
  • Coin cache improvements
  • satoshi field added to any RPC call that returns an amount. The satoshi field is the amount in satoshis (as an integer). This field makes scripting easier since script authors do not need to use "perfect" fraction libraries such as financial decimal or binary coded decimal numbers.
  • Add two RPC calls allow importing multiple watch-only addresses (importaddresses) and private keys (importprivatekeys) and supercede importaddress and importprivkey. The wallet rescan required after an import can now take hours, causing the original commands to time out and render it very difficult to import many addresses or keys. These new commands allow batching of multiple addresses or private keys, allowing all addresses and private keys to be imported in one step. Also, the rescan operation occurs asynchronously, so the RPC command returns right away rather than timing out. Your script can determine the status of the rescan by running "getinfo" and looking at the new "status" field.
  • Add verbose "getstat" that returns a timestamp for reported statistics. And report the correct statistics regardless of system time changes (on platforms that support CLOCK_MONOTONIC)

@sickpig sickpig released this Nov 11, 2017 · 1640 commits to release since this release

Assets 2

Main Changes

The main change of this release is the introduction of a new difficulty adjustment algorithm (DAA)
that replaced the old EDA (Emergency Difficulty Adjustment). If you are interested in more detail
about the new DAA you could find more details in the technical specification.

Another major changes is the introduction of a new format to store the UTXO (chainstate) database.
The UTXO storage has been indexed per output rather than per transaction. The code has been ported
from the Bitcoin Core project. This feature brings advantages both in terms of a faster reindex and IBD
operation, lower memory consumption, on the other hand the on-disk space requirement increased of about 15%.

Other notable changes:

  • implementation of BIP 146 as an HF (LOW_S, NULLFAIL)
  • fix some UI inconsistencies introduced by the Coin Freeze feature
  • migrate and separate QT settings for BUCash nodes
  • only request blocks via HEADERS and not by INV (BIP 130)
  • various improvements to Xthin code
  • add a flag to return txns count rather than list them all for getblock RPC
  • change Bitcoin Cash ticker from BCC to BCH

@sickpig sickpig released this Sep 5, 2017 · 1881 commits to release since this release

Assets 2

The main change of this release is related to fixing a peering problem we had due to BUcash forwarding transactions that were not proper Bitcoin Cash transactions (see be83d56).

Other notable changes:

  • Update LevelDB to 1.20
  • Update windows build doc
  • Make the QR code show a fork specific prefix. I.e. use bitcoincash: rather than bitcoin: in payment URI
  • Optimize LevelDB flushing/pruning
  • Parallel executions python integration tests suite

@sickpig sickpig released this Aug 11, 2017 · 1937 commits to release since this release

Assets 2

This is a minor release version based of Bitcoin Unlimited compatible with the Bitcoin Cash specification you could find here:

https://github.com/Bitcoin-UAHF/spec/blob/master/uahf-technical-spec.md

Major changes and features included in this release are:

  • Expose CLTV protocol feature at the GUI level. Using bitcoin-qt it is possible to create and send transactions not spendable until a certain block or time in the future
  • Expose OP_RETURN protocol feature at the GUI level. Using bitcoin-qt it is possible to create and send transaction with a "public label" -- that is, a string that is embedded in your transaction
  • Fix sig validation bug related to pre-fork transaction
  • Improve reindexing performances
  • Adapt the qa tools (functional and unit tests) to work in a post-fork scenario
  • Introduce new net magic set. For a period of time the client will accept both set of net magic bits (old and new). - The mid term plan is to deprecate the old sets, in the mean time leverage the NODE_CASH service bit (1 << 5) to do preferential peering (already included in 1.1.0)
  • Avoid forwarding non replay protected transactions and signing new transaction only with the new SIGHASH_FORKID scheme.
  • Many fixes and small enhancements: orphan pool handling, extend unit tests coverage, improve dbcache performances.

@sickpig sickpig released this Aug 10, 2017 · 493 commits to BitcoinCash since this release

Assets 2

This is a major release version based on the dev branch that among other things add an implementation of the UAHF/BUIP055 (BCC) specification stored here:

https://github.com/Bitcoin-UAHF/spec/blob/master/uahf-technical-spec.md

Major changes and features included in this release are:

  • Bitcoin Cash compatibility (see spec)
  • Parallel Validation
  • nolnet reboot
  • C++11
  • Check command line and conf parameters and exit on startup if they don't exist
  • RPC usability improving (getblock now allows block height, getblock 0 to get genesis block)
  • Fix bitnodes seeder issue
  • add enable-gperf for memory profiling (for developers only)
  • All changes included in the 1.0.3 release (see release notes)
  • Many fixes and small enhancements