Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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 configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ AC_PREREQ([2.69])
dnl Don't forget to push a corresponding tag when updating any of _CLIENT_VERSION_* numbers
define(_CLIENT_VERSION_MAJOR, 23)
define(_CLIENT_VERSION_MINOR, 1)
define(_CLIENT_VERSION_BUILD, 2)
define(_CLIENT_VERSION_BUILD, 3)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2026)
define(_COPYRIGHT_HOLDERS,[The %s developers])
Expand Down
1 change: 1 addition & 0 deletions contrib/flatpak/org.dash.dash-core.metainfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
</screenshot>
</screenshots>
<releases>
<release date="2026-05-15" version="23.1.3"/>
<release date="2026-03-12" version="23.1.2"/>
<release date="2026-02-18" version="23.1.0"/>
<release date="2025-12-04" version="23.0.2"/>
Expand Down
6 changes: 3 additions & 3 deletions doc/man/dash-cli.1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-CLI "1" "March 2026" "dash-cli v23.1.2" "User Commands"
.TH DASH-CLI "1" "May 2026" "dash-cli v23.1.3" "User Commands"
.SH NAME
dash-cli \- manual page for dash-cli v23.1.2
dash-cli \- manual page for dash-cli v23.1.3
.SH SYNOPSIS
.B dash-cli
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Dash Core\/\fR
Expand All @@ -15,7 +15,7 @@ dash-cli \- manual page for dash-cli v23.1.2
.B dash-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
Dash Core RPC client version v23.1.2
Dash Core RPC client version v23.1.3
.SH OPTIONS
.HP
\-?
Expand Down
6 changes: 3 additions & 3 deletions doc/man/dash-qt.1
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-QT "1" "March 2026" "dash-qt v23.1.2" "User Commands"
.TH DASH-QT "1" "May 2026" "dash-qt v23.1.3" "User Commands"
.SH NAME
dash-qt \- manual page for dash-qt v23.1.2
dash-qt \- manual page for dash-qt v23.1.3
.SH SYNOPSIS
.B dash-qt
[\fI\,command-line options\/\fR] [\fI\,URI\/\fR]
.SH DESCRIPTION
Dash Core version v23.1.2
Dash Core version v23.1.3
.PP
Optional URI is a Dash address in BIP21 URI format.
.SH OPTIONS
Expand Down
6 changes: 3 additions & 3 deletions doc/man/dash-tx.1
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-TX "1" "March 2026" "dash-tx v23.1.2" "User Commands"
.TH DASH-TX "1" "May 2026" "dash-tx v23.1.3" "User Commands"
.SH NAME
dash-tx \- manual page for dash-tx v23.1.2
dash-tx \- manual page for dash-tx v23.1.3
.SH SYNOPSIS
.B dash-tx
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded dash transaction\/\fR
.br
.B dash-tx
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded dash transaction\/\fR
.SH DESCRIPTION
Dash Core dash\-tx utility version v23.1.2
Dash Core dash\-tx utility version v23.1.3
.SH OPTIONS
.HP
\-?
Expand Down
6 changes: 3 additions & 3 deletions doc/man/dash-util.1
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-UTIL "1" "March 2026" "dash-util v23.1.2" "User Commands"
.TH DASH-UTIL "1" "May 2026" "dash-util v23.1.3" "User Commands"
.SH NAME
dash-util \- manual page for dash-util v23.1.2
dash-util \- manual page for dash-util v23.1.3
.SH SYNOPSIS
.B dash-util
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
.SH DESCRIPTION
Dash Core dash\-util utility version v23.1.2
Dash Core dash\-util utility version v23.1.3
.SH OPTIONS
.HP
\-?
Expand Down
6 changes: 3 additions & 3 deletions doc/man/dash-wallet.1
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-WALLET "1" "March 2026" "dash-wallet v23.1.2" "User Commands"
.TH DASH-WALLET "1" "May 2026" "dash-wallet v23.1.3" "User Commands"
.SH NAME
dash-wallet \- manual page for dash-wallet v23.1.2
dash-wallet \- manual page for dash-wallet v23.1.3
.SH DESCRIPTION
Dash Core dash\-wallet version v23.1.2
Dash Core dash\-wallet version v23.1.3
.PP
dash\-wallet is an offline tool for creating and interacting with Dash Core wallet files.
By default dash\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
Expand Down
6 changes: 3 additions & 3 deletions doc/man/dashd.1
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASHD "1" "March 2026" "dashd v23.1.2" "User Commands"
.TH DASHD "1" "May 2026" "dashd v23.1.3" "User Commands"
.SH NAME
dashd \- manual page for dashd v23.1.2
dashd \- manual page for dashd v23.1.3
.SH SYNOPSIS
.B dashd
[\fI\,options\/\fR] \fI\,Start Dash Core\/\fR
.SH DESCRIPTION
Dash Core version v23.1.2
Dash Core version v23.1.3
.SH OPTIONS
.HP
\-?
Expand Down
43 changes: 10 additions & 33 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Dash Core version v23.1.2
# Dash Core version v23.1.3

This is a new patch version release, bringing GUI improvements, new features, bugfixes, and performance optimizations.
This is a new patch version release, bringing GUI improvements and bugfixes.
This release is **optional** for all nodes, although recommended.

Please report bugs using the issue tracker at GitHub:
Expand All @@ -27,49 +27,25 @@ require a reindex.

## GUI changes

- Introduced a framework for sourcing and applying data with dedicated feeds, used by the Masternode and Proposal list views for improved data flow and separation of concerns (dash#7146).
- Added a new "Proposal Information" widget to the Information tab with an interactive donut chart showing proposal budget allocation (dash#7159).
- Added distinct widgets for Dash-specific reporting in the Debug window, including dedicated Information and Network tabs (dash#7118).
- Added support for reporting `OP_RETURN` payloads as Data Transactions in the transaction list (dash#7144).
- Added Tahoe styled icons for macOS with runtime styling for each network type (mainnet, testnet, devnet, regtest), updated bundle icon, and added mask-based tray icon with generation scripts (dash#7180).
- Filter preferences in the masternode list are now persisted across sessions (dash#7148).
- Fixed overview page font double scaling, recalculated minimum width correctly, fixed `SERVICE` and `STATUS` column sorting, and fixed common types filtering in masternode list (dash#7147).
- Fixed `labelError` styling by moving it from `proposalcreate.ui` into `general.css` for consistency (dash#7145).
- Fixed banned masternodes incorrectly returning status=0 instead of their actual ban status (dash#7157).
- Restored the Send button when using an external signer (dash#7271).

## Bug Fixes

- Fixed MN update notifications where the old and new masternode lists were swapped, causing incorrect change detection (dash#7154).
- Reject identity elements in BLS deserialization and key generation to prevent invalid keys from being accepted (dash#7193).
- Fixed quorum labels not being correctly reseated when new quorum types are inserted (dash#7191).
- Skip collecting block txids during IBD to prevent unbounded memory growth in `ChainLockSigner` (dash#7208).
- Serialize `TrySignChainTip` to prevent concurrent signing races that could split signing shares across different block hashes (dash#7209).
- Properly skip evodb repair when reindexing to prevent unnecessary repair attempts (dash#7222).
- Kept relaying InstantSend lock inventory messages to non-masternode peers that request recovered signatures (dash#7293).
- Reverted an improper dual-way connection attempt avoidance change that could break recovered-signature handshakes, and added coverage for the symmetric `QSENDRECSIGS` handshake under spork 21 (dash#7289).
Comment thread
thepastaclaw marked this conversation as resolved.
- Fixed intermittent incorrect `CheckQueue` logging for invalid blocks (dash#7312).
- Fixed `listaddressbalances` RPC help so the documented result matches returned address balances (dash#7279).

## Miscellaneous

- Renamed `bitcoin-util` manpage and test references to `dash-util` (dash#7221).

## Interfaces

- Consolidated masternode counts into a single struct and exposed chainlock, InstantSend, credit pool, and quorum statistics through the node interface (dash#7160).

## Performance Improvements

- Replaced two heavy `HashMap` constructions with linear lookups in hot paths where the maps were rarely used, reducing overhead (dash#7176).

# v23.1.2 Change log
# v23.1.3 Change log

See detailed [set of changes][set-of-changes].

# Credits

Thanks to everyone who directly contributed to this release:

- Kittywhiskers Van Gogh
- Konstantin Akimov
- PastaPastaPasta
- UdjinM6

As well as everyone that submitted issues, reviewed pull requests and helped
debug the release candidates.
Expand All @@ -78,6 +54,7 @@ debug the release candidates.

These releases are considered obsolete. Old release notes can be found here:

- [v23.1.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-23.1.2.md) released Mar/12/2026
- [v23.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-23.1.0.md) released Feb/15/2026
- [v23.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-23.0.2.md) released Dec/4/2025
- [v23.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-23.0.0.md) released Nov/10/2025
Expand All @@ -92,4 +69,4 @@ These releases are considered obsolete. Old release notes can be found here:
- [v21.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.0.md) released Jul/25/2024
- [v20.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.1.md) released April/3/2024

[set-of-changes]: https://github.com/dashpay/dash/compare/v23.1.0...dashpay:v23.1.2
[set-of-changes]: https://github.com/dashpay/dash/compare/v23.1.2...dashpay:v23.1.3
95 changes: 95 additions & 0 deletions doc/release-notes/dash/release-notes-23.1.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Dash Core version v23.1.2

This is a new patch version release, bringing GUI improvements, new features, bugfixes, and performance optimizations.
This release is **optional** for all nodes, although recommended.

Please report bugs using the issue tracker at GitHub:

<https://github.com/dashpay/dash/issues>

# Upgrading and downgrading

## How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Dash-Qt (on Mac) or
dashd/dash-qt (on Linux).

## Downgrade warning

### Downgrade to a version < v23.0.0

Downgrading to a version older than v23.0.0 is not supported, and will
require a reindex.

# Release Notes

## GUI changes

- Introduced a framework for sourcing and applying data with dedicated feeds, used by the Masternode and Proposal list views for improved data flow and separation of concerns (dash#7146).
- Added a new "Proposal Information" widget to the Information tab with an interactive donut chart showing proposal budget allocation (dash#7159).
- Added distinct widgets for Dash-specific reporting in the Debug window, including dedicated Information and Network tabs (dash#7118).
- Added support for reporting `OP_RETURN` payloads as Data Transactions in the transaction list (dash#7144).
- Added Tahoe styled icons for macOS with runtime styling for each network type (mainnet, testnet, devnet, regtest), updated bundle icon, and added mask-based tray icon with generation scripts (dash#7180).
- Filter preferences in the masternode list are now persisted across sessions (dash#7148).
- Fixed overview page font double scaling, recalculated minimum width correctly, fixed `SERVICE` and `STATUS` column sorting, and fixed common types filtering in masternode list (dash#7147).
- Fixed `labelError` styling by moving it from `proposalcreate.ui` into `general.css` for consistency (dash#7145).
- Fixed banned masternodes incorrectly returning status=0 instead of their actual ban status (dash#7157).

## Bug Fixes

- Fixed MN update notifications where the old and new masternode lists were swapped, causing incorrect change detection (dash#7154).
- Reject identity elements in BLS deserialization and key generation to prevent invalid keys from being accepted (dash#7193).
- Fixed quorum labels not being correctly reseated when new quorum types are inserted (dash#7191).
- Skip collecting block txids during IBD to prevent unbounded memory growth in `ChainLockSigner` (dash#7208).
- Serialize `TrySignChainTip` to prevent concurrent signing races that could split signing shares across different block hashes (dash#7209).
- Properly skip evodb repair when reindexing to prevent unnecessary repair attempts (dash#7222).

## Miscellaneous

- Renamed `bitcoin-util` manpage and test references to `dash-util` (dash#7221).

## Interfaces

- Consolidated masternode counts into a single struct and exposed chainlock, InstantSend, credit pool, and quorum statistics through the node interface (dash#7160).

## Performance Improvements

- Replaced two heavy `HashMap` constructions with linear lookups in hot paths where the maps were rarely used, reducing overhead (dash#7176).

# v23.1.2 Change log

See detailed [set of changes][set-of-changes].

# Credits

Thanks to everyone who directly contributed to this release:

- Kittywhiskers Van Gogh
- Konstantin Akimov
- PastaPastaPasta
- UdjinM6

As well as everyone that submitted issues, reviewed pull requests and helped
debug the release candidates.

# Older releases

These releases are considered obsolete. Old release notes can be found here:

- [v23.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-23.1.0.md) released Feb/15/2026
- [v23.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-23.0.2.md) released Dec/4/2025
- [v23.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-23.0.0.md) released Nov/10/2025
- [v22.1.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.1.3.md) released Jul/15/2025
- [v22.1.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.1.2.md) released Apr/15/2025
- [v22.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.1.1.md) released Feb/17/2025
- [v22.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.1.0.md) released Feb/10/2025
- [v22.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.0.0.md) released Dec/12/2024
- [v21.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md) released Oct/22/2024
- [v21.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.0.md) released Aug/8/2024
- [v21.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.2.md) released Aug/1/2024
- [v21.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.0.md) released Jul/25/2024
- [v20.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.1.md) released April/3/2024

[set-of-changes]: https://github.com/dashpay/dash/compare/v23.1.0...dashpay:v23.1.2
13 changes: 7 additions & 6 deletions src/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,8 @@ class CMainParams : public CChainParams {
consensus.vDeployments[Consensus::DEPLOYMENT_V24].nFalloffCoeff = 5; // this corresponds to 10 periods
consensus.vDeployments[Consensus::DEPLOYMENT_V24].useEHF = true;

consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000b567e2d53a06de194061"); // 2429859
consensus.defaultAssumeValid = uint256S("0x00000000000000018fb7d55a2d7ab5f3d1369cf0d7eef25db727bf8c9ca7d4b2"); // 2429859
consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000b9040746437784aaec47"); // 2471728
consensus.defaultAssumeValid = uint256S("0x000000000000001a19ad7270422a00f86123ea94e0b295a3a796d6861bd7b032"); // 2471728

/**
* The message start string is designed to be unlikely to occur in normal data.
Expand Down Expand Up @@ -332,19 +332,20 @@ class CMainParams : public CChainParams {
{2216986, uint256S("0x0000000000000010b1135dc743f27f6fc8a138c6420a9d963fc676f96c2048f4")},
{2361500, uint256S("0x0000000000000009ba1e8f47851d036bb618a4f6565eb3c32d1f647d450ff195")},
{2421800, uint256S("0x000000000000000718ed026ebd644a8b70b42d4cbd7b25304c066c9bf15f85b7")},
{2471728, uint256S("0x000000000000001a19ad7270422a00f86123ea94e0b295a3a796d6861bd7b032")},
}
};

m_assumeutxo_data = MapAssumeutxo{
// TODO to be specified in a future patch.
};

// getchaintxstats 17280 000000000000000718ed026ebd644a8b70b42d4cbd7b25304c066c9bf15f85b7
// getchaintxstats 17280 000000000000001a19ad7270422a00f86123ea94e0b295a3a796d6861bd7b032
chainTxData = ChainTxData{
1770962602, // * UNIX timestamp of last known number of transactions (Block 2421800)
64859329, // * total number of transactions between genesis and that timestamp
1778832687, // * UNIX timestamp of last known number of transactions (Block 2471728)
69379403, // * total number of transactions between genesis and that timestamp
// (the tx=... number in the ChainStateFlushed debug.log lines)
0.9523581589072819, // * estimated number of transactions per second after that timestamp
0.1476929741159368, // * estimated number of transactions per second after that timestamp
};
}
};
Expand Down
19 changes: 18 additions & 1 deletion src/llmq/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -799,13 +799,28 @@ bool EnsureQuorumConnections(const Consensus::LLMQParams& llmqParams, CConnman&
util_params.m_base_index->GetBlockHash().ToString());

Uint256HashSet connections;
Uint256HashSet relayMembers;
if (isMember) {
connections = GetQuorumConnections(llmqParams, sporkman, util_params, myProTxHash, /*onlyOutbound=*/true);
// If all-members-connected is enabled for this quorum type, leverage the full-mesh
// connections for low-latency recovered sig propagation by treating all members as
// relay members (instead of the ring-based subset). This ensures peers will send
// QSENDRECSIGS to each other across the full mesh and set m_wants_recsigs widely.
if (IsAllMembersConnectedEnabled(llmqParams.type, sporkman)) {
for (const auto& dmn : members) {
if (dmn->proTxHash != myProTxHash) {
relayMembers.emplace(dmn->proTxHash);
}
}
} else {
relayMembers = GetQuorumRelayMembers(llmqParams, util_params, myProTxHash, true);
}
} else {
auto cindexes = CalcDeterministicWatchConnections(llmqParams.type, util_params.m_base_index, members.size(), 1);
for (auto idx : cindexes) {
connections.emplace(members[idx]->proTxHash);
}
relayMembers = connections;
}
if (!connections.empty()) {
if (!connman.HasMasternodeQuorumNodes(llmqParams.type, util_params.m_base_index->GetBlockHash()) &&
Expand All @@ -824,7 +839,9 @@ bool EnsureQuorumConnections(const Consensus::LLMQParams& llmqParams, CConnman&
LogPrint(BCLog::NET_NETCONN, debugMsg.c_str()); /* Continued */
}
connman.SetMasternodeQuorumNodes(llmqParams.type, util_params.m_base_index->GetBlockHash(), connections);
connman.SetMasternodeQuorumRelayMembers(llmqParams.type, util_params.m_base_index->GetBlockHash(), connections);
}
if (!relayMembers.empty()) {
connman.SetMasternodeQuorumRelayMembers(llmqParams.type, util_params.m_base_index->GetBlockHash(), relayMembers);
}
return true;
}
Expand Down
Loading
Loading