@@ -4,15 +4,76 @@ All notable changes to this project will be documented in this file.
44
55The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66
7- ## [Unreleased]
7+ ## [0.14.0] - 2024-09-25: "Hand at the Grindstone"
88
99### Added
1010
11- - Added `Util::BacktraceException` which captures backtraces where an
12- exception is thrown and then formats them for debugging when they
13- are displayed with `what()`. The backtraces are more useful if the
14- following configuration is used: `./configure CXXFLAGS="-g -Og"` but
15- this results in larger, less optimized binaries.
11+ - **EarningsTracker Upgrade**: Upgraded `EarningsTracker` to a time
12+ bucket schema, allowing storage and access to earnings and
13+ expenditure data over specific time ranges. This prepares for future
14+ enhancements in balancing strategies based on time-based data. Note
15+ that this update includes automatic database schema changes;
16+ downgrading to previous versions will require manual database
17+ migration.
18+
19+ - **Exception Backtraces**: Added `Util::BacktraceException` which
20+ captures backtraces where an exception is thrown and then formats
21+ them for debugging when they are displayed with `what()`. The
22+ backtraces are more useful if the following configuration is used:
23+ `./configure CXXFLAGS="-g -Og"` but this results in larger, less
24+ optimized binaries.
25+
26+ - **New Scripts in Contrib**:
27+ - `clboss-routing-stats`: A script that summarizes routing
28+ performance of channels, displaying PeerID, SCID, and Alias. It
29+ sorts channels by net fees (income - expenses), success per day,
30+ and age.
31+ - `clboss-earnings-history` and `clboss-recent-earnings`: Scripts to
32+ display historical and recent earnings.
33+
34+ - Added `contrib/README.md` to provide information about the scripts
35+ and tools available in the `contrib` directory.
36+ - Introduced a Poetry project to manage Python dependencies in `contrib`.
37+
38+ - **Testing and Debugging Enhancements**:
39+ - Added `get_now()` and `mock_get_now()` functions to
40+ `EarningsTracker` and its tests to support time-based
41+ functionalities.
42+ - Implemented `Either::operator<<` and `Jsmn::Object::operator==` to
43+ facilitate debugging and writing test cases.
44+ - Factored `parse_json` into a `Jsmn::Object` static method to
45+ simplify test case generation using literal JSON.
46+
47+ ### Changed
48+
49+ - **Build System**:
50+ - Updated `configure` to use the C++17 standard, fixing compilation
51+ issues on platforms like Raspiblitz.
52+ - Improved `commit_hash.h` dependencies and generation to ensure
53+ correct regeneration when the development tree is modified.
54+
55+ - **Contrib Script Enhancements**:
56+ - Generalized network parameter handling in `clboss-routing-stats`
57+ to support multiple networks.
58+ - Updated `clboss-routing-stats` to utilize an alias cache for
59+ better performance.
60+
61+ ### Fixed
62+
63+ - **Testing**:
64+ - Increased the timeout for `jsmn/test_performance` tests to prevent
65+ premature failures during testing.
66+
67+ - **Logging Improvements**:
68+ - Inserted exception `what()` values into logging messages to
69+ enhance debugging output and provide more detailed error
70+ information.
71+
72+ - **Miscellaneous**:
73+ - Resolved issues with the regeneration of `commit_hash.h` when the
74+ development tree is altered by Git operations.
75+
76+ ### Added
1677
1778## [0.13.3] - 2024-08-09: "Blinded by the Light"
1879
0 commit comments