GnuCash 5.0 Released
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
- gnc:make-account-list-limited-option
- gnc:make-account-list-option
- gnc:make-account-sel-limited-option
- gnc:make-account-sel-option
- gnc:make-budget-option
- gnc:make-color-option
- gnc:make-commodity-option
- gnc:make-complex-boolean-option
- gnc:make-counter-format-option
- gnc:make-counter-option
- gnc:make-currency-option
- gnc:make-date-format-option
- gnc:make-font-option
- gnc:make-internal-option
- gnc:make-invoice-option
- gnc:make-list-option
- gnc:make-multichoice-callback-option
- gnc:make-multichoice-option
- gnc:make-number-plot-size-option
- gnc:make-number-range-option
- gnc:make-owner-option
- gnc:make-pixmap-option
- gnc:make-query-option
- gnc:make-radiobutton-option
- gnc:make-simple-boolean-option
- gnc:make-string-option
- gnc:make-taxtable-option
- gnc:make-text-option
- gnc:option-set-default-value
- gnc:option-set-value
- gnc:option-setter
- gnc:option-value
- gnc:register-option
- 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 callinggnc:make-string-option
to create an option followed bygnc: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 withgnc-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.
Modernization
- 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
Known Problems
Complete list of all open bugs.
.Documentation
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.bz266dd5e32829cb6d8dd9a7e017a894583c7579932d13c4fe024329d9c6cfe956d
gnucash-5.0.tar.gze9d30e36163a7f047daf2523ac35bf2218d2e661bcfc7f279d57d4d396caa33d
gnucash-5.0.setup.exec8ea60b2ccbeab5f6997a927939a0fad715fbbe494644e586c6c386bfec6857a
Gnucash-Intel-5.0-1.dmg02a1d6d0d8c61aae47b1200af482967ed16322a41f31dd8cf3a6679e7159edb1
gnucash-docs-5.0.tar.gz
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.
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.