gnucash stable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Tue Jun 23 18:45:26 EDT 2026


Updated	 via  https://github.com/Gnucash/gnucash/commit/7f4e8c29 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3e98c5d8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/222714d7 (commit)
	from  https://github.com/Gnucash/gnucash/commit/32a6868f (commit)



commit 7f4e8c29e06d21c33a511e2202dcbb3504ad16fa
Merge: 32a6868f52 3e98c5d8c8
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Jun 23 14:55:41 2026 -0700

    Merge Noah Noerr's 'online-id-engine-accessors' into stable.

commit 3e98c5d8c8aa9a9556ba595c8d6c80970e145d50
Author: Noah R <Noerr at users.noreply.github.com>
Date:   Sun Jun 21 16:39:24 2026 -0700

    [engine] Add first-class online_id accessors for Split and Account
    
    Promote the OFX/HBCI online_id to named engine accessors:
      xaccSplitGetOnlineID / SetOnlineID / HasOnlineID
      xaccAccountGetOnlineID / SetOnlineID
    The getters return an instance-owned const char* (mirroring
    xaccTransGetDocLink / xaccTransGetNotes), so the existing
    add_methods_with_prefix auto-wrapper exposes them in the Python bindings
    with no .i changes and no %newobject.  They write to the same engine KVP
    slot ("online_id") the desktop importer uses, so there is no data or
    behavior change.
    
    With the accessors in place the gnc_import_*_online_id wrappers in
    import-utilities are redundant, so replace every call site (OFX,
    AqBanking, and the generic matcher/backend) with them, delete
    import-utilities.cpp, and drop the online_id declarations from
    import-utilities.h (its importer preference-key macros are retained).
    
    - The engine getters return an instance-owned const char* instead of a
      g_strdup'd copy, so callers no longer free the result; the affected
      locals are retyped const and their g_free()s dropped.
      hash_account_online_ids() g_strdups before inserting, since its hash
      table owns its keys (g_free key-destructor).
    - xaccAccountSetOnlineID(acc, "") clears the slot, matching the OFX
      "delete the online_id" intent (the old wrapper stored an empty string).
    - Drop the two unused wrappers: gnc_import_set_trans_online_id (marked
      "Not actually used") and gnc_import_trans_has_online_id (no callers).
    - Add xaccSplitGet/SetOnlineID to the Split gmock so test-import-backend
      links without import-utilities.

commit 222714d764e36ea030db0a8791af608f0e0ef0bd
Author: Noah R <Noerr at users.noreply.github.com>
Date:   Sun Jun 21 16:35:56 2026 -0700

    [engine] Remove the unused Transaction online_id property
    
    The "online-id" GObject property on Transaction (KVP slot "online_id")
    was vestigial: GnuCash records the OFX/HBCI import identifier on the
    bank/asset Split, not on the Transaction.  Drop the property, its
    get/set_property cases, the xaccTransClone special-case that cleared it,
    and the corresponding test_trans_kvp_properties coverage.



Summary of changes:
 bindings/python/tests/test_account.py              |   9 ++
 bindings/python/tests/test_split.py                |  13 +++
 gnucash/import-export/CMakeLists.txt               |   1 -
 gnucash/import-export/aqb/assistant-ab-initial.c   |   8 +-
 gnucash/import-export/aqb/gnc-ab-utils.c           |   3 +-
 gnucash/import-export/import-account-matcher.cpp   |  18 +---
 gnucash/import-export/import-backend.cpp           |  13 +--
 gnucash/import-export/import-main-matcher.cpp      |   2 +-
 gnucash/import-export/import-utilities.cpp         | 116 ---------------------
 gnucash/import-export/import-utilities.h           |  47 +--------
 gnucash/import-export/ofx/gnc-ofx-import.cpp       |  12 +--
 gnucash/import-export/test/CMakeLists.txt          |   1 -
 libgnucash/engine/Account.cpp                      |  14 +++
 libgnucash/engine/Account.h                        |  13 +++
 libgnucash/engine/Split.cpp                        |  30 ++++++
 libgnucash/engine/Split.h                          |  19 ++++
 libgnucash/engine/Transaction.cpp                  |  20 ----
 libgnucash/engine/Transaction.h                    |   1 -
 libgnucash/engine/mocks/gmock-Split.cpp            |  15 +++
 libgnucash/engine/mocks/gmock-Split.hpp            |   2 +
 .../engine/test/test-engine-kvp-properties.c       |  62 +++++++++--
 21 files changed, 191 insertions(+), 228 deletions(-)
 delete mode 100644 gnucash/import-export/import-utilities.cpp



More information about the gnucash-patches mailing list