Releases: Gnucash/gnucash
GnuCash 4.0 Released
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
- Business Document Column Widths:
Entry column widths in Invoices, Bills, and Employee Vouchers may now be saved as defaults for each type of document.
Two menu items are added to the View menu when a Bill, Invoice, or Voucher tab has focus:
- Use as Default Layout for Vendor Documents
- Reset Default Layout for Vendor Documents
Vendor Documents is for Bills and is replaced by Customer or Employee Documents for Invoices or Vouchers respectively. The first saves the current document's column widths and makes them the default for all documents in the same type. The second menu item removes the customization and documents of that type 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. This does not work on MacOS, which will continue to use a letter.
- 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()
, andQofBackend::begin()
are changed to use an enumSessionOpenMode
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
....GnuCash 3.11 Released
The GnuCash development team announces GnuCash 3.11, the twelfth and final release of the 3.x stable release series.
Changes
Between 3.10 and 3.11, the following bugfixes were accomplished:
- Bug 782455 - Modify Add Reversing Transaction feature.
- Bug 797114 - Fixing an SX due to deleted account stuck in an error loop
- Bug 797351 - General ledger register transaction becomes "zombie" after deletion.
- Bug 797648 - Cannot reconcile both splits of a transaction with 2 splits for bank account subaccounts if only 1 is cleared .
- Bug 797659 - Liabilities in budget report no longer calculate correctly.
Restores budget-3.7 behaviour for current budgets. Fixes future budget behaviour. Restore budget-3.7 headings "Income/Expense/Transfer" Renamed budget-3.7 heading Total to "Remaining"
- Bug 797670 - scheduled transaction editor can remain open when switching file, which causes seg fault when later closed
- Bug 797677 - Price Database Saving Wrong Price for Foreign Currency.
- Bug 797684 - GTK_DEBUG=interactive - Bail out - gdk_window_set_cursor_internal.
- Bug 797697 - Enable DEP and ASLR for the Windows build.
- Bug 797707 - CSV Transaction Export: custom dates should be insensitive by default.
- Bug 797717 - Summary bar changes height when opening a menu or scrolling over an option.
- Bug 797737 - Import matching can match an imported transaction to an existing, previously matched transaction.
- Bug 797748 - missing header "algorithm".
- Bug 797750 - SIGSEV in swig-engine.c
- Bug 797761 - Customer report beta: opening balance tax column shows garbage string.
- Bug 797799 - Add Tip of the Day for "Notes" field
- Bug 797811 - GnuCash crashes with segfault when saving to mysql when database already exists.
Other fixes and improvements were not associated with bug reports:
- [eguile-utilities] fmtnumeric displays decimal instead of fraction.
- L12N: merge recent messages into all po files.
- Add missing std c++ #includes into gnc-imp-settings-csv-price.cpp.
- I18N: Improve tooltip about double-line-mode.
- Update description of gnc_gnome_help and gnc_launch_assoc
- Remove obsolete documentation files.
- Move the Windows README files to gnucash-on-windows where they belong.
- I18N: Fix several issuse with 'Help not found' strings.
- Fix the crash that occurs when opening a new book when the transaction-matching dialog has been opened then closed.
- Display report zoom factor with one decimal space to match the paramter.
- Invoices were setting the transaction post date to midnight local instead of 10:59 UTC normalized time.
- Add a tip about announcements and other mailing lists to the Tip of the Day list.
- Fix three problems with setting dates in the Scheduled Transaction editor:
- If the recurrence date is before the start date in the current month the SX summary dialog would show the next occurrence in the current month, before the start date.
- If the recurrence date is one day before the start date the calendar control would incorrectly mark the first instance in the starting month.
- Set a monthly recurrence on the 18th, with a start date on the 20th and an end date on the 17 of the following month. The calendar should show no mark, but fails to erase the marks that were present.
- Improve python shell output and explanatory comments.
- Ensure that python help displays help.
- [fin.scm] return #f instead of -1 if n is out of range
- Add a "Delete Budget" menu item to Actions>Budgets.
- [gnc-exp-parser] If gnc:fn returns anything other than a number, abort rather than crash.
- [window-reconcile] Refactor common actions into WidgetSetAmount.
- Force WITH_PYTHON=YES for distcheck to ensure that it works from the tarball.
Updated Translations: Croatian, Finnish, German, Hebrew, Ukrainian
Documentation
Concurrent with the release of Gnucash 3.11 we're pleased to also release a new version 3.11 of the companion Help and Tutorial and Concepts Guide.
Documentation changes:
- Bug 770132 - Price editor does not find ASX:XRO
Ammend last commit German translation Patch other translations Update pt for easier synchronization
- Bug 797783 - [PATCH] The "over" and "under" estimate in the unrealized capital gain chapter should be reversed
- Right align numerical column in fq-spec-tiaa
- Fix obsolete guide cross-reference.
- Appendix: add "Ticker" to distinguish from security numbers
- Note on dots in yahoo symbols
- Minor Correction to Help Manual
Correct reconciliation action on U+C entry in table from 'n' to 'c' Modification of PR #137
- Improve links to Selingers tutorials
Use entities, also for titles
- Modifications to Guide Ch12 to include multi-currency transactions using trading accounts.
Split the multi-currency transaction after the initial introduction into two sections. The first is the original dealing with the treatment of multicurrency transactions using manual recording of the gains and losses.
Getting GnuCash for Windows and MacOS
GnuCash is provided for both Microsoft Windows 7® 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® package is a disk image containing a drag-and-drop application bundle.
The SHA256 Hashes for the downloadable files are:
3e0df1781864350c051006fd49bbb3e8d6237d74fd55c9649a9e7c0f5cbd159b
gnucash-3.11.tar.bz2621ea0662ebb8bca189877a30c616798afee3741495abfc293b4c39bc4303423
gnucash-3.11.tar.gz6cd2b3b38db264940d84ec5460128dd249d8a7394dd3f8dc128ffe4d454f5c82
gnucash-3.11.setup.exe840eb08731a58e463efaf640bd011637d3f23a6125ee313c167de1f1640424dd
Gnucash-Intel-3.11-1.dmg8682dd969e5bec5745e4d8ebf7695973cc445d8975a369887d9aad07771a1d27
gnucash-docs-3.11.tar.gz
To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.11, 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.
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 3.906 Released
The GnuCash development team announces GnuCash 3.906, the fifth testing release for what will soon be GnuCash 4.0. This is the release-candidate: Barring any serious bugs it's what we'll release as 4.0 next weekend.
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
- 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 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.
- 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 their 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 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
In 3.906
None
In previous 3.9xx releases
- The signature for
qof_session_begin()
,QofSession::begin()
, andQofBackend::begin()
are changed to use an enumSessionOpenMode
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()
. - 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.906.
- 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...
GnuCash 3.905 Released
Announcement: GnuCash 3.905 Released
2020-06-14
GnuCash 3.905 Released
The GnuCash development team announces GnuCash 3.905, the fourth 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
- 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
The GUI command,
gnucash
responds to the same command line arguments. In order to provide more options its syntax (andgnucash-cli
's) for quote retrieval is changed from--add-quotes
to--quotes get
. - 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 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.
- 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 their 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 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, 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.905
None
In previous 3.9xx releases
- The signature for
qof_session_begin()
,QofSession::begin()
, andQofBackend::begin()
are changed to use an enumSessionOpenMode
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()
. - 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.905.
- 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 f...
GnuCash 3.904 Released
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-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
- 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 their 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 libr...
GnuCash 3.903 Released
The GnuCash development team announces GnuCash 3.903, the second 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
For 3.903
- 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 --run-report=[reportname/guid] datafile.gnucash
- gnucash-cli --run-report=[reportname/guid] --output-file=x.html datafile.gnucash
- gnucash-cli --run-report=[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. 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 their column widths to the page section so these can temporarily have different widths.
In previous 3.9xx releases
- 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.903
- 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.
In previous 3.9xx releases
- 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.903.
- 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 cma...
GnuCash 3.902 released
The GnuCash development team announces GnuCash 3.902, the first 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
- 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
- Owner Report
Significant Code Changes
- 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.91.
- 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.10 and 3.902, the following bugfixes were accomplished. Some of these will also be fixed in GnuCash 3.11, some are for 4.0 only.
- Bug 693180 - Add notes to budgeting values
- Bug 773198 - Move several reports to Example directory/menu
- Bug 773199 - Rename and rebuild Welcome to GnuCash Report
- Bug 773200 - Rename Sample & Custom Report Group
- Bug 782455 - Modify Add Reversing Transaction feature
- Bug 797114 - Fixing an SX due to deleted account stuck in an error loop
- Bug 797270 - Budget Chart report - translation of header and dates
- Bug 797338 - Change "U+R" and "R" labels to "U+C" and "C" in Import matcher
- Bug 797351 - General ledger register transaction becomes "zombie" after deletion
- Bug 797415 - cannot build without libsecret-1-dev
- Bug 797472 - Add option to choose account templates
- Bug 797485 - Show account hidden column on CoA.
- Bug 797486 - Add dialog to cascade placeholder and hidden
- Bug 797489 - No option to use account codes in Budget View - Part2
Add option to allow the account code column to be shown in the budget tree view and as such the account tree view can be sorted by this column
- Bug 797605 - RFE: Customer/Vendor/Employee Overview should also have "Process Payment" toolbar
- Bug 797612 - Add a dialog to the imap_dialog to show invalid maps
- Bug 797670 - scheduled transaction editor can remain open when switching file, which causes seg fault when later closed
- Bug 797677 - Price Database Saving Wrong Price for Foreign Currency
- Bug 797684 - GTK_DEBUG=interactive - Bail out - gdk_window_set_cursor_internal
- Bug 797697 - Enable DEP and ASLR for the Windows build
The following fixes and improvements were not associated with bug reports:
- Fix 3 problems with the scheduled transactions calculations
- Set a monthly recurrence on the 10th with a start date on the 20th of this month. The editor correctly shows the next occurrence to be on the 10th of the following month. The schedule transaction summary dialog incorrectly shows the next occurrence to be on the 10th of this month (before the start date!)
- Set a monthly recurrence on the 19th, with a start date on the 20th of this month. The editor's calendar marks incorrectly show the next occurrence to be on the 19th of this month (before the start date).
- Set a monthly recurrence on the 18th, with a start date on the 20th and an end date on the 17 of the following month. The calendar should show no mark, but fails to erase the marks that were present.
- Fix issue when editing the account tree view notes field
When you try to edit a multiline account notes field in the account tree view you end up with just one line with control characters as it is being edited with a GtkCellRenderText cell. To fix this I have added a new cell renderer based on a text view.
- Fix failed build of python tests and failed test in 3.10 tarball.
Updated Translations: Croatian, Hebrew, Ukrainian
Known Problems
None specific to this unstable series yet, see for a complete list of all open bugs.
.Documentation
Concurrent with the release of Gnucash 3.902 we're pleased to also release a new version 3.902 of the companion Help and Tutorial and Concepts Guide. There are no differences between this and the previous 3.10 release.
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:
24b...
GnuCash 3.10 Released
The GnuCash development team announces GnuCash 3.10, the eleventh release of the 3.x stable release series.
Changes
This is a snap release to reverse the changes to the reconcile window's filtering reconciled transactions with a reconcile date after the current statement date when computing the starting balance. It seems that many users' books have accounts with reconcile dates in the future that were suddenly filtered out, creating an incorrect starting balance and making it impossible to reconcile the book.
Between 3.9 and 3.10, the following bugfixes were accomplished:
- Bug 620848 - Transfer Funds window - add Notes field
- Bug 797006 - Balance is misleading in open subaccounts when different currencies are involved
- Bug 797318 - Amounts ending in zero displayed as fractions
- Bug 797666 - libgnucash/engine/test/test-recurrence.c: In function 'check_valid': 'result' may be used uninitialized
- Bug 797676 - Register displays amount in transaction currency instead of register currency.
- Bug 797674 - 3.9: "test-gnc-path-util" failed on Debian amd64
The following fixes and improvements were not associated with bug reports:
- Update latest translation from the Translation project.
- [window-reconcile] when reconciling, warn on splits having a reconcile date > statement_date
- [window-reconcile] when inputing statement_date, warn if it's after today
- [find-transactions] add search for reconciled date
- Show transaction value, not amount, for registers with subaccounts.
If the register has subaccounts in different currencies and a transaction has splits in more than one, the transaction will incorrectly appear to be unbalanced if we total amounts because the balancing logic works on split values.
- Add instance argument to Session constructor
Enables a python console to connect to the running GnuCash's session.
- Make python console less noisy without --debug.
- Provide locals and globals of calling context to the python console's shell on shell init
- Merge Jean Laroche's '797006_subaccounts' into maint.
- Add check to display warning dialog for mismatched commodities
- Replicate changes in *2 files
- Apply astyle to modified files
- Merge Chris Mayo's iPython-fixes into maint.
- Make pycons/ishell.py compatible with Python 3 and current IPython
- [eguile-utilities] Prevent crash in balsheet-eg.scm
- [eguile] escape-html -> gnc:html-string-sanitize
- [qif-to-gnc] Properly mark intra-QIF internal transfers.
We have a revised Ukrainian translation.
Known Issues
The following are open bug reports to the 3.x series considered significant by the development team:
- Bug 795383 - Gnucash crashes on import of a 1400-transaction (or more) CSV file
- Bug 796955 - Import CSV - Single-line two-currency transactions can't be imported
- Bug 796992 - gnucash --add-price-quotes can't parse drive letters on Windows.
- Bug 796997 - Currency Conversion Dialog appears when recording transactions between same currency accounts.
- Bug 797037 - Counter formats not saving
- Bug 797064 - crash when try print report
- Bug 797083 - Gnucash crashes when trying to rename budget
- Bug 797092 - Save As fails: tries to save to reserved directory if path contains spaces
- Bug 797113 - Scrubbing crashes when creating small splits that round to value 0.
- Bug 797114 - Fixing an SX due to deleted account stuck in an error loop
- Bug 797115 - Can't 're-activate' an expired SX
- Bug 797211 - Very slow UI - dependent on window size
- Bug 797220 - delete account allows move of all transactions to account having non-matching currency
- Bug 797236 - Regression: Reconcile window transaction list resets to top when new transaction created in account
- Bug 797264 - 3.5 can't use Chinese IME input
- Bug 797283 - Permanent hang on clicking on report tabs
- Bug 797285 - QIF import fails and then crashes
- Bug 797293 - Crash when import "U+R" or "R"
- Bug 797294 - Billing functions freezing
- Bug 797325 - [Windows 7] Reports with charts will not load
- Bug 797329 - Using Japanese IME to enter transactions results in unexpected field jumps
- Bug 797334 - Crash on attempting to change account separator character
- Bug 797335 - Crash on subsequent Open after accidentally Opening the current file
- Bug 797336 - CSV Accounts import fails on UTF-8 e-acute in account name
- Bug 797345 - Selecting item in tax table causes gnucash to crash
- Bug 797348 - Wrong column order for RTL writing in GUI elements
- Bug 797351 - General ledger register transaction becomes "zombie" after deletion
- Bug 797363 - Consistent Silent Crash on Converting Saved Reports from 2.6 to 3.6
- Bug 797368 - Cannot download Quantity information from a CSV to a mutual
- Bug 797384 - Gnucash doesn't handle commodity prices with big numerator/denominator properly
- Bug 797385 - Report html files NOT opening in Reports tab or window due to webkit Frame Load Interrupted error
- Bug 797512 - Transaction with stock symbol XLU won't balance, symbol IXLU does.
- Bug 797514 - Changing transaction unreconciles a split inconsistently
- Bug 797646 - Crash When Finishing Reconciliation After Editing Transaction To Un-Anchor To Account Bug 797659 - Liabilities in budget report no longer calculate correctly
Documentation
Concurrent with the release of Gnucash 3.10 we're pleased to also release a new version 3.10 of the companion Help and Tutorial and Concepts Guide.
Documentation changes:
- Bug 797056 - Chapter 2 - Putting it All Together - Screen Order Incorrect
- Convert Wikipedia links to an entity.
- Update some screenshots.
Getting GnuCash for Windows and MacOS
GnuCash is provided for both Microsoft Windows 7® 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® package is a disk image containing a drag-and-drop application bundle.
The SHA256 Hashes for the downloadable files are:
b60772c276a63639964d1e24c795fbb9a7c0c6c45959168fe5cdfe08eb796f16
gnucash-3.10.tar.bz257f111625f3d5c68e373fa9505af855354647e7cf00d5a962920a9afaa36f94e
gnucash-3.10.tar.gz5e9eec7694cc6bdf26f143c9b5239aa520d781a58f545d1645539596d984a441
gnucash-3.10.setup.exe053764da1b4f87e2851372912ad503447bf96cd111b819a92f02319343f592f6
Gnucash-Intel-3.10-1.dmg25c74fd5a1a1ba58c7e6d732a3e4ad607f0b94283266f0195c7986b8352a790d
gnucash-docs-3.10.tar.gz
To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.10, Guile 2.0, Boost 1.54,
GnuCash 3.9 released
The GnuCash development team announces GnuCash 3.9, the tenth release of the 3.x stable release series.
Changes
Between 3.8 and 3.9, the following bugfixes were accomplished:
- Bug 685102 - Scheduled Transactions don't always respect weekends for first occurrence
- Bug 794916 - Fails to find environment file at startup when installation prefix is '/opt'
- Bug 796579 - Cannot go forward with empty duplicates screen
- Bug 796911 - Minimum window width to large.To fix this the text labels used have been enabled to ellipsize at the end
- Bug 796984 - Import Bills & Invoices: date of line item is not validated; can lead to unexpected results
- Bug 796985 - Import Bills & Invoices: option 'open not yet posted docs in tab' does not open tab if invoice could not be posted
- Bug 796986 - Import Bills & Invoices: in case of invalid posting date in import file, invoice is posted with unexpected date
- Bug 796987 - Import Bills & Invoices: fixing import items only works in special case
- Bug 797022 - Import Bills & Invoices: expense/income account is not validated - leads to one-sided posting if account is invalid
- Bug 797023 - Import Bills & Invoices: no user confirmation requested for update of invoices, if new invoice is created first
- Bug 797024 - Import Bills & Invoices: import matches csv data rows with too few separators, messing up the import data
- Bug 797025 - Import Bills & Invoices: the type of the post to account is not validated - enabling A/P and A/R postings on regular accounts
- Bug 797042 - OK button in OFX importer doesn't work if nothing is imported.
- Bug 797133 - CSV Import of multicurrency transaction export in multiline form
- Bug 797139 - test-report-utilities failure after 10-march in travis
- Bug 797419 - equity-statement unrealized-gain calculator uses weighted-average
- Bug 797481 - crash on close of unsaved tabs by pressing [X]
- Bug 797522 - Focus after reconcile jumps to a different account
- Bug 797536 - cmake errors out because it cannot find GncPkgConfig (cmake 3.5.2)
- Bug 797540 - Mapping of aqbanking accounts to gnucash accounts doesn't work
- Bug 797546 - Autocomplete not updated when account names changed
- Bug 797548 - multicolumn income statement: some closing entries are not ignored when within reporting period
- Bug 797549 - Reconcile window shows S_tatement Date rather than Statement Date
- Bug 797550 - Crash when changing register tab position
- Bug 797551 - Budget totals line missing in 3.8
Reinstate Income/Expense/Transfer/Total, but rename to:
- Inflow from Income
- Outflow to Expense
- Outflow to Asset/Equity/Liability
- Remaining to Budget
- Bug 797566 - Crash on use of context menu in importer
- Bug 797569 - Swedish account templates not accessible
- Bug 797570 - Unable to import vendors.
In the import of Customer/Vendor or Bill/Invoice, the dialog that lists rows that were not imported shows a scrollable view of only four rows.
- Bug 797572 - Customer Report (beta): "Period Totals" includes total debit and credits outside the current period
Previously Credits was rendered before Debits. Change to formal accounting convention. Can swap to informal headers if set by global preference.
- Bug 797573 - Incorrect value of securities in the Asset Chart
- Bug 797576 - xaccAccountOrder shouldn't sort account codes as base-36
- Bug 797584 - New-owner - bill amount field links to wrong account
- Bug 797588 - Gnucash segfaults when using mysql backend with empty password
- Bug 797591 - multiperiod b/s and PnL reports: add style sheet 'easy'
- Bug 797609 - Backtraces for eguile report errors strips wrong part of stack
- Bug 797613 - Due Invoices Reminder shows Job Name instead of Company Name
- Bug 797624 - At some point Vietnam Dong seemed to drop xu (decimals)
- Bug 797631 - Superfluous account selection dialog on first online retrieval
The online id, which is needed to find a GnuCash account for a transaction or the balance retrieved from an online account, is already assigned to each matched GnuCash account within the Online Banking Setup tool. The online id is removed from the GnuCash account if it is no longer matched with an AqBanking account.
- Bug 797636 - Incorrect Online account matches cannot be deleted
A push button with text "Delete selected matches" is added to the "Match Online accounts with GnuCash accounts" page of the "Online Banking Setup" tool. Additionally, the underlying tree view is set to multiple selection mode from single selection mode. Pushing the button will remove the matched GnuCash account from all selected AqBanking (Online) accounts.
- Bug 797638 - SIGSEGV editing transaction after closing Find Accounts dialog.
- Bug 797640 - The Reconciliation Window starting balance calculator needs to ignore splits after statement date
- Bug 797648 - Cannot reconcile both splits of a transaction with 2 splits for bank account subaccounts if only 1 is cleared
Force all splits in a transaction for the account being reconciled (and its children), to have the same reconciliation status. This fixes a problem when the splits have different statuses.
- Bug 797656 - Immediate crash when retrieving quotes
The following fixes and improvements were not associated with bug reports:
- [report-utilities] fix gnc:account-accumulate-at-dates sorting & operator
This commit performs 2 important fixes:
- The account splitlist walking assumes that the split->date always increases. This is now enforced by sorting the splitlist, *only* if a custom split->date is offered. By default the splits are sorted by posted_date, and if a custom split->date is used, will be stable-sorted to ensure the algorithm works.
- The handling of splits *ON* date boundaries is fixed. Previously if a split->date was equal to a date boundary, it would be considered part of the "after" date section. It is more intuitive that a date boundary includes all splits on and before the date.
- When selecting a file for OFX import, restrict the files listed to .OFX (or .QFX)
- Fix crash when changing account-separator.
- Change the default focus to search entry for 'Find Account' Fix rounding precision when importing prices from CSV
- [trep-engine] subtotals when cells have monetary only
Instead of accumulating subtotals from any non-#f value, ensure value is a gnc-monetary before accumulating subtotals. This paves the way to allow non-monetary in RHS custom-calculated-cells.
- Travis - don't try to copy the removed after-failure file to the test container
- Travis - use ctest built-in feature to verbosely log test failures
- Fix tokenize_string()to prevent empty strings as Bayes account-matching tokens and remove duplicated tokens.
- Fix calculation of Bayes account...
GnuCash 3.8 Released
The GnuCash development team announces GnuCash 3.8, the eighth release of the 3.x stable release series.
Changes
Between 3.7 and 3.8, the following bugfixes were accomplished:
- Bug 412151 - Not handling exception when guile is compiled w/o regexp support
disable qif-import and make-regexp if guile is compiled without regex - Bug 724219 - Customer Summary includes Closing Entries when reporting across the end of year
- Bug 743943 - "Edit->Post Invoice" is ambiguous Read invoice type and set label and tooltip texts to the translations of static definitions. Remove unnecessary list counts.
- Bug 759005 - Print negatives in red
- Bug 787295 - Allow UI jump from Business accounts to their relevant invoice/bill/voucher
- Bug 796530 - [txn csv importer] usability suggestions
- Bug 796736 - Register cell pop up columns width to narrow
- Bug 796945 - Search dialog update
- Bug 797078 - "Automatic decimal point" Should Not Cause 2 Different Behaviors
- Bug 797086 - Import customer dialog – headers not translated
- Bug 797279 - Reports RTL do not support RTL
- Bug 797326 - Enhancement: budget's Estimate tool should ignore Closing Entries
- Bug 797356 - ninja check fails with GCC-9
- Bug 797390 - xaccAccountRecomputeBalance also tallies no-closing balances
- Bug 797397 - Import Map Editor, Ctrl-A with filter
- Bug 797401 - Invoice Reports need an overall page width set
Use html5 @media to set main-table to page width. - Bug 797405 - : Fix hiding PIN entry window behind online banking log window
If there is a log window, make the PIN entry transient_for that one instead of its parent. - Bug 797408 - Find Transaction Window -> Search Criteria Section -> Add Search Criteria -> Section does not expand to new size to include a newly added Search Criteria
- Bug 797416 - Enter key does not move to blank tx or next line
- Bug 797418 - In budget report, column with Actual Totals for Liabilities and Income are reversed
- Bug 797453 - Chart of Accounts is slow to update / redraw
- Bug 797459 - Installation (for 3.7) Readme Version number shows 2.2.x
- Bug 797462 - gnc:strify reports the amount and value incorrectly
- Bug 797468 - Receivable Aging report - phantom company with negative total
- Bug 797473 - UTF8 characters not processed correctly with aqbanking6
- Bug 797481 - crash on close of unsaved tabs by pressing [X]
- Bug 797482 - Can't edit date when using Edit Payment function
- Bug 797492 - Lock up on 'Find Account'
- Bug 797500 - valgrind errors - new/delete vs malloc/free
- Bug 797506 - New Aging errors out with guile backtrace in case of a few uncommon transactions
- Bug 797519 - Budget Viewer Totals do not redraw upon to Sign-Reversal changes
- Bug 797520 - ] Balance Sheet (Multicolumn) the retained earnings amount in the equity section has its sign reversed
- Bug 797521 - Receivable Aging (beta): prepayments logic doesn't work, appears to use incorrect absolute value logic
- Bug 797532 - Crash/Coredump Lots
The following fixes and improvements were not associated with bug reports:
- The Customer/Employee/Vendor reports have been rewritten. The new versions may be found in Reports>Experimental.
- [stylesheet-css] a user-customisable CSS based stylesheet New stylesheet.
Exposes a single text box for full CSS customisability. - Allow account selection by typing into the post-to field of the payment window
- When sizing some register columns take account of 'Tot' being added.
- Take account for the pop up button border in the register.
- Change the date sample so it has the maximum text width possible
- [new-owner-report] bugfix: balance row needs variable linked cols
- Improve translations by scriptedly removing the removed colon suffix.
- [report-utilities] bugfix: aging-list was incorrect. off-by-1 error.
- [report-utilities] bugfix: overpayment works for AP accounts.
- Swap the buttons around on the Budget Open dialogue
Swap the OK and Cancel buttons so they conform to the normal layout. - [report-utilities] bugfix: fix overpayment detection
For 1 payment to >1 invoices, previously would miscalculate overpayment. - [budgets.scm] Budget reports handle both natural & reversed budgets.
This change is protected by a Feature: Using it will prevent the file from being opened by earlier versions of GnuCash. - [gnc-budget-view.c] totals - 5 fundamental types
previous showed income/expense/transfers/totals budget totals, of uncertain meaning. now shows income/expense/asset/liability/equity budget totals. The 5 lines also become sensitive to the global sign-reverse property. - bindings-python - drop references to gnucash-env
We no longer ship a gnucash-env script, directly use python(3) instead - [balsheet-pnl] fix: single-date balsheet missed printing date
- [balsheet-pnl] fix: hide Equity sections when not needed
- If currencies are not converted, Unrealized Gains are meaningless. Hide them.
- If there are no income/expense accounts, retained earnings will be nil. Remove row.
- Ignore trailing noise on imported transaction account numbers.
AQBanking6 uses a separate method for retrieving account numbers for account info and transactions, where the transactions method can have additional characters, most often the ISO4217 currency code. That results in match failures when importing. As a work-around, compare only the length of the account-info-generated online id when comparing it to the transaction-generated one. Note that this is only a partial solution: At least one German bank also appends characters to the transaction-generated bank id and that will still cause the match to fail. - [dialog-payment] Add warning label if payment is unattached
Completing a payment for a customer without associating with an open invoice is allowable and is used for prepayments. Enable a warning to inform that the payment does not have an invoice/bill document attached. - [aging] update error reporting
This error handling was for transactions in APAR accounts whereby Transaction Currency != Owner Currency. An example is a manually entered transaction, then assigned as payment to a customer with a different currency. - Fixed German IBAN error message
- Allow edit of some fields for posted invoice
Allow editing of some fields for posted invoice. For reasons, see bug report: https://bugs.gnucash.org/show_bug.cgi?id=797400 - [average-balance] show monetaries instead of numbers in data table
- UK VAT template: replace obsolete EEC and EC by EU
- Implement the presentation of static optical TAN challenges (photoTAN and QR) inside the enter TAN dialogue.
- [budget] fixcrash: fix crasher for some periods
eg. the following combo would previously crash: - periods from next to current - use accumulated amounts - [budget] fixcrash: prevent crash if periods start > end
It's silly to input start-period > end-period. Nevertheless handle it by swapping them instead of crashing. i.e. report budget periods from end to start. - [budget-flow] fixcrash: exchange-fn needs to specify exchange date
because some exchange-fn *do* require date eg. pricedb-nearest. use the period end-date for the exchange date. - [portfolio report] There's no report-currency. Use currency.<...