gnucash stable: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Thu Jun 25 19:29:08 EDT 2026
Updated via https://github.com/Gnucash/gnucash/commit/e5142dfd (commit)
via https://github.com/Gnucash/gnucash/commit/994b04a1 (commit)
via https://github.com/Gnucash/gnucash/commit/3b2daddb (commit)
via https://github.com/Gnucash/gnucash/commit/b4fd332d (commit)
via https://github.com/Gnucash/gnucash/commit/c7d35bcd (commit)
via https://github.com/Gnucash/gnucash/commit/287c802d (commit)
via https://github.com/Gnucash/gnucash/commit/590d76cc (commit)
via https://github.com/Gnucash/gnucash/commit/2b93466c (commit)
via https://github.com/Gnucash/gnucash/commit/5ee139b5 (commit)
via https://github.com/Gnucash/gnucash/commit/12e2922f (commit)
via https://github.com/Gnucash/gnucash/commit/122cb6dc (commit)
via https://github.com/Gnucash/gnucash/commit/00803ba0 (commit)
via https://github.com/Gnucash/gnucash/commit/2d1859ff (commit)
via https://github.com/Gnucash/gnucash/commit/29d74209 (commit)
via https://github.com/Gnucash/gnucash/commit/2a01ce23 (commit)
via https://github.com/Gnucash/gnucash/commit/b3e29a81 (commit)
via https://github.com/Gnucash/gnucash/commit/24481321 (commit)
via https://github.com/Gnucash/gnucash/commit/3c7e0142 (commit)
via https://github.com/Gnucash/gnucash/commit/06a79ad2 (commit)
from https://github.com/Gnucash/gnucash/commit/dc03a84c (commit)
commit e5142dfd970ee831a66504a4e252651c019c4aea
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri Jun 26 07:26:24 2026 +0800
Revert "[qofid.cpp] for Split and Trans reserve QofInstance* map"
This reverts commit 00803ba018527f30ea3239fd60a8675009a878ef.
commit 994b04a161d43e623eefad5e9d39537f3dc0a4ce
Merge: 3b2daddb47 c7d35bcdb2
Author: John Ralls <jralls at ceridwen.us>
Date: Thu Jun 25 12:31:53 2026 -0700
Merge Brent McBride's 'uri-format' into future.
commit 3b2daddb477c98a4d116e6cd1c9e3a62b6a0045a
Merge: b4fd332de3 00803ba018
Author: John Ralls <jralls at ceridwen.us>
Date: Thu Jun 25 12:13:29 2026 -0700
Merge branch 'use-boost-flat-map' of https://github.com/christopherlam/gnucash into future
commit b4fd332de3f15cd28183c06a6c372fb29ca4b4fc
Merge: 287c802d8c dc03a84c33
Author: John Ralls <jralls at ceridwen.us>
Date: Thu Jun 25 08:18:34 2026 -0700
Merge branch 'stable' into future
commit c7d35bcdb2cbd8fb552e28b196cef862e92d8b39
Author: Brent McBride <mcbridebt at hotmail.com>
Date: Tue Jun 23 19:33:40 2026 -0700
gnc-uri: compose URIs with std::format
commit 287c802d8c22b5dfe3dbcb0d0c6ed74ae0d8f0d4
Merge: 590d76ccc4 5ee139b556
Author: John Ralls <jralls at ceridwen.us>
Date: Tue Jun 23 16:02:03 2026 -0700
Merge Brent McBride's 'uri-utils-cpp' into future.
commit 590d76ccc4a4ce370266d809fe246d03d83c44b6
Author: John Ralls <jralls at ceridwen.us>
Date: Tue Jun 23 15:35:45 2026 -0700
Clang: -Wno-character-conversion was introduced in clang 21.
Gcc doesn't have it at all.
commit 2b93466c213b082bb2d382ee377a936bd695122f
Author: John Ralls <jralls at ceridwen.us>
Date: Mon Jun 22 19:37:33 2026 -0700
Set C and C++ standards to 23.
This required some adjustments:
* New warnings character-conversion and deprecated-volatile are
disabled for the reasons indicated in the adjacent comments.
* C23 is a lot stricter about function pointer signatures so some
callbacks in gnc-frequency.c and dialog-sx-editor had to be cast using
the long-available GLib macros.
* C++23 is stricter about a reference (foo&) parameter taking an
lvalue only; a lambda used in several csv-importer files was trying to
pass an rvalue so the parameter had to be changed to perfect
forward (foo&&).
* C++23 doesn't allow oring together enum values from different enum
types, even anonymous ones, so the two gnc_numeric enums for rounding
and denominators are combined into a single enum GncNumericRoundDenom.
* C++20's new automatic generation of comparison functions combined
with its stricter automatic conversion rules caused trouble with
operator==() and operator!=() for gnc::GUID and GncGUID, complaining
about ambiguity or not being able to find operator==(const GncGuid&,
const GncGuid&). The fix has two parts: Changing operator!=(const
gnc::GUID&, const gnc::GUID&) to operator==(const gnc::GUID&, const
gnc::GUID&) to resolve the conversion problem and changing the call
forwarding operator==(const GncGuid&, const GncGuid&) to only cast the
first argument to gnc::GUID so that it could work unambiguously with
operator==(const gnc::GUID&, const GncGuid&).
* python sqlite3test: C23 apparently makes AppleClang a lot pickier
about includes.
commit 5ee139b5564944d7eb3f03fe5ae7e16211681f30
Author: Brent McBride <mcbridebt at hotmail.com>
Date: Sun Jun 21 21:19:50 2026 -0700
Modernize gnc-uri utilities into a GncUri C++ class
commit 12e2922fc5dd6f1ce836d88bbee33a3a4731e743
Author: Brent McBride <mcbridebt at hotmail.com>
Date: Sun Jun 21 21:19:38 2026 -0700
Rename gnc-uri-utils.c to gnc-uri.cpp
commit 122cb6dcca4d27077767373f527c37dd215e17a7
Author: John Ralls <jralls at ceridwen.us>
Date: Wed Jun 17 13:29:36 2026 -0700
Run coverage tests on ubuntu-26.04.
ubuntu-latest isn't latest enough. Recent lcov v2 errors
out if there are no GCDA files in the target directory.
Call it with a shell script that checks first.
commit 00803ba018527f30ea3239fd60a8675009a878ef
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Wed Jun 17 11:07:55 2026 +0800
[qofid.cpp] for Split and Trans reserve QofInstance* map
commit 2d1859ff3e9e88c1fb723b246ed80407f479d95b
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat May 30 23:36:04 2026 +0800
[qofid.cpp] use boost::unordered_flat_map
to store guid->qof entities
note this is appropriate if the map values are QofInstance* pointers,
because unordered_flat_map does not guarantee stable iterators.
commit 29d74209a7b6edbe00abf9501b7ffe59256dccfd
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Jun 14 12:05:47 2026 +0800
[guid.cpp] create templated guid_hash function
for arbitrary sized hashes
commit 2a01ce23763756d7c3241a76bf08415193bd2d3b
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Tue Jun 16 13:57:56 2026 +0800
[guid.cpp] plug char* guid_to_string leak
it seems unused however
commit b3e29a81fdfd784b1dc9229577fa289ff2c13afa
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Jun 14 10:30:02 2026 +0800
[qofid.cpp] use ctor/dtor for QofCollection
which will make it easier to construct in-place in book->hash_of_collections
commit 24481321def01af9406d16a87faeaa1865c1d09a
Author: John Ralls <jralls at ceridwen.us>
Date: Thu Jun 11 14:01:04 2026 -0700
Replace deprecated g_module_build_path with g_build_filename
Note that deducing the module file extension is now done by g_module_open.
commit 3c7e01420ad448a4ca05b2b8db7c1a8199c5c9df
Author: John Ralls <jralls at ceridwen.us>
Date: Wed Jun 10 21:34:56 2026 -0700
Replace mac dependencies tarball.
Provides new ICU required for the future branch.
commit 06a79ad25d8022b55c77e896b9cb24c333b7780f
Author: John Ralls <jralls at ceridwen.us>
Date: Wed Jun 10 21:34:56 2026 -0700
Create branch future for 6.0 development.
Summary of changes:
.github/workflows/ci-tests.yml | 8 +-
.github/workflows/coverage.yml | 4 +-
.github/workflows/mac-tests.yaml | 17 +-
CMakeLists.txt | 67 ++--
README.dependencies | 38 +-
bindings/python/sqlite3test.c | 4 +-
common/cmake_modules/GncCoverage.cmake | 41 +-
gnucash/gnome-utils/gnc-frequency.c | 24 +-
gnucash/gnome-utils/gnc-main-window.cpp | 31 +-
gnucash/gnome/dialog-sx-editor.c | 26 +-
gnucash/gnome/gnc-plugin-page-invoice.cpp | 1 -
.../csv-imp/assistant-csv-price-import.cpp | 7 +-
.../csv-imp/assistant-csv-trans-import.cpp | 11 +-
gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp | 7 +-
.../import-export/csv-imp/gnc-imp-settings-csv.cpp | 1 -
gnucash/import-export/csv-imp/gnc-import-tx.cpp | 2 +-
gnucash/register/ledger-core/split-register.c | 2 +-
libgnucash/backend/dbi/gnc-backend-dbi.cpp | 37 +-
.../backend/dbi/test/test-backend-dbi-basic.cpp | 18 +-
libgnucash/backend/xml/gnc-backend-xml.cpp | 14 +-
libgnucash/backend/xml/gnc-xml-backend.cpp | 7 +-
.../backend/xml/test/gtest-load-save-files.cpp | 20 +-
libgnucash/backend/xml/test/gtest-xml-contents.cpp | 7 +-
libgnucash/backend/xml/test/test-load-xml2.cpp | 7 +-
libgnucash/core-utils/gnc-filepath-utils.h | 3 +
libgnucash/engine/Account.cpp | 1 -
libgnucash/engine/CMakeLists.txt | 3 +-
libgnucash/engine/gnc-numeric.h | 8 +-
libgnucash/engine/gnc-uri-utils.c | 429 ---------------------
libgnucash/engine/gnc-uri-utils.h | 37 --
libgnucash/engine/gnc-uri.cpp | 409 ++++++++++++++++++++
libgnucash/engine/gnc-uri.hpp | 119 ++++++
libgnucash/engine/guid.cpp | 17 +-
libgnucash/engine/guid.hpp | 20 +-
libgnucash/engine/qof-backend.cpp | 11 +-
libgnucash/engine/qofid.cpp | 71 ++--
libgnucash/engine/qofsession.cpp | 7 +-
libgnucash/engine/test/CMakeLists.txt | 6 +-
libgnucash/engine/test/gtest-gnc-uri.cpp | 170 ++++++++
libgnucash/engine/test/test-gnc-uri-utils.c | 84 +++-
libgnucash/gnc-module/test/test-dynload.c | 19 +-
po/POTFILES.in | 2 +-
42 files changed, 1056 insertions(+), 761 deletions(-)
delete mode 100755 libgnucash/engine/gnc-uri-utils.c
create mode 100755 libgnucash/engine/gnc-uri.cpp
create mode 100644 libgnucash/engine/gnc-uri.hpp
create mode 100644 libgnucash/engine/test/gtest-gnc-uri.cpp
More information about the gnucash-patches
mailing list