下载

GnuCash 2.4 Small Business Accounting

GnuCash 2.4 small business accounting

The GnuCash development team received notice about a new book published by PacktPub, UK:

GnuCash 2.4 Small Business Accounting, by Ashok Ramachandran.

This is a Beginner's Guide for managing your accounts.

Our own developer Christian Stimming has been contributing to this book as a reviewer, and we can wholeheartly recommend the outcome of this fruitful collaboration. Feel free to have a look at this book over at packtpub.com, and, best of all, the publisher has committed to allocate some percentage of the book sales back to the GnuCash project. Have fun with this book!

GnuCash News

GnuCash 3.7 released

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:

Documentation

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

Documentation changes:

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:

  • 6b8eb09f3980531509bcb3a589ab0334d827c32f860ce8a209aa2fe0ed8858b4  gnucash-3.7.tar.bz2
  • 1f86d5561a35af39d2a6be133607431402cf06e889542b38a000aed923f23254  gnucash-3.7.tar.gz
  • 3664f3f0a2725ba1b771400ecf1478db164006e97832ea19883657c3d3f41ec3  gnucash-3.7.setup.exe
  • b687fb0a17b15e735a29be83354409fb8059aebf0bd97079b74eac3dfc4cbeac  Gnucash-Intel-3.7-1.dmg
  • 393919c12e7a0711b113cca3af83c2dcd195eabfa83ed2e985cbb91951a990c0  gnucash-docs-3.7-1.tar.gz

Getting GnuCash as source code

If you want to compile GnuCash 3.7 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 Gtk+ 3.10, 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.

Getting the documentation

The documentation is available at Documentation page of the GnuCash website. The 3.7 documentation can be found under "GnuCash v3 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.

If you want to compile the GnuCash Documentation 3.7 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, MacOS, and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.

GnuCash 3.6 released

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.
  • New report "Balance Sheet-PNL" combines a Balance Sheet and an Income Statement in a single report.
  • Rework localization in C++ on Win32 builds, fixing several crashes and speeding up file loading by 10x.
  • Create a console window for displaying stdout/stderr. Define __MSWIN_CONSOLE__ and recompile to enable.
  • Keep the selection in the Securities Editor on the commodity after editing it.
  • Allow the Securities Editor to stack separately from the main window.
  • Much more Scheme cleanup and refactoring.
  • Python console improvements, including switching to Python3 and not killing GnuCash when quitting the console.

New API:

The following functions can now be used in scheduled transaction credit/debit calculations:

  • gnc:amort_pmt
  • gnc:amort_ppmt
  • gnc:amort_ipmt

API Deprecations:

  • gnc:html-table-prepend-column!
  • gnc:html-acct-table-num-cols
  • gnc:html-acct-table-append-row!
  • gnc:html-acct-table-prepend-row!
  • gnc:html-acct-table-append-col!
  • gnc:html-acct-table-prepend-col!
  • gnc:html-acct-table-remove-last-row!
  • gnc:html-acct-table-render
  • gnc:second-html-build-acct-table

We have revised translations for Croatian, Farsi, German, Romanian, and Ukrainian.

Known Issues

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

Documentation

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

Documentation changes:

  • Guide: Move the FDL appendix into the appendix part
  • Guide Bus: Add IDs to tables so that they will appear in the "List of Tables"
  • Use <equation> instead of <emphasis> in chapter basics To generate a "List of Equations" in most outut formats
  • New Debit and Credits section Debit and Credit section showing which account types have debit balances and which haave credit balances and the effect of debits and credits on each account type.
  • Add screenshots of book options in help
  • New Dependencies: FontBox for ru pdf
  • Use full words and sentences for reconciliation state in Help Transactions

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:

  • f1cb86de60bb0eb2cf5c2c3868e7dab7d889017e233230f944f158f84eb85f25  gnucash-3.6.tar.bz2
  • a9275a8d2aef576016b7f58b08bcc71739902e2e81787171af83c2576e21d085  gnucash-3.6.tar.gz
  • cb8ba5aa13dce6c9caedfb774abef47b8e352c2cda7d762d3f74840f1b12766a  gnucash-3.6.setup.exe
  • a9275a8d2aef576016b7f58b08bcc71739902e2e81787171af83c2576e21d085  Gnucash-Intel-3.6-1.dmg
  • 32d373a4faa96cde2bba564bc8d7143d6317f121c488492f2dc5ebe99b4b6163  gnucash-docs-3.6-1.tar.gz

Getting GnuCash as source code

If you want to compile GnuCash 3.6 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 Gtk+ 3.10, 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.

Getting the documentation

The documentation is available at Documentation page of the GnuCash website. The 3.6 documentation can be found under "GnuCash v3 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.

If you want to compile the GnuCash Documentation 3.6 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, MacOS, and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.

Wiki Registration Fixed

On February 3, 2019 the OS on the GnuCash server, code, was upgraded. This also upgraded the version of mediawiki installed. However, three mediawiki extensions were not upgraded at the time, which resulted in preventing new users from registering with the wiki.

This breakage was only noticed and reported today, and quickly fixed.

If you were trying to register and failing, we apologize. You can try again now.

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:

The SHA256 Hash for the new Windows installer is
1e14f343eaf7c2118a937a74fd51842fdce59b0bd73db5863103b27592dbaafa

It 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.5 released

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

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.
  • CSV Tokenizer: Add additional test to guard against quote parsing regressions.
  • 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 should now be honored and visibility set to TRUE (=visible) for the correct flags.
  • Online Banking: Fix reconcile timestamps when importing balances.
    Used to be start-of-day, but needs to be day-neutral.
  • Performance: Provide a single static instance of C++ locale.
    We can't use std::locale::global because all streams imbue it by default and if it's not 'C' (aka std::locale::classic) then we must imbue all the streams that we don't want localized, and that's most of them.
  • Performance: Add GncDateTime::timestamp().
    To provide a C++ implementation of gnc_date_timestamp and to avoid using the expensive and localized GncDateTime::format().
  • Performance: Implement a faster date-time serialization function.
    Has the side effect of recording all date-times in XML files in UTC instead of local time with a timezone. This will help users who like to keep their files under version control because the time strings won't shift every time Daylight time begins or ends.
  • Performance: >Fix XML load CPU hotspot: Scrub.c xaccTransScrubPostedDate
    The refactoring provides roughly 10% reduction in user CPU use for XML file load by moving an expensive function to within an if-clause where the result is used.
  • Performance: Speed-up of txn match dialog: Suspend GUI refresh during deletion of selected lines.
  • Performance: Sorting speed-up: Cache the bool value of Transaction's is_closing property.
  • Register: Accept URLs or file paths for files associated with transactions. File paths can be relative or absolute. A preference is provided.
  • Reports: Speed up the budget and cash flow report calculation by iterating over accounts only once.
  • Reports: Heavy scrubbing for code readability and performance.
  • Reports: New Report by Ryan Turner: Balance Forecast Report
    This report forecasts the combined balances of the selected accounts based on the scheduled transactions and plots them on a line graph. You can set a "reserve" amount, which will draw a red line on the graph, so you can easily see if your forecast dips below a given value. There is also a "future minimum" line which shows what the lowest future balance will be at a given point. I find this useful in conjunction with the "target" line for planning.
  • Reports: Fix crash when loading saved-report with unknown choices.
    If a saved-report with e.g. relative date, multichoice option is unknown, the report would crash, and the Report-Options would segfault. This commit fixes both: report-date defaults to 'today', multichoice-options defaults to default-value. Following this commit, if a report loads a saved-report or .gcm from a future version, a gnc:warn will be emitted and the report will not crash; it will use relative-date today. Multichoice will remain the default value. Report Options will not segfault. The user will be notified via a gnc:gui-warn dialog
  • Reports: Date intervals at end-of-month:
    Instead of recursing the date, we calculate the next month using an index-based multiplier, and apply modulo/remainder as appropriate to determine the next month/year. Then we attempt to create new mktime, and if the resulting mktime's month is not as expected, reduce the mday by 1 until resulting month is correct. This fixes monthly intervals for end-of-month days. Test via monthly/quarterly deltas, and also includes leapyear calculation.
  • Reports: Date-grouping must allow indenting.
    Indenting checkbox was erroneously disabled when: sortkey = date, date-subtotal = not 'none.
  • Reports: Table display
    It is intuitive that if the user wishes to show the subtotal-table, and hide the transactions, then both the main (hidden) transactions and subtotals must be hidden as well.
  • Reports: Update US Income Tax information for 2018.
  • Scheme Deprecations:
    • account-assoc
    • account-hash
    • account-hashtable-ref
    • account-hashtable-set!
    • account-in-alist
    • account-in-list-pred
    • account-in-list?
    • account-same?
    • gnc-commodity-collector-commodity-count
    • gnc-commodity-collector-contains-commodity?
    • gnc:commodity-collectorlist-get-merged
    • gnc:exchange-by-pricedb-helper
    • gnc:exhange-by-pricevalue-helper
    • gnc:get-commoditylist-inst-prices
    • gnc:hook-run-danglers
    • gnc:make-drcr-collector
    • gnc:make-stats-collector
    • gnc:report-template-menu-name/name
    • gnc:report-template-name-to-id
    • gnc:report-template-new-options/name
    • gnc:report-template-renderer/name
    • gnc:restore-report
    • gnc:save-options
    • split-assoc
    • split-hash
    • split-hashtable-ref
    • split-hashtable-set!
    • split-in-list?
    • split-same?
  • Scheme: Replace account and split utility functions with SRFI-1 functions.
  • Scheme: Testing (create-transaction) adds price trading commodities/currency.
    this will modify a test which was calibrated to record purchase price only. fix transaction creation to add prices for both purchase and sales, and also fix test which was assuming no sale price was bring recorded.
  • Scheme: Testing (env-create-multisplit-transaction) This is the general case for any transaction creation.
    Rewrite other transaction creation routines to use it. All tests still work unchanged, which confirms this function works well. This will allow tests to create multisplit transactions, of an arbitrary number of splits. If the list-of-split's values are not balanced (i.e. total 0), the engine will create an Imbalance-CUR split.
    The motivation is to allow creation of complex multisplit multicommodity transactions eg USD50 + GBP20 (USD25) = EUR66 (USD75) as well as their prices GBP/USD = 25/20 and EUR/USD = 75/66.
    • USD -50
    • USD -25 = GBP -20
    • USD +75 = EUR +66

    This will be useful in creating tests for stock-based reports, whereby stock sales need splits in STOCK/ASSET/INCOME accounts.
  • Scheme: Redesign gnc:account-get-balances-at-dates,
    replacing the ignore-closing? parameter with a split->amount function parameter having a default value of xaccSplitgetAmount. (split->amount split) should return the amount of the split or #f; in the latter case the split is skipped. This allows for a more general account balance list accumulator with novel balance strategies. For example a split->amount function could test void status and return xaccSplitVoidForerAmount on void splits; test description/memo for some content and vary the returned amount accoridingly; or test the split and return 1 or 0 creating a counter. To recreate the ignore-closing use case pass (lambda (s) (and not (xaccTransGetIsClosingTxn (xaccSplitGetParent s))) (xaccSplitGetAcmount s)))
  • Scheme: Replace some option names. Automatically convert usage of the old names and issue a warning.

We have revised translations for Arabic, Croatian (New!), Farsi, French, German, Spanish, Ukrainian

Revised or added account templates for Belgium (French) (New!), Frsnce, Croatia (New!), Germany. Switzerland (French)

Known Issues

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

Documentation

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

Documentation changes:

Getting GnuCash for Windows and MacOS X

GnuCash is provided for both Microsoft Windows XP® 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 X® package is a disk image containing a drag-and-drop application bundle.

The SHA256 Hashes for the downloadable files are:

  • 776d0b51b6029e25b5c7e9eb86021d5ecf1b09d8f3241b279f76dba9cc3b7745  gnucash-3.5.tar.bz2
  • a378c18df302d9b2c53a59e63a5e1e2d7192048e96f81be6e53926af5c8607d7  gnucash-3.5.tar.gz
  • e8341391b5a025ffcafd0473e226bf304fdb98d58a8bd71487ae2b2510b0945b  gnucash-3.5.setup.exe
  • 9ceda37f952bb53364b5ecbe5005642a8ff4158610e1c268ccbd041cdb2b1535  Gnucash-Intel-3.5-1.dmg
  • b320815c90397ab6574dfe50b462d72199a0b34b03625b1c8d7b04a2ab6f563e  gnucash-docs-3.5-1.tar.gz

Getting GnuCash as source code

If you want to compile GnuCash 3.5 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 Gtk+ 3.10, 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.

Getting the documentation

The documentation is available at Documentation page of the GnuCash website. The 3.5 documentation can be found under "GnuCash v3 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.

If you want to compile the GnuCash Documentation 3.5 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 Server Maintenance

UPDATE: Maintenance is complete at of 1900 US/EDT

The GnuCash server, code.gnucash.org, will be undergoing maintenance on Sunday, February 3, 2019, in order to update the operating system software. Planned outage is between 1200 US/EDT and 2300 US/EDT (1700 UTC - 0400 UTC Feb 4). During this outage, access to the email lists, email list archives, wiki, irc log, and bug tracker will all be limited.

Status updates will be made to #gnucash on irc.gimp.org and follow-up email sent after the server is restored to service.

GnuCash 3.4 released

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.gnucash.GnuCash to match flathub, and add a launchable ID to link it to the desktop file.
  • Added double-click-on-file for the CSV transaction, price, and account importers and exporters.
  • Cleaned up a variety of issues reported by the clang static analyzer.
  • Allow the text options widget to use all remaining space
    The text option widget used for report options has only about 3 lines visible currently and will not use any available space in the dialogue. Change the packing for this widget to expand and fill the remaining dialogue space. If there are more than one text option widget on a page then the available space will be shared equally.
  • Add short_labels for a few toolbar buttons with long names. That should fit a few more buttons on the toolbar.
  • Update iso-4217-currencies.xml, adddding VES - Bolivar Soberano, minor updates of other VE currencies.
  • Python 3 bindings fixes and improvements from Christoph Holterman and Sumit Bhardwaj.

We have revised translations for Chinese (Simplified), Farsi, German, Japanese, Portuguese (Portugal), and Ukrainian

Revised or added account templates for English (US), English (UK), German (Austria), German (Germany), Portuguese (Portugal)

Known Issues

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

Documentation

There were no content changes to the GnuCash Documentation, though the build system was modified.

Getting GnuCash for Windows and MacOS X

GnuCash is provided for both Microsoft Windows XP® 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 X® package is a disk image containing a drag-and-drop application bundle.

The SHA256 Hashes for the downloadable files are:

  • a254883c8f7e34f2e19ebdc6a0185489d9027341d7d62a6f1ef815a8c9e342d7  gnucash-3.4.tar.bz2
  • 95e8d340b7299e67ed9bedd29141cdc50824a1d6c17ebba302396b862e33b2ea  gnucash-3.4.tar.gz
  • 7ebbec0bc668e42d04178254a754aab7ba63c3177ed4e60bd5c6da917a2a316f  gnucash-3.4.setup.exe
  • 359d3ecbfc2143fe11901bd0319a60c5b802a8c13206c4da0041e510b7d39d59  Gnucash-Intel-3.4-1.dmg
  • 07d3b6eff48a305cd392e643d16ac12185bdcd456dcf6061441e9ef9faedf22d  gnucash-docs-3.4-1.tar.gz

Getting GnuCash as source code

If you want to compile GnuCash 3.4 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 Gtk+ 3.10, 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.

Getting the documentation

The documentation is available at Documentation page of the GnuCash website. The 3.4 documentation can be found under "GnuCash v3 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.

If you want to compile the GnuCash Documentation 3.4 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.3 released

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 preference dialog by blocking register updates until the dialog is fully loaded.
  • Update change_tax_code.py, add basic test for python query.
  • Simplify GNCQueryView's data model: It was managing a number of redudant parameters which were leaking memory all over the place. The information that was tracked could easily be extracted from the underlying GtkTreeView, GtkTreeModel or GtkTreeSelection when needed.
  • Open customer/vendor/employee report when double-clicking an the respective owner the cust/vend/empl overview page.
  • Update Overview of README based on https://lists.gnucash.org/pipermail/gnucash-devel/2018-September/042748.html
  • Many new tests for reports.
  • Some substantial speedups when loading large amounts of business transactions from a SQL backend.
  • Clean up a lot of memory leaks.
  • Remove all use of Timespec in the program. Provide deprecated wrapper functions supporting timespecs for custom reports; users should update the reports as soonas possible.

The following translations are updated: Farsi, Ukrainian

Known Issues

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

Documentation

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

Documentation changes:

Getting GnuCash for Windows and MacOS X

GnuCash is provided for both Microsoft Windows XP® 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 X® package is a disk image containing a drag-and-drop application bundle.

The SHA256 Hashes for the downloadable files are:

  • 8396ed8d2a88ac358ecf458c253cf38f55a13aaba7958e4fde3dd85c222e393f  gnucash-3.3.tar.bz2
  • 491735df36cb7ba9d04de28e28df53c3e5d928bda52009708d2f83ab9a42f820  gnucash-3.3.tar.gz
  • 869a227120e20e805b5c0455b0312b826b4bb3e305d4a4b477c93ed9aba1e668  gnucash-3.3.setup.exe
  • c1d97818e9f34e5113d030b4d9a850a297cb2d2ffb871e7cb9b80d5cf3ff2336  Gnucash-Intel-3.3-1.dmg
  • 0cf34e858a6e13fbef3c3987109bed895deb94a60bcd42d61dca43c36f716dab  gnucash-docs-3.3.tar.gz

Getting GnuCash as source code

If you want to compile GnuCash 3.3 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 Gtk+ 3.10, 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.

Getting the documentation

The documentation is available at Documentation page of the GnuCash website. The 3.3 documentation can be found under "GnuCash v3 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.

If you want to compile the GnuCash Documentation 3.3 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.

Bugzilla Migration 29 June 2018 at 20:00 UTC

As anyone who's used Bugzilla in the last few months already knows, Gnome has moved their git repositories to a Gitlab instance at gitlab.gnome.org and migrated bug tracking for Gnome projects there as well. They've left Bugzilla alone for non-Gnome projects like GnuCash but they're closing it to new bugs on Sunday, 1 July.

Most users and contributors know that to get ready we've set up a new Bugzilla instance at https://bugs.gnucash.org and copied all of the bugs and their history and all user accounts. We'll do a final fetch from bugzilla.gnome.org at 2018-06-29 22:00:00 UTC (That's tomorrow at 8PM UTC/10PM European Daylight Time/4PM US Eastern Daylight Time). We expect to be able to "turn on" https://bugs.gnucash.org within a couple of hours.

The process will be:

  • Close bug creation on bugzilla.gnome.org. Unfortunately we can't prevent updating already-created bugs, but any changes to bugs on bugzilla.gnome.org after this will probably be lost.
  • Fetch the latest bug status from bugzilla.gnome.org
  • Close all open bugs on bugzilla.gnome.org as "RESOLVED OBSOLETE" with a comment pointing to https://bugs.gnucash.org for further discussion. We're using RESOLVED OBSOLETE to be consistent with the Gnome project bugs.
  • Import the changes to bugs.gnucash.org
  • Re-enable updates in the bugzilla code; that's disabled now because imports don't work if it's enabled.

User accounts are preserved, but passwords are obviously not preserved. Existing bugzilla.gnome.org users should use the "forgot my password" link on https://bugs.gnucash.org to get a password reset and to enable their accounts after the migration is complete.

Bug CC lists *are* preserved so you will get email notifications for changes to bugs that you've commented on or otherwise added yourself to the CC list. "Watching" links are *not* preserved so if you were watching another user or one of the category users you'll need to reset that in Email Preferences (click the Preferences link at the top of the page after you log in).

The category users are:

core@gnucash.bugsGnuCash/Backend-SQL, Backend-XML, Budgets, Build system, Business, Currency and Commodity, Engine
documentation@gnucash.bugsDocumentation, Website, GnuCash/Translations
general@gnucash.bugsGnuCash/General
import@gnucash.bugsGnuCash/Import - *, TXF Export
macos@gnucash.bugsPackaging/MacOS, GnuCash/MacOS
reports@gnucash.bugsGnuCash/Check Printing, Reports
ui@gnucash.bugsGnuCash/Regist2, Register, User Interface General
windows@gnucash.bugsPackaging/Windows, GnuCash Windows
all-bugs@gnucash.bugsAll bugs

Since we have the whole bug tracker to ourselves we've created some new products and moved some bugs into them:

GnuCashcontinues to collect reports on the application itself.
Documentationcollects documentation reports
Packagingcollects reports about the all-in-one Windows and MacOS packages that are not about GnuCash application code.
Websitecollects reports about www.gnucash.org.

More information in the Wiki.

GnuCash 3.2 released

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 request them either rounded or not. Next use a pragmatical approach for calculating values on invoices based on the entry values: do the rounding such that we never create an unbalanced transaction while posting. That means:
    • round each entry's net value before summing them in net total
    • accumulate all tax totals on invoice level per tax account before rounding
    and round before before summing them in a global tax total Hopefully this will catch a few more rounding issues in this area. A complete solution can only offered if we allow users to manually correct tax entries. This requires changes to user interface and data format so that's not going to happen in gnucash 3.x.
  • Use Scheme SRFI-64 test framework for new Scheme unit tests.
  • New compilers (gcc-8.0 and Xcode 9) bring new warnings, so several fixups to mollify them.
  • Lowercase all cmake commands for better readability.
  • Metadate migration (2.6.x->3.x) fixes for Windows.
  • Ensure timezone is set correctly in FreeBSD.

The following translations are updated: Dutch

Known Issues

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

Documentation

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

Documentation changes:

Getting GnuCash for Windows and MacOS X

GnuCash is provided for both Microsoft Windows XP® 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 X® package is a disk image containing a drag-and-drop application bundle.

The SHA256 Hashes for the downloadable files are:

  • 63e5b00c148ed0f7021ebc03e4e70c4a9c549feb3ea49d6c810f2abaaf592452  gnucash-3.2.tar.bz2
  • beb028b6933f57a6dad89f0c0a54ffe7b5dd42bbd3f532405f4ffd01cc5eaa5c  gnucash-3.2.tar.gz
  • 0e06acfe7a9746eacf5282ba27919625b51c3d51fd548e6a529f78ff759ed70f  gnucash-3.2.setup.exe
  • c443629a73d0ec95ca8bcdb57fae755ec7915d91d0838e297404395587c6237d  Gnucash-Intel-3.2-2.dmg
  • 469a524352a3b0e5308ba68a3c0fac79a501998b29db9c16a714ce879aa9c39c  gnucash-docs-3.2.tar.gz

Getting GnuCash as source code

If you want to compile GnuCash 3.2 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 Gtk+ 3.20, 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.

Getting the documentation

The documentation is available at Documentation page of the GnuCash website. The 3.2 documentation can be found under "GnuCash v3 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.

If you want to compile the GnuCash Documentation 3.2 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.

Click here for older announcements...

Valid XHTML + RDFa

Copyright © 2001–2019 The GnuCash Project

Server & email outage reports to: gnucash-devel@gnucash.org

Translation problems? Contact: gnucash-devel@gnucash.org