Releases: ksedgwic/clboss
v0.16.0-rc3: Darkness on the Edge of the Mempool
[0.16.0] - 2026-03-02: "Darkness on the Edge of the Mempool"
Added
- Internal:
- RPC:
clboss-feemon-history: returns per-peer fee modifier history
(baseline, size/balance/price multipliers, earnings). ([#296])clboss-feemon-peers: returns peer node IDs with fee monitor data,
with optional time window filtering. ([#296])clboss-earnings-history: added "all" (by-node) aggregation mode.
([#292])
- Contrib scripts:
fee-log-parser: parses DEBUG-level logs into SQLite. ([#291])plot-fees: plots per-peer fee time series. ([#291])plot-aggregate: plots aggregate percentile summaries across
peers. ([#291])plot-balance-price,plot-size-balance,plot-size-price: fee
modifier analysis visualizations. ([#295])feemon-validate: validates fee monitor data integrity. ([#296])
- Build:
Changed
InvoicePayernow uses CLN's nativedecodeRPC instead of manual
parsing. ([#301])
Fixed
fundpsbtdeprecated integer argument handling. ([#288])Initiatormodule handles both old and newlistconfigsRPC output
formats. ([#300])- Backtrace capture disabled under valgrind to fix
make check
failures. ([#279]) - Fixed duplicate earnings report sections in README. ([#277])
- Fixed outdated
setchannelfeereference tosetchannelin README.
([#290]) - Replaced deprecated
std::result_ofwithstd::invoke_result_tfor
C++20 compatibility (fixes build on FreeBSD 14+ / clang 18). ([#305]) - Added missing
#include <cstdint>for clang strict mode. ([#307]) - Added
-lexecinfofor FreeBSD inconfigure.ac. ([#307]) - Fixed uninitialized
ReservoirSampler::wsumwarning at-O2.
Credits
Many thanks (!!) to contributors to this release:
- @JosephGoulden
- @lduchosal
- @raphaellueckl
- @smolting
- @tank-welder
- @ZmnSCPxj
v0.16.0-rc2: Darkness on the Edge of the Mempool
[0.16.0] - 2026-03-02: "Darkness on the Edge of the Mempool"
Added
- Internal:
- RPC:
clboss-feemon-history: returns per-peer fee modifier history
(baseline, size/balance/price multipliers, earnings). ([#296])clboss-feemon-peers: returns peer node IDs with fee monitor data,
with optional time window filtering. ([#296])clboss-earnings-history: added "all" (by-node) aggregation mode.
([#292])
- Contrib scripts:
fee-log-parser: parses DEBUG-level logs into SQLite. ([#291])plot-fees: plots per-peer fee time series. ([#291])plot-aggregate: plots aggregate percentile summaries across
peers. ([#291])plot-balance-price,plot-size-balance,plot-size-price: fee
modifier analysis visualizations. ([#295])feemon-validate: validates fee monitor data integrity. ([#296])
- Build:
Changed
InvoicePayernow uses CLN's nativedecodeRPC instead of manual
parsing. ([#301])
Fixed
fundpsbtdeprecated integer argument handling. ([#288])Initiatormodule handles both old and newlistconfigsRPC output
formats. ([#300])- Backtrace capture disabled under valgrind to fix
make check
failures. ([#279]) - Fixed duplicate earnings report sections in README. ([#277])
- Fixed outdated
setchannelfeereference tosetchannelin README.
([#290]) - Replaced deprecated
std::result_ofwithstd::invoke_result_tfor
C++20 compatibility (fixes build on FreeBSD 14+ / clang 18). ([#305])
Credits
Many thanks (!!) to contributors to this release:
- @JosephGoulden
- @lduchosal
- @raphaellueckl
- @smolting
- @tank-welder
- @ZmnSCPxj
v0.15.1: Dancing in the Dark Liquidity
[0.15.1] - 2025-10-07: "Dancing in the Dark Liquidity"
Fixed
- Fixed the release build CI workflow
[0.15.0] - 2025-10-07: "Dancing in the Dark Liquidity"
Added
- RPC:
- Added the
clboss-feeratescommand to report percentile thresholds,
last observed feerate (perkw), and the current low/high judgment.
- Added the
- Configuration:
- Added
--clboss-min-nodes-to-processto control how many nodes
CLBOSS must know before proposing channels. Defaults: 800 (Bitcoin),
100 (Testnet), 10 (other). Setting-1uses network-specific defaults. - Added
--clboss-max-rebalance-fee-ppmto cap the fee for a single
internal rebalance (honored by both JitRebalancer and
EarningsRebalancer). Default is 1000 ppm (0.1%).
- Added
- Contrib scripts:
- New
clboss-forwarding-statsscript. - New
recently-closedhelper. - New
sys_stats_reportto generate heartbeat status reports and
append metrics (e.g.,utxo_msat,avail_msat,current_msat,
avail_out,utxo_amount) to aSTATSfile; includes a baseline
checksum and appends fee data fromclboss-feerates. clboss-earnings-history: added--csv-file,--graph-fileand
--bucket(day|week|fortnight|month|quarter); estimates the last
bucket based on remaining time.clboss-routing-stats: added--daysto limit the time window.
- New
- Docs:
- Updated diagrams (rebalancer flow, channel balancing orientation) and
README/contrib docs; refreshed dependencies for contrib tooling.
- Updated diagrams (rebalancer flow, channel balancing orientation) and
Changed
- Reduced the default
--clboss-max-rebalance-fee-ppmfrom 5000 ppm
(0.5%) to 1000 ppm (0.1%).
Fixed
ChannelFinderByPopularity: ignore our own node when sampling and
enumerating peers ([#266]).- Swaps: avoid blank addresses in the cache and clean any that slipped
in; validate the initial Boltz claim destination address.
Dancing in the Dark Liquidity
[0.15.1] - 2025-10-07: "Dancing in the Dark Liquidity"
Fixed
- Fixed the release build CI workflow
[0.15.0] - 2025-10-07: "Dancing in the Dark Liquidity"
Added
- RPC:
- Added the
clboss-feeratescommand to report percentile thresholds,
last observed feerate (perkw), and the current low/high judgment.
- Added the
- Configuration:
- Added
--clboss-min-nodes-to-processto control how many nodes
CLBOSS must know before proposing channels. Defaults: 800 (Bitcoin),
100 (Testnet), 10 (other). Setting-1uses network-specific defaults. - Added
--clboss-max-rebalance-fee-ppmto cap the fee for a single
internal rebalance (honored by both JitRebalancer and
EarningsRebalancer). Default is 1000 ppm (0.1%).
- Added
- Contrib scripts:
- New
clboss-forwarding-statsscript. - New
recently-closedhelper. - New
sys_stats_reportto generate heartbeat status reports and
append metrics (e.g.,utxo_msat,avail_msat,current_msat,
avail_out,utxo_amount) to aSTATSfile; includes a baseline
checksum and appends fee data fromclboss-feerates. clboss-earnings-history: added--csv-file,--graph-fileand
--bucket(day|week|fortnight|month|quarter); estimates the last
bucket based on remaining time.clboss-routing-stats: added--daysto limit the time window.
- New
- Docs:
- Updated diagrams (rebalancer flow, channel balancing orientation) and
README/contrib docs; refreshed dependencies for contrib tooling.
- Updated diagrams (rebalancer flow, channel balancing orientation) and
Changed
- Reduced the default
--clboss-max-rebalance-fee-ppmfrom 5000 ppm
(0.5%) to 1000 ppm (0.1%).
Fixed
ChannelFinderByPopularity: ignore our own node when sampling and
enumerating peers ([#266]).- Swaps: avoid blank addresses in the cache and clean any that slipped
in; validate the initial Boltz claim destination address.
Dancing in the Dark Liquidity
[0.15.0] - 2025-10-07: "Dancing in the Dark Liquidity"
Added
- RPC:
- Added the
clboss-feeratescommand to report percentile thresholds,
last observed feerate (perkw), and the current low/high judgment.
- Added the
- Configuration:
- Added
--clboss-min-nodes-to-processto control how many nodes
CLBOSS must know before proposing channels. Defaults: 800 (Bitcoin),
100 (Testnet), 10 (other). Setting-1uses network-specific defaults. - Added
--clboss-max-rebalance-fee-ppmto cap the fee for a single
internal rebalance (honored by both JitRebalancer and
EarningsRebalancer). Default is 1000 ppm (0.1%).
- Added
- Contrib scripts:
- New
clboss-forwarding-statsscript. - New
recently-closedhelper. - New
sys_stats_reportto generate heartbeat status reports and
append metrics (e.g.,utxo_msat,avail_msat,current_msat,
avail_out,utxo_amount) to aSTATSfile; includes a baseline
checksum and appends fee data fromclboss-feerates. clboss-earnings-history: added--csv-file,--graph-fileand
--bucket(day|week|fortnight|month|quarter); estimates the last
bucket based on remaining time.clboss-routing-stats: added--daysto limit the time window.
- New
- Docs:
- Updated diagrams (rebalancer flow, channel balancing orientation) and
README/contrib docs; refreshed dependencies for contrib tooling.
- Updated diagrams (rebalancer flow, channel balancing orientation) and
Changed
- Reduced the default
--clboss-max-rebalance-fee-ppmfrom 5000 ppm
(0.5%) to 1000 ppm (0.1%).
Fixed
ChannelFinderByPopularity: ignore our own node when sampling and
enumerating peers ([#266]).- Swaps: avoid blank addresses in the cache and clean any that slipped
in; validate the initial Boltz claim destination address.
Dancing in the Dark Liquidity
[0.15.0] - 2025-09-11: "Dancing in the Dark Liquidity"
Added
- RPC:
- Added the
clboss-feeratescommand to report percentile thresholds,
last observed feerate (perkw), and the current low/high judgment.
- Added the
- Configuration:
- Added
--clboss-min-nodes-to-processto control how many nodes
CLBOSS must know before proposing channels. Defaults: 800 (Bitcoin),
100 (Testnet), 10 (other). Setting-1uses network-specific defaults. - Added
--clboss-max-rebalance-fee-ppmto cap the fee for a single
internal rebalance (honored by both JitRebalancer and
EarningsRebalancer). Default is 1000 ppm (0.1%).
- Added
- Contrib scripts:
- New
clboss-forwarding-statsscript. - New
recently-closedhelper. - New
sys_stats_reportto generate heartbeat status reports and
append metrics (e.g.,utxo_msat,avail_msat,current_msat,
avail_out,utxo_amount) to aSTATSfile; includes a baseline
checksum and appends fee data fromclboss-feerates. clboss-earnings-history: added--csv-file,--graph-fileand
--bucket(day|week|fortnight|month|quarter); estimates the last
bucket based on remaining time.clboss-routing-stats: added--daysto limit the time window.
- New
- Docs:
- Updated diagrams (rebalancer flow, channel balancing orientation) and
README/contrib docs; refreshed dependencies for contrib tooling.
- Updated diagrams (rebalancer flow, channel balancing orientation) and
Changed
- Reduced the default
--clboss-max-rebalance-fee-ppmfrom 5000 ppm
(0.5%) to 1000 ppm (0.1%).
Fixed
ChannelFinderByPopularity: ignore our own node when sampling and
enumerating peers ([#266]).- Swaps: avoid blank addresses in the cache and clean any that slipped
in; validate the initial Boltz claim destination address.
v0.14.1: Hand at the Grindstone
Added
-
Contrib Script Enhancements:
-
Added
--lightning-diroption to the contrib scripts:clboss-earnings-historyclboss-recent-earningsclboss-routing-stats
This allows users with non-default configurations to specify their
lightning-dirwhen running these scripts. ([#243]) -
Nix Support:
- Introduced
contrib-shell.nixto facilitate running contrib
scripts within Nix environments. Users can now execute
nix-shell contrib-shell.nixand run any Python scripts in
contrib/. ([#241]) - Updated
contrib/README.mdwith detailed instructions for
Python dependencies installation, including a section on using
Nix.
- Introduced
-
-
Stack Unwinding Support:
- Implemented
libunwindfor stack unwinding. This replaces the use
ofbacktrace(), which is not available on Alpine Linux. This
improves compatibility with Alpine and other systems lacking
backtrace(). ([#245], [#249]) - Replaced the use of
program_invocation_name(only available on
Linux) with a custom global variable to store the program name,
improving portability to systems like FreeBSD and other Unix-like
systems. ([#242])
- Implemented
-
Configurable Exception Backtrace Support:
- Added the
--disable-exception-backtraceoption to
configure. This allows disabling the inclusion of backtrace
information in exception wrappers. ([#256]) - The
Util::BacktraceExceptionclass now provides a no-op wrapper
when exception backtraces are disabled via
--disable-exception-backtrace. This ensures minimal overhead in
configurations where backtraces are not needed. ([#256])
- Added the
Fixed
v0.14.1: Hand at the Grindstone
Added
-
Contrib Script Enhancements:
-
Added
--lightning-diroption to the contrib scripts:clboss-earnings-historyclboss-recent-earningsclboss-routing-stats
This allows users with non-default configurations to specify their
lightning-dirwhen running these scripts. ([#243]) -
Nix Support:
- Introduced
contrib-shell.nixto facilitate running contrib
scripts within Nix environments. Users can now execute
nix-shell contrib-shell.nixand run any Python scripts in
contrib/. ([#241]) - Updated
contrib/README.mdwith detailed instructions for
Python dependencies installation, including a section on using
Nix.
- Introduced
-
-
Stack Unwinding Support:
- Implemented
libunwindfor stack unwinding. This replaces the use
ofbacktrace(), which is not available on Alpine Linux. This
improves compatibility with Alpine and other systems lacking
backtrace(). ([#245], [#249]) - Replaced the use of
program_invocation_name(only available on
Linux) with a custom global variable to store the program name,
improving portability to systems like FreeBSD and other Unix-like
systems. ([#242])
- Implemented
Fixed
v0.14.1: Hand at the Grindstone
Added
-
Contrib Script Enhancements:
-
Added
--lightning-diroption to the contrib scripts:clboss-earnings-historyclboss-recent-earningsclboss-routing-stats
This allows users with non-default configurations to specify their
lightning-dirwhen running these scripts. ([#243]) -
Nix Support:
- Introduced
contrib-shell.nixto facilitate running contrib
scripts within Nix environments. Users can now execute
nix-shell contrib-shell.nixand run any Python scripts in
contrib/. ([#241]) - Updated
contrib/README.mdwith detailed instructions for
Python dependencies installation, including a section on using
Nix.
- Introduced
-
-
Stack Unwinding Support:
- Implemented
libunwindfor stack unwinding. This replaces the use
ofbacktrace(), which is not available on Alpine Linux. This
improves compatibility with Alpine and other systems lacking
backtrace(). ([#245], [#249]) - Replaced the use of
program_invocation_name(only available on
Linux) with a custom global variable to store the program name,
improving portability to systems like FreeBSD and other Unix-like
systems. ([#242])
- Implemented
Fixed
v0.14.0: Hand at the Grindstone
- Upgraded
EarningsTrackerto a time bucket scheme allowing storage and access to earnings and
expenditure data over specific time ranges - Added new scripts in
contribfor displaying earnings history - Added
Util::BacktraceExceptionwhich
captures backtraces where an exception is thrown and then formats
them for debugging when they are displayed with `what() - ...