Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
35af157
doc: Clean out release notes
laanwj Mar 1, 2016
00d57b4
Workaround Travis-side CI issues
luke-jr Feb 9, 2016
a10da9a
[depends] builders: No need to set -L and --location for curl
Feb 26, 2016
ca8f160
Bugfix: gitian: Add curl to packages (now needed for depends)
luke-jr Feb 27, 2016
f04f4fd
[doc/log] Fix markdown syntax and line terminate LogPrint
Dec 19, 2015
15ba08c
Implement SequenceLocks functions
morcos Dec 7, 2015
0d09af7
Add RPC test exercising BIP68 (mempool only)
sdaftuar Dec 8, 2015
0a79c04
Bug fix to RPC test
morcos Feb 10, 2016
197c376
fix sdaftuar's nits again
morcos Feb 11, 2016
c0c5e09
BIP112: Implement CHECKSEQUENCEVERIFY
maaku Sep 25, 2015
6170506
Separate CheckLockTime() and CheckSequence() logic
btcdrak Feb 12, 2016
c8d309e
Code style fix.
btcdrak Feb 16, 2016
ade85e1
Add LockPoints
morcos Dec 4, 2015
6f83cf2
BIP9 Implementation
sipa Feb 15, 2016
5f90d4e
Versionbits tests
sipa Feb 20, 2016
0bdaacd
Softfork status report in RPC
sipa Mar 3, 2016
8ebc6f2
Add testing of ComputeBlockVersion
sdaftuar Mar 9, 2016
0710b30
Test versionbits deployments
sdaftuar Mar 9, 2016
6ff0b9f
RPC test for BIP9 warning logic
sdaftuar Mar 15, 2016
ee40924
Add CHECKSEQUENCEVERIFY softfork through BIP9
sipa Feb 20, 2016
648be9b
Soft fork logic for BIP113
btcdrak Feb 16, 2016
9713ed3
Soft fork logic for BIP68
btcdrak Feb 16, 2016
159ee3d
Policy: allow transaction version 2 relay policy.
btcdrak Feb 19, 2016
3a99feb
Add RPC test for BIP 68/112/113 soft fork.
morcos Mar 10, 2016
19866c1
Fix calculation of balances and available coins.
morcos Mar 17, 2016
7ffc2bd
[Wallet][RPC] add abandoned status to listtransactions
jonasschnelli Mar 17, 2016
597494f
Remove openssl info from init/log and from Qt debug window
jonasschnelli Feb 26, 2016
c0fe2c9
Mark p2p alert system as deprecated.
btcdrak Mar 24, 2016
26e9a05
Test of BIP9 fork activation of mtp, csv, sequence_lock
NicolasDorier Mar 16, 2016
a0cea89
Merge #7741: [0.12] Mark p2p alert system as deprecated
laanwj Mar 29, 2016
caf1381
Add bip68-sequence.py to extended rpc tests
btcdrak Feb 13, 2016
ba80cee
bump version to 0.12.1
laanwj Mar 30, 2016
c270b62
Fix comments in tests
btcdrak Mar 30, 2016
4d035bc
[doc] added depends cross compile info
accraze Mar 30, 2016
8692626
Disable bad chain alerts
btcdrak Mar 30, 2016
c5f94f6
Merge #7780: [0.12] Disable bad-chain alert
laanwj Apr 1, 2016
e10c044
[0.12] Update release notes
btcdrak Apr 3, 2016
640666b
[qa] rpc-tests: Properly use integers, floats
btcdrak Apr 3, 2016
834aaef
Merge #7543: [0.12] Backport BIP9, BIP68 and BIP112 with softfork
laanwj Apr 4, 2016
e3341aa
Merge #7800: [0.12] Update release notes
laanwj Apr 4, 2016
a784675
build: Remove unnecessary executables from gitian release
laanwj Mar 31, 2016
c210654
pre-rc1 translations update
laanwj Apr 5, 2016
4226aac
init: allow shutdown during 'Activating best chain...'
laanwj Apr 6, 2016
90f1d24
Track block download times per individual block
sipa Apr 3, 2016
4c3a00d
Reduce block timeout to 10 minutes
laanwj Apr 7, 2016
cada7c2
Fill in rest of release notes
laanwj Apr 7, 2016
46898e7
Version 2 transactions remain non-standard until CSV activates
sdaftuar Apr 7, 2016
465d309
doc: update release notes for #7835
laanwj Apr 8, 2016
de7c34c
Add missing link to BIP113
btcdrak Apr 10, 2016
9779e1e
Merge #7852: [0.12] Add missing reference to release notes
laanwj Apr 11, 2016
f4e4dd6
Merge bitcoin tag 'v0.12.1' into dash v0.12.1.x
schinzelh Jul 4, 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
2 changes: 1 addition & 1 deletion contrib/gitian-descriptors/gitian-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ files: []
script: |
WRAP_DIR=$HOME/wrapped
HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu"
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests LDFLAGS=-static-libstdc++"
FAKETIME_HOST_PROGS=""
FAKETIME_PROGS="date ar ranlib nm strip objcopy"
HOST_CFLAGS="-O2 -g"
Expand Down
4 changes: 2 additions & 2 deletions contrib/verifysfbinaries/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Verify SF Binaries ###
### Verify Binaries ###
This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org.

It first checks if the signature passes, and then downloads the files specified in the file, and checks if the hashes of these files match those that are specified in the signature file.

The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2.
The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2.
2 changes: 1 addition & 1 deletion doc/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ PROJECT_NAME = Dash
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 0.12.0
PROJECT_NUMBER = 0.12.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
Expand Down
4 changes: 2 additions & 2 deletions doc/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Dash Core 0.12.0
Dash Core 0.12.1
=====================

This is the official reference wallet for Dash digital currency and comprises the backbone of the Dash peer-to-peer network. You can [download Dash Core](https://www.dash.org/downloads/) or [build it yourself](#building) using the guides below.
Expand Down Expand Up @@ -47,7 +47,7 @@ The following are developer notes on how to build Dash on your native platform.

Development
---------------------
The Dash repo's [root README](https://github.com/dashpay/dash/blob/master/README.md) contains relevant information on the development process and automated testing.
The Dash repo's [root README](/README.md) contains relevant information on the development process and automated testing.

- [Developer Notes](developer-notes.md)
- [Multiwallet Qt Development](multiwallet-qt.md)
Expand Down
2 changes: 1 addition & 1 deletion doc/README_windows.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Dash Core 0.12.0
Dash Core 0.12.1
=====================

Intro
Expand Down
27 changes: 27 additions & 0 deletions doc/build-unix.md
Original file line number Diff line number Diff line change
Expand Up @@ -236,3 +236,30 @@ In this case there is no dependency on Berkeley DB 4.8.

Mining is also possible in disable-wallet mode, but only using the `getblocktemplate` RPC
call not `getwork`.

Additional Configure Flags
--------------------------
A list of additional configure flags can be displayed with:

./configure --help

ARM Cross-compilation
-------------------
These steps can be performed on, for example, an Ubuntu VM. The depends system
will also work on other Linux distributions, however the commands for
installing the toolchain will be different.

First install the toolchain:

sudo apt-get install g++-arm-linux-gnueabihf

To build executables for ARM:

cd depends
make HOST=arm-linux-gnueabihf NO_QT=1
cd ..
./configure --prefix=$PWD/depends/arm-linux-gnueabihf --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++
make


For further documentation on the depends system see [README.md](../depends/README.md) in the depends directory.
144 changes: 134 additions & 10 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
Dash Core 0.12
==================
Dash Core version 0.12.1 is now available from:

Dash Core tree 0.12.1.x release notes can be found here:
- [v0.12.1](release-notes/dash/release-notes-0.12.1.md)
<https://www.dash.org/downloads/>

Dash Core tree 0.12.1.x is a fork of Bitcoin Core tree 0.12
This is a new minor version release, including the BIP9, BIP68 and BIP112
softfork, various bugfixes and updated translations.



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

Example item
---------------------------------------

Example text.
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.

0.12.1 Change log
=================
Expand All @@ -42,31 +140,57 @@ 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 REST
### RPC and other APIs
- #7739 `7ffc2bd` Add abandoned status to listtransactions (jonasschnelli)

### 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/).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this update to our transifex ?
possibly off-topic , 😎

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True that. We might even go further, as @UdjinM6 separated the release notes of Bitcoin and Dash to separate folders, so most if these changes should go to bitcoin folder while retaining our own release-notes.


Expand Down
2 changes: 1 addition & 1 deletion doc/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ Note: check that SHA256SUMS itself doesn't end up in SHA256SUMS, which is a spur

- Optionally reddit /r/Dashpay, ... but this will usually sort out itself

- Notify Flare (?) ***TODO*** so that he can start building [https://launchpad.net/~dashpay/+archive/ubuntu/dash](the PPAs) ***TODO***
- Notify flare so that he can start building [the PPAs](https://launchpad.net/~dash.org/+archive/ubuntu/dash)

- Add release notes for the new version to the directory `doc/release-notes` in git master

Expand Down
4 changes: 4 additions & 0 deletions qa/pull-tester/rpc-tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@

#Tests
testScripts = [
'bip68-112-113-p2p.py',
'wallet.py',
'listtransactions.py',
'receivedby.py',
Expand Down Expand Up @@ -106,10 +107,13 @@
'invalidblockrequest.py', # TODO: works, needs dash_hash
'invalidtxrequest.py', # TODO: works, needs dash_hash
'abandonconflict.py',
'p2p-versionbits-warning.py',
]
testScriptsExt = [
'bip9-softforks.py',
'bip65-cltv.py',
'bip65-cltv-p2p.py', # TODO: works, needs dash_hash
'bip68-sequence.py',
'bipdersig-p2p.py', # TODO: works, needs dash_hash
'bipdersig.py',
'getblocktemplate_longpoll.py', # FIXME: "socket.error: [Errno 54] Connection reset by peer" on my Mac, same as https://github.com/bitcoin/bitcoin/issues/6651
Expand Down
6 changes: 6 additions & 0 deletions qa/rpc-tests/abandonconflict.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,12 @@ def run_test(self):
# inputs are still spent, but change not received
newbalance = self.nodes[0].getbalance()
assert(newbalance == balance - Decimal("24.9996"))
# Unconfirmed received funds that are not in mempool, also shouldn't show
# up in unconfirmed balance
unconfbalance = self.nodes[0].getunconfirmedbalance() + self.nodes[0].getbalance()
assert(unconfbalance == newbalance)
# Also shouldn't show up in listunspent
assert(not txABC2 in [utxo["txid"] for utxo in self.nodes[0].listunspent(0)])
balance = newbalance

# Abandon original transaction and verify inputs are available again
Expand Down
Loading