Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
a8cccff
Merge #7298: fix(qt): keep PoSe score visible when hiding banned mast…
PastaPastaPasta May 28, 2026
48f72be
Merge #7360: fix: empty platformP2PPort deprecated field in protx lis…
PastaPastaPasta Jun 13, 2026
8f8616b
Merge #7372: backport: bitcoin/bitcoin#32693: depends: fix cmake comp…
PastaPastaPasta Jun 26, 2026
97c3dd1
Merge #7394: fix: stabilize par help text in manpages
PastaPastaPasta Jun 30, 2026
b003cdc
Merge #7395: ci: update GitHub Actions pins for Node 24
PastaPastaPasta Jul 1, 2026
90b5473
Merge #7396: fix: run of circular-dependencies with python3.15
PastaPastaPasta Jul 7, 2026
2915142
backport: bitcoin#27608 - p2p: Avoid prematurely clearing download st…
thepastaclaw Mar 19, 2026
8ffdf7f
Merge #7398: backport: compact block relay hardening (bitcoin#26898, …
PastaPastaPasta Jul 7, 2026
0ea6532
Merge #7387: test: migrate governance inv cache coverage to unit tests
PastaPastaPasta Jul 7, 2026
3ef3a5b
Merge #7408: fix: bound DKG contribution blob intake
PastaPastaPasta Jul 28, 2026
05cfe27
Merge #7351: fix: limit signing share sessions per peer
PastaPastaPasta Jun 25, 2026
44c396d
Merge #7402: fix: bound pending recovered sig queue to prevent remote…
PastaPastaPasta Jul 7, 2026
89bdf7c
Merge #7414: fix(net): throttle per-object governance vote sync requests
PastaPastaPasta Jul 8, 2026
9921621
Merge #7439: refactor: add bounded vector deserialization
PastaPastaPasta Jul 10, 2026
e118d0c
Merge #7259: fix: dangling point to cj client
PastaPastaPasta Jul 10, 2026
5b310df
Merge #7438: fix: bound SPORK signature deserialization
PastaPastaPasta Jul 10, 2026
da42f50
Merge #7424: fix: bound ChainLock seen cache
PastaPastaPasta Jul 10, 2026
9bbe808
Merge #7416: fix(net): bound quorum data response vectors
PastaPastaPasta Jul 10, 2026
5b5c6fb
Merge #7415: fix: bound pending sig share queue
PastaPastaPasta Jul 11, 2026
f855b13
Merge #7444: fix(net): bound bloom message vectors before allocation
PastaPastaPasta Jul 11, 2026
4b4d96a
Merge #7442: fix(net): authorize governance inv responses via the net…
PastaPastaPasta Jul 12, 2026
f011c80
Merge #7440: fix(net): bound governance vote signature deserialization
PastaPastaPasta Jul 10, 2026
7cc2cca
Merge #7450: test: make governance vote fixtures wire-valid
PastaPastaPasta Jul 12, 2026
5f5b960
Merge #7418: fix(net): bound signing message vector intake
PastaPastaPasta Jul 13, 2026
e203710
Merge #7419: fix(net): bound CoinJoin message vector intake
PastaPastaPasta Jul 20, 2026
550caf7
Merge #7465: fix(qt): handle pixel-sized fonts when scaling widgets
PastaPastaPasta Jul 29, 2026
f5c72c3
Merge #7347: fix: punish invalid dstx messages
PastaPastaPasta Jun 20, 2026
2194248
Merge #7348: fix: penalize oversized notfound messages
PastaPastaPasta Jun 25, 2026
24920a0
chore: prepare v23.1.8 release
PastaPastaPasta Jul 29, 2026
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: 3 additions & 2 deletions .github/workflows/label-merge-conflicts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ on:
permissions:
contents: read
pull-requests: write
# issues: write is required so the action can manage labels and post comments on PRs
issues: write
# Enforce other not needed permissions are off
actions: none
checks: none
deployments: none
issues: none
#metadata: read
packages: none
repository-projects: none
Expand All @@ -27,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check if prs are dirty
uses: eps1lon/actions-label-merge-conflict@releases/2.x
uses: eps1lon/actions-label-merge-conflict@v3.1.0
with:
dirtyLabel: "needs rebase"
repoToken: "${{ secrets.GITHUB_TOKEN }}"
Expand Down
16 changes: 12 additions & 4 deletions .github/workflows/merge-check.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
name: Check Merge Fast-Forward Only

permissions:
contents: read
pull-requests: write
# Required so we can apply labels to PRs (labels go through the issues API)
issues: write

on:
push:
Expand Down Expand Up @@ -42,11 +45,16 @@ jobs:
fi

- name: add labels
uses: actions-ecosystem/action-add-labels@v1
if: failure()
uses: actions/github-script@v8
if: failure() && github.event.pull_request
with:
labels: |
needs rebase
script: |
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels: ['needs rebase']
});

- name: comment
uses: mshick/add-pr-comment@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_docker_hub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
echo "build_tag=${TAG#v}" >> $GITHUB_OUTPUT

- name: Set suffix
uses: actions/github-script@v6
uses: actions/github-script@v8
id: suffix
with:
result-encoding: string
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/semantic-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
- uses: amannn/action-semantic-pull-request@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
Expand Down
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, 7)
define(_CLIENT_VERSION_BUILD, 8)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2026)
define(_COPYRIGHT_HOLDERS,[The %s developers])
Expand Down
1 change: 0 additions & 1 deletion contrib/containers/ci/ci-slim.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ RUN uv pip install --system --break-system-packages \
flake8==5.0.4 \
jinja2 \
lief==0.13.2 \
multiprocess \
mypy==0.981 \
pyzmq==24.0.1 \
vulture==2.6
Expand Down
61 changes: 34 additions & 27 deletions contrib/devtools/circular-dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import sys
import re
from multiprocess import Pool # type: ignore[import]
import multiprocessing
from typing import Dict, List, Set

MAPPING = {
Expand Down Expand Up @@ -33,10 +33,32 @@ def module_name(path):
return path[:-4]
return None

if __name__=="__main__":
files = dict()
deps: Dict[str, Set[str]] = dict()
files = dict()
deps: Dict[str, Set[str]] = dict()

# Defined at module level (reading the global `deps`) so it pickles by reference
# for multiprocessing.Pool; forked workers inherit the populated `deps`.
def handle_module2(module):
# Build the transitive closure of dependencies of module
closure: Dict[str, List[str]] = dict()
for dep in deps[module]:
closure[dep] = []
while True:
old_size = len(closure)
old_closure_keys = sorted(closure.keys())
for src in old_closure_keys:
for dep in deps[src]:
if dep not in closure:
closure[dep] = closure[src] + [src]
if len(closure) == old_size:
break
# If module is in its own transitive closure, it's a circular dependency; check if it is the shortest
if module in closure:
return [module] + closure[module]

return None

if __name__=="__main__":
RE = re.compile("^#include <(.*)>")

def handle_module(arg):
Expand All @@ -47,27 +69,6 @@ def handle_module(arg):
files[arg] = module
deps[module] = set()

def handle_module2(module):
# Build the transitive closure of dependencies of module
closure: Dict[str, List[str]] = dict()
for dep in deps[module]:
closure[dep] = []
while True:
old_size = len(closure)
old_closure_keys = sorted(closure.keys())
for src in old_closure_keys:
for dep in deps[src]:
if dep not in closure:
closure[dep] = closure[src] + [src]
if len(closure) == old_size:
break
# If module is in its own transitive closure, it's a circular dependency; check if it is the shortest
if module in closure:
return [module] + closure[module]

return None


# Iterate over files, and create list of modules
for arg in sys.argv[1:]:
handle_module(arg)
Expand Down Expand Up @@ -101,8 +102,14 @@ def shortest_c_dep():
if sorted_keys is None:
sorted_keys = sorted(deps.keys())

with Pool(8) as pool:
cycles = pool.map(handle_module2, sorted_keys)
# Use fork so workers inherit the populated `deps` global without
# having to pickle it for every task. fork is unavailable on
# Windows, so fall back to a serial map there.
if "fork" in multiprocessing.get_all_start_methods():
with multiprocessing.get_context("fork").Pool(8) as pool:
cycles = pool.map(handle_module2, sorted_keys)
else:
cycles = list(map(handle_module2, sorted_keys))

for cycle in cycles:
if cycle is not None and (shortest_cycles is None or len(cycle) < len(shortest_cycles)):
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-07-30" version="23.1.8"/>
<release date="2026-06-30" version="23.1.7"/>
<release date="2026-06-19" version="23.1.5"/>
<release date="2026-06-13" version="23.1.4"/>
Expand Down
5 changes: 5 additions & 0 deletions depends/packages/freetype.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ $(package)_download_path=https://download.savannah.gnu.org/releases/$(package)
$(package)_file_name=$(package)-$($(package)_version).tar.xz
$(package)_sha256_hash=8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7
$(package)_build_subdir=build
$(package)_patches += cmake_minimum.patch

define $(package)_set_vars
$(package)_config_opts := -DCMAKE_BUILD_TYPE=None -DBUILD_SHARED_LIBS=TRUE
Expand All @@ -12,6 +13,10 @@ define $(package)_set_vars
$(package)_config_opts += -DCMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE
endef

define $(package)_preprocess_cmds
patch -p1 < $($(package)_patch_dir)/cmake_minimum.patch
endef

define $(package)_config_cmds
$($(package)_cmake) -S .. -B .
endef
Expand Down
13 changes: 13 additions & 0 deletions depends/patches/freetype/cmake_minimum.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
build: set minimum required CMake to 3.12

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,7 +97,7 @@
# FreeType explicitly marks the API to be exported and relies on the compiler
# to hide all other symbols. CMake supports a C_VISBILITY_PRESET property
# starting with 2.8.12.
-cmake_minimum_required(VERSION 2.8.12)
+cmake_minimum_required(VERSION 3.12)

if (NOT CMAKE_VERSION VERSION_LESS 3.3)
# Allow symbol visibility settings also on static libraries. CMake < 3.3
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" "June 2026" "dash-cli v23.1.7" "User Commands"
.TH DASH-CLI "1" "July 2026" "dash-cli v23.1.8" "User Commands"
.SH NAME
dash-cli \- manual page for dash-cli v23.1.7
dash-cli \- manual page for dash-cli v23.1.8
.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.7
.B dash-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
Dash Core RPC client version v23.1.7
Dash Core RPC client version v23.1.8
.SH OPTIONS
.HP
\-?
Expand Down
14 changes: 7 additions & 7 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" "June 2026" "dash-qt v23.1.7" "User Commands"
.TH DASH-QT "1" "July 2026" "dash-qt v23.1.8" "User Commands"
.SH NAME
dash-qt \- manual page for dash-qt v23.1.7
dash-qt \- manual page for dash-qt v23.1.8
.SH SYNOPSIS
.B dash-qt
[\fI\,command-line options\/\fR] [\fI\,URI\/\fR]
.SH DESCRIPTION
Dash Core version v23.1.7
Dash Core version v23.1.8
.PP
Optional URI is a Dash address in BIP21 URI format.
.SH OPTIONS
Expand Down Expand Up @@ -128,13 +128,13 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-14\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
Set the number of script verification threads (0 = auto, <0 = leave that
many cores free, max: 15, default: 0)
.HP
\fB\-parbls=\fR<n>
.IP
Set the number of BLS verification threads (\fB\-14\fR to 33, 0 = auto, <0 =
leave that many cores free, default: 0)
Set the number of BLS verification threads (0 = auto, <0 = leave that
many cores free, max: 33, default: 0)
.HP
\fB\-persistmempool\fR
.IP
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" "June 2026" "dash-tx v23.1.7" "User Commands"
.TH DASH-TX "1" "July 2026" "dash-tx v23.1.8" "User Commands"
.SH NAME
dash-tx \- manual page for dash-tx v23.1.7
dash-tx \- manual page for dash-tx v23.1.8
.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.7
Dash Core dash\-tx utility version v23.1.8
.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" "June 2026" "dash-util v23.1.7" "User Commands"
.TH DASH-UTIL "1" "July 2026" "dash-util v23.1.8" "User Commands"
.SH NAME
dash-util \- manual page for dash-util v23.1.7
dash-util \- manual page for dash-util v23.1.8
.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.7
Dash Core dash\-util utility version v23.1.8
.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" "June 2026" "dash-wallet v23.1.7" "User Commands"
.TH DASH-WALLET "1" "July 2026" "dash-wallet v23.1.8" "User Commands"
.SH NAME
dash-wallet \- manual page for dash-wallet v23.1.7
dash-wallet \- manual page for dash-wallet v23.1.8
.SH DESCRIPTION
Dash Core dash\-wallet version v23.1.7
Dash Core dash\-wallet version v23.1.8
.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
14 changes: 7 additions & 7 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" "June 2026" "dashd v23.1.7" "User Commands"
.TH DASHD "1" "July 2026" "dashd v23.1.8" "User Commands"
.SH NAME
dashd \- manual page for dashd v23.1.7
dashd \- manual page for dashd v23.1.8
.SH SYNOPSIS
.B dashd
[\fI\,options\/\fR] \fI\,Start Dash Core\/\fR
.SH DESCRIPTION
Dash Core version v23.1.7
Dash Core version v23.1.8
.SH OPTIONS
.HP
\-?
Expand Down Expand Up @@ -126,13 +126,13 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-14\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
Set the number of script verification threads (0 = auto, <0 = leave that
many cores free, max: 15, default: 0)
.HP
\fB\-parbls=\fR<n>
.IP
Set the number of BLS verification threads (\fB\-14\fR to 33, 0 = auto, <0 =
leave that many cores free, default: 0)
Set the number of BLS verification threads (0 = auto, <0 = leave that
many cores free, max: 33, default: 0)
.HP
\fB\-persistmempool\fR
.IP
Expand Down
Loading
Loading