From 6eeb5c67549a59f84fa54f26efbb84cbd0280cff Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sat, 28 Mar 2026 15:10:24 -0700 Subject: [PATCH] Release GnuCash 5.15 --- CMakeLists.txt | 11 +++++--- NEWS | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4042323745..b26fa3ddb1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ if (POLICY CMP0177) endif() project (gnucash - VERSION 5.14 + VERSION 5.15 ) enable_testing() @@ -605,7 +605,11 @@ if (Boost_FOUND) if (Boost_VERSION VERSION_LESS "1.89.0") find_package(Boost 1.67.0 COMPONENTS date_time filesystem locale program_options regex system) else() - find_package(Boost 1.67.0 COMPONENTS date_time filesystem locale program_options regex) + if (Boost_VERSION VERSION_LESS "1.90.0") + find_package(Boost 1.67.0 COMPONENTS date_time filesystem locale program_options regex) + else() + find_package(Boost 1.67.0 COMPONENTS date_time locale program_options regex) + endif() endif() endif() @@ -763,6 +767,7 @@ set(gnucash_DOCS ChangeLog.2022 ChangeLog.2023 ChangeLog.2024 + ChangeLog.2025 DOCUMENTERS HACKING LICENSE @@ -920,7 +925,7 @@ add_subdirectory(cmake) if (BUILDING_FROM_VCS) add_custom_target(ChangeLog ALL - COMMAND ${GIT_EXECUTABLE} log --format=\"%ad %aN %n%n%x09* %s%d%n\" --date=short --since=2025-01-01 > ${CMAKE_BINARY_DIR}/ChangeLog + COMMAND ${GIT_EXECUTABLE} log --format=\"%ad %aN %n%n%x09* %s%d%n\" --date=short --since=2026-01-01 > ${CMAKE_BINARY_DIR}/ChangeLog WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) install(FILES ${CMAKE_BINARY_DIR}/ChangeLog DESTINATION ${CMAKE_INSTALL_DOCDIR}) diff --git a/NEWS b/NEWS index e27aef65a3..0a49a9477d 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,77 @@ Version history: ------- ------- +5.15 - 29 March 2026 +Between 5.14 and 5.15, the following bugfixes were accomplished: + + Bug 666536 - smallest fraction of KRW is invalid + Bug 798122 - Message about unable to balance transaction: Implement better can't-balance + messages for scheduled transactions with more than one template transaction. + Bug 798873 - Crash when scrubbing after "undoing" changes + Bug 799705 - Remove Old Prices by Namespace: Display namespaces and allow selecting particular + namespaces in the Remove Old Prices dialog. + Bug 799706 - Rename Namespace: Add a rename namespace button to the Security editor that is + enabled by the selection of a namespace row in the tree view. + Bug 799713 - Account Editor changes account color to gray when default selected. + Bug 799722 - Inconsistent wording: Bill and Invoice: Use "Business Item" in messages that could + apply to any of Bill, Credit Note, or Invoice, including where we reuse the same + message in different cases. + Bug 799734 - mapped OFX income account not listed + Bug 799745 - Import matcher doesn't handle zero length memo and description properly + +The following fixes and improvements were not associated with bug reports: + + Major improvement in Python bindings to enable engine methods to return Python objects instead + of SWIG pointers. Covers Account, Split, Transaction, GNCLot, gnc_commodity, + gnc_commodity_namespace, gnc_commodity_table, GNCPrice, GNCPriceDB, QofBook, QofSession, + GncGUID, GncCustomer, GncEmployee, GncVendor, GncJob, GncAddress, GncBillTerm, GncTaxTable, + GncInvoice, and GncEntry. GncOwner, the superclass of many of the business classes, is + already covered. This allows more pythonic usage: + * Call member functions directly, e.g. price.get_commodity() instead of using the C-function + style gc.gnc_price_get_commodity(price) + * The C-function call now raises a DeprecationWarning if called with a Python object but not + if called with the instance, e.g. gc.gnc_price_get_commodity(price.instance) + * It is no longer necessary to test and convert return values for being SwigPyObjects or not + Python objects: Code like + if type(desc).__name__ == 'SwigPyObject': + desc = gnucash.Account(instance=desc) + or + if type(split) != Split: + split=Split(instance=split) + is no longer required. + Enable copy-and-paste in Scheduled Transaction template transactions. + Disable the Transaction Paste or Split Paste menu items in the register's Transaction menu when + there is no transaction or split in the clipboard. + Check all template transactions in a Scheduled Transaction for balance instead of only the first. + Fix the last reconcile date sort in the Accounts page so that unreconciled accounts sort after + reconciled ones instead of before. + Ensure that custom report sub-menus can receive custom report entries. + Import Matcher: Add trace messages to make it easier to track why some transactions aren't + considered possible matches and uncomment the debug statements so that they can be emitted + with --log arguments on the command line. + Fix segfault in gnc_gsettings_get_settings_obj when GSettings schemas are not installed. + Add tooltip explaining date-format selection to the CSV Import Assistant. + CSV Importer: Reparse all import lines when changing date or currency formats or when setting + base_account. + [new-owner-report.scm] fix display/due-date tooltip + Transaction report efficiency improvements. + Ensure that gnc_commodity_compare produces a stable sort. + Implement full test coverage of libgnucash/engine/qofid except for some unreachable code. + Remove unused qof_collection_from_glist function. + New function gnc_account_get_earliest_date returns the account's earliest split date. + This usually reflects the account opening date. + Provide an earliest-date sort option in the Accounts page and the balance-forecast report. + Support 64-bit compilation on Windows. + gnc_account_child_index: return -1 for non-child. + Turn off deprecation warning for wstring_convert. It's deprecated in C++17 with no replacement + until C++26. + Update GncDateTime to handle new exceptions from Boost::DateTime + Use std::chrono to create a GncDateTime. Boost::DateTime uses time_t and in some cases that's + still 32-bit, leading to a potential 2038 bug. + Fix GUI leaks in register completion cell, GncPluginPageRegister, and GNCPluginPageReport. + [gnc-datetime.cpp] Fix potential bug in fast_iso8601_utc_parse + +New and Updated Translations: Chinese (Simplified Han script), Croatian, Czech, Danish, Dutch, English (Australia), English (New Zealand), English (United Kingdom), French, German, Hungarian, Italian, Portuguese, Portuguese (Brazil), Russian, Spanish, Tamil, Turkish + 5.14 - 21 December 2025 Between 5.13 and 5.14, the following bugfixes were accomplished: