Skip to content

GnuCash 3.4 released

Compare
Choose a tag to compare
@jralls jralls released this 30 Dec 20:00

The GnuCash development team announces GnuCash 3.4, the fifth release of the 3.x stable release series.

Changes

Between 3.3 and 3.4, the following bugfixes were accomplished:

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

  • Set up filepath utils to determine the GNC_CONFIG_HOME in the same way as GNC_DATA_HOME.
    Until now GNC_CONFIG_HOME was more or less hard-coded. Now it can be set via environment variable GNC_CONFIG_HOME. In addition it will automatically be created to avoid potential user confusion.
  • Redesign gnc-uri-utils
    • gnc_uri_get_components will now return NULL as protocol if the input is a normal file system path instead of a uri (it used to return 'file')
    • gnc_uri_get_protocol will now return NULL if the input is a normal file system path instead of a uri (it used to return 'file')
    • gnc_uri_is_file_protocol now returns FALSE if protocol is NULL (it used to return TRUE)
    • gnc_uri_is_file_uri now returns FALSE if input is a normal file system path instead of a uri (it used to return TRUE)
    • a new function gnc_uri_targets_local_fs will return TRUE only if its input is either a file uri or a normal file system path. This function is now mostly used instead of gnc_uri_is_file_uri in the current code base
    • a new function gnc_uri_is_uri is added to check whether its input is a valid uri (has protocol, path and hostname for non-file uris)
    • refer to 'scheme' instead of 'protocol' as that's the more formal term used in uris This involves renaming 3 functions:
      • gnc_uri_get_protocol -> gnc_uri_get_scheme
      • gnc_uri_is_known_protocol -> gnc_uri_is_known_scheme
      • gnc_uri_is_file_protocol -> gnc_uri_is_file_scheme
    • The *_protocol variants are marked as deprecated.
    • Additionally a number of local variables have been renamed from protocol to scheme to support this change.
  • Show warnings for deprecated declarations
    We're about to announce our own set of deprecated functions in libgnucash. That would be pretty pointless if we also would silence all deprecation warnings at the same time...
  • More report code-cleanup by Chris Lam, including deprecating the following functions:
    • gnc:account-get-balance-at-date
    • gnc:account-get-total-flow
    • gnc-commodity-numeric-string
    • gnc-commodity-value->string
    • gnc:double-col
    • gnc:options-add-include-subaccounts
    • gnc:options-add-group-accounts
    • gnc:options-add-currency-selection
    The following modules are deprecated:
    • report-system/collectors
    • report-system/report-collectors
  • Invoice: Remove H1 title and superflous option.
    Printing the title twice is silly, so remove the option and the H1 display of the title. Note that the remaining title is in a div named "invoice-title" so it can be styled with CSS as the user pleases from the Report Options Layout tab.
  • The preference, use formal accounting labels does not update the header With a register open and you change preference 'use formal accounting labels' it does not update the register header so add a call back for the preference.
  • Make the grid lines of totals Budget tree view track the preferences.
    Make the grid lines of the totals tree view track the preferences to match the account tree view above it.
  • Add routine to fix Account Color being set to "Not Set"
    Previously the account color slot has been populated with "Not Set" when any field for the account has been edited and saved. This routine should run once and remove all such entries.
  • Performance fix in dom_chars_handler: use g_strndup instead of g_strdup
  • In the appdata/metadata file, rename the ID from org.gnucash.Gnucash to org.gnucash.GnuCash to match flathub, and add a launchable ID to link it to the desktop file.
  • Added double-click-on-file for the CSV transaction, price, and account importers and exporters.
  • Cleaned up a variety of issues reported by the clang static analyzer.
  • Allow the text options widget to use all remaining space
    The text option widget used for report options has only about 3 lines visible currently and will not use any available space in the dialogue. Change the packing for this widget to expand and fill the remaining dialogue space. If there are more than one text option widget on a page then the available space will be shared equally.
  • Add short_labels for a few toolbar buttons with long names. That should fit a few more buttons on the toolbar.
  • Update iso-4217-currencies.xml, adddding VES - Bolivar Soberano, minor updates of other VE currencies.
  • Python 3 bindings fixes and improvements from Christoph Holterman and Sumit Bhardwaj.

We have revised translations for Chinese (Simplified), Farsi, German, Japanese, Portuguese (Portugal), and Ukrainian

Revised or added account templates for English (US), English (UK), German (Austria), German (Germany), Portuguese (Portugal)

Known Issues

The following are open bug reports new to the 3.x series considered significant by the development team:

Documentation

There were no content changes to the GnuCash Documentation, though the build system was modified.

Getting GnuCash for Windows and MacOS X

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

The SHA256 Hashes for the downloadable files are:

  • a254883c8f7e34f2e19ebdc6a0185489d9027341d7d62a6f1ef815a8c9e342d7  gnucash-3.4.tar.bz2
  • 95e8d340b7299e67ed9bedd29141cdc50824a1d6c17ebba302396b862e33b2ea  gnucash-3.4.tar.gz
  • 7ebbec0bc668e42d04178254a754aab7ba63c3177ed4e60bd5c6da917a2a316f  gnucash-3.4.setup.exe
  • 359d3ecbfc2143fe11901bd0319a60c5b802a8c13206c4da0041e510b7d39d59  Gnucash-Intel-3.4-1.dmg
  • 07d3b6eff48a305cd392e643d16ac12185bdcd456dcf6061441e9ef9faedf22d  gnucash-docs-3.4a.tar.gz

WARNING Do not try to use the github-generated files labelled "Source Code". They have not been processed with swig and will not build.
  • You can also checkout the sources directly from the git repository as described here.
  • To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.10, Guile 2.0, Boost 1.54, WebKitGtk 2.4, and GoogleTest 1.7.0. In addition you will need SWIG 2.0.10 if compiling from git. Please consult the README.dependencies file in the sources for the exact list of dependencies and versions.

    Getting the documentation

    The documentation is available at Documentation page of the GnuCash website. The 3.4 documentation can be found under "GnuCash v3 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.

    If you want to compile the GnuCash Documentation 3.4 for yourself, the source code can be downloaded here.

    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, Mac OSX, and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.