github Gnucash/gnucash 4.9
GnuCash 4.9 Released.

latest releases: 5.9, 5.8, 5.7...
2 years ago

The GnuCash development team announces GnuCash 4.9, the tenth release in the stable 4.x series

Between 4.8 and 4.9, the following bugfixes were accomplished:

The following fixes and improvements were not associated with bug reports:

  • More memory leak plugging and GList efficiency improvements.
  • Fix build with cmake older than 3.18

    3.18 introduced 'cmake -E cat', but we still have to support versions starting from 3.14.

  • [account-piecharts] don't use gnc:make-internal-option
  • Several improvements to the experimental IFRS cost-basis report.
  • Fix two minor issues with displaying links in the Document Link dialog.
  • Fix obsolete links to bugzilla.gnome.org in translations.
  • L18N: Fix glossary/es.po:906: duplicate message definition...

    901: ...this is the location of the first definition

  • [budget-flow] delay creating exchange-fn until a valid budget exists

    because it needs budget period end-date.

  • [options.scm] Addon previous commit... need to initialize with guid
  • [options.scm] gnc:make-budget-option stores guid instead of object

    because object may become stale if UI is used to delete it, leading to stale pointer and segfault. storing guid is safer, and will return null if budget is deleted.

  • support SEPA internal transfer
  • Fix issue with failure to run reconciliation with all accounts present in a multi-account OFX file. Do that by saving a GList of statements, rather than a pointer to a single one. Also freeing of info happens during the call to process_next_file.
  • Import of OFX files with many securities opens too many matching dialogs Because ofx import is currently split per target account, and since each security has its own accounts, importing such OFX is a tedious process. The fix is to only split the transactions if we identify a potential transfer, currently based on amount, date and accounts. To do that, we insert transactions one by one into a list, making sure we have not already inserted one that has the same date, and the same absolute amount. If we have, we keep this potential transfer for a second phase. A naive approach would loop through added transactions for each new transaction by that ends up being O(N^2), which matters if we have many transactions. Instead, I'm using a hash to make this O(N log N).
  • [date-utilities.scm] remove unused date selectors code & string
  • Adjust GNC_DEFINE_TYPE_EXTENDED_END

    To match new signature of g_once_init_enter and g_once_init_leave.

  • Fix build with glib2 2.67.x.

    glib headers should not be included with 'extern "C"'.

  • Add explanatory note for gnc_add_scheme_deprecated_module test code

    The immediate parent commit removes old deprecated scheme modules. Link to the old modules for example code.

  • [test-engine-extras] don't create splits of opposing amt/value signs

    Splits' value and amount should never be of opposite signs. Fix test book which had created this incorrect value/amount pair. Strengthen env-create-multisplit-transaction to disallow test book errors.

  • [dialog-search] another QofQuery "q" must be destroyed

    because qof_query_merge creates a newly allocated QofQuery, its 2 QofQuery must be freed separately.

  • [trep-engine] new option "Date Filter" to specify dates to filter by
  • [dialog-sx-since-last-run] don't allocate repeatedly to combine strings
  • [test-transaction] "Report Currency" renamed to "Report's currency"
  • Separate the warnings for "cut split/transaction" and "delete split/transaction"
  • [gnc-autoclear] Move autoclear algorithm into gnome-utils
  • GSettings - fix GObject warning when old prefs-version is unset

    This will happen when current master (future 5.0) has been run at least once.

  • [utest-gnc-pricedb] add tests for gnc_price_list_equal

    Also need to change PWARN which causes test failure, to PINFO

  • [reconcile-view][bug] dr/cr query tests amount instead of value

    Because split->amount and split->value are generally of equal sign, EXCEPT in stock transactions whereby split->value can be zero and split->amount is non-zero. e.g. a stock split transaction. Querying the split amount instead will allow stock accounts with stock splits to be reconciled.

  • [split-register-model.c] Hide price==1 for zero-amount splits

    mainly of interest in zero-amount zero-value splits in the stock register eg dividend splits.

  • [core-utils] introduce gnc:format

    (gnc:format str [binding value]...) str will contain ${binding} which will be replaced to value.

  • [import-main-matcher] show destination acct for auto-match
  • GSettings - add 'deprecate' and 'obsolete' conversions for user preferences

    'deprecate' is technically a noop. It serves to remind maintainers the 'deprecated' preference is to be obsoleted in the next major release. 'obsolete' goes one step further in that it will cause gnucash to reset the preference, effectively clearing the value stored in the preferences backend. This is the final phase of a preference. Following this it will be completely removed from the GSettings schema in the next major release. Notes * 'deprecate' and 'migrate' are related. Both are a reminder the preference is to be obsoleted in the next major release. 'deprecate' does only that though while 'migrate' will also trigger a copy of the old value to a new location in the databse. * This commit readds a couple of preferences that had been removed in the past to be able to properly obsolete them (and to test the obsoleting code)

New API

None

Deprecations

None

New and Updated Translations: Chinese (Simplified), Chinese (Traditional), Croatian, French, German, Hebrew, Italian, Norwegian Bokmål, Portuguese, Portuguese (Brazil), Spanish, Ukranian.

Help translate GnuCash on Weblate

Known Problems

Complete list of all open bugs.

.

Documentation

Concurrent with the release of GnuCash 4.9 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide

Between 4.8 and 4.9, the following bugfixes were accomplished:
The following fixes and improvements were not associated with bug reports:
  • Guide:C: Add a directory with datafiles for faster regeneration of images
  • Chapter "Online-Quotes" created.

    * Description of the installation and configuration of F::Q (moved from Help_ch_Account-Actions-xml).

  • Remove several Autotools remains
  • Drop TravisCI as we are using Github Workflows now.
  • Removed the information of HACKING file from README.
  • Add ghelp to the default target

    At some point in the past ghelp didn't have to be built, as one could develop and test simply from the source directory. That is no longer the case so perform a build by default if ghelp is enabled.

New and Updated Translations: German

Getting GnuCash for Windows and MacOS

GnuCash is provided for both Microsoft Windows 8.1® and later and MacOS 10.13 (High Sierra)® and later in pre-built, all-in-one packages. An installer is provided for Microsoft Windows® while the MacOS® package is a disk image containing a drag-and-drop application bundle.

The SHA256 Hashes for the downloadable files are:

  • 9a551c30c1b712199fc2227a109afb984d7bef18e138170bbc7225c6c1fab72d  gnucash-4.9.tar.bz2
  • 01d6381d5c876a6210f037c922c59c79799bf663f2a71f46fe14dbaca5db7f74  gnucash-4.9.tar.gz
  • c50fac9755958c3b5310c1f605149a88bb365eac32c5c361c4174ffa5e314921  gnucash-4.9.setup.exe
  • ac288ffa06a759d6104b74f9c91449ce218de392ac8ca4739bce217e2f9817b1  Gnucash-Intel-4.9-1.dmg
  • d901a08eb67310aac28ae9924a4c6d0f2ed423a6a2cf2adb10c5574dabba9b12  gnucash-docs-4.9.tar.gz

GnuCash is also available as a flatpak from Flathub.org. Instructions for installing and running.

Don't miss a new gnucash release

NewReleases is sending notifications on new releases.