News: 0000824721

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GnuCash 4.0 Released

([Development] Jun 29, 2020 15:53 UTC (Mon) (corbet))


Version 4.0 of the GnuCash finance manager is out. Significant changes include a command-line tool for performing a number of functions outside of the graphical interface, explicit support for accounts payable and accounts receivable, translation improvements, and more.

From :

John Ralls <jralls-AT-ceridwen.us>

To :

gnucash-announce-AT-gnucash.org

Subject :

[GNC-dev] GnuCash 4.0 Released

Date :

Sun, 28 Jun 2020 11:53:45 -0700

Message-ID :

<737DA158-6F81-4072-9F28-AB7ABB79DABF@ceridwen.us>

Cc :

gnucash-devel <gnucash-devel-AT-gnucash.org>, GnuCash-User <gnucash-user-AT-lists.gnucash.org>

Archive-link :

[1]Article

The GnuCash development team announces 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

• 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-cli --report run --name=[reportname/guid] datafile.gnucash

• gnucash-cli --report run --name=[reportname/guid] --output-file=x.html

datafile.gnucash

• gnucash-cli --report run --name=[reportname/guid] --output-file=x.html

--export-type=TYPE datafile.gnucash

• Register Column Widths

Register column widths are no longer saved per-account except for open tabs

and even widths for open tabs will be reset after upgrading from 3.x or

earlier. Instead widths are saved by register type group. The type groups

are:

• Currency: Ledgers that display amount in debit and credit columns.

• APAR: Accounts Payable and Accounts Receivable accounts.

• Stock: Ledgers that display amount in a single column with additional

columns for Price and Value, the last in Debit and Credit columns.

• Journal: Ledgers displaying transactions from multiple accounts where all

accounts would be displayed with a Currency type ledger.

• Portfolio: Ledgers displaying transactions from multiple accounts where

one or more accounts would be displayed with a Stock type ledger.

• Customer: Ledgers embedded in invoices.

• Employee: Ledgers embedded in expense vouchers.

• Vendor: Ledgers embedded in bills.

Two menu items are added to the Windows menu when a Register, Bill, Invoice,

or Voucher tab has focus:

• Use as Default Layout for this Register Group

• Reset Default Layout for this Register Group

The first saves the currently focused register's column widths and saves them

for use by all registers in the same type group. Note that currently open

registers will not be affected until they are closed and reopened, and that

open registers widths will persist through quitting and restarting GnuCash.

The second menu item removes the customization and registers of that type

group will therafter use the computed default widths.

• 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.

• A new Transaction Association dialog, available from the Update

Association for Transaction menu item that has replaced the two association

items in 3.x, allows setting, changing, and deleting associations.

• 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.

• 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.

• 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 for the European Payment Services Directive (PSD2).

• 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, Vendor, 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

• The signature for qof_session_begin(), QofSession::begin(), and

QofBackend::begin() are changed to use an enum SessionOpenMode instead of

three booleans.

• 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().

• 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 4.0.

• 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

Known Problems

Complete list of all open bugs.

.

Documentation

Concurrent with the release of GnuCash 4.0 we're pleased to also release a

new version of the companion Help and Tutorial and Concepts Guide

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:

• aa523c4f1721b19ff51ac534c049644f175e3c3c01139555eb3d9cfa50949bb7

gnucash-4.0.tar.bz2

• 956da4f9e0301f02291d0b840c2ef2027c5b65a03bd42cf8df966d2407eb5330

gnucash-4.0.tar.gz

• 66dae273935f57714ee36e0b761f00f63f3802598752b9cc02b568a0a07d2032

gnucash-4.0.setup.exe

• f49fbcca3766104d7dcf5ef6d65bf9b6deceee3afc9f472c64cfc62e67b32e22

Gnucash-Intel-4.0-1.dmg

• 519f4e83d964be92b0cfcda93b8322eb38d3e3626e52070505c4a28b65302ce0

gnucash-docs-4.0.tar.gz

Windows:

https://github.com/Gnucash/gnucash/releases/download/4.0/... https://downloads.sourceforge.net/gnucash/gnucash%20%28st...

MacOS:

https://github.com/Gnucash/gnucash/releases/download/4.0/...

https://downloads.sourceforge.net/gnucash/gnucash%20%28st...

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 4.0 for yourself, the source code can be

downloaded from:

https://github.com/Gnucash/gnucash/releases/download/4.0/...

https://github.com/Gnucash/gnucash/releases/download/4.0/...

https://downloads.sourceforge.net/gnucash/gnucash%20%28st...

https://downloads.sourceforge.net/gnucash/gnucash%20%28st...

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 4.0 for yourself, the source

code can be downloaded from:

https://github.com/Gnucash/gnucash/releases/download/4.0/...

https://downloads.sourceforge.net/gnucash/gnucash%20%28st...

Note that the documentation for stable 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.

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.

_______________________________________________

gnucash-devel mailing list

gnucash-devel@gnucash.org

https://lists.gnucash.org/mailman/listinfo/gnucash-devel



[1] http://www.mail-archive.com/search?l=mid&q=737DA158-6F81-4072-9F28-AB7ABB79DABF@ceridwen.us

One can search the brain with a microscope and not find the
mind, and can search the stars with a telescope and not find God.
-- J. Gustav White