Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
d89fbfe
[qa] rpc-test: Normalize assert()
Nov 15, 2015
ad8c743
[qa] Extend tests
Jan 19, 2016
6aae129
[qa] wallet: Print maintenance
Jan 16, 2016
3316552
[qa] Test walletpassphrase timeout
Jan 8, 2016
f23cb7c
[qa] Add tests verifychain, lockunspent, getbalance, listsinceblock
Mar 6, 2016
b1dd64b
[qa] wallet: Wait for reindex to catch up
Mar 28, 2016
ff9b436
[qa] Bug fixes and refactor
Mar 19, 2016
c0d9e31
Tests: make prioritise_transaction.py more robust
sdaftuar Mar 1, 2016
f1f1b82
[qa] py2: Unfiddle strings into bytes explicitly
Apr 10, 2016
28ba22c
[qa] Remove misleading "errorString syntax"
Apr 3, 2016
6862627
Add listunspent() test for spendable/unspendable UTXO
joaopaulofonseca Apr 19, 2016
89ae854
Merge #7811: [0.12.2] qa Backports
Apr 25, 2016
9ca957b
tests: Make proxy_test work on travis servers without IPv6
laanwj Feb 9, 2016
564aaa2
travis: switch to Trusty
theuni Apr 20, 2016
18b3c3c
Merge #7950: [0.12] travis: switch to Trusty
laanwj Apr 27, 2016
9095594
Do not download transactions during inital sync
ptschip Dec 5, 2015
a9e73f7
Fix and cleanup listreceivedbyX documentation
instagibbs Feb 12, 2016
64fd0ce
fix spelling of advertise in src and doc
jloughry Feb 12, 2016
1c3d38b
Remove spurious dollar sign. Fixes #7189.
dooglus Feb 26, 2016
66d5408
Fix memleak in TorController [rework]
laanwj Mar 3, 2016
21b2f82
Don't resend wallet txs that aren't in our own mempool
morcos Feb 11, 2016
52c1011
Clarify description of blockindex
Feb 16, 2016
a5bc6a1
Remove vfReachable and modify IsReachable to only use vfLimited.
pstratem Feb 18, 2016
d3ead9b
Avoid "Unknown command" messages when receiving getaddr on outbound c…
rebroad Jun 26, 2015
5583a3d
Add curl to Gitian setup instrustions
btcdrak Mar 9, 2016
7e71785
Use txid as key in mapAlreadyAskedFor
sdaftuar Apr 11, 2016
06c73a1
Removed call to `TryCreateDirectory` from `GetDefaultDataDir` in `src…
alexreg Apr 9, 2016
43c14ac
Fix headers announcements edge case
sdaftuar Apr 20, 2016
87129b2
test: script_error checking in script_invalid tests
laanwj Feb 11, 2016
e3a9ce9
Refactor script tests
sipa Apr 5, 2016
c3aedca
doc: Remove outdated qt4 install information from README.md
laanwj May 12, 2016
e7ec24e
Merge #8001: [0.12.2] backport script_tests improvements
laanwj May 31, 2016
c3d1bc3
CBase58Data::SetString: cleanse the full vector
kazcw Apr 18, 2016
03c709b
Backport leveldb build integration to 0.12
jmcorgan Jun 5, 2016
932aedd
Cherry-pick of f59dceb (#7925) to 0.12.
jmcorgan Apr 22, 2016
9462e79
This is a cherry-pick of 89c844d back to 0.12.
jmcorgan Jun 8, 2016
20d00a1
Merge #7938: [0.12.2] Backports
laanwj Jun 9, 2016
0f8d574
OSX diskimages need 0775 folder permissions
jonasschnelli Jun 8, 2016
658307e
test: Add more thorough test for dbwrapper iterators
laanwj Apr 26, 2016
2d2b045
Reenable multithread scheduler test
paveljanik May 6, 2016
4fd6008
travis: 'make check' in parallel and verbose
theuni May 17, 2016
4ffd309
Create SingleNodeConnCB class for RPC tests
morcos Mar 4, 2016
80b6bfa
test_framework: detect failure of bitcoind startup
laanwj Mar 25, 2016
afbc000
test_framework: python3.4 authproxy compat
laanwj Mar 28, 2016
3036282
[qa] httpbasics: Actually test second connection
Apr 3, 2016
ed2f0e3
[qa] maxblocksinflight: Actually enable test
Mar 20, 2016
d5a9de3
tests: Check Content-Type header returned from RPC server
laanwj Apr 7, 2016
697ed8c
Check if zmq is installed in tests, update docs
elliotolds Mar 10, 2016
e0b1bbe
[qa] pull-tester: Don't mute zmq ImportError
Apr 9, 2016
7a83489
Tests: Fix deserialization of reject messages
sdaftuar Apr 19, 2016
493b89e
[qa] test_framework: Properly print exceptions and assert empty dict
Apr 23, 2016
c0fe8b5
[qa] smartfees: Properly use ordered dict
Apr 30, 2016
dc38a53
[qa] Move create_tx() to util.py
Jan 4, 2016
44fdacc
Merge #8185: [0.12.2] Various qa and test backports
laanwj Jun 20, 2016
ba61949
Fix LogPrint to LogPrintf
thelazier Jun 20, 2016
f3eebcf
Merge #8230: Fix LogPrint to LogPrintf
laanwj Jun 21, 2016
ffff324
[doc] 0.12: prepare release notes
Jun 22, 2016
9adad33
Merge #8236: [doc] 0.12.2: prepare release notes
laanwj Jun 22, 2016
080457c
Merge #8148: Backport leveldb build integration to 0.12
laanwj Jun 28, 2016
fe98533
[Qt] Disable some menu items during splashscreen/verification state
jonasschnelli May 11, 2016
ac5577b
Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY
btcdrak Feb 16, 2016
c4e5688
Rename NOP3 to CHECSEQUENCEVERIFY in rpc tests
btcdrak Jun 28, 2016
5c84382
Merge #8318: [0.12] Backport "Rename OP_NOP3 to OP_CHECKSEQUENCEVERIF…
laanwj Jul 11, 2016
1233cb4
Merge #8302: 0.12.2: [Qt] Disable some menu items during splashscreen…
laanwj Jul 11, 2016
6af7a58
Merge remote-tracking branch 'bitcoin/0.12' into mergebtc12, fix/dashify
UdjinM6 Aug 26, 2016
790607b
Fix wallet.py iand util.py after merging bitcoin 0.12
UdjinM6 Aug 26, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
# IPv6 support

sudo: false
dist: precise
group: legacy
dist: trusty

os: linux
language: cpp
Expand Down Expand Up @@ -93,6 +92,7 @@ matrix:
- compiler: gcc
before_install:
- git clone https://github.com/dashpay/dash_hash
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
install:
- cd dash_hash && python setup.py install --user && cd ..
- if [ "$PYZMQ" = "true" ]; then pip install pyzmq --user ; fi
Expand All @@ -107,7 +107,6 @@ script:
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
- BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
- depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then export CCACHE_READONLY=1; fi
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
- ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make distdir PACKAGE=dash VERSION=$HOST
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ submit new unit tests for old code. Unit tests can be compiled and run

There are also [regression and integration tests](/qa) of the RPC interface, written
in Python, that are run automatically on the build server.
These tests can be run with: `qa/pull-tester/rpc-tests.py`
These tests can be run (if the [test dependencies](/qa) are installed) with: `qa/pull-tester/rpc-tests.py`

The Travis CI system makes sure that every pull request is built for Windows
and Linux, OSX, and that unit and sanity tests are automatically run.
and Linux, OS X, and that unit and sanity tests are automatically run.

### Manual Quality Assurance (QA) Testing

Expand Down
2 changes: 1 addition & 1 deletion build-aux/m4/bitcoin_qt.m4
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[

dnl qt version is set to 'auto' and the preferred version wasn't found. Now try the other.
if test x$have_qt = xno && test x$bitcoin_qt_want_version = xauto; then
if test x$auto_priority_version = x$qt5; then
if test x$auto_priority_version = xqt5; then
PKG_CHECK_MODULES([QT], [$qt4_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes; QT_LIB_PREFIX=Qt; bitcoin_qt_got_major_vers=4], [have_qt=no])
else
PKG_CHECK_MODULES([QT], [$qt5_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes; QT_LIB_PREFIX=Qt5; bitcoin_qt_got_major_vers=5], [have_qt=no])
Expand Down
21 changes: 19 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ case $host in
fi

CPPFLAGS="$CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB"
LEVELDB_TARGET_FLAGS="TARGET_OS=OS_WINDOWS_CROSSCOMPILE"
LEVELDB_TARGET_FLAGS="-DOS_WINDOWS"
if test "x$CXXFLAGS_overridden" = "xno"; then
CXXFLAGS="$CXXFLAGS -w"
fi
Expand All @@ -274,7 +274,7 @@ case $host in
;;
*darwin*)
TARGET_OS=darwin
LEVELDB_TARGET_FLAGS="TARGET_OS=Darwin"
LEVELDB_TARGET_FLAGS="-DOS_MACOSX"
if test x$cross_compiling != xyes; then
BUILD_OS=darwin
AC_CHECK_PROG([PORT],port, port)
Expand Down Expand Up @@ -337,8 +337,11 @@ case $host in
;;
*linux*)
TARGET_OS=linux
LEVELDB_TARGET_FLAGS="-DOS_LINUX"
;;
*)
OTHER_OS=`echo ${host_os} | awk '{print toupper($0)}'`
LEVELDB_TARGET_FLAGS="-DOS_${OTHER_OS}"
;;
esac

Expand Down Expand Up @@ -523,6 +526,18 @@ if test x$use_reduce_exports = xyes; then
[AC_MSG_ERROR([Cannot set default symbol visibility. Use --disable-reduce-exports.])])
fi

dnl This can go away when we require c++11
TEMP_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -std=c++0x"
AC_MSG_CHECKING(for c++11 atomics)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <atomic>
]],[[]])],
[ AC_MSG_RESULT(yes); LEVELDB_ATOMIC_CPPFLAGS="-DLEVELDB_ATOMIC_PRESENT"; LEVELDB_ATOMIC_CXXFLAGS="-std=c++0x"],
[ AC_MSG_RESULT(no)]
)
CXXFLAGS="$TEMP_CXXFLAGS"

LEVELDB_CPPFLAGS=
LIBLEVELDB=
LIBMEMENV=
Expand Down Expand Up @@ -940,6 +955,8 @@ AC_SUBST(TESTDEFS)
AC_SUBST(LEVELDB_TARGET_FLAGS)
AC_SUBST(MINIUPNPC_CPPFLAGS)
AC_SUBST(MINIUPNPC_LIBS)
AC_SUBST(LEVELDB_ATOMIC_CPPFLAGS)
AC_SUBST(LEVELDB_ATOMIC_CXXFLAGS)
AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
AC_CONFIG_FILES([qa/pull-tester/run-bitcoind-for-test.sh],[chmod +x qa/pull-tester/run-bitcoind-for-test.sh])
AC_CONFIG_FILES([qa/pull-tester/tests_config.py],[chmod +x qa/pull-tester/tests_config.py])
Expand Down
2 changes: 1 addition & 1 deletion contrib/gitian-descriptors/gitian-osx-signer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,5 @@ script: |

tar -xf ${UNSIGNED}
./detached-sig-apply.sh ${UNSIGNED} signature/osx
${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Dash-Core" -no-pad -r -apple -o uncompressed.dmg signed-app
${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Dash-Core" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}
10 changes: 2 additions & 8 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,10 @@ The following are some helpful notes on how to run Dash on your native platform.

### Unix

You need the Qt4 run-time libraries to run Dash-Qt. On Debian or Ubuntu:

sudo apt-get install libqtgui4

Unpack the files into a directory and run:

- bin/32/dash-qt (GUI, 32-bit) or bin/32/dashd (headless, 32-bit)
- bin/64/dash-qt (GUI, 64-bit) or bin/64/dashd (headless, 64-bit)


- `bin/bitcoin-qt` (GUI) or
- `bin/bitcoind` (headless)

### Windows

Expand Down
155 changes: 23 additions & 132 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ Dash Core version 0.12.1 is now available from:

<https://www.dash.org/downloads/>

This is a new minor version release, including the BIP9, BIP68 and BIP112
softfork, various bugfixes and updated translations.



Expand All @@ -28,109 +26,10 @@ earlier.
Notable changes
===============

First version bits BIP9 softfork deployment
-------------------------------------------

This release includes a soft fork deployment to enforce [BIP68][],
[BIP112][] and [BIP113][] using the [BIP9][] deployment mechanism.

The deployment sets the block version number to 0x20000001 between
midnight 1st May 2016 and midnight 1st May 2017 to signal readiness for
deployment. The version number consists of 0x20000000 to indicate version
bits together with setting bit 0 to indicate support for this combined
deployment, shown as "csv" in the `getblockchaininfo` RPC call.

For more information about the soft forking change, please see
<https://github.com/bitcoin/bitcoin/pull/7648>

This specific backport pull-request can be viewed at
<https://github.com/bitcoin/bitcoin/pull/7543>

[BIP9]: https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki
[BIP68]: https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki
[BIP112]: https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki
[BIP113]: https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki

BIP68 soft fork to enforce sequence locks for relative locktime
---------------------------------------------------------------

[BIP68][] introduces relative lock-time consensus-enforced semantics of
the sequence number field to enable a signed transaction input to remain
invalid for a defined period of time after confirmation of its corresponding
outpoint.

For more information about the implementation, see
<https://github.com/bitcoin/bitcoin/pull/7184>

BIP112 soft fork to enforce OP_CHECKSEQUENCEVERIFY
--------------------------------------------------

[BIP112][] redefines the existing OP_NOP3 as OP_CHECKSEQUENCEVERIFY (CSV)
for a new opcode in the Bitcoin scripting system that in combination with
[BIP68][] allows execution pathways of a script to be restricted based
on the age of the output being spent.

For more information about the implementation, see
<https://github.com/bitcoin/bitcoin/pull/7524>

BIP113 locktime enforcement soft fork
-------------------------------------

Bitcoin Core 0.11.2 previously introduced mempool-only locktime
enforcement using GetMedianTimePast(). This release seeks to
consensus enforce the rule.

Bitcoin transactions currently may specify a locktime indicating when
they may be added to a valid block. Current consensus rules require
that blocks have a block header time greater than the locktime specified
in any transaction in that block.

Miners get to choose what time they use for their header time, with the
consensus rule being that no node will accept a block whose time is more
than two hours in the future. This creates a incentive for miners to
set their header times to future values in order to include locktimed
transactions which weren't supposed to be included for up to two more
hours.

The consensus rules also specify that valid blocks may have a header
time greater than that of the median of the 11 previous blocks. This
GetMedianTimePast() time has a key feature we generally associate with
time: it can't go backwards.

[BIP113][] specifies a soft fork enforced in this release that
weakens this perverse incentive for individual miners to use a future
time by requiring that valid blocks have a computed GetMedianTimePast()
greater than the locktime specified in any transaction in that block.

Mempool inclusion rules currently require transactions to be valid for
immediate inclusion in a block in order to be accepted into the mempool.
This release begins applying the BIP113 rule to received transactions,
so transaction whose time is greater than the GetMedianTimePast() will
no longer be accepted into the mempool.

**Implication for miners:** you will begin rejecting transactions that
would not be valid under BIP113, which will prevent you from producing
invalid blocks when BIP113 is enforced on the network. Any
transactions which are valid under the current rules but not yet valid
under the BIP113 rules will either be mined by other miners or delayed
until they are valid under BIP113. Note, however, that time-based
locktime transactions are more or less unseen on the network currently.

**Implication for users:** GetMedianTimePast() always trails behind the
current time, so a transaction locktime set to the present time will be
rejected by nodes running this release until the median time moves
forward. To compensate, subtract one hour (3,600 seconds) from your
locktimes to allow those transactions to be included in mempools at
approximately the expected time.

For more information about the implementation, see
<https://github.com/bitcoin/bitcoin/pull/6566>

Miscellaneous
-------------

The p2p alert system is off by default. To turn on, use `-alert` with
startup configuration.
Example item
---------------------------------------

Example text.

0.12.1 Change log
=================
Expand All @@ -140,57 +39,48 @@ behavior, not code moves, refactors and string updates. For convenience in locat
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.

### RPC and other APIs
- #7739 `7ffc2bd` Add abandoned status to listtransactions (jonasschnelli)
### RPC and REST

Asm script outputs replacements for OP_NOP2 and OP_NOP3
-------------------------------------------------------

OP_NOP2 has been renamed to OP_CHECKLOCKTIMEVERIFY by [BIP
65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki)

OP_NOP3 has been renamed to OP_CHECKSEQUENCEVERIFY by [BIP
112](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki)

The following outputs are affected by this change:
- RPC `getrawtransaction` (in verbose mode)
- RPC `decoderawtransaction`
- RPC `decodescript`
- REST `/rest/tx/` (JSON format)
- REST `/rest/block/` (JSON format when including extended tx details)
- `bitcoin-tx -json`

### Configuration and command-line options

### Block and transaction handling
- #7543 `834aaef` Backport BIP9, BIP68 and BIP112 with softfork (btcdrak)

### P2P protocol and network code
- #7804 `90f1d24` Track block download times per individual block (sipa)
- #7832 `4c3a00d` Reduce block timeout to 10 minutes (laanwj)

### Validation
- #7821 `4226aac` init: allow shutdown during 'Activating best chain...' (laanwj)
- #7835 `46898e7` Version 2 transactions remain non-standard until CSV activates (sdaftuar)

### Build system
- #7487 `00d57b4` Workaround Travis-side CI issues (luke-jr)
- #7606 `a10da9a` No need to set -L and --location for curl (MarcoFalke)
- #7614 `ca8f160` Add curl to packages (now needed for depends) (luke-jr)
- #7776 `a784675` Remove unnecessary executables from gitian release (laanwj)

### Wallet
- #7715 `19866c1` Fix calculation of balances and available coins. (morcos)

### GUI

### Tests and QA

### Miscellaneous
- #7617 `f04f4fd` Fix markdown syntax and line terminate LogPrint (MarcoFalke)
- #7747 `4d035bc` added depends cross compile info (accraze)
- #7741 `a0cea89` Mark p2p alert system as deprecated (btcdrak)
- #7780 `c5f94f6` Disable bad-chain alert (btcdrak)

Credits
=======

Thanks to everyone who directly contributed to this release:

- accraze
- Alex Morcos
- BtcDrak
- Jonas Schnelli
- Luke Dashjr
- MarcoFalke
- Mark Friedenbach
- NicolasDorier
- Pieter Wuille
- Suhas Daftuar
- Wladimir J. van der Laan

As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).

Expand All @@ -213,3 +103,4 @@ These release are considered obsolete. Old changelogs can be found here:
- [v0.11.0](release-notes/dash/release-notes-0.11.0.md) released Jan/15/2015
- [v0.10.x](release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014
- [v0.9.x](release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014

Loading