ANNOUNCE: GnuCash 5.0 Released

John Ralls jralls at
Sun Mar 26 17:09:55 EDT 2023

The GnuCash development team announces GnuCash 5.0.
New Features

    A new Stock Transaction Assistant to guide you through entering most investment transactions for stocks, bonds, and mutual funds. You can access it from Actions>Stock Assistant when the focus tab is the Accounts page or a Stock or Fund account register.
    A new Investment Lots report showing a graph of capital gains and losses in a period by investment lot. Note that if you don't use the View Lots dialog to manage capital gains and losses this report won't have anything to show you. Use Reports>Assets & Liabilities>Investment Lots to see the report.
    The Online Quotes facility has been completely rewritten and the old gnc-fq-check, gnc-fq-dump, and gnc-fq-helper programs have been replaced with finance-quote-wrapper. The functions performed by those programs may now be accomplished by passing commands to gnucash-cli -Q, see gnucash-cli --help for specifics. The perl module requirements have changed with the rewrite: The new version doesn't need Date::Manip but needs JSON::Parse instead. gnc-fq-update has been, er, updated to reflect that.
    A new tab on the New/Edit Account dialog called More Properties includes entries to set a high and low limit on an account. That's coupled to a new column that's available on the Accounts Page, Balance Limit. If you set a high or low limit and the account balance falls above or below the respective limit an indicator will be shown in the Balance Limit column.
    The description field quickfill in the register now displays a drop-down list of possible completions instead of just one inline completion.
    File import menu items for the MT940, MT942, and DTAUS formats is replaced with a single Import from AQBanking that supports importing any file format supported by AQBanking, including the frequently requested CAMT. (Note that some CAMT profiles are under the XML format.)
    The import matcher now permits editing descriptions, notes, and memo fields in the matcher window before creating the transactions. Right-click and select from the context menu.
    The report generated by the Print Invoice button on the Edit Invoice tab can now be configured as a book option at the bottom of the Business tab; this permits selecting a saved configuration of one of the standard invoice reports. Another option enables a delay, during which a dialog box will appear enabling the user to select a different report. Note: When saving a configuration make sure that the invoice number is not set or you'll get that particular invoice instead of the one that you pressed the button for.

Significant Code Changes
Deprecations (will be removed in GnuCash 6.0)

    _ (the alias for gettext. Use G_ instead)
    The invoice option to gnc:register-report-create-internal

Report and Book Options

    This major change will affect everyone who has written custom reports in Guile Scheme.
    The report and book options code has been completely rewritten in C++ with SWIG providing Guile Scheme access for reports. The new design requires directly registering options with for example gnc-optiondb-register-string-option instead of calling gnc:make-string-option to create an option followed by gnc:register-option to insert it in the report's options.
    Value access is also changed: Instead of retrieving an option and then querying or setting its value with gnc:option-value one will query the optiondb with gnc-option-value, the arguments to which are the optiondb, the section, and the option name.
    Supporting the new options backend the options dialog code in gnc-dialog-options, gnc-business-options, and the new gnc-option-gtk-ui have also been rewritten in C++.

Online Price Retrieval

    As noted under New Features the interface to Finance::Quote has been completely rewritten in C++ with much of the behavior previously coded in external perl scripts moved into GnuCash proper. This permits much better access to Finance::Quotes's facilities and in particular should provide much richer error reporting.

Stability Improvements

    There are hundreds of small changes to prevent memory leaks, reduce unnecessary memory allocations, and fix compiler and static analyzer warnings.
    Use of deprecated API in C/C++ is now an error (with 3 exceptions), including for the minimum required version of GLib and Gtk.
    Extensive changes to the CSV importer, resolving most known bugs.
    Remove all unused variables and made an unused variable a compile error.
    Move all extern "C" declarations into the respective header files and remove extern "C" wrappers around #include statements.
    Separate the scheme financial functions into a separate module so that all other scheme code can be banished from libgnucash to bindings.


    The menus and toolbars now use the GAction and GActionGroup actuation functions, replacing the deprecated GtkAction and GtkActionGroup APIs.
    The experimental Register2 implementation is removed, as is the never-used Jalali calendar code and partly-written option code for creating a book currency.

New and Updated Translations: Chinese (Simplified), Croatian, Czech, English (Australia), English (New Zealand), English (United Kingdom), Hungarian, Japanese, Macedonian, Polish, Portuguese, Portuguese (Brazil), Russian, Spanish, Swedish, Ukrainian

Help translate GnuCash on Weblate:

Known Problems: A complete list of all open bugs:


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

Note that the document formerly titled Help is now the Manual

The installation of the documentation has changed to match the XDG-Documentation recommendations so that recent releases of Gnome Desktop's Yelp can find it.
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:

    cfc13bab31aed8e4962805ef56530f9772889604910b5678cb5c79c283138824  gnucash-5.0.tar.bz2
    66dd5e32829cb6d8dd9a7e017a894583c7579932d13c4fe024329d9c6cfe956d  gnucash-5.0.tar.gz
    e9d30e36163a7f047daf2523ac35bf2218d2e661bcfc7f279d57d4d396caa33d  gnucash-5.0.setup.exe
    c8ea60b2ccbeab5f6997a927939a0fad715fbbe494644e586c6c386bfec6857a  Gnucash-Intel-5.0-2.dmg
    02a1d6d0d8c61aae47b1200af482967ed16322a41f31dd8cf3a6679e7159edb1  gnucash-docs-5.0.tar.gz

Microsoft Windows:

Apple macOS:

Getting GnuCash as source code
If you want to compile GnuCash 5.0 for yourself, the source code can be downloaded from:

To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.22.29, Guile 2.0, Boost 1.67, WebKitGtk 2.4, GoogleTest 1.8.0, cmake 3.10 and SWIG 2.0.12. Please consult the README.dependencies file in the sources for the exact list of dependencies and versions.
Getting the documentation

Note that the documentation for unstable releases is not on the GnuCash website. It is built daily and may be found on the development server under the locale directory; "C" is English, "de" is German, and so on.

The documentation is included in the MacOS and Windows application bundles.

If you want to compile the GnuCash Documentation 5.0 for yourself, the source code can be downloaded from:


   You can also checkout the sources directly from the git repository as described at

About the Program

GnuCash is a free, open source accounting program released under the GNU General Public License (GPL) and available for GNU/Linux, *BSD, Solaris, MacOS, and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.

John Ralls

More information about the gnucash-announce mailing list