The GnuCash development team announces GnuCash 3.904, the third testing release
for what will soon be GnuCash 4.0.
Changes
Baseline requirements
Operating Systems:
? Linux: Ubuntu 18.04LTS
? MacOS: 10.13
? Windows: 8.1
Software Dependencies:
? C++ standard is now C++17, requires gcc 8.0 or clang 6.0.
? Cmake 3.10
? boost 1.67.0
? gettext 0.19.6 for general use, 0.20 to generate gnucash.pot.
? glib-2.0 2.56.1, gtk 3.22.30
? googletest 1.8.0
? ICU, any version.
? libdbi 0.8.3
? libxml2 2.9.4
? swig 3.0.12 Now required for building from tarballs as well as from git.
? Webkit 2.4.11 Mac & Win32, 2.14.1 Linux/BSD
New Features
3.903 was the feature-freeze release. However, the command-line arguments for
both gnucash and gnucash-cli have been adjusted as follows:
? --add-price-quotes is changed to --quotes get
? --run-reports is changed to --report run --name <report name>
? Added --report list to produce a list of available reports.
? Added --report show --name to describe the options changed from the default
values in the named report.
The intent is to have command categories with subcommands to better enable a
richer command line capability as illustrated with the new report commands list
and show.
? A new separate executable, gnucash-cli (gnucash-cli.exe on Microsoft Windows)
for doing command-line things like updating the prices in your book. gnucash-cli
gains the ability to run reports from the command line. Specify reports to run
by name or guid. It also provides an export format and an output file name
without which it will output the report to stdout.
? gnucash --report run --name=[reportname/guid] datafile.gnucash
? gnucash --report run --name=[reportname/guid] --output-file=x.html
datafile.gnucash
? gnucash --report run --name=[reportname/guid] --output-file=x.html
--export-type=TYPE datafile.gnucash
? When deleting accounts the destination accounts of moved splits will be
checked to ensure that they have the same commodity as the source account. If
they don't you'll get a warning and the opportunity to pick another
account or to carry on regardless.
? New type-ahead search added to sequential search when selecting an account in
the register: Instead of typing the first few characters of a top level account,
the separator, the first few characters of the next level account and so on you
may instead type a few characters of any part of a full account name and the
drop-list will be filtered to contain only matching accounts. Once you have a
small enough list you can use the arrow keys to select the account that you
want.
? Python bindings are now localized and their strings available for
translation.
? The new reports introduced in the Experimental Reports menu are moved to the
main menu and the old reports hidden; the old reports can be unhidden by running
GnuCash from the commandline with the --extra argument. That will cause the old
reports to appear in their regular locations on the menu labeled (legacy). Note
that new reports use different options and layouts and you may need to adjust
your saved report configurations.
? A new Transaction Association dialog, available from the new Update
Transaction Association item in the register context menu, provides the ability
to have multiple associations for a single transaction. Associations may now be
easily removed.
? Allow Associations to be added to invoices. The actual association when
present is added as a link button which is shown below the notes.
? A symbol is now displayed on transactions in the register when they have an
attachment and the selected font supports the symbol.
? The OFX file importer can now import more than one file at a time.
? A new report menu supbmenu Multicolumn contains the old custom-multicolumn
report and a new Dashboard report containing Account reports for expenses and
income, an income-expense chart, and an account summary.
? When importing, the matcher will no longer offer to match a transaction to
one that has already matched in a previous import, nor will it offer to match
more than one imported transaction to a single existing transaction.
? Support for UK VAT and Australian GST added to the Income-GST report. The
reports options are changed from source accounts to source sales and purchase
accounts to permit proper reporting of capital purchases. N.B. This is
incompatible with previous versions of the report and will require regenerating
saved configurations.
? Add option to save Layout for Business items
Add two menu items under windows, one to save an existing layout for Invoices,
Bills and Vouchers to their respective default layouts so the user set column
widths will be used. The second menu item will reset the column widths to
defaults and remove the default layout. Open Business items will also save there
column widths to the page section so these can temporarily have different
widths.
? The matcher window columns are changed from R to C and from U+R to U+C,
reflecting that the matcher marks transactions cleared but doesn't reconcile
them. (Bug 797338)
? OFX imports having balance information will now offer to immediately
reconcile, passing the balance information in the file to the reconcile info.
? Improve quickfill in the account pickers to filter the choices based on any
part of the name.
? The GnuCash widget hierarchy for CSS has been revised to be more consistent
with Gtk practice. You may need to spend some time with the GtkInspector to get
your custom CSS back the way you like it.
? When creating a new account hierarchy it's now possible to load account
templates from locales other than the one set for the user interface. (Bug
797472)
? New Account - Online Account match list to the Import Map Editor.
? New invalid maps dialog in the Import Map Editor. (Bug 797612)
? Optionally include the account code option in budget view.
? Account matcher will decline to match accounts with a different commodity
from the imported split if the import information includes the commodity.
? Ellipsize the Description and Memo fields in the account matcher.
? Enable adding notes to budgets. (Bug 693180)
? Support for AQBanking Version 6. This is required to support new FinTS
protocols and the European Privacy Directive.
? GnuCash 4.x will not migrate old gconf settings from GnuCash 2.4.x.
? Reversing transactions will now pop a dialog box to request a posting date.
(Bug 782455)
? The Accounts page has a new optional column for the hidden property to make
it easier to toggle it. Note that in order to see hidden accounts you must still
enable that in the Filter by... dialog. (Bug 797486)
? The Customer, Vender, and Employee overviews have a process-payment toolbar.
(Bug 797605).
? Account codes may now optionally be displayed in the Budget Tree View. (Bug
797489).
New/Revised Reports
? Income-GST
? Owner Report
Significant Code Changes
In 3.904
? The signature for qof_session_begin(), QofSession::begin(), and
QofBackend::begin() are changed to use an enum SessionOpenMode instead of three
booleans.
In previous 3.9xx releases
? gnucash-bin.c has been split into 4 parts, mostly C++:
? gnucash.cpp, the GUI executable.
? gnucash-cli.cpp, the command-line executable.
? gnucash-commands.cpp, implementation for the commands that can be run from
the command-line.
? gnucash-app-core.cpp, common code required by both the command line and gui
programs.
? There's also an auxiliary file, gnucash-windows-locale.c because the
localization code proved resistant to compiling as C++. We're planning
another auxiliary file for the MacOS localization.
? A new mock facility for several engine classes to permit better-isolated unit
testing of components that depend on those classes.
? Register filter and sort values are saved in the book's state file
(book.gcm) in the user's configdir instead of in the book.
? QofSession no longer creates its book, instead one must create a book first
and pass that to qof_session_new()/QofSession::QofSession().
? Add option to save Layout for Register items
Add two menu items under windows, one to save an existing register layout based
on the register type to there respective default layouts so the user set column
widths will be used when opening registers. The second menu item will reset the
column widths to defaults and remove the associated default layout. Open
registers will also save their column widths to the page section so these can
temporarily have different widths.
? Input Method handling in the register is moved to the GtkEntry where it
belongs.
? gnc_get_current_session() no longer creates an empty session if there
isn't one already open.
? The source directories have been rearranged and most of the loadable modules
(e.g. libgncmod-engine.so) are now normal dynamic libraries (libgnc-engine.so),
shorn of their gnc-module adapters. Make sure that you clean and rebuild your
build directory.
? All functions marked as deprecated in 3.x are now removed. If you have custom
reports be sure to examine gnucash.trace for deprecation warnings and update
your reports before trying them in GnuCash 3.904.
? libgncmod-generic-import is now libgnc-generic-import.
? Scheme no longer uses libgncmodule, always do (use-modules (gnucash foo))
? Autocompletion improvements for the transfer-account field.
? New test for invalid mappings for online accounts and a dialog to fix them.
? jqplot is replaced by chartjs.
? Separate most Guile binding code from the code that it wraps. It's now
located in bindings/guile.
? Improve Google test integration in cmake. CMake now requires only GTEST_ROOT
and only when cmake isn't able to find Google test without help.
? Unit tests for Scheme code with SRFI64.
Deprecations (will be removed in GnuCash 5.0
? gnc:substring-replace-from-to
Between 3.903 and 3.904, the following bugfixes were accomplished. Some of these
will also be fixed in GnuCash 3.11, some are for 4.0 only.
? Bug 797739 - Tweak Transaction Report Column Defaults
? Bug 797774 - Add tooltips to abreviated header columns for all table like GUI
elements
The Bill/Invoice due reminder has a column header of 'CN?' which was
unclear of meaning which is 'Is this xxx a Credit Note'. A tooltip was
suggested but a better fix is to change the column to display the 'Type'
so you would see Bill, Invoice or 'Credit Note' just like you see in the
find dialog.
? Bug 797775 - Rate/Price displayed as fractional in CSV Export
Change the CSV transaction exporter to follow the Preference setting of
'General->Force Prices to display as decimals'.
? Bug 797781 - Num Field Regression - characters in wrong order when typed.
The following fixes and improvements were not associated with bug reports or new
features:
? Add a tooltip for the 'C' column in the Chart of Accounts
Add a tooltip to the header for column 'C' of 'Account Color' to
match existing one character headings for 'Place Holder' and
'Hidden' columns.
? Add first version of gnucash-cli manpage
? Rework command line option parsing to store values directly in class member
variables
? [cli-reports] modify to open session readonly
Updated Translations: Romanian, Ukrainian
Known Problems
? Bug 797708 - Reconcile Dialog on Import
? Bug 797746 - [reports] German umlauts not escaped
Complete list of all open bugs.
.
Documentation
There have been no changes to the documentation since the release fo 3.903.
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:
? eea37c24d696088b2b70f4464580b00cd47544ff077d5c954ac20398db6242e7
gnucash-3.904.tar.bz2
? 90d26f5b07a90fd596ba0116827f7771b066073fee1ff78117e4c6208192456d
gnucash-3.904.tar.gz
? 290de7607a4fd3ff4aecb40024f37b225de5bbbfe1a37a6e3926430ae996964d
gnucash-3.904.setup.exe
? b7abec0bc611fb759d9d89af890fb720d3d3a6c233599d42b1d3e253bf7555a8
Gnucash-Intel-3.904-1.dmg
? 9067a2521527840d49b1f234b2534fedfad8f74a0cf6f02c4b15421b82bcefb0
gnucash-docs-3.904.tar.gz
Windows:
https://github.com/Gnucash/gnucash/releases/download/3.904/gnucash-3.904.setup.exe
https://downloads.sourceforge.net/gnucash/gnucash%20%28unstable%29/gnucash-3.904.setup.exe
MacOS:
https://downloads.sourceforge.net/gnucash/gnucash%20%28unstable%29/Gnucash-Intel-3.904-1.dmg
https://github.com/Gnucash/gnucash/releases/download/3.904/Gnucash-Intel-3.904-1.dmg
GnuCash is now available as a flatpak from Flathub.org. Instructions for
installing and running.
Getting GnuCash as source code
If you want to compile GnuCash 3.904 for yourself, the source code can be
downloaded from:
https://downloads.sourceforge.net/gnucash/gnucash%20%28unstable%29/gnucash-3.904.tar.bz2
https://downloads.sourceforge.net/gnucash/gnucash%20%28unstable%29/3.904/gnucash-3.904.tar.gz
https://github.com/Gnucash/gnucash/releases/download/3.904/gnucash-3.904.tar.bz2
https://github.com/Gnucash/gnucash/releases/download/3.904/gnucash-3.904.tar.gz
You can also checkout the sources directly from the git repository, see
https://wiki.gnucash.org/wiki/Git for instructions.
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 if compiling from git. Please consult the README.dependencies file
in the sources for the exact list of dependencies and versions.
Getting the documentation
If you want to compile the GnuCash Documentation 3.904 for yourself, the source
code can be downloaded from:
https://downloads.sourceforge.net/gnucash/gnucash%20%28unstable%29/gnucash-docs-3.904-1.tar.gz
https://github.com/Gnucash/gnucash/releases/download/3.904/gnucash-docs-3.904.tar.gz
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.
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.