Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Nov 20, 2025

Now that the minimum supported clang version is larger than 14, the PackConstructorInitializers setting can be set to CurrentLine in the clang-format file. (This option was added in clang 14. Ref: https://releases.llvm.org/17.0.1/tools/clang/docs/ClangFormatStyleOptions.html#packconstructorinitializers)

The CurrentLine option will either put all constructor initializers on the current line if they fit. Otherwise, it will put each one on its own line.

The CurrentLine option is desirable over the current BinPack option, because:

  • It is what the majority of the codebase is currently using.
  • It makes it easier to skim the lines to ensure all fields are properly initialized, without having to parse bin-packed constructor initializers, possibly with nested initializer lists, function calls, or ternary operators.
  • It makes diffs smaller when an initializer is added or removed, because only a single line is touched. Otherwise, the whole bin-packed block could re-flow, making the diff harder to parse.

Note: The previous BinPack option allows any formatting, due to the current ColumnLimit: 0. I presume developers manually formatted most constructor initializers to be on separate lines? With the new CurrentLine setting, one has to only put the first initializer on a separate line, and clang-format will take care of the rest.

For example:

echo 'A::A(O o)
: m_first{o.a, o.b},
  m_second{fun(o)}, m_third{o.c?o.d:o.e} {}' | clang-format --style=file:./src/.clang-format

Will put each on a separate line. Previously, it was left as-is.

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 20, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33912.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK l0rinc, TheCharlatan, hebasto

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Copy link
Contributor

@l0rinc l0rinc left a comment

Choose a reason for hiding this comment

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

ACK fad0c76

I agree that this is our best option now, mostly because it will minimize diffs without blowing up line-count for trivial ones

@maflcko maflcko changed the title clang-format: Set PackConstructorInitializers: CurrentLine clang-format: Set PackConstructorInitializers: NextLineOnly Nov 20, 2025
@maflcko maflcko force-pushed the 2511-clang-format-PackConstructorInitializers branch 2 times, most recently from fabd98b to fad0c76 Compare November 20, 2025 11:02
@maflcko maflcko changed the title clang-format: Set PackConstructorInitializers: NextLineOnly clang-format: Set PackConstructorInitializers: CurrentLine Nov 20, 2025
Copy link
Contributor

@sedited sedited left a comment

Choose a reason for hiding this comment

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

ACK fad0c76

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

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

ACK fad0c76.

@hebasto hebasto merged commit 17072f7 into bitcoin:master Nov 20, 2025
46 checks passed
@maflcko maflcko deleted the 2511-clang-format-PackConstructorInitializers branch November 20, 2025 22:05
stringintech added a commit to stringintech/go-bitcoinkernel that referenced this pull request Nov 24, 2025
0690514d4f Merge bitcoin/bitcoin#33770: init: Require explicit -asmap filename
b2f88b53e0 Merge bitcoin/bitcoin#33286: doc: update multisig tutorial to use multipath descriptors
313cdd2bfb Merge bitcoin/bitcoin#33915: test: Retry download in get_previous_releases.py
17072f7005 Merge bitcoin/bitcoin#33912: clang-format: Set PackConstructorInitializers: CurrentLine
6b2d17b132 Merge bitcoin/bitcoin#33888: ci: Re-enable LINT_CI_SANITY_CHECK_COMMIT_SIG
ac71df4338 Merge bitcoin/bitcoin#33870: refactor: remove incorrect lifetimebounds
6cdb51c14e Merge bitcoin/bitcoin#33887: doc: Improve CI docs on env and qemu-user-static
29c37651c7 Merge bitcoin/bitcoin#33880: test: Fix race condition in IPC interface block progation test
32368cd3e9 Merge bitcoin/bitcoin#33905: ci: Consistenly only cache on the default branch
e55c49f851 Merge bitcoin/bitcoin#33851: depends: update xcb-util packages to latest versions
a07bd8415d Merge bitcoin/bitcoin#33824: ci: Enable experimental kernel stuff in most CI tasks via `dev-mode`
f541b92cf2 depends: expat 2.7.3
fad06f3bb4 test: retry download in get_previous_releases.py
2ebf4356e6 depends: libxcb 1.17.0
ba7ac870a3 depends: xcb_proto 1.17.0
fad0c76d0a clang-format: Set PackConstructorInitializers: CurrentLine
42d0692f91 depends: libxcb-util-cursor 0.1.6
25b85919ab depends: libxcb 1.15
d129384ca9 depends: libxcb-util-wm 0.4.2
0b857ae9e5 depends: libxcb-util-renderutil 0.3.10
35e50488b2 depends: libxcb-util-keysyms 0.4.1
74b68ad28b depends: libxcb-util-image 0.4.1
5bc0dde85d depends: libxcb-util 0.4.1
8d07292c28 depends: libXau 1.0.12
1af46cff94 Merge bitcoin/bitcoin#33896: clang-format: Set InsertNewlineAtEOF: true
27ac11ea0a Merge bitcoin/bitcoin#33867: kernel: handle null or empty directories in implementation
2578e6fc0f test: Fix race condition in IPC interface block propagation test
288b8c30be doc: Drop (default: none) from -i2psam description
509dc91db1 Merge bitcoin/bitcoin#33026: test, refactor: Embedded ASMap [1/3]: Selected minor preparatory work
b126f98194 Merge bitcoin-core/gui#910: Added test coverage for qt gui#901 console history filter
7d7b829c36 Merge bitcoin-core/gui#908: Remove HD seed reference from blank wallet tooltip
53b72372da Merge bitcoin/bitcoin#31734: miniscript: account for all `StringType` variants in `Miniscriptdescriptor::ToString()`
a7f9bbe4c5 Merge bitcoin/bitcoin#32821: rpc: Handle -named argument parsing where '=' character is used
55555db055 doc: Add missing --platform=linux to docker build command
fa0ce4c148 ci: Re-enable LINT_CI_SANITY_CHECK_COMMIT_SIG
faa0973de2 ci: [refactor] Rename CIRRUS_PR env var to LINT_CI_IS_PR
fa411f938e ci: Consistenly only cache on the default branch
552eb90071 doc: CI - Describe qemu-user-static usage
2afbbddee5 doc: CI - Clarify how important `env -i` is and why
2444488f6a Merge bitcoin/bitcoin#33894: net: Remove unused `local_socket_bytes` variable in `CConnman::GetAddresses()`
fa1bf6818f clang-format: Set InsertNewlineAtEOF: true
115d298a9f Merge bitcoin/bitcoin#33872: init: completely remove `-maxorphantx` option
a90f3922ff Merge bitcoin/bitcoin#32419: psbt: clarify PSBT, PSBTInput, PSBTOutput unserialization flows
4d893c0f46 net: Remove unused `local_socket_bytes` variable in `CConnman::GetAddresses()`
fa1dacaebe ci: Move lint exec snippet to stand-alone py file
ead849c9f1 Merge bitcoin/bitcoin#33886: test: Remove tests violating hardened std::span
c03081fdb4 Merge bitcoin/bitcoin#33776: ci: Lint follow-ups
fadb4f63cb test: Remove tests violating hardened std::span
6e21558160 Merge bitcoin/bitcoin#33869: refactor: Avoid -W*-whitespace in git archive
c8715aca95 Merge bitcoin/bitcoin#33247: build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings
ee5de407e3 Merge bitcoin/bitcoin#33537: guix: build `bitcoin-qt` with static libxcb & utils
024a787350 Merge bitcoin/bitcoin#33876: doc: Update NetBSD Build Guide
c66e988754 Merge bitcoin/bitcoin#33865: cmake: Specify Windows plugin path in `test_bitcoin-qt` property
c29eaeeaf9 doc: Update NetBSD Build Guide
7f318e1dd0 test: Add better coverage for Autofile size()
e221b25246 Merge bitcoin/bitcoin#33860: depends: drop Qt patches
b7af960eb8 refactor: Add AutoFile::size
ec0f75862e refactor: Modernize logging in util/asmap.cpp
606a251e0a tests: add unit test vectors for asmap interpreter
6657bcbdb4 kernel: allow null data_directory
0aebdac95d init: completely remove `-maxorphantx` option
99d012ec80 refactor: return reference instead of pointer
f743e6c5dd refactor: add missing LIFETIMEBOUND annotation for parameter
fa95353902 ci: Run macos tasks in a git archive, not git checkout
141117f5e8 refactor: remove incorrect LIFETIMEBOUND annotations
fae3618fd6 ci: Annotate all check runs with the pull request number
faf05d637d ci: Retry lint image building once after failure
96963b888e depends: static libxcb
ad06843fab depends: avoid qdbusviewer in Qt build
6848ed56dc depends: apply Qt patches to fix static libxcb use
dfde31f2ec Merge bitcoin/bitcoin#33864: scripted-diff: fix leftover references to `policy/fees.h`
5f1b016beb depends: static libxcb-util-image
98a2fbbe70 depends: static libxkbcommon
1412baf772 depends: static libxcb-util-wm
a4009dadf4 depends: static libxcb-keysyms
bcfb8679b3 depends: static libxcb-render-util
faf99ae379 refactor: Avoid -W*-whitespace in git archive
2594d5a189 build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings
310e4979b3 qt: Added test coverage for qt gui#901 console history filter
0dd8d5c237 cmake: Specify Windows plugin path in `test_bitcoin-qt` property
b0a3887154 scripted-diff: fix leftover references to `policy/fees.h`
48d4b936e0 Merge bitcoin/bitcoin#33511: init: Fix Ctrl-C shutdown hangs during wait calls
3c3c6adb72 Merge bitcoin/bitcoin#33745: mining: check witness commitment in submitBlock
e652b69b8d Merge bitcoin/bitcoin#33003: test: add option to skip large re-org test in feature_block
3789215f73 Merge bitcoin/bitcoin#33724: refactor: Return uint64_t from GetSerializeSize
d4e2a45833 Merge bitcoin/bitcoin#33750: doc: document fingerprinting risk when operating node on multiple networks
47618446a0 Merge bitcoin/bitcoin#33853: kernel: Allow null arguments for serialized data
3e9aca6f1b depends: drop qtbase-moc-ignore-gcc-macro.patch qt patch
fac4f6de28 ci: Rewrite lint task Bash snippet to Python
fa0d37a579 ci: Rewrite Bash to check inputs to Python
0da5a82700 depends: drop unused qt patch
fae83611b8 ci: [refactor] Use --preset=dev-mode in mac_native task
fadb67b4b4 ci: [refactor] Base nowallet task on --preset=dev-mode
6666980e86 ci: Enable bitcoin-chainstate and test_bitcoin-qt in win64 task
d0da953773 Merge bitcoin/bitcoin#32482: build: add `-W*-whitespace`
f450761f83 Merge bitcoin/bitcoin#33842: build: Bump g++ minimum supported version to 12
faff7b2312 ci: Enable experimental kernel stuff in i686 task
fa1632eecf ci: Enable experimental kernel stuff in mac-cross tasks
fad10ff7c9 ci: Enable experimental kernel stuff in armhf task
fa9d67c13d ci: Enable experimental kernel stuff in Alpine task
fab3fb8302 ci: Enable experimental kernel stuff in s390x task
fa7da8a646 ci: Enable experimental kernel stuff in valgrind task
fa9c2973d6 ci: Enable experimental kernel stuff in TSan task
fad30d4395 ci: Enable experimental kernel stuff in MSan task
fa9f29a4a7 doc: Recommend latest Debian stable or Ubuntu LTS
fa1711ee0d doc: Add GCC-12 min release notes
faa8be75c9 ci: Enable experimental kernel stuff in G++-12 task (previous releases)
fabce97b30 test: Remove gccbug_90348 test case
fa3854e432 test: Remove unused fs::create_directories test
fa9dacdbde util: [refactor] Remove unused create_directories workaround
138726a6f8 Merge bitcoin/bitcoin#33850: depends: drop qtbase_avoid_native_float16 qt patch
1c3d5c8ffd Merge bitcoin/bitcoin#33840: test: [refactor] Use reference over ptr to chainman
40dcbf580d build: add -Wtrailing-whitespace=any
a3ac59a431 ci: Enable experimental kernel stuff in ASan task
5b89956eeb kernel: Allow null arguments for serialized data
169f93d2ac depends: drop qtbase_avoid_native_float16 qt patch
d7659cd7e6 build: add -Wleading-whitespace=spaces
d86650220a cmake: Disable `-Wtrailing-whitespace` warnings for RCC-generated files
aabc5ca6ed cmake: Switch from AUTORCC to `qt6_add_resources`
25ae14c339 subprocess: replace tab with space
0c2b9dadd5 scripted-diff: remove whitespace in sha256_sse4.cpp
4da084fbc9 scripted-diff: change whitespace to spaces in univalue
e6caf150b3 ci: add moreutils to lint job
a7e8067610 Merge bitcoin/bitcoin#33181: guix: build for Linux HOSTS with `-static-libgcc`
b354d1ce5c Merge bitcoin/bitcoin#33820: kernel: trim Chain interface
fa807f78ae build: Bump g++ minimum supported version to 12
a4e96cae7d Merge bitcoin/bitcoin#33042: refactor: inline constant return values from `dbwrapper` write methods
8c2710b041 Merge bitcoin/bitcoin#32517: rpc: add "ischange: true" to decoded tx outputs in wallet gettransaction response
1fe851a478 Merge bitcoin/bitcoin#32180: p2p: Advance pindexLastCommonBlock early after connecting blocks
5f0303b93f Merge bitcoin/bitcoin#33443: log: reduce excessive "rolling back/forward" messages during block replay
f4903dddc9 Merge bitcoin/bitcoin#33433: Bugfix: QA: rpc_bind: Skip nonloopback test if no such address is found
7a4901c902 test, refactor: Fix `-Warray-bounds` warning
06e9458869 Merge bitcoin/bitcoin#32856: Update `minisketch` subtree
66978a1a95 kernel: remove btck_chain_get_tip
4dd7e6dc48 kernel: remove btck_chain_get_genesis
faf2759c8c test: [refactor] Use reference over ptr to chainman
490cb056f6 Merge bitcoin/bitcoin#33785: util: Allow `Assert` (et al.) in contexts without __func__
dcd0099a76 Merge bitcoin/bitcoin#33826: scripted-diff: Remove obsolete comment
01adbbcd9c Merge bitcoin/bitcoin#33827: doc: Correct `pkgin` command usage on NetBSD
eec21bc7c8 Merge bitcoin/bitcoin#33536: doc: reference fuzz coverage steps in quick-start
035f934e02 Merge bitcoin/bitcoin#33823: ci: Use cmake --preset=dev-mode in test-each-commit task
ddd2afac10 Merge bitcoin/bitcoin#33676: interfaces: enable cancelling running `waitNext` calls
dee7eec643 doc: mention coverage build in quickstart section
0698c6b494 doc: Correct `pkgin` command usage on NetBSD
36724205fc scripted-diff: Remove obsolete comment
ca1ce52a0f Merge bitcoin/bitcoin#33825: refactor: Add missing include in bitcoinkernel_wrapper.h
fa1e8d8bad refactor: Add missing include in bitcoinkernel_wrapper.h
fa6db67369 ci: [refactor] Extract build_dir constant in ci-test-each-commit-exec.py
fa95e6cdc1 ci: Use cmake --preset=dev-mode in test-each-commit task
513a0da2e0 Merge bitcoin/bitcoin#33818: ci: Extend tidy job to cover kernel code
5d0a40d607 ci: Extend tidy job to cover kernel code
93e79181da Merge bitcoin/bitcoin#33786: script: remove dead code in `CountWitnessSigOps`
3c4bec6223 Merge bitcoin/bitcoin#33782: test: remove obsolete `get_{key,multisig}` helpers from wallet_util.py
4b12beedae Merge bitcoin/bitcoin#33793: test: move create_malleated_version() to messages.py for reuse
0b45e6db10 Merge bitcoin/bitcoin#33789: doc: add cmake help option in Windows build docs
2b9c351198 Merge bitcoin/bitcoin#33768: refactor: remove dead branches in `SingletonClusterImpl`
fad6efd3be refactor: Use STR_INTERNAL_BUG macro where possible
fada379589 doc: Remove unused bugprone-lambda-function-name suppression
f06c6e1898 guix: build for Linux HOSTS with -static-libgcc
1bdf4695b0 guix: patch store paths out of libunwind
078a72c35f guix: move static-libc++ into CMAKE_EXE_LINKER_FLAGS flags
2bd155e6ee test: move create_malleated_version() to messages.py for reuse
9577daa3b8 doc: Add cmake help option in Windows build instructions
fae1d99651 refactor: Use const reference to std::source_location
fa5fbcd615 util: Allow Assert() in contexts without __func__
24bcad3d4d refactor: remove dead code in `CountWitnessSigOps`
ec8516ceb7 test: remove obsolete `get_{key,multisig}` helpers from wallet_util.py
2d23820ee1 refactor: remove dead branches in `SingletonClusterImpl`
e346ecae83 Add eclipse, partitioning, and fingerprinting note to i2p.md
f6ec3519a3 init: Require explicit -asmap filename
6eaa00fe20 test: clarify submitBlock() mutates the template
862bd43283 mining: ensure witness commitment check in submitBlock
00d1b6ef4b doc: clarify UpdateUncommittedBlockStructures
929f69d0ff qt: Remove HD seed reference from blank wallet tooltip
19a6a3e75e Add eclipse, partitioning, and fingerprinting note in tor.md
fa6c0bedd3 refactor: Return uint64_t from GetSerializeSize
fad0c8680e refactor: Use uint64_t over size_t for serialized-size values
fa4f388fc9 refactor: Use fixed size ints over (un)signed ints for serialized values
060bb55508 rpc: add decoded tx details to gettransaction with extra wallet fields
ad1c3bdba5 [move only] move DecodeTxDoc() to a common util file for sharing
d633db5416 rpc: add "ischange: true" in wallet gettransaction decoded tx output
fa01f38e53 move-only: Move CBlockFileInfo to kernel namespace
fa2bbc9e4c refactor: [rpc] Remove cast when reporting serialized size
fa364af89b test: Remove outdated comment
dcb56fd4cb interfaces: add interruptWait method
de7c3587cd doc: Update add checksum instructions in tutorial
c235aa468b Update minisketch subtree to latest upstream
4543a3bde2 Squashed 'src/minisketch/' changes from ea8f66b1ea..d1bd01e189
01cc20f330 test: improve coverage for a resolved stalling situation
9af6daf07e test: remove magic number when checking for blocks that have arrived
3069d66dca p2p: During block download, adjust pindexLastCommonBlock better
2a46e94a16 doc: Update multisig-tutorial.md to use multipath descriptors
c25a5e670b init: Signal m_tip_block_cv on Ctrl-C
f53dbbc505 test: Add functional tests for named argument parsing
694f04e2bd rpc: Handle -named argument parsing where '=' character is used
6a29f79006 test: Test SIGTERM handling during waitforblockheight call
1fc7a81f1f log: reduce excessive messages during block replay
79b4c276e7 Bugfix: QA: rpc_bind: Skip nonloopback test if no such address is found
743abbcbde refactor: inline constant return value of `BlockTreeDB::WriteBatchSync` and `BlockManager::WriteBlockIndexDB` and `BlockTreeDB::WriteFlag`
e030240e90 refactor: inline constant return value of `CDBWrapper::Erase` and `BlockTreeDB::WriteReindexing`
cdab9480e9 refactor: inline constant return value of `CDBWrapper::Write`
d1847cf5b5 refactor: inline constant return value of `TxIndex::DB::WriteTxs`
50b63a5698 refactor: inline constant return value of `CDBWrapper::WriteBatch`
8810642b57 test: add option to skip large re-org test in feature_block
d31158d364 psbt: clarify PSBT, PSBTInput, PSBTOutput unserialization flows
28a4fcb03c test: check listdescriptors do not return a mix of hardened derivation marker
975783cb79 descriptor: account for all StringType in MiniscriptDescriptor::ToStringHelper()

git-subtree-dir: depend/bitcoin
git-subtree-split: 0690514d4f72aac251ee0b876cded9187d42c63e
alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Dec 1, 2025
…356041e58d1

6356041e58d1 Merge bitcoin/bitcoin#33972: cmake: Make `BUILD_KERNEL_TEST` depend on `BUILD_KERNEL_LIB`
7d7cb1bb48f1 Merge bitcoin/bitcoin#33971: cmake: Set `WITH_ZMQ` to `ON` in Windows presets
fe1815d48f0c cmake: Make `BUILD_KERNEL_TEST` depend on `BUILD_KERNEL_LIB`
49c672853503 cmake: Set `WITH_ZMQ` to `ON` in Windows presets
f6acbef1084e Merge bitcoin/bitcoin#33764: ci: Add Windows + UCRT jobs for cross-compiling and native testing
808f1d972be3 Merge bitcoin/bitcoin#32009: contrib: turn off compression of macOS SDK to fix determinism (across distros)
4de26b111f4d Merge bitcoin/bitcoin#33514: ci: clear out space on CentOS, depends, gui GHA job
38c8474d0d77 Merge bitcoin/bitcoin#33914: Change Parse descriptor argument to string_view
4b25b274de66 Merge bitcoin/bitcoin#33951: test: check for output to stdout in `TestShell` test
52230a7f697f test: check for output to stdout in `TestShell` test
85d058dc537e Merge bitcoin/bitcoin#33946: interfaces: remove redundant mempool lock in ChainImpl::isInMempool()
e07e57368e9f ci: clear out space on centos job
79d6e874e1da Merge bitcoin/bitcoin#32587: test: Fix reorg patterns in tests to use proper fork-based approach
e249ea7da6c2 Merge bitcoin/bitcoin#33945: depends: latest config.guess & config.sub
3e01b5d0e7be contrib: rename gen-sdk to gen-sdk.py
c1213a35abed macdeploy: disable compression in macOS gen-sdk script
a33d03454508 contrib: more selectively pick files for macOS SDK
70d9e8f0a15d fix: reorg behaviour in mempool tests to match real one
540ed333f6c8 Move the create_empty_fork method to the test framework's blocktools.py module to enable reuse across multiple tests.
2909655fba91 fix: remove redundant mempool lock in ChainImpl::isInMempool()
d5ed4ba9d862 Merge bitcoin/bitcoin#33906: depends: Add patch for Windows11Style plugin
3e4355314b1a depends: latest config.sub
04eb84fe3f73 depends: latest config.guess
b30262dcaa28 Merge bitcoin/bitcoin#33903: ci: Remove redundant busybox option
1a5f1eb08067 Merge bitcoin/bitcoin#33921: doc: clarify and cleanup macOS fuzzing notes
72cb8cef9778 Merge bitcoin/bitcoin#33862: txgraph: drop move assignment operator
ade0397f59f2 txgraph: drop move assignment operator
5336bcd57849 Merge bitcoin/bitcoin#33855: kernel: add btck_block_tree_entry_equals
4f65a1c5db84 Merge bitcoin/bitcoin#33917: clang-format: Set Bitcoin Core IncludeCategories
902717b66dc1 Merge bitcoin/bitcoin#33918: depends: Update Qt download link
68ab2b65bfac Merge bitcoin/bitcoin#33919: ci: Run GUI unit tests in cross-Windows task
7e129b644ec9 Merge bitcoin/bitcoin#33893: test: add `-alertnotify` test for large work invalid chain warning
5fe753b56f45 Merge bitcoin/bitcoin#32655: depends: sqlite 3.50.4; switch to autosetup
ff8c2f37497f Merge bitcoin/bitcoin#33932: ci: Use latest Xcode that the minimum macOS version allows
fa283d28e261 Merge bitcoin/bitcoin#33629: Cluster mempool
2e27bd9c3af9 ci: Add Windows + UCRT jobs for cross-compiling and native testing
238c1c8933b1 Merge bitcoin-core/gui#914: Revert "gui, qt: brintToFront workaround for Wayland"
8343a9ffcc75 test: add `-alertnotify` test for large work invalid chain warning
c34bc01b2ff2 doc: clarify and cleanup macOS fuzzing notes
fa9537cde101 ci: Use latest Xcode that the minimum macOS version allows
17cf9ff7efdb Use cluster size limit for -maxmempool bound, and allow -maxmempool=0 in general
315e43e5d86c Sanity check `GetFeerateDiagram()` in CTxMemPool::check()
de2e9a24c40e test: extend package rbf functional test to larger clusters
4ef4ddb504e5 doc: update policy/packages.md for new package acceptance logic
79f73ad713a8 Add check that GetSortedScoreWithTopology() agrees with CompareMiningScoreWithTopology()
a86ac1176817 Update comments for CTxMemPool class
9567eaa66da8 Invoke TxGraph::DoWork() at appropriate times
0690514d4f72 Merge bitcoin/bitcoin#33770: init: Require explicit -asmap filename
b2f88b53e0ec Merge bitcoin/bitcoin#33286: doc: update multisig tutorial to use multipath descriptors
313cdd2bfb71 Merge bitcoin/bitcoin#33915: test: Retry download in get_previous_releases.py
bd130db994e2 ci: Rename items specific to Windows + MSVCRT
0672e727bf1d Revert "gui, qt: brintToFront workaround for Wayland"
17072f70051d Merge bitcoin/bitcoin#33912: clang-format: Set PackConstructorInitializers: CurrentLine
fa7ea497c3ef ci: Run GUI unit tests in cross-Windows task
fa0fee44a89c ci: Remove redundant busybox option
fa102ec69fae doc: Shorten ci name
fa7e222a2326 clang-format: Set Bitcoin Core IncludeCategories
222222378048 doc: Remove bash -c wrapper
6b2d17b13220 Merge bitcoin/bitcoin#33888: ci: Re-enable LINT_CI_SANITY_CHECK_COMMIT_SIG
ac71df43383a Merge bitcoin/bitcoin#33870: refactor: remove incorrect lifetimebounds
6cdb51c14eba Merge bitcoin/bitcoin#33887: doc: Improve CI docs on env and qemu-user-static
50cbde3295b4 depends: Update Qt download link
29c37651c74b Merge bitcoin/bitcoin#33880: test: Fix race condition in IPC interface block progation test
32368cd3e9f3 Merge bitcoin/bitcoin#33905: ci: Consistenly only cache on the default branch
e55c49f85143 Merge bitcoin/bitcoin#33851: depends: update xcb-util packages to latest versions
a07bd8415df4 Merge bitcoin/bitcoin#33824: ci: Enable experimental kernel stuff in most CI tasks via `dev-mode`
c0bfe72f6e1f Change Parse descriptor argument to string_view
f541b92cf2bb depends: expat 2.7.3
fad06f3bb436 test: retry download in get_previous_releases.py
2ebf4356e63d depends: libxcb 1.17.0
ba7ac870a32a depends: xcb_proto 1.17.0
fad0c76d0a10 clang-format: Set PackConstructorInitializers: CurrentLine
42d0692f9131 depends: libxcb-util-cursor 0.1.6
25b85919ab62 depends: libxcb 1.15
d129384ca97f depends: libxcb-util-wm 0.4.2
0b857ae9e555 depends: libxcb-util-renderutil 0.3.10
35e50488b25a depends: libxcb-util-keysyms 0.4.1
74b68ad28ba2 depends: libxcb-util-image 0.4.1
5bc0dde85d74 depends: libxcb-util 0.4.1
8d07292c286f depends: libXau 1.0.12
1af46cff9478 Merge bitcoin/bitcoin#33896: clang-format: Set InsertNewlineAtEOF: true
27ac11ea0a27 Merge bitcoin/bitcoin#33867: kernel: handle null or empty directories in implementation
2578e6fc0f4a test: Fix race condition in IPC interface block propagation test
288b8c30be42 doc: Drop (default: none) from -i2psam description
509dc91db143 Merge bitcoin/bitcoin#33026: test, refactor: Embedded ASMap [1/3]: Selected minor preparatory work
b126f981943d Merge bitcoin-core/gui#910: Added test coverage for qt gui#901 console history filter
7d7b829c36b7 Merge bitcoin-core/gui#908: Remove HD seed reference from blank wallet tooltip
8558902e576e depends: Add patch for Windows11Style plugin
53b72372da91 Merge bitcoin/bitcoin#31734: miniscript: account for all `StringType` variants in `Miniscriptdescriptor::ToString()`
a7f9bbe4c5e7 Merge bitcoin/bitcoin#32821: rpc: Handle -named argument parsing where '=' character is used
55555db055b5 doc: Add missing --platform=linux to docker build command
fa0ce4c1486b ci: Re-enable LINT_CI_SANITY_CHECK_COMMIT_SIG
faa0973de296 ci: [refactor] Rename CIRRUS_PR env var to LINT_CI_IS_PR
fa411f938e47 ci: Consistenly only cache on the default branch
6c5c44f77405 test: add functional test for new cluster mempool RPCs
72f60c877e00 doc: Update mempool_replacements.md to reflect feerate diagram checks
21693f031a53 Expose cluster information via rpc
72e74e0d4228 fuzz: try to add more code coverage for mempool fuzzing
f107417490ab bench: add more mempool benchmarks
7976eb1ae77a Avoid violating mempool policy limits in tests
84de685cf7ee Stop tracking parents/children outside of txgraph
88672e205ba1 Rewrite GatherClusters to use the txgraph implementation
1ca4f01090cf Fix miniminer_tests to work with cluster limits
1902111e0f20 Eliminate CheckPackageLimits, which no longer does anything
3a646ec46264 Rework RBF and TRUC validation
19b8479868e5 Make getting parents/children a function of the mempool, not a mempool entry
5560913e51af Rework truc_policy to use descendants, not children
a4458d6c4062 Use txgraph to calculate descendants
c8b6f70d6492 Use txgraph to calculate ancestors
241a3e666b59 Simplify ancestor calculation functions
b9cec7f0a1e0 Make removeConflicts private
0402e6c78080 Remove unused limits from CalculateMemPoolAncestors
08be765ac26a Remove mempool logic designed to maintain ancestor/descendant state
fc4e3e6bc122 Remove unused members from CTxMemPoolEntry
ff3b398d124b mempool: eliminate accessors to mempool entry ancestor/descendant cached state
b9a2039f5122 Eliminate use of cached ancestor data in miniminer_tests and truc_policy
ba09fc9774d5 mempool: Remove unused function CalculateDescendantMaximum
8e49477e86b3 wallet: Replace max descendant count with cluster_count
e031085fd464 Eliminate Single-Conflict RBF Carve Out
cf3ab8e1d0a2 Stop enforcing descendant size/count limits
89ae38f48965 test: remove rbf carveout test from mempool_limit.py
c0bd04d18fdf Calculate descendant information for mempool RPC output on-the-fly
bdcefb8a8b06 Use mempool/txgraph to determine if a tx has descendants
69e1eaa6ed22 Add test case for cluster size limits to TRUC logic
9cda64b86c59 Stop enforcing ancestor size/count limits
1f93227a84a5 Remove dependency on cached ancestor data in mini-miner
9fbe0a4ac26c rpc: Calculate ancestor data from scratch for mempool rpc calls
7961496dda2e Reimplement GetTransactionAncestry() to not rely on cached data
feceaa42e8eb Remove CTxMemPool::GetSortedDepthAndScore
21b5cea588a7 Use cluster linearization for transaction relay sort order
6445aa7d9755 Remove the ancestor and descendant indices from the mempool
216e69372903 Implement new RBF logic for cluster mempool
ff8f115dec6e policy: Remove CPFP carveout rule
c3f1afc934e6 test: rewrite PopulateMempool to not violate mempool policy (cluster size) limits
47ab32fdb158 Select transactions for blocks based on chunk feerate
dec138d1ddc7 fuzz: remove comparison between mini_miner block construction and miner
6c2bceb200aa bench: rewrite ComplexMemPool to not create oversized clusters
1ad4590f6385 Limit mempool size based on chunk feerate
b11c89cab210 Rework miner_tests to not require large cluster limit
95a8297d481e Check cluster limits when using -walletrejectlongchains
95762e675959 Do not allow mempool clusters to exceed configured limits
edb3e7cdf636 [test] rework/delete feature_rbf tests requiring large clusters
435fd5671116 test: update feature_rbf.py replacement test
34e32985e811 Add new (unused) limits for cluster size/count
838d7e355366 Add transactions to txgraph, but without cluster dependencies
552eb90071fd doc: CI - Describe qemu-user-static usage
2afbbddee550 doc: CI - Clarify how important `env -i` is and why
2444488f6ad3 Merge bitcoin/bitcoin#33894: net: Remove unused `local_socket_bytes` variable in `CConnman::GetAddresses()`
fa1bf6818f09 clang-format: Set InsertNewlineAtEOF: true
115d298a9fa3 Merge bitcoin/bitcoin#33872: init: completely remove `-maxorphantx` option
a90f3922ff7d Merge bitcoin/bitcoin#32419: psbt: clarify PSBT, PSBTInput, PSBTOutput unserialization flows
4d893c0f4605 net: Remove unused `local_socket_bytes` variable in `CConnman::GetAddresses()`
fa1dacaebe5d ci: Move lint exec snippet to stand-alone py file
ead849c9f177 Merge bitcoin/bitcoin#33886: test: Remove tests violating hardened std::span
c03081fdb467 Merge bitcoin/bitcoin#33776: ci: Lint follow-ups
fadb4f63cb0f test: Remove tests violating hardened std::span
6e2155816058 Merge bitcoin/bitcoin#33869: refactor: Avoid -W*-whitespace in git archive
c8715aca95d0 Merge bitcoin/bitcoin#33247: build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings
ee5de407e369 Merge bitcoin/bitcoin#33537: guix: build `bitcoin-qt` with static libxcb & utils
024a7873500e Merge bitcoin/bitcoin#33876: doc: Update NetBSD Build Guide
c66e98875439 Merge bitcoin/bitcoin#33865: cmake: Specify Windows plugin path in `test_bitcoin-qt` property
c29eaeeaf937 doc: Update NetBSD Build Guide
7f318e1dd049 test: Add better coverage for Autofile size()
e221b2524659 Merge bitcoin/bitcoin#33860: depends: drop Qt patches
b7af960eb82f refactor: Add AutoFile::size
ec0f75862e67 refactor: Modernize logging in util/asmap.cpp
606a251e0a31 tests: add unit test vectors for asmap interpreter
6657bcbdb4d0 kernel: allow null data_directory
0aebdac95da9 init: completely remove `-maxorphantx` option
99d012ec80a4 refactor: return reference instead of pointer
f743e6c5dd38 refactor: add missing LIFETIMEBOUND annotation for parameter
fa95353902b7 ci: Run macos tasks in a git archive, not git checkout
141117f5e8b4 refactor: remove incorrect LIFETIMEBOUND annotations
fae3618fd6c8 ci: Annotate all check runs with the pull request number
faf05d637d67 ci: Retry lint image building once after failure
96963b888e5a depends: static libxcb
ad06843fab06 depends: avoid qdbusviewer in Qt build
6848ed56dc5f depends: apply Qt patches to fix static libxcb use
dfde31f2ec1f Merge bitcoin/bitcoin#33864: scripted-diff: fix leftover references to `policy/fees.h`
5f1b016bebd2 depends: static libxcb-util-image
98a2fbbe70b8 depends: static libxkbcommon
1412baf77295 depends: static libxcb-util-wm
a4009dadf466 depends: static libxcb-keysyms
bcfb8679b3ba depends: static libxcb-render-util
faf99ae37963 refactor: Avoid -W*-whitespace in git archive
2594d5a189e5 build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings
310e4979b36c qt: Added test coverage for qt gui#901 console history filter
0dd8d5c237e2 cmake: Specify Windows plugin path in `test_bitcoin-qt` property
b0a38871546d scripted-diff: fix leftover references to `policy/fees.h`
48d4b936e09f Merge bitcoin/bitcoin#33511: init: Fix Ctrl-C shutdown hangs during wait calls
3c3c6adb7260 Merge bitcoin/bitcoin#33745: mining: check witness commitment in submitBlock
e652b69b8da4 Merge bitcoin/bitcoin#33003: test: add option to skip large re-org test in feature_block
3e9aca6f1b52 depends: drop qtbase-moc-ignore-gcc-macro.patch qt patch
fac4f6de28e7 ci: Rewrite lint task Bash snippet to Python
fa0d37a57985 ci: Rewrite Bash to check inputs to Python
0da5a82700e9 depends: drop unused qt patch
fae83611b8ef ci: [refactor] Use --preset=dev-mode in mac_native task
fadb67b4b4e1 ci: [refactor] Base nowallet task on --preset=dev-mode
6666980e8653 ci: Enable bitcoin-chainstate and test_bitcoin-qt in win64 task
096924d39d64 kernel: add btck_block_tree_entry_equals
faff7b231246 ci: Enable experimental kernel stuff in i686 task
fa1632eecf58 ci: Enable experimental kernel stuff in mac-cross tasks
fad10ff7c923 ci: Enable experimental kernel stuff in armhf task
fa9d67c13d0d ci: Enable experimental kernel stuff in Alpine task
fab3fb83026e ci: Enable experimental kernel stuff in s390x task
fa7da8a646ed ci: Enable experimental kernel stuff in valgrind task
fa9c2973d60b ci: Enable experimental kernel stuff in TSan task
fad30d439502 ci: Enable experimental kernel stuff in MSan task
d5ed9cb3eb52 Add accessor for sigops-adjusted weight
1bf3b513966e Add sigops adjusted weight calculator
c18c68a950d3 Create a txgraph inside CTxMemPool
29a94d5b2f26 Make CTxMemPoolEntry derive from TxGraph::Ref
92b0079fe386 Allow moving CTxMemPoolEntry objects, disallow copying
f6ec3519a330 init: Require explicit -asmap filename
6eaa00fe2020 test: clarify submitBlock() mutates the template
862bd432837e mining: ensure witness commitment check in submitBlock
00d1b6ef4b12 doc: clarify UpdateUncommittedBlockStructures
929f69d0ff29 qt: Remove HD seed reference from blank wallet tooltip
1db74914706f depends: sqlite 3.50.4
286f3e49c84c guix: sqlite wants tcl
de7c3587cd45 doc: Update add checksum instructions in tutorial
6c73e4744837 mempool: Store iterators into mapTx in mapNextTx
51430680ecb7 Allow moving an Epoch::Marker
2a46e94a1600 doc: Update multisig-tutorial.md to use multipath descriptors
c25a5e670b27 init: Signal m_tip_block_cv on Ctrl-C
f53dbbc5057b test: Add functional tests for named argument parsing
694f04e2bd34 rpc: Handle -named argument parsing where '=' character is used
6a29f79006a9 test: Test SIGTERM handling during waitforblockheight call
8810642b571e test: add option to skip large re-org test in feature_block
d31158d3646f psbt: clarify PSBT, PSBTInput, PSBTOutput unserialization flows
28a4fcb03c0f test: check listdescriptors do not return a mix of hardened derivation marker
975783cb79e9 descriptor: account for all StringType in MiniscriptDescriptor::ToStringHelper()

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 6356041e58d1ba86695e2e7c219c68ee5abe583f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants