Skip to content

Releases: Gnucash/gnucash

GnuCash 3.7 Released

08 Sep 23:05
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 3.7, the eighth release of the 3.x stable release series.

Changes

Between 3.6 and 3.7, the following bugfixes were accomplished:

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

  • New feature: Multiselection in the import transaction matcher. Use control-left-click, shift-left-click, or click-and-drag to select multiple unmatched transactions to match them with a single account, then right-click to bring up a single-item context menu sith "Assign Transfer Account".
  • Set a FinTS product version key when the installed AQBanking supports it.
  • Change translatable strings with context to use the modern gettext three-parameter function instead of the ':' hack.
  • Stop duplicate entries for the invoice taxtable cell.
  • Do not log an error when no default tax tables are set.
  • Fix cmake dependency tree so that make/ninja check works without having to first run make/ninja.
  • Remove the accelerator for the Clear buttons on the Loan Calculator because they were all the same and also the same as the Close button's accelerator.
  • Change the transfer account notation for single-split transactions in basic view from "--Split Transaction--" (they're obviously not) to "None".
  • Correctly parse decimal values between 0 and -1 (e.g. -0.5) in register caclulations: The negative sign was being stripped.
  • Require CMake 3.5 or later for all platforms.
  • Rework the building of libgtest.a from source when the builder sets GTEST_ROOT or the distro doesn't provide a pre-build one.
  • Fix crash when trying to display a tooltip in the register split view when a split has focus.
  • Fix repeated requests to create a new account when you click No.
  • Suppress bogus error when creating a new account from register split view.
  • Fix price conversion report crashes in Balance Sheet PNL and all average balance calculations.
  • Upgrade the Budget reports to support accumulated accounts.
  • Redefine gnc:debug to use QofLog instead of writing to stdout.
  • Change the Balance Sheet PNL account depth to mean the deepest *selected* account rather than the deepest account.
  • Set the Owner Report date option to default to today.
  • Much Scheme cleanup and more testing.

API Deprecations:

  • gnc:easy-invoice-report-create-internal - Unused.
  • gnc:entry-type-percent-p
  • gnc:fancy-invoice-report-create-internal - Unused.
  • gnc:get-relative-date-strings - Unused
  • gnc:html-acct-table-comm-row-helper - Unused
  • gnc:html-build-acct-table - Unused
  • gnc:make-customer-option - Unused
  • gnc:make-employee-option - Unused
  • gnc:make-general-journal-report - Unused.
  • gnc:make-reldate-hash - Unused
  • gnc:make-vendor-option - Unused
  • gnc:sum-collector-stocks - Unreachable
  • gnc:time64-ge-date - Unused
  • gnc:time64-le-date - Unused
  • make-simple-class - Use make-record-type
  • make-simple-obj - Use construct
  • simple-obj-getter - Use record-accessor
  • simple-obj-print - Use write
  • simple-obj-setter - Use record-modifier
  • simple-obj-to-list - Use record-type->list
  • simple=obj-from-list-obj - Use list-record-type
  • gnc:html-acct-table-cell - Unused.

We have revised translations for, German, Hebrew, and Ukrainian and new account templates for Hebrew-Israel.

Known Issues

The following are open bug reports to the 3.x series considered significant by the development team:

Read more

GnuCash 3.6 Released

30 Jun 23:02
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 3.6, the seventh release of the 3.x stable release series.

Changes

Between 3.5 and 3.6, the following bugfixes were accomplished:

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

  • Rewrite the Customer Summary Report to correctly handle multiple currencies.
  • Improve the Owner Report's find-first function to consider currency when selecting the account.
  • Prevent cutting the "anchor" split or pasting another split on top of it in account registers so that the transaction won't suddenly disappear from the register page. Displays an explanatory dialog just like trying to delete the anchor split does. Allow deleting, cutting, and pasting over all splits in Journal View registers which don't have anchor splits because they're not associated with any account.
  • Disable editing the "blank split" (the new split at the bottom of a transaction in split view) if the transaction itself is read-only.
  • Use the customer and vendor currency instead of the default currency from preferences when generating bills, invoices, or credit notes.
  • Allow assigning a single target account to more than one transaction in the import matcher.
    To do this select the new transactions and right-click to open a single-item context menu. Click the menu item to open the account selection dialog box. Note that imported transactions that match transactions already in the eriger, i.e. those marked "update" or "reconcile and update" are not eligible for inclusion.
    This feature still has some rough edges that are being addressed for the next release.
  • Use the default currency from Properties>Accounts for the summary bar currency to make it configurable.
  • Allow CSV export of grand total amounts from reports using the trep-engine.
  • Fix XML file import failures into GnuCash for Android.
  • Raise minimum CMake version to 3.5 for all platforms.
  • Prevent crash in Aging Report when the book has no AP or AR accounts.
  • Fix operation of the "default budget" option.
  • Change the account-picker dialog to disable the OK button instead of raising a warning dialog if the selected account is a placeholder.
  • Fix crash after unloading all files from the QIF import assistant.
  • Disable the Next button in the QIF import assistant if no files are selected for import...
Read more

GnuCash 3.5 Released

31 Mar 17:41
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 3.5, the sixth release of the 3.x stable release series.

Supplement

GnuCash 3.5-1 Windows Bundle

We've fixed a couple of problems with the Windows AIO Bundle and uploaded a new one to the usual places. NOTE that this is not a new release of GnuCash; the functioning of the program itself is unchanged.

It fixes two problems, one serious, one not so much:

A few bugs listed as "known problems" in the GnuCash-3.5 release notes have been tested by their reporters and marked as resolved:

Changes

Between 3.4 and 3.5, the following bugfixes were accomplished:

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

  • API: Add dedicated api to query build-time, version related compile constants and use it in several location in the code for consistent behaviour.
  • Budget: Save and restore the Account filter settings.
  • Build: Fix deprecation warnings for g_type_class_add_private.
  • <li><b>CSV Tokenizer</b>: Add additional test to guard against quote parsing regressions.</li>
    
  • GUI: Replace ambiguous mnemonic for File>Export>Export Active Register...
  • GUI: Rearrange menu accelerators for Actions>Online Actions menu items
  • GUI: Add mnemonic for File>Import>Import Bills...
  • GUI: Move Balance-Forecast report to Reports>Assets & Liabilities
  • GUI: Move Void Transactions item in Report Options from the Accounts tab to the Filter tab.
  • I18N: Fix erratic localization of dates on Windows.
    Date format selection on Windows relies on Windows National Language functions and those are unaffected by the POSIX setlocale(). We have in the past relied upon gtk initialization to handle this but it has not been reliable since the move to Gtk3. Note that this applies only when the locale is set via a Unix-style environment variable (typically LANG) or in the environment file; it's unnecessary and ignored when using the localization settings in Region & Language.
  • I18N: Unify phrases to remove untranslated msgids.
  • I18N: Restore the global locale after Guile munges it.
    There's no way to change the environment locale on Windows so calling setlocale(LC_ALL, ""), as guile does in its init routine, reads the user's Language and Region settings instead of the environment variables. We save the discovered environment locale and call setlocale with it again after Guile has initialized.
  • Importing: Remove old (non-SEPA) online transaction code, because now in 2019 the banks will only offer SEPA transactions and no others. This in turn means we don't need the old ktoblzcheck checking functions at all so also remove the dependency.
  • Importing: Usability improvements for Bayes editor window
    Remove the "Are you sure" question as it is simply annoying but does not help. Fix some string wordings to be more understandable.
  • Online Banking: No longer force existence of local BIC code.
  • Online Banking: Entering of TAN must use normal visibility
    The visibility of the entered content was set to FALSE (=invisible) always, which was wrong for certain types of input as indicated by the GUI_INPUT_FLAGS. This shou...
Read more

GnuCash 3.4 released

30 Dec 20:00
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 3.4, the fifth release of the 3.x stable release series.

Changes

Between 3.3 and 3.4, the following bugfixes were accomplished:

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

  • Set up filepath utils to determine the GNC_CONFIG_HOME in the same way as GNC_DATA_HOME.
    Until now GNC_CONFIG_HOME was more or less hard-coded. Now it can be set via environment variable GNC_CONFIG_HOME. In addition it will automatically be created to avoid potential user confusion.
  • Redesign gnc-uri-utils
    • gnc_uri_get_components will now return NULL as protocol if the input is a normal file system path instead of a uri (it used to return 'file')
    • gnc_uri_get_protocol will now return NULL if the input is a normal file system path instead of a uri (it used to return 'file')
    • gnc_uri_is_file_protocol now returns FALSE if protocol is NULL (it used to return TRUE)
    • gnc_uri_is_file_uri now returns FALSE if input is a normal file system path instead of a uri (it used to return TRUE)
    • a new function gnc_uri_targets_local_fs will return TRUE only if its input is either a file uri or a normal file system path. This function is now mostly used instead of gnc_uri_is_file_uri in the current code base
    • a new function gnc_uri_is_uri is added to check whether its input is a valid uri (has protocol, path and hostname for non-file uris)
    • refer to 'scheme' instead of 'protocol' as that's the more formal term used in uris This involves renaming 3 functions:
      • gnc_uri_get_protocol -> gnc_uri_get_scheme
      • gnc_uri_is_known_protocol -> gnc_uri_is_known_scheme
      • gnc_uri_is_file_protocol -> gnc_uri_is_file_scheme
    • The *_protocol variants are marked as deprecated.
    • Additionally a number of local variables have been renamed from protocol to scheme to support this change.
  • Show warnings for deprecated declarations
    We're about to announce our own set of deprecated functions in libgnucash. That would be pretty pointless if we also would silence all deprecation warnings at the same time...
  • More report code-cleanup by Chris Lam, including deprecating the following functions:
    • gnc:account-get-balance-at-date
    • gnc:account-get-total-flow
    • gnc-commodity-numeric-string
    • gnc-commodity-value->string
    • gnc:double-col
    • gnc:options-add-include-subaccounts
    • gnc:options-add-group-accounts
    • gnc:options-add-currency-selection
    The following modules are deprecated:
    • report-system/collectors
    • report-system/report-collectors
  • Invoice: Remove H1 title and superflous option.
    Printing the title twice is silly, so remove the option and the H1 display of the title. Note that the remaining title is in a div named "invoice-title" so it can be styled with CSS as the user pleases from the Report Options Layout tab.
  • The preference, use formal accounting labels does not update the header With a register open and you change preference 'use formal accounting labels' it does not update the register header so add a call back for the preference.
  • Make the grid lines of totals Budget tree view track the preferences.
    Make the grid lines of the totals tree view track the preferences to match the account tree view above it.
  • Add routine to fix Account Color being set to "Not Set"
    Previously the account color slot has been populated with "Not Set" when any field for the account has been edited and saved. This routine should run once and remove all such entries.
  • Performance fix in dom_chars_handler: use g_strndup instead of g_strdup
  • In the appdata/metadata file, rename the ID from org.gnucash.Gnucash to org.gnuc...
Read more

GnuCash 3.3 Released

30 Sep 20:34
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 3.3, the fourth release of the 3.x stable release series.

Changes

Between 3.2 and 3.3, the following bugfixes were accomplished:

The Following fixes and improvemts were not associated with bug reports:

  • Set toolbar buttons to show both icon and text.

    And make the icon small to recover some vertical screen estate. The motivation for this is that Gtk has dropped the ability for users to change a toolbar's appearance. And as our icons are often less than descriptive many users benefit from having textual descriptions as well. This is the best compromise we can make until the gui gets an in-depth redesign.

  • Add preference for forcing prices to decimal display.

    Anticipating that some users might prefer to see exact prices, add a preference to General>Numbers to configure whether prices are rounded to decimals or are displayed as exact fractions.

  • Revert the "Average Cost" pricing changes made in 2.6.17.

    These changes broke trial balances in many books.

  • Allow saving to xml over an existing sqlite3 file and the other way around.
  • Add customer/vendor ID in client section of invoices.

    Partly fixes bugs 430259 and 742086; full fixes would require not-backward-compatible data model changes.

  • Change the default filter for General Ledger.

    The General Ledger default for the number of days shown is 30 but for the Register it is 0, meaning show all. So change the default filter based on ledger type and use this when determining if the setting should be saved or removed.

  • Fix gtk accelerator mixups by explicitly disabling actions that are not relevant.

    For example, File->Print and its variants for various page types all use the same '<primar>p' as global accelerator. It was possible to have gnucash invoke the 'Print Report...' action instead of the 'Print Invoice...' action when hitting <primary>p on an invoice page. If no report page was open at this point, gnucash would crash. If a report was open, gnucash would invoke the print action on that report instead of opening an invoice report for the invoice.

  • [job-report] Prevent Crash if there is no AR account
  • Add the ability to cascade account colours in account tree.

    The colour on an account that has sub-accounts can be applied to its sub-accounts; by default only those sub-accounts that don't have a colour set are affected, but there's a preference to override that.

  • Speed up loading the preferen...
Read more

GnuCash 3.2 released

25 Jun 03:27
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 3.2, the second release of the 3.x stable release series.

Changes

Between 3.1 and 3.2, the following bugfixes were accomplished:

The Following fixes and improvemts were not associated with bug reports:

  • Transaction report improvements:
    • Performance: Do all filtering ops before sorting.
    • Move the options summary before the subtotals table.
    • New unit tests
    • Enable computing averages in subtotal grid.
    • Generate the subtotal grid only if the primary sort key enables subtotals.
    • Fix subtotal grid to support multiple commodities.
    • New filters.
    • Much cleaning and refactoring of the internals.
  • Cache the num-split-action book option to avoid thousands of KVP queries for the same value when loading a register.
  • Create a static string for book option KVPs to save an extra malloc/free on old compilers without small-string optimization.
  • Add tooltip support for register cells.
  • New unit tests for the balance sheet report and invoices.
  • Consolidate charting code into a single module.
  • Removed an incomplete and abandoned C implementation of QIF import.
  • Restored libsecret support that had been left out of CMake.
  • Replace old-style html style attributes with css.
  • Modify emitted html to be parseable by the Guile SXML module for testing.
  • Remove support for long-gone gtkhtml renderer.
  • Clean up code generating html tables.
  • Ensure full precision of doubles is saved to SQL. std::iostream's operator<<(double) uses only 6 digits of precision by default.
  • Make float database operations more consistent, working around dbd-sqlite3's failure to support doubles (dbd-sqlite3, not sqlite3 itself).
  • Prevent crash in gnc-tree-view.c: When getting information from the state file, protect against the key not having a '_' which is used to split the string.
  • Add the full account name to the saved register settings If you need to delete the layout for a register in the settings file, the only thing identifying it is the account guid. To make it easier for humans, add the full account name also.
  • When register pages are restored it uses the full account name. When register pages are restored, the account is found from the full name so if the separator changes it will fail. Instead, also save the account guid and use that as default to find the account falling back to the full name.
  • Fix misplaced try block that caused unhandled exception if year out of range.
  • Fix permanent storage of vendor details: Since the data types did not match for the billterms and taxtable, those references/guids were not saved to the database.
  • Update invoice reports to use totals calculate by gncInvoice. This should give a consistent representation of invoice data across the application.
  • Ensure gncEntry rounding is consistent. Internally calculated values in the entry are never rounded. Consumers of gncEntry's calculated values can r...
Read more

GnuCash 3.1 Released

29 Apr 18:33
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 3.1, the second release of the 3.x stable release series.

Changes

Between 3.0 and 3.1, the following bugfixes were accomplished:

The Following fixes and improvemts were not associated with bug reports:

  • On Windows the tooltip for saved reports was incorrect
    When the mouse was placed over a saved report description on Windows an empty tooltip was displayed. Setup the query tooltip callback so it does not display a tooltip for description column.
  • Fix crash when loading sql book with posted transactions.
  • Add ability to recognize and use a pre-compiled libgmock.so.
  • html-font: add default font family
    Windows ships with GTK2 in which the default font styles are named "Sans" "Sans Bold" "Sans Normal" etc. There is no "Sans" font in Windows; I vote to add a default "Sans-Serif" font-family which is valid CSS. This ensures exported reports are shown as intended.
  • Several improvements to the Transaction and GST reports.
  • csv-impport - Allow empty amount fields
    Treat empty amount fields as 0. This is necessary for example in the case the csv import file has both a deposit and a withdrawal column.
  • Remove the set transient parent setting for Reconcile window
    The Reconcile option is already a window so it is not necessary to set this value which allows the jump to transaction to work properly.
  • Date Format dialog flashes up when file/properties used
    When you select the File/Properties dialog, in the construction of that a 'Date Format' dialog flashes up while the date component is moved to the properties dialog. Can mainly be seen on Windows so remove the visible setting in glade file.
  • Prevent throw in gnc-pricedb.
    If a price lookup is given an invalid time64/timespec (i.e. INT64_MAX) then just return NULL instead of trying to find the nearest price.
  • Set GNC_VCS at build time instead of when making the tarball.
    Because the tarball is always made from a VCS repo.
  • If there are no prices in the db, critical errors are flagged
    When dialog transfer is used between two commodities and there are no prices in the db a critical error is logged. Test for price object being NULL before retrieving the price for the error message.

The following translations are updated: Slovak, Spanish

Known Issues

The following are open bug reports new to the 3.x series considered significant by the development team:

  • It is not possible to overwrite SQL Databases from within GnuCash, even though GnuCash will ask if you want to. Bug 789594
  • Several dates, including Accounting Period, are subject to change with time zone and daylight-time changes. Bug 791825
  • Some HBCI information is not loaded correctly so the first transaction download will re-retrieve transactions unless the beginning date is set explicitly. Bug 792397.
  • The new CSV importer's Price of Shares column doesn't work.
Read more

GnuCash 2.6.21 Released

11 Apr 00:07
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 2.6.21, the twenty-second and final, final maintenance release in the 2.6-stable series. This snap release fixes a brace of significant bugs that would have prevented some users from having a 2.6.x fallback after using GnuCash 3.x. Note: This is the last version of GnuCash that will support MacOS X versions earlier than 10.9 or Microsoft Windows versions earlier than Windows 7.

Changes

Between 2.6.20 and 2.6.21, the following bugfixes were accomplished:

Important update notification

If you are updating from gnucash 2.6.0-2.6.4 on linux, you are advised to remove the guile user cache or several parts of gnucash may fail to work properly. This user cache can be found in .cache/guile/ccache/2.0-LE-8-2.0/ in your home directory. It's safe to remove the whole contents of this directory.

Note .cache is a hidden folder in your home directory. You may have to change your file manager's settings in order to view hidden files and folders.

Documentation

Since this is a snap release there is no new documentation release.

Getting GnuCash for Windows and MacOS X

GnuCash is provided for both Microsoft Windows XP® and later and MacOS X 10.5 (Leopard)® and later in pre-built, all-in-one packages. An installer is provided for Microsoft Windows® while the MacOS X® package is a disk image containing a drag-and-drop application bundle.

The SHA256 Hashes for the downloadable files are:

  • 2c3bed2a9366ac0def3e1abf39e148b2850f5ef34c99d0497acd2643db4ffa58  gnucash-2.6.21.tar.bz2
  • c6d78471253f06e701198ac27a613d08e2d74ead7f723ab98f5988b3ffc591df  gnucash-2.6.21.tar.gz
  • 159bdd06b11535c569c6fccb0a44c5052e428ea64ea365118675431b2836ed06  gnucash-2.6.21.setup.exe
  • 9cd8334dfe75026121ade36740fb6a2c30ce0dc0d59e0f35d360667fd3b1e8fa  Gnucash-Intel-2.6.21-3.dmg
  • 137fd4692a116de88300fcb1e8694ff52d80f4e199103c461725ec1ebb349d56  Gnucash-PPC-2.6.21-1.dmg

Getting GnuCash as source code

If you want to compile GnuCash 2.6.21 for yourself, the source code can be downloaded from:

  • Sourceforge: bzip2, all files.
  • Github: bzip WARNING Do not try to use the github-generated files labelled "Source Code". They have not been processed with swig and will not build.
  • You can also checkout the sources directly from the git repository as described here.

To compile GnuCash from the source code by yourself, you will need at least Gnome 2, Guile, and slib. In addition you will need swig if compiling from git. Please consult the README file in the sources for the exact list of dependencies and versions.

Getting the documentation

The documentation is available at Documentation page of the GnuCash website. As noted earlier, the documentation for 2.6.21 is 2.6.20. The 2.6.20 documentation can be found under "GnuCash v2.6 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats.

If you want to compile the GnuCash Documentation 2.6.20 for yourself, the source code can be downloaded from:

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, Mac OSX and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.

GnuCash 3.0 Released.

02 Apr 20:16
Compare
Choose a tag to compare

The GnuCash development team proudly announces GnuCash 3.0, the first release in our new 3.x stable series.

New Features for Users:

  • The headline item for this release is that GnuCash now uses the Gtk+-3.0 Toolkit and the WebKit2Gtk API. This change was forced on us by some major Linux distributions dropping support for the WebKit1 API. Unfortunately the Webkit project doesn't support Microsoft Windows so that platform will continue to use the WebKit1 API, though with Gtk3. We've selected Gtk+-3.14.0 as the minimum version because it fully supports CSS theming.
  • New editors to remove outdated or incorrect match data from the import maps, a new user interfacs for managing files associated with transactions, an improved facility for removing old prices from the price database, and a way to remove deleted files from the history list in the file menu.
  • New Reports: A Reconciliation Report based on the Transaction Report,a Income GST Report, and a Cashflow Barchart report.
  • A new CSV importer largely rewritten in C++, adding new features including the ability to re-import CSV files exported from GnuCash, along with a separate CSV price importer.
  • A new preference panel for the Alphavantage API key so that Finance::Quote users need not edit /etc/gnucash/environment. We've removed all references to the various Yahoo! quote sources and made Alphavantage the default.
  • Data file directories are now located appropriately to the operating system's conventions by default:
    • Windows: CSIDL_APPDATA/Gnucash
    • MacOS: $HOME/Application Support/Gnucash
    • Linux: $XDG_CONFIG_HOME/gnucash (or the default $HOME/.config/gnucash)
    It's still possible to overried with the environment variable GNC_DOC_PATH, which replaces GNC_DOT_DIR in earlier versions of GnuCash.
  • Accounts in the Bayes import map are now linked by GUID instead of names so that the matcher won't have to be retrained if you rename an account. The Bayesian import maps are also stored in a flatter structure to allow faster access, especially in SQL. These changes mean that if you have Bayesian mapping data, once converted your database will be loadable only by GnuCash 2.6.20 and later.
  • MySQL and SQLite3 date storage has changed a bit. Once converted, MySQL and SQLite3 database will be loadable only by GnuCash 2.6.19 and later.
  • Numerics are rewritten to allow for more significant digits. The old 6-digit-maximum fraction is now 9-digits, and prices may have up to 18 digit precision.
  • Chart Reports appearance is improved, including more modern chart colours as suggested by http://clrs.cc/.
  • Transaction Report improvements, including regular expression filtering and many more options and features including a "Subtotal Summary Grid" The subtotal summary-grid will tabulate subtotals - prime-sortkey vertically, sec-sortkey horizontally. For example, with prime-sortkey = accounts, sec-sortkey = date, sec-subtotal = monthly will produce a monthly time series table.
  • The About dialog box layout is improved and now includes the detected Finance::Quote version.
  • GnuCash will always build the locale-specific tax modules. This was optional when building with autotools and never enabled when building with cmake. Note that the only supported tax locales are en_US and de_DE.
  • On Macs the Reconcile Window's menu moved to the menubar.
  • GnuCash no longer supports Guile-1.8 and now does support Guile-2.2

New Features for Developers:

  • Several parts of the engine and the SQL backend are rewritten in C++, an effort that will continue in the next development cycle. KVP is now private to libgncmod-engine and accessible outside via qof_instance_set and qof_instance_get. KVP and GUID are reimplemnted in C++ using boost::variant and boost::UUID respectively.
  • C++ unit tests require GoogleTest. While it's possible to use prebuilt libgtest and libgmock on some distros, building static libraries for GnuCash is preferred. It may be necessary to provide the paths to the googletest and googlemock source with CMake parameters GTEST_ROOT and GMOCK_ROOT respectively.
  • The date implementation is migrated to boost::date-time, replacing a Glib GDateTime implementation. This makes the earliest date recordable 1 January 1400CE instead of 1 January 1CE. We doubt any users will be affected.
  • We've reorganized the code into a core library directory, libgnucash, and application-specific directory, gnucash. The python bindings are now in a top-level directory, bindings; code pinched from other projects is in borrowed, the account templates, check templates, and pixmaps are consolidated in data, and common holds the cmake modules and test framework code. The bin directory's contents have moved to the top level gnucash directory and bin is removed. There are now directories for gschema, gtkbuilder and ui files directly in gnucash. In principle all files of each type should go into these global directories. The only exception is if such a file belongs to an optional module. In that case the file remains located inside that module's directory. Currently we have ui, glade and gschema file exceptions in aqb and ofx importers.
  • The build system is changed from Autotools to CMake. All options except python bindings and the python console demo are enabled by default. Highly parallel builds with Ninja are possible and recommended, except on Microsoft Windows.
  • The Windows build system is rewritten to use MSYS2, Mingw-w64, Powershell, and jhbuild.
  • Add a "pot" target to the build system so that translators can easily generate a new gnucash.pot from a git repository.
  • Detect presence or absence of libxml2 and makeinfo during configuration; abort if the first is missing and don't build the (mostly obsolete) texinfo documentation if the latter is. Document both in README.dependencies.
  • Replaced Timespec with time64 in the Scheme and Python bindings, introducing many new C time64 functions to accomodate the replacement. Timespec will eventually be removed from the C API as well.
  • Some cruft removal in libgnucash/scm plus moving some code to its only use location. "main.scm" is renamed to "utilities.scm".
  • The "printf" family of Scheme custom functions is replaced with the built-in "format" facility.
  • Change a generally unnecessary warning about being unable to open a module (usually because the file is still being created) to a debug message. It appears mostly during highly parallel builds and was distracting.
  • Appstream configuration is updated to the latest spec.
  • Added two functions to the Scheme option API:
    • gnc:option-make-internal! will hide an existing option. e.g. a derived report can set the value for a Display/* option and hide it from the user.
    • gnc:unregister-option will unregister option. This is primarily useful for derived options e.g. another report copies from transaction.scm and removes some options and recreates them with different parameters.
    For example, unregister existing option from section "Accounts" name "Accounts", and recreate with different parameters e.g. limited account types.
  • Drop intltool in favour or using modern gettext. By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml. For platforms where this isn't available, setting ALLOW_OLD_GETTEXT=ON will allow building but some strings will not be extracted to gnucash.pot
  • Pass GTEST_ROOT and GMOCK_ROOT through to distcheck. So that they don't have to be exported in the environment if they're needed.
  • The Python Bindings and Console are now for Python 3, and enahanced to expose more GnuCash API. Compilation of GLib Schemas during build and installation can be disabled by setting -DCOMPILE_GSCHEMAS=OFF. This is intended *only* for distribution packaging scripts that run glib-compile-schemas themselves. Otherwise note that if you install to a DESTDIR you'll need to re-run glib-compile-scemas after moving the contents of $DESTDIR$PREFIX/share/glib-2.0/schemas to $PREFIX.
  • The CuteCash front end has been removed. The code we need from GOffice has been brought into the GnuCash code base so GOffice is no longer a dependency. The register drawing code has been upgraded to draw directly on a cairo surface, removing the dependency on libgnomecanvas.
  • GnuCash 3.0 adds the following dependencies: Boost, ICU, Googletest.

Known Problems

There's no such thing as bug-free software and if we held the release until all the bugs were fixed...

Read more

GnuCash 2.6.20 Releaseed

06 Apr 21:14
Compare
Choose a tag to compare

The GnuCash development team announces GnuCash 2.6.20, the tsenty-first and final maintenance release in the 2.6-stable series. Note: This is the last version of GnuCash that will support MacOS X versions earlier than 10.9 or Microsoft Windows versions earlier than Windows 7.

Changes

Between 2.6.19 and 2.6.20, the following bugfixes were accomplished:

Some other fixes not associated with reported bugs:

  • Online HBCI actions: Remove outdated non-SEPA menu items.
  • Add XML namespaces for all Account Hierarchy Templates.
  • General cleanup of Account Hierarchy Templates.
  • Fix auto-selection of splits in reconcile. Really use all splits of any given day. Up to now usually the splits of the given date were not or not all included, as the time comparison didn't correctly ignore any given time-of-day of the splits. Instead, all possible time-of-days should be included.
  • Properly detect git in case of linked worktree.
  • Account Hierarchy for India: Set LANGUAGE=hi and LANG=en_IN to access it.
  • Improve Import menu entries Customer & vendors use same menu label as others, replace template by tooltip, add ellipsis to entry, add comments to distinguish "Import" as verb and substantive.
  • Provide preference panel to set the Alpha Vantage API key needed for Finance::Quote.
  • Correct the appstream definition to match the current spec.
  • Fix collectors and min-date handling in reports.

Translation Updates: Dutch, German, Spanish, Russian

Important update notification

If you are updating from gnucash 2.6.0-2.6.4 on linux, you are advised to remove the guile user cache or several parts of gnucash may fail to work properly. This user cache can be found in .cache/guile/ccache/2.0-LE-8-2.0/ in your home directory. It's safe to remove the whole contents of this directory.

Note .cache is a hidden folder in your home directory. You may have to change your file manager's settings in order to view hidden files and folders.

Documentation

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

Getting GnuCash for Windows and MacOS X

GnuCash is provided for both Microsoft Windows XP® and later and MacOS X 10.5 (Leopard)® and later in pre-built, all-in-one packages. An installer is provided for Microsoft Windows® while the MacOS X® package is a disk image containing a drag-and-drop application bundle. Links appear above this announcement.

The SHA256 Hashes for the downloadable files are:

  • 44baf7d0133b8bdc9fcb819ee4360afaca2f03a1a254c0221d02e23f35c93025  gnucash-2.6.20.tar.bz2
  • 64b463a1c029e42983d8daebc332964ef6a98a2101a6f3b85a047e45c03a5eef  gnucash-2.6.20.tar.gz
  • d985cb4147d3a347ab10090ed12583c65293324d821a45db4f6c0bc5a3718637  gnucash-2.6.20.setup.exe
  • c65191166b6bb353385b7d846ca3386ead9b455a916b267130e5172ac461811d  Gnucash-Intel-2.6.20-2.dmg
  • 4986d87bfac7b4ad3b8526d4337697c0cdb3ef447f510ced110f764ea4f68ad8  Gnucash-PPC-2.6.20-1.dmg
  • 65c9ecf2d45ff432d35f8c955d36475c0f3ccecd271dc21435b091f50c6b08ea  gnucash-docs-2.6.20.tar.gz

Getting GnuCash as source code

If you want to compile GnuCash 2.6.20 for yourself, upi ca download one either gnucash-2.6.20.tar.bz2 or gnucash-2.6.20-tar.gz from the links above. WARNING Do not try to use the github-generated files labelled "Source Code". They have not been processed with swig and will not build.

  • You can also checkout the sources directly from this git repository as described here.
  • To compile GnuCash from the source code by yourself, you will need at least Gnome 2, Guile, and slib. In addition you will need swig if compiling from git. Please consult the README file in the sources for the exact list of dependencies and versions.

    Getting the documentation

    The documentation is available at Documentation page of the GnuCash website. The 2.6.20 documentation can be found under "GnuCash v2.6 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats.

    If you want to compile the GnuCash Documentation 2.6.20 for yourself, download gnucash-docs-2.6.20.tar.gz above or checkout the sources directly from the git repository as described here.

    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, Mac OSX and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.