Skip to content

GnuCash 4.5 Released

Compare
Choose a tag to compare
@jralls jralls released this 28 Mar 17:58

The GnuCash development team announces GnuCash 4.5, the sixth release in the stable 4.x series

Between 4.4 and 4.5, the following bugfixes were accomplished:

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

  • Fix building based on unix makefiles
  • Make the chart on the report page icon larger to align better with the account page icon.
  • Allow the context menu when GncCellRendererTextView is in edit mode.
  • Restructure early locale initialization
    • Move macOS specific bits to its own source file. As this is objective-c use .mm extension
    • Use common function signature for macOS and Windows init function and include via common header file
  • Fix GncDateTime::format_zulu to emit the UTC timezone instead of the GncDateTime's timezone with the UTC timestamp.
  • Fix the implementations of gnc_foo_get_day_neutral. As implemented these returned 10:59 AM local on the day but neutral time is 10:59 UTC.
  • gnc_invoice_window_print_invoice return NULL if invoice is NULL.
  • [dialog-invoice] invoice editor reuses invoice report tab.
  • Allow for Header Bar use in CSV transaction Assistant

    There are a couple of action buttons that are added to the CSV transaction assistant with added alignment based on the action area being a GtkBox which causes errors if the header bar is used so test for the action area type and use appropriate specific functions.

  • Drop default locale currency special case for euro

    The condition mentioned in the comment no longer applies. All European locales on Windows (MingW64) properly present EUR as currency these days

  • Fix fencepost error in calculating the week_num for POSIX timezone rules.
  • Include the contents of PROJECT_DESCRIPTION in the PACKAGE_PREFIX.

    If it's defined. PACKAGE_PREFIX is used to name tarballs and set their base directory. The translation project has requested that we name freeze-string tarballs with a pre1 suffix; this makes that possible.

  • Update python/gnucash_business.py to reflect rename of gncOwnerApplyPayment.
  • I18N: don't mark "<<", ">>" translatable

    They get properly reversed for RTL writing

  • From Budget editor, add toolbar and Edit menu to run budget report

    This parallels the invoice editor "Print Invoice" functionality. Runs the budget report using current budget.

  • [gnc-plugin-page-budget] change note icon to a note page
  • Allow the find account dialog position to be saved when using 'X'
  • Update price database for imported transactions.
  • Replace g_memdup by memcpy

    GLib is deprecating g_memdup and will immediately remove it in the next micro-release because of a CVE.

  • [html-fonts] Prevent sup/sub from affecting baseline

    Source: https://css-tricks.com/snippets/css/prevent-superscripts-and-subscripts-from-affecting-line-height/ Previously <sup> and <sub> would cause the baseline to move vertically.

  • Replace stat calls with GFile to retrieve last modified info

    Avoids code-page problems with non-ASCII characters on Microsoft Windows.

  • [gnc-tree-model-split-reg.c] use xaccSplitListGetUniqueTransactionsReversed

    which is then reversed if required. this removes the need for double reversal.

  • [Split.c]New function xaccSplitListGetUniqueTransactionsReversed

    Same as xaccSplitListGetUniqueTransactions but doesn't reverse the list prior to returning. To be used by gnc-tree-model-split-reg.c Several optimizations

    • doesn't call g_list_find and g_list_append for every iteration
    • uses g_hash_table to cache list of txns already added instead of g_list_find<.
    • does not reverse the result, thereby returning a reversed list.

  • [gnc-recurrence.c] avoid O(N^2) children traversal
  • Ensure that any GncMainWindows containing no tabs are destroyed at shutdown.
  • I18N: drop translatable flag from "xxx" dummies and remove trailing spaces from translatable strings
  • Update Form/Schedule line references for 2020 for the US Income Tax Report.
  • Fix build with glib2 2.67.x.

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

  • [balsheet-pnl] Use last day of the month prices instead of first day of next month.
  • [options.scm API] Remove canonically-tabbed parent-subtotal-mode

    This mode had been marked experimental for 17 years and was never improved. Any saved reports with this option will be switched to parent-subtotal-mode enabled.

  • Accommodate Gwenhywfar 5.5.0 signature change for some GUI callbacks.

    This is a breaking change that matters only in Win32. No ifdeffing because Win32 builds and dependencies are well synchronized.

  • L10N: Move translation authority for Turkish from the GNU Translation Project to Weblate.
  • Make prototypes static for autoclear unit test, fixes build on Debian Buster.
  • [income-gst-statement] trep-engine currency section moved

    From "General" to "Currency". Missed out in 854c117 commit

  • [test-scm-utilities] test-end properly so that test failures set the exit code correctly

  • Create opening balance accounts only when there are opening balances.
  • [qif-file.scm] Don't use match as an identifier

    It is a (ice-9 match) keyword.

  • Change the CSV export account tree header line

    Change the headings of the CSV account export header line to be more friendly which uses existing translations.

  • [new-owner-report] Don't create empty rows on report when splits have no entry in the memo field.
  • [gnc-report] dump backtrace to console when report crashes

    because gnc:backtrace-if-exception, not used anymore, would dump guile backtrace to console. restore this behaviour.

  • [report-core] remove 2.6/2.4 compatibility code
  • [gnucash-commands.cpp] display report errors to stderr

New API

  • [report-core.scm] create and expose gnc:render-report

    similar to gnc:report-run but *always* returns a 2-element list containing data OR captured_error

  • [report-core.scm] create and expose gnc:render-report

    similar to gnc:report-run but *always* returns a 2-element list containing data OR captured_error

  • [gnc-plugin-page-report] add gnc_plugin_page_report_reload

    refreshes the report

Deprecations

  • [c-interface.scm] deprecate gnc:last-captured-error
  • [report-core] deprecate gnc:restore-report-by-guid
  • gnc:get-three-months-ago
  • gnc:get-six-months-ago
  • gnc:get-one-year-ago
  • gnc:get-three-months-ahead
  • gnc:get-six-months-ahead
  • gnc:get-one-year-ahead
  • traverse-list->vec
  • traverse-vec->list

New and Updated Translations: Bodo, Croatian, Danish, Dutch, English (United Kingdom), Finnish, French, German, Greek, Hebrew, Hindi, Indonesian, Italian, Japanese, Lithuanian, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Russian, Spanish, Turkish, Ukrainian, Urdu, Vietnamese

Known Problems

Complete list of all open bugs.

.

Documentation

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

Between 4.4 and 4.5, the following bugfixes were accomplished:
The following fixes and improvements were not associated with bug reports:
  • Add wiki links about Online Banking Setup
  • Online banking: Table of protocols
  • Rewording of tools abstract
  • Add IDs to all html chunks of help
  • Explain default sort order and a partial review of the register view menus.

  • Update links about tax report …
  • New section "Country Specific Reports"

    Moved US:TXF, added de:ElStEr

  • Report: Join several notes in one footnote
  • Several updates in report-create
  • Guide: New year
  • Update saved-reports location
  • Update copyright year of german guide
  • Specify ISO currencies in overview (English, 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:

  • bc1f48a8453488a2e9f6b83b68613aa55caebe4d2983460bdac7e084b46cffdc  gnucash-4.5.tar.bz2
  • ba645cca45d5354b4a2e25b5a3f5fb1e06eaaf6b72cf07b29c4818e2d5e0a084  gnucash-4.5.tar.gz
  • dc0f48cc6a606bf0e7780777dbef34dc8fd5a0eb8014ce79042cbada0f171839  gnucash-4.5.setup.exe
  • 9b8dd368d8c8b8879938830f129f2abf5014182c84d0cb8fc133b5d0d1d321a9  Gnucash-Intel-4.5-1.dmg
  • 91fd04afc8d9b700e9f034321aa782b52adf13c559e3a94410e0774c180afa43  gnucash-docs-4.5.tar.gz

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

Building GnuCash from source code

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

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

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.