GnuCash Changelog

What's new in GnuCash 5.6

Apr 1, 2024
  • Between 5.5 and 5.6, the following bugfixes were accomplished:
  • Bug 798946 - start/end of current/last quarter have off-by-one error
  • Bug 799093 - Cannot reconcile since v5.4
  • Bug 799179 - SLR won't allow change from "Reminder" to any other state
  • Bug 799210 - Bad encoding of accented chars in account names in "Import CSV" wizard
  • Bug 799213 - SIGSEGV caused by revising an auto completed transaction
  • Bug 799222 - Crash when changing the parent of an account that has had two or more levels of sub-accounts auto-created using the register in the current session.
  • Bug 799224 - Import of QIF gets Bug detected during duplicates (partial fix: If the new-splits object is null, it means the new account tree from the current import has no splits. Therefore the (apply min|max dates) will fail. Omitting the date query is a simple fix to prevent crashing. This is a partial fix because the crash is likely a symptom of another bug which causes the new account-tree to be empty.
  • Bug 799225 - QIF Importer Crashes Silently after "Start Import" Button: Don't allow a QIF investment transaction without an action (buy/sell/etc)
  • Bug 799246 - import matcher will rename incorrect splits
  • The following fixes and improvements were not associated with bug reports:
  • Numeric parsing and string handling improvements in the Engine and XML backend.
  • [gnc-dense-cal.c] sx popup: show date in preference (cf.locale) format because the date format preference is user-facing and customisable. it's jarring if the preference is dd/mm/yyyy and the display shows mm/dd/yyyy in accordance to the locale.
  • Correct misleading description about creating Scheduled Transaction.
  • Date parsing efficiency improvements.
  • Update minumum Python version to 3.8, made necessary by updating the C API in the Python bindings.
  • Replace deprecated distutils.sysconfig with sysconfig. distutils is not present in Python 3.12.2.
  • Query user via dialog for date when creating a reverse transaction.
  • More C++ conversions
  • Avoid deprecation warning for -py3 in swig >= 4.1
  • [gnc-commodities.cpp] gnc_new_iso_codes is a std::unordered_map
  • Replace some naked for loops with C++ algorithms
  • Convert gnc-commodity to C++ and make GncQuoteSources a C++ class.
  • [test-commodities.cpp] add some tests for gnc_quote_sources
  • Remove the SLR status sort as it is too confusing
  • Allow sorting of the transaction column in the Since Last Run dialog by schedule name or occurrence date. To sort by schedule name, a schedule name is first selected and then the column header is pressed to change order. To sort by occurrence date, a date is selected and then the column header is pressed to change order based on the date of the first occurrence. A tool tip has been added to indicate the sort order being used.
  • [gtest-gnc-numeric] add operator comparisons with example int64 numbers
  • [assistant-stock-transaction] store & retrieve associated account as metadata
  • Update Form/Schedule line references for 2023 for the US Income Tax Report
  • Update another gnucash-help to gnucash-manual
  • [invoice.scm] centralize layout components into layout-key-list instead of maintaining 2 assoc lists.
  • [invoice.scm] normalize header section generators, changing the functions to require 1 options argument only
  • Update invoice.scm: Add spacing for long Invoice ID's (Displayed as "Reference" on the Invoice)

New in GnuCash 5.5 (Dec 18, 2023)

  • Between 5.4 and 5.5, the following bugfixes were accomplished:
  • Bug 607000 - SLR visible transactions
  • Change the Since Last Run dialog to show only transactions with a non-empty Status.
  • Bug 792241 - Allow sorting scheduled transactions
  • Bug 798025 - SLR Value entry not tied to location
  • Disable scrolling and the horizontal scroll bar while an entry has focus.
  • Bug 798760 - SLR OK button to complete value entry
  • With this change the Since Last Run dialog's OK button will commit an in-progress edit and advance to the next edit requiring input. It will close the dialog only if there are no more edits.
  • Bug 798760 - SLR change reminder with value entry
  • Change transaction state from Reminder to ToCreate when the user has provided the needed value and clicked OK.
  • Bug 798890 - Printing Problem
  • Bug 799087 - Import - Unbalanced (need acct) transactions now show in red (previously orange).
  • Bug 799090 - Right Clicking scheduled transaction
  • Ensure that the selection highlight changes to the item under the pointer when right-clicking in the SX Editor.
  • Bug 799092 - GnuCash 5.4 leaves background process running on exit
  • Clear the schema_hash at app shutdown via gnc_prefs_remove_registered and make that function available to the Python bindings so that python programs can do so too.
  • Bug 799099 - Crash when trying to get quotes
  • Bug 799104 - "Asset Chart" broken
  • Bug 799108 - "Since Last Run" crashes if there are any errors creating a scheduled transaction
  • Capture errors and display them in a dialog box instead.
  • Bug 799113 - "Start Import" button reports "Failed"
  • Bug 799121 - Parse error on CSV import on MacOS
  • Bug 799130 - split-register.c:1847:gnc_split_register_save: assertion failed: (xaccTransIsOpen (blank_trans))
  • Bug 799134 - Fails to build with GCC 14 (‘find_if’ is not a member of ‘std’; did you mean ‘find’)
  • Bug 799138 - Port to new Python C config API
  • Bug 799143 - FTBFS on 32bit architectures
  • Bug 799144 - Date Completion is broken after 5.4 upgrade
  • Bug 799148 - Reliable crash when saving a modified saved report configuration
  • Bug 799150 - Can't paste text (with Ctrl+V) in Notes field in Account Tree View
  • Bug 799151 - gnc_date_get_last_mday () does not account for leap years correctly.
  • Bug 799152 - normalize_reldate_tm() does not handle dates with months greater than 11 or less than -11 correctly.
  • Bug 799156 - normalize_struct_tm() does not normalize seconds,minutes, and hours correctly.
  • The following fixes and improvements were not associated with bug reports:
  • Cancel the QIF import instead of inserting the default directory if the user cancels the file-selection dialog.
  • Memory leak fixes
  • Rename the scheduled transaction edit/new/delete menus to resolve a shortcut conflict.
  • Allow saving the sort column in the Since Last Run dialog
  • Ensure that Print Checks obtains for the check amount the sum of all splits in the current register account and subaccounts.
  • Ensure that report page actions are re-enabled after editing options. Some actions (Print, PDFExport, and Report Options) had been left disabled.
  • Ensure GncDateEntry always reverts to today if the user enters an invalid date string.
  • Direct cmake to find the base installed Python3 instead of the latest version installed. Reference Cmake Issue 24126, Cmake Issue 24878, and CMake merge request 8287. Note that this requires CMake 3.20 or later; users of older versions will still get the newest installed Python version.
  • CI: Run distcheck on one workflow to catch quickly instances where someone adds a file but forgets to update the distribution.
  • Primarily of interest to developers: We've added a new CMAKE_BUILD_TYPE, Asan, with two options -DLEAKS and -DODR, both of which default to OFF. This creates a non-optimized, with-symbols build with the Address Sanitizer hooks compiled in. While the primary motivation is a CI run to ensure that there aren't any memory allocation errors revealed in the test suite, this is also a useful build to use when debugging a segfault crash, many of which are caused by use-after-free errors. When building on non-Apple platforms -DLEAKS=ON will add leak detection, dumping a stack trace for the allocation of any leaked heap or free-store allocations. Similarly and on non-Apple platforms only -DODR=ON will log violations of the C++ one definition rule.
  • Also of interest to developers: A new cmake option -DCOVERAGE. When on and in a non-optimized build this will instrument the program and libraries to count usage for every source line. The option also adds three targets, lcov-initialize, lcov-collect, and lcov-generate-html. The primary motivation is to assess the completeness of tests in CI, see Coverage-HTML for the latest results.
  • New and Updated Translations:
  • Chinese (Simplified), Croatian, Dutch, English (Australia), English (New Zealand), English (United Kingdom), Finnish, German, Gujarati, Hungarian, Italian, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Slovak, Spanish, Swedish

New in GnuCash 5.4 (Sep 25, 2023)

  • Between 5.3 and 5.4, the following bugfixes were accomplished:
  • Bug 728875 - Back button does not work in QIF import assistant
  • Bug 797507 - GnuCash Splash screen may disappear before the main window appears
  • Bug 798709 - Total(Period) column does not refresh period's value after update of the period in settings.a>
  • Bug 798904 - GnuCash on Windows opens a CMD window at startup.
  • Bug 798925 - Python bindings: "invalid unclassed pointer in cast to 'QofInstance'".
  • Bug 798944 - Program crashes when matching transactions
  • Bug 798950 - Bug Report: Incorrect Currency Conversion and Provider Invoice Payment Recording
  • When balancing lots use the split amount, not the value
  • Recalculate the values using deduced exchange rates after adjusting split amounts.
  • Be conservative when recalculating values after breaking up a split to avoid imbalances caused by rounding.
  • Bug 798958 - gncScrubLotLinks will infinite loop in some conditions
  • Bug 798982 - GetQuotes crashes if Finance::Quote returns an empty date.
  • Bug 798983 - Empty Orphan account appears after entering transactions in 5.3
  • Bug 798990 - Notes No Longer Autofills
  • Bug 798991 - Incorrect Account Name Order in Transaction Report
  • Bug 798995 - Keystrokes ignored during ledger entry
  • Bug 798998 - Job Report Not Working
  • Bug 799004 - Update of Prices attaches incorrect Date
  • Bug 799010 - gnc-register-account-sel-limited-option errors doesn't work
  • Bug 799020 - widget of gnc-register-list-option disregards user's clicks
  • Bug 799021 - Saved report renders default of gnc-register-list-option
  • Bug 799036 - Import prices from a CSV date problem
  • Bug 799039 - gnc:strify produces unusual results or crashes GnuCash when fed an option from gnc-lookup-option
  • Bug 799048 - Hover on tab not correct
  • Bug 799051 - Shortcut Ctrl + Tab not working in 5.3
  • Bug 799054 - Stock Assist not functioning
  • Bug 799060 - Consistent Crash in Invoices
  • Bug 799068 - csv export active register not working
  • Bug 799069 - Multicurrency Invoice Payment
  • Bug 799075 - Saving display tab changes in Report Options does not work.
  • Bug 799084 - Unable to create new scheduled transaction
  • The following fixes and improvements were not associated with bug reports:
  • [import-main-matcher.cpp] After clicking/toggling A/U+C/C checkbox, reselect the row because it'll be much faster to use keyboard navigation -- use up/down/left/right to target desired checkbox, hit repeatedly to repeat the same action over several consecutive rows.
  • Implement support for !Type:Prices records in the QIF importer.
  • Modernize construction of GObjects using G_DECLARE_DERIVABLE, G_DECLARE_FINAL, etc.
  • Fix yet more leaks.
  • Documentation:
  • Between 5.2 and 5.4, the following bugfixes were accomplished:
  • Bug 799074 - Incorrect note re cash page in stock-txn-assistant
  • The following fixes and improvements were not associated with bug reports:
  • Add a Chinese translation for the Tutorial and Concepts Guide.
  • Update git branches for API docs
  • Refactor the build system feature for adding customized xslt files.
  • Bump minimum cmake version to 3.14 to keep it in sync with the gnucash repo
  • Fix race condition in creating symlinks for the kde help system.
  • Update GitHub actions/checkout to v3 in all actions and add nightly-build github workflow.
  • Manual (C,de): Replace obsolete 'gnc-fq-*' with 'gnucash-cli --quotes *'
  • Guide (C,de,ru): Repair broken links from 'help' to 'manual'
  • Guide (C,de), ch_invest: Remove section 'Finance::Quote install'
  • Manual (C, de) Update F::Q screens to 1.57
  • Change version 4 to 5, branch maint to stable, and update Finance::Quote docs to reflect changes in GnuCash.

New in GnuCash 5.3 (Jun 27, 2023)

  • Between 5.2 and 5.3, the following bugfixes were accomplished:
  • Bug 798967 - Cannot Save to Any Path After Upgrading to 5.2 Fix inverted if statement condition for save success flag
  • The following fixes and improvements were not associated with bug reports:
  • Some memory cleanup by Chris Lam.
  • Missing from the 5.2 release notes is that Chris streamlined the transaction scrubbing so that each transaction gets scrubbed only once. This improves--in some cases substantially--the time to load and to run Check and Repair.
  • New and Updated Translations:
  • Dutch, French, Hungarian, Italian, Portuguese

New in GnuCash 5.2 (Jun 26, 2023)

  • Between 5.1 and 5.2, the following bugfixes were accomplished:
  • Bug 777472 - reconcile does not work if transaction selected
  • Check that there's no outstanding activity in the current register page before starting a reconciliation. It is still possible to start modifying a transaction after the reconciliation window is open but this will stop the most common issue with the process. Starting a reconciliation from the account tree is left unprotected.
  • Bug 798564 - GnuCash is slow when there are a lot of open tabs/registers (37)
  • Lazily load registers as is already done with reports.
  • Bug 798597 - The word "Separators" needs two separate versions
  • Use "Character-separated" when it's a choice between that and fixed field width and "Select Separator Character" when it's a heading.
  • Bug 798695 - Deleting everything from the "Transfer" cell after suggestions pop-up restricts search to the first 30 accounts
  • Skip the search on an empty value and return all accounts in the combo box as it normally does if the account list is opened without searching for something.
  • Bug 798796 - Account list incomplete in report options
  • Allow stock/fund accounts that are descendants of Bank accounts to be selected for the Advanced Portfolio, Investment Lots and Investment Portfolio reports.
  • Bug 798809 - Multicolumn report error when reopened after saving.
  • Bug 798839 - Edit -> Preferences string not translatable (reopened)
  • Bug 798862 - Merge identical strings (reopened)
  • Ensure similar strings are identical and use double line view instead of double line mode.
  • Bug 798879 - RFE: [Transaction Report] add Running Total option
  • Bug 798885 - Accented character in folder name on Account Export (reopened)
  • Bug 798899 - Gnucash crashes during CSV import when using a template if the destination account is changed from one used in the template
  • Bug 798901 - Wrong value for very small prices from Finance::Quote.
  • Bug 798916 - Exchange rates fetched from openexchange off by factor of 10
  • Bug 798919 - Inconsistent signs in creating budget
  • Bug 798923 - OFX import is no longer matching security nor asking for stock account.
  • Bug 798930 - invoices won't sequence to the next number
  • Bug 798948 - XML file corrupted by saving twice in extremely short period
  • Bug 798952 - Unable to set day threshold or counters in properties.
  • Bug 798960 - Transaction completion horizontal scrolling opens without the new text being visible and remembers previous position/width
  • Bug 798966 - Uninitialised variable used in dialog-account-picker.c:dialog_response_cb()
  • The following fixes and improvements were not associated with bug reports:
  • The type-ahead selection of transaction descriptions has been substantially overhauled based on extensive user feedback. Matches are now only on the beginning of words and are now sorted by age since last use. This both substantially reduces the number of matches and prioritizes the most recently used as being the most likely candidates for re-use. To help distinguish cases of long descriptions where the match would be outside the popup's viewport the viewport is automatically scrolled horizontally so that the end of the left-most (right-most in rtl languages) matches is centered in the view. Completion can be aborted with the key or a new Don't autocomplete selection that's the first entry in the popup.
  • Fix lockup on Windows in type-ahead selection of transaction descriptions.
  • More budget-module sign fixes and improvements.
  • Lots of memory-leak fixes, GLib modernization, and code cleanup by Richard Cohen, Simon Arlott, & Chris Lam.
  • bugfix xaccTransGetTxnType: avoid returning TXN_TYPE_LINK incorrectly: A TXN_TYPE_PAYMENT will have non-APAR splits; a TXN_TYPE_LINK will not have non-APAR splits. This bug manifests as a regular TXN_TYPE_PAYMENT transaction being later voided being incorrectly changed to TXN_TYPE_LINK.
  • Including brokerage fees in Money Out calculation (if not ignoring them) in advanced-portfolio.scm report and updating the "advanced" tests to reflect selling fees being included into the money out value
  • [stock-txn-asst] Don't use the initial value in amount edit widgets unless they're valid. Otherwise the invalid value will log an error that will prevent later valid input from working.
  • BUGFIX: Actions > Online Actions > Show log Window does not open when it is first clicked.
  • cmake: check gdk only when building GUI
  • Get the tooltip working on "Online Banking Setup"
  • New and Updated Translations:
  • Chinese (Simplified), Chinese (Traditional), Croatian, English (Australia), English (New Zealand), English (United Kingdom), Estonian, French, German, Hungarian, Lithuanian, Marathi, Norwegian Bokmål, Polish, Portuguese, Romanian, Spanish, Swedish, Ukrainian

New in GnuCash 5.1 (May 2, 2023)

  • Between 5.0 and 5.1, the following bugfixes were accomplished:
  • Bug 765920 - Running balance not accurate when sorted different ways
  • Renamed option to "Account Balance" to avoid confusion with running total.
  • Added helper function to ensure running balance and balance forward are only shown when transaction are grouped by account and sorted as in register. In that case column heading remains "Running Balance" and balance forward is shown. Otherwwise column heading is renamed "Account Balance" and balance forward is not shown.
  • Also added missing code for Common Currency conversion.
  • Bug 797879 - [Transaction Report] running balance column not consistent with amount column for SAME transaction date
  • Bug 798461 - balance sheet shows positions with zero balances despite report options
  • Bug 798775 - Why is General Journal called "Register" in the tabs?
  • Bug 798802 - Online Price quote - Stocks not working GNU 5.0 Windows Bis
  • Bug 798802 - Online Price quote - Stocks not working GNU 5.0 Windows
  • Bug 798807 - Keyboard shortcuts not working
  • Bug 798808 - Saved reports shown on main menu
  • Bug 798810 - Income Statement (multicolumn) - account sorting is 'reversed' each time you restart.
  • Bug 798812 - crashes after I open a customer report and select…
  • Bug 798813 - Under File->Import, Missing OFX/QFX menu item
  • Bug 798815 - flatpak run --command=gnucash-cli cannot download quotes since 5.0.
  • Bug 798821 - Crash when running report in window
  • Bug 798834 - CSS-based Stylesheet Help Button not working
  • Bug 798839 - Edit -> Preferences string not translatable
  • Bug 798844 - "Assign as Payment" does nothing in 4.14 & 5.0
  • Bug 798845 - User Config and User Data link broken
  • Bug 798851 - Account Balance 'include subaccounts' not saved
  • Bug 798854 - Softkey 'Save Config' remains dark
  • Bug 798862 - Merge identical strings
  • Bug 798863 - Crash on clicking Settings button second time
  • Bug 798864 - Budget Reporting on select reports are wrong
  • Bug 798869 - Transaction Import MAP
  • Bug 798872 - Reload inoperative for reports
  • Bug 798877 - Program crashes upon selection of CSV profile
  • Bug 798885 - Accented character in folder name on Account Export
  • Bug 798886 - [Transaction Report] Subtotal upper headings do not follow font style of lower headings
  • Bug 798893 - several menu tip messages in reports are marked translatable but unused.
  • Bug 798894 - TOTD with ellipsis broken.
  • The following fixes and improvements were not associated with bug reports:
  • Add filters to the File>Open dialog in File mode to show only files with GnuCash extensions, only those matching GnuCash's backup file pattern, or any extension.
  • Select the first result in the Customer/Vendor search box. This allows faster keyboard navigation -- Find Customer, input search string, press ENTER, use up/down to select desired object, press ENTER to open object.
  • Improve foreign currency handling in budget report
  • Improve handling of the blank transaction when the register is sorted in reverse:
  • Change the preference option 'Future transactions after blank transaction'
  • Change tooltip for 'Blank Transaction' in register to mention moving to the blank transaction.
  • Show the blank transaction at top of register
  • Prevent infinite recursion from gnucash_item_edit_focus_out when using an input method.
  • Create obsolete features list with first member book_currency.Obsolete features set in the book will be removed from the book's KVP and ignored.
  • Restore existence, but not implementation, of GNC_FEATURE_BOOK_CURRENCY.
  • At least one user has managed to get it set on their book so even though it was supposed to be unimplemented it got through somehow. Restoring it allows books with it set to load.
  • Offer to force edit non-identical fields when multiple matches are selected in the import matcher window. Previously only identical Desc/Notes/Memo were unlocked for editing.
  • Guard against there being no namespaces in the new security dialog
  • Fix Finance::Quote use on Win32 by dealing with Win32 rn newlines on return from finance-quote-wrapper.
  • Fix some menu labels that were not marked for translation
  • Fix category in CSV export with simple layout.
  • If Trading accounts is enabled, and the transaction is a transfer between two accounts of differing commodities, the CSV simple-layout export would incorrectly show "--Split Transaction--" as the category.
  • When configuring Guile use pkg-config before searching for binaries.
  • New and Updated Translations:
  • Chinese (Simplified), Croatian, English (Australia), English (New Zealand), English (United Kingdom), Estonian, French, German, Hindi, Hungarian, Japanese, Portuguese, Slovak, Spanish, Swedish, Turkish, Ukrainian

New in GnuCash 5.0 (Mar 27, 2023)

  • New Features:
  • A new Stock Transaction Assistant to guide you through entering most investment transactions for stocks, bonds, and mutual funds. You can access it from Actions>Stock Assistant when the focus tab is the Accounts page or a Stock or Fund account register.
  • A new Investment Lots report showing a graph of capital gains and losses in a period by investment lot. Note that if you don't use the View Lots dialog to manage capital gains and losses this report won't have anything to show you. Use Reports>Assets & Liabilities>Investment Lots to see the report.
  • The Online Quotes facility has been completely rewritten and the old gnc-fq-check, gnc-fq-dump, and gnc-fq-helper programs have been replaced with finance-quote-wrapper. The functions performed by those programs may now be accomplished by passing commands to gnucash-cli -Q, see gnucash-cli --help for specifics. The perl module requirements have changed with the rewrite: The new version doesn't need Date::Manip but needs JSON::Parse instead. gnc-fq-update has been, er, updated to reflect that.
  • A new tab on the New/Edit Account dialog called More Properties includes entries to set a high and low limit on an account. That's coupled to a new column that's available on the Accounts Page, Balance Limit. If you set a high or low limit and the account balance falls above or below the respective limit an indicator will be shown in the Balance Limit column.
  • The description field quickfill in the register now displays a drop-down list of possible completions instead of just one inline completion.
  • File import menu items for the MT940, MT942, and DTAUS formats is replaced with a single Import from AQBanking that supports importing any file format supported by AQBanking, including the frequently requested CAMT. (Note that some CAMT profiles are under the XML format.)
  • The import matcher now permits editing descriptions, notes, and memo fields in the matcher window before creating the transactions. Right-click and select from the context menu.
  • The report generated by the Print Invoice button on the Edit Invoice tab can now be configured as a book option at the bottom of the Business tab; this permits selecting a saved configuration of one of the standard invoice reports. Another option enables a delay, during which a dialog box will appear enabling the user to select a different report. Note: When saving a configuration make sure that the invoice number is not set or you'll get that particular invoice instead of the one that you pressed the button for.
  • Significant Code Changes:
  • Deprecations (will be removed in GnuCash 6.0):
  • _ (the alias for gettext. Use G_ instead
  • gnc:make-account-list-limited-option
  • gnc:make-account-list-option
  • gnc:make-account-sel-limited-option
  • gnc:make-account-sel-option
  • gnc:make-budget-option
  • gnc:make-color-option
  • gnc:make-commodity-option
  • gnc:make-complex-boolean-option
  • gnc:make-counter-format-option
  • gnc:make-counter-option
  • gnc:make-currency-option
  • gnc:make-date-format-option
  • gnc:make-font-option
  • gnc:make-internal-option
  • gnc:make-invoice-option
  • gnc:make-list-option
  • gnc:make-multichoice-callback-option
  • gnc:make-multichoice-option
  • gnc:make-number-plot-size-option
  • gnc:make-number-range-option
  • gnc:make-owner-option
  • gnc:make-pixmap-option
  • gnc:make-query-option
  • gnc:make-radiobutton-option
  • gnc:make-simple-boolean-option
  • gnc:make-string-option
  • gnc:make-taxtable-option
  • gnc:make-text-option
  • gnc:option-set-default-value
  • gnc:option-set-value
  • gnc:option-setter
  • gnc:option-value
  • gnc:register-option
  • The invoice option to gnc:register-report-create-internal
  • Report and Book Options:
  • This major change will affect everyone who has written custom reports in Guile Scheme.
  • The report and book options code has been completely rewritten in C++ with SWIG providing Guile Scheme access for reports. The new design requires directly registering options with for example gnc-optiondb-register-string-option instead of calling gnc:make-string-option to create an option followed by gnc:register-option to insert it in the report's options.
  • Value access is also changed: Instead of retrieving an option and then querying or setting its value with gnc:option-value one will query the optiondb with gnc-option-value, the arguments to which are the optiondb, the section, and the option name.
  • Supporting the new options backend the options dialog code in gnc-dialog-options, gnc-business-options, and the new gnc-option-gtk-ui have also been rewritten in C++.
  • Online Price Retrieval:
  • As noted under New Features the interface to Finance::Quote has been completely rewritten in C++ with much of the behavior previously coded in external perl scripts moved into GnuCash proper. This permits much better access to Finance::Quotes's facilities and in particular should provide much richer error reporting.
  • Stability Improvements:
  • There are hundreds of small changes to prevent memory leaks, reduce unnecessary memory allocations, and fix compiler and static analyzer warnings.
  • Use of deprecated API in C/C++ is now an error (with 3 exceptions), including for the minimum required version of GLib and Gtk.
  • Extensive changes to the CSV importer, resolving most known bugs.
  • Remove all unused variables and made an unused variable a compile error.
  • Move all extern "C" declarations into the respective header files and remove extern "C" wrappers around #include statements.
  • Separate the scheme financial functions into a separate module so that all other scheme code can be banished from libgnucash to bindings.
  • Modernization:
  • The menus and toolbars now use the GAction and GActionGroup actuation functions, replacing the deprecated GtkAction and GtkActionGroup APIs.
  • The experimental Register2 implementation is removed, as is the never-used Jalali calendar code and partly-written option code for creating a book currency.
  • New and Updated Translations:
  • Chinese (Simplified), Croatian, Czech, English (Australia), English (New Zealand), English (United Kingdom), Hungarian, Japanese, Macedonian, Polish, Portuguese, Portuguese (Brazil), Russian, Spanish, Swedish, Ukrainian

New in GnuCash 4.13 (Dec 19, 2022)

  • Between 4.12 and 4.13, the following bugfixes were accomplished:
  • Bug 760274 - The Statusbar "forgets" when register doesn't have focus
  • Bug 798545 - Crash when updating document link on vendor bill
  • Bug 798614 - Croatia to join the Euro
  • Bug 798629 - gnucash crashes attempting to import OFX file
  • Bug 798633 - 4.12 build failure on 32-bit Linux: "No code for module"
  • Bug 798640 - Segfault when running saved report
  • Bug 798649 - Crash when closing Edit Style Sheets dialog while Style Sheet Properties dialog is still open.
  • Bug 798653 - Schedule Calendar event description pop up window does not track mouse position
  • Bug 798657 - Import Summary language is wrong
  • Bug 798664 - Result of 'gnucash --nofile' is marked dirty
  • Bug 798669 - Multicolumn Balance Sheet not printing exchange rates
  • include equity accounts in the exchange rate commodities list.
  • Bug 798672 - Preferences are not saved nor loaded, ERROR g_settings_new_full: assertion 'schema != NULL' failed
  • Bug 798680 - Not able to match a reverse transaction of a previously matched transaction.
  • Bug 798681 - Previously imported investment income transactions may not be filtered.
  • Bug 798694 - Cursor in the wrong place after pasting with auto-completion
  • The following fixes and improvements were not associated with bug reports:
  • Don't normalize text when pasting from the clipboard or appending descriptions or notes during imports.
  • [register] Delay post-ime reset of the selection to works around bug 798587.
  • [ofx import] Clean up importing investment transactions for smoother workflow and better UI behavior.
  • [account-piecharts] drill-down piechart: tree-depth is at most 6
  • Fix numerous memory leaks.
  • [ifrs-report] From Bug 798004 allow Cr cash to offset Dr fee and remove invalid "dividend reinvestment" during short.
  • [gtest-qofevent.cpp] Add comprehensive tests for qofevent
  • [test-qofbook] Test that gnc_features_test_unknown returns a suitable error message
  • [test-qofbook.c] add test for gnc_features_set_unused
  • [gnc-features.cpp] backport gnc_features_set_unused from master
  • [qofbook.cpp] backport qof_book_unset_feature from master
  • Move gnc-euro.[ch] to engine and unit test it.
  • [test-qofbook] basic features test: Sets a feature and tests it's set. it's impossible to design a book with unknown features using the API.
  • po/README: Remove relics from ancient context forms
  • [test-ifrs-cost-basis] amend tests to accommodate extra column.
  • [ifrs-cost-basis] compare register vs calculated capgain per transaction.
  • Accomodate WebKit package version update to webkit2gtk-4.1.
  • [assistant-stock-transaction] input positive capgains for Credit income account.
  • Deprecations:
  • qof_book_get_features

New in GnuCash 4.12 (Sep 26, 2022)

  • Bug 794584 - Register not updated when scheduled transactions created
  • Bug 798262 - Scheduled transactions with blank amounts do not get created.
  • Bug 798385 - Description to often only "Landesbank Hessen-Thuringen Girozentrale"
  • Prepend the Ulitimate Creditor or Ultimate Debtor to the transaction description.
  • Bug 798565 - Import map editor: deletion of a map does not mark gnucash document as dirty
  • Bug 798573 - Tab Width Behaviour
  • Formerly when the notebook tabs on the left or right, the space used fluctuated depending on tab label width. This change sets the label width to the preference setting when the tabs are on the left or right but when top or bottom the width is set to the number of characters when shorter than the preference setting so they take up less room.
  • Bug 798578 - MT940 imports broken - all transactions have date of first transaction
  • Bug 798585 - segfault running sample script
  • simple_business_create.py.
  • Bug 798588 - sx scrubbing was using incorrect free function
  • Bug 798590 - Transaction report: wrong type argument in position 1
  • Bug 798598 - Selecting a line in a Vendor Credit Note changes display of Subtotal cell to 0.00
  • Bug 798611 - Date changing when changing timezone by one hour
  • When getting a date from the date editor anywhere in the program set the time to neutral time instead of the beginning of the day unless get_date_internal is called with GNC_DATE_EDIT_SHOW_TIME in which case the user-provided time is used.
  • Bug 798616 - Can't register amount greater than 9,000,000,000
  • Because when loading the value the split in the xml backend doesn't yet have a parent so the code tried to convert to GNC_COMMODITY_MAX_FRACTION and if the numerator was larger than 10^10 that would overflow. To fix it this changes the "don't know" response in get_currency_denom and get_commodity_denom to GNC_DENOM_AUTO which will normally leave the denominator alone.
  • The following fixes and improvements were not associated with bug reports:
  • It is now possible to edit the description, notes, and memo fields of new transactions in the import matcher and to do so for multiple transactions. The option is accessed via a context menu on selected import lines.
  • Show GnuCash's installation and configuration configuration paths in the About dialog. List the same from the command line with a --paths option.
  • Add account hierarchy templates for locale es_AR
  • Continued work on the Stock Transaction Assistant. If you want to try out this new way of recording your investment transactions start GnuCash with the --extra option. The stock assistant is available on the toolbar and from the Actions menu when a register for a STOCK or FUND account is focused.
  • Replace the very obsolete ghelp: URI scheme with help: and install the documentation according to the XDG documentation spec on non-Mac Linux systems. This ensures that the Help menu documentation items work with Gnome 42 and later.
  • Conforming to the XDG documentation spec, rename the root page of the Help manual to index from help. This has the happy side effect of removing some special-case code from the macOS documentation links.
  • Standardize the top-level Equity and Assets account names in the French templates to "Capitaux propres" and "Actif" respectively.
  • [gnc-ab-utils] concise string accumulator
  • [gnc-glib-utils] gnc_g_list_stringjoin skips NULL data
  • [ifrs-cost-basis] identify sale/purchase according to truth table instead of via flawed heuristics
  • [ifrs-cost-basis] add options used as a report footer
  • [lot-viewer] Show Open & Close dates only when they have a value.
  • Fix use-after-free crash in gnc_set_busy_cursor.
  • Create Swiss SMB account chart acctchrt_pme-19.gnucash-xea.
  • [date-utilities] avoid report crash if start > end date
  • [html-chart] add percent formatter for numbers for older javascript.
  • [trial-balance] set default price-source to average-cost to minimise complaints (see Bug 798550)
  • Use macos-latest github runner for mac tests.
  • [dialog-price] Price Database: Insert help buttons
  • Disable transaction type (i.e. Bill or Invoice) in Invoice/Bill Registers, determining the type by inspecting the money flow.
  • Fix python tests dependencies so that ninja check works from a clean build directory with Python enabled.
  • Review of account templates C—missing placeholders, redundancies
  • Fixed a variety of memory leak, poor list handling, and dangling reference errors.
  • New API:
  • gnc_tm_get_today_neutral to complement gnc_tm_get_today_begin and gnc_tm_get_today_end.
  • gnc_get_dialog_widget_from_id
  • gnc_list_all_paths
  • New and Updated Translations:
  • Basque, Chinese (Simplified), Croatian, Dutch, English (Australia), English (New Zealand), English (United Kingdom), French, German, Hebrew, Hungarian, Indonesian, Italian, Korean, Marathi, Polish, Portuguese, Portuguese (Brazil), Russian, Swedish, Ukrainian
  • Documentation:
  • Concurrent with the release of GnuCash 4.12 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
  • The following fixes and improvements were not associated with bug reports:
  • Major revision of the Online Quote Retrieval (Finance::Quote) section.
  • Enumerate figure files in CMakeLists so that invalid references will error out at build time and fail CI.
  • Install according to the XDG document spec instead of the very obsolete GHelp scheme.
  • Manual C: adjust image width
  • Improve GPL link
  • Simplify ulink tags
  • Create several new DocBook entities.
  • manual: remove superfluous "Help_" from file names
  • Add option to enable/disable html install rules
  • It's only used on MacOS and interferes with the linux distribution builds. The option is enabled by default on MacOS and disabled on other platforms.
  • Manual: Minor structural cleanup of GUIMenus (C, de)
  • gnc-dobookx.dtd: Mention predefined entities
  • Return doc crosslink to draft.

New in GnuCash 4.11 (Jun 27, 2022)

  • Between 4.10 and 4.11, the following bugfixes were accomplished:
  • Bug 797163 - qof_book_get_option segfaults when retrieving a non-leaf frame
  • Bug 798053 - Accounts renumeration (renumbering)
  • Bug 798471 - Can't see or select Income or Expense accounts in Income Tax Information GUI
  • Bug 798483 - GnuCash Crashing With SIGSEGV During QFX Import Transaction Matching
  • Bug 798491 - MT940 of day 28.02.2022 ends in transactiondate 01.01.1970
  • Bug 798493 - Invoice Report Quantity & Unit Price fields have limited decimal precision on printed invoices
  • Bug 798496 - gncEntry Quantity and Discount are misusing commodity scu
  • Bug 798499 - Expense Chart data tables include extra columns of data
  • Bug 798500 - FTBFS (tests failure) on armhf
  • Bug 798501 - Balance wrong date end of period
  • Bug 798531 - Selecting "Print" from the file menu on a report crashes gnucash
  • Bug 798533 - Crash when importing quicken @ currency
  • Bug 798535 - Crash when increasing the number of periods in a budget
  • Bug 798547 - Calculated Due Date is short 1 day when posting on day of fall change from Daylight Time to Standard Time.
  • The following fixes and improvements were not associated with bug reports:
  • Partially fix Bug 771095 by inserting a help button in the Since-Last-Run dialog.
  • Lock down GITHUB_TOKEN permissions on workflows.
  • [g_option_context_get_help() returns a char* which must be freed.
  • [assistant-stock-transaction] dividends must include stock account.
  • Fix arch linux CI build failures.
  • Add a help button to the financial calculator dialog.
  • [assistant-stock-transaction] avoid resetting txn_types unnecessarily.
  • [assistant-stock-transaction] reorder of Pages - date before type.
  • [import matcher] Only append description if there's something to append to.
  • Otherwise just set the new string.
  • [balsheet-pnl] test "lvl

New in GnuCash 4.10 (Mar 28, 2022)

  • Between 4.9 and 4.10, the following bugfixes were accomplished:
  • Bug 684507 - commodity namespace should be localized
  • Bug 741674 - Newly created Scheduled Transactions appear in existing search windows
  • Bug 797501 - Currency symbols in Hebrew (RTL) language
  • Bug 797772 - Allow reconciliation report to double filter by both posting and reconciliation date
  • Bug 798164 - Import transaction window does not allow changing the transaction description.
  • Bug 798272 - up/down arrow keys do not work in account selection pop-up
  • Bug 798375 - Transfer Account Selection not editable after typing error
  • Bug 798386 - Cannot increment date by 1 day with Japanese keyboard.Allow ';' to increment the date because on those keyboards + is shift-;.
  • Bug 798391 -OFX import routine keeps prompting for accepted (and reconciled) transactions when imported again
  • Bug 797610 - Scrolling is too fast to follow
  • Bug 798392 - Reports do not display when Reports JavaScript dependencies are located at a filepath that includes special characters like hash ("#")
  • Bug 798395 - ofxdirectconnect downloads crash gnucash 4.9
  • Bug 798408 - The calculation in budgets UI and reports are wrong.
  • Bug 798411 - Untranslated/Unused string [pt only]
  • Bug 798415 - Due Bills Reminder Dialog - Right align 'amount'This was a right-to-left language (e.g. Hebrew) problem.
  • Bug 798435 - Crash on print after printing checks
  • Bug 798438 - on reconcile window, click on the last column 'R' does not order the entries according with the status
  • Bug 798448 - Column 'num' cannot be null
  • Bug 798458 - Build failure with gcc 12
  • Bug 798474 - Windows 10: Mouse scroll wheel on register only scrolls 1 pixel at a time (instead of 1 line at a time)
  • The following fixes and improvements were not associated with bug reports:
  • Added a BETA Stock Transaction Assistant to help create a variety of securities transactions. To try it out start GnuCash with the --extra option, open a stock-type register, and select Actions>Stock Assistant. Please note any issues on Bug 798004.
  • Remove the hard-coded default namespaces"AMEX", "NASDAQ", "NYSE", "EUREX", and "FUND" from the New Security dialog. These namespaces were added to the list of existing namespaces; it was necessary to create a commodity that used one of them to make that one an actual namespace, so users who have commodities in e.g. the namespace NYSE will still see that namespace in the selection list. Reasoning: The list was necessarily incomplete and confused new users.
  • Fixed the Income Statement report table formating so that all sections get laid out to the same width.
  • [Python Bindings]Implement some comparison and arithmetic operators for GncNumeric
  • Budgets are sensitive to readonly status
  • Disable some budget features if book is readonly
  • Fix suppression of "cut split/transaction" warnings for the current session
  • These were not working because they were missing from the temporary warnings settings schema. The warnings could only be dismissed permanently. Add them to the temporary warnings section of the settings schema.
  • Currencies in several locations not displayed correctly for Hebrew
  • [category-barchart] Added option to show ratios
  • [html-chart] Add format style option for numbers
  • Better wording for tax table changed info message.
  • [register] Checkbox any value other than 0x20 (ASCII space) is true, because it can be X or U+2716 now and could be something else in future. Fixes in particular the disappearing tax-included and tax-table in the Invoice/Bill entry register.
  • [Python Bindings]Provide the complete set of QOF enums in gnucash
  • [Pyton Bindings]Provide wrapper for qof numeric predicate
  • Python bindings already have some wrapping objects for qof predicates. This adds the one missing for GncNumeric comparisons. Additionally fixes a wrong number for QOF_NUMERIC_MATCH_ANY in example file.
  • Remove commodity-table.scm, no longer required after adjusting qif-dialog-utils
  • Preferences, Import: UPDATE AND RECONCILE should be UPDATE AND CLEAR on preference "Enable update match action" tooltip text.
  • [register] Enable horizontal scrolling with a touchpad.
  • [business]Add diagnostic messages to GncEntry and GncInvoice.
  • Replace code style guidance with reference to the wiki Coding Standard page.
  • Update Form/Schedule line references for 2021 for the US Income Tax Report
  • Update the register help label when cell read only
  • Change AR/AP Type cell to be read only. The Type cell in AR/AP registers should not be changeable from the register so make the cell read only.
  • Tip-of-the-Day, new tip: the full file path is shown in the status bar.
  • [assistant-qif-import] Prevent ambiguous mnemonic
  • Mnemonic N clashes with GtkAssistant "Next". Change to D which does not clash.
  • Numerous performance and code-clarity improvements.
  • New and Updated Translations: Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Dutch, Finnish, French, German, Greek, Hebrew, Hungarian, Italian, Norwegian Bokmål, Portuguese, Portuguese (Brazil), Romanian, Slovak, Spanish, Spanish (Nicaragua), Swedish, Turkish, Ukrainian

New in GnuCash 4.9 (Dec 20, 2021)

  • Between 4.8 and 4.9, the following bugfixes were accomplished:
  • Bug 797502 - (RTL) - Right edge of the reports are locked while scrolling down
  • Running gnucash in Hebrew, the right edge of the reports are locked while scrolling down and do not scroll with the rest of the report.
  • Bug 797618 - Spanish translation of Shares and Stock
  • Bug 797678 - OFX importer should supplement, not replace, existing Notes (and Description and Memo) fields
  • Add an "Append" checkbox to the bottom of the "Generic import transaction matcher" window to the left of the "Reconcile after match" checkbox. When ticked, this causes the imported Description/Notes to be appended to the matched transaction Description/Notes respectively. The selected ticked/unticked state of the "Append" checkbox is saved in a key value pair for the import account, so the next import for that account will automatically default it to the saved state. As these mods are limited to the code for the matcher window, this should work for all the imports that use it - ie ofx & csv file imports (both tested) & aqbanking (cannot test).
  • Bug 797772 - Allow reconciliation report to double filter by both posting and reconciliation date
  • Bug 798222 - Account search dialog: Pushing enter does nothing
  • Bug 798266 - Dropdown picker menu for category does not appear
  • Bug 798313 - "File/Import/Import Transactions From CSV" crashes Gnucash.
  • Bug 798320 - Error message indicating a crash of GNUcash when closing application - MacOS 10.15.7 (19H1419)
  • Bug 798325 - New Currency for Venezuela (VED)
  • Bug 798327 - Ofx import stops too early for multi-account OFX and one account has no new transactions
  • Bug 798335 - No longer possible to change trading account
  • Strip trading splits only if "Use Trading Accounts" is enabled for the book so that users who want to manage trading accounts by hand may do so.
  • Bug 798341 - Right align in Hebrew - Account screen
  • Bug 798346 - crashes when running check & repair
  • Bug 798352 - Decimal Precision when Entering Mutual Fund Transaction
  • Let xaccParseAmount parse up to 12 decimal places instead of 8.
  • Bug 798382 - Typo corrections in comments
  • The following fixes and improvements were not associated with bug reports:
  • More memory leak plugging and GList efficiency improvements.
  • Fix build with cmake older than 3.18
  • 3.18 introduced 'cmake -E cat', but we still have to support versions starting from 3.14.
  • [account-piecharts] don't use gnc:make-internal-option
  • Several improvements to the experimental IFRS cost-basis report.
  • Fix two minor issues with displaying links in the Document Link dialog.
  • Fix obsolete links to bugzilla.gnome.org in translations.
  • L18N: Fix glossary/es.po:906: duplicate message definition...
  • 901: ...this is the location of the first definition
  • [budget-flow] delay creating exchange-fn until a valid budget exists
  • because it needs budget period end-date.
  • [options.scm] Addon previous commit... need to initialize with guid
  • [options.scm] gnc:make-budget-option stores guid instead of object
  • because object may become stale if UI is used to delete it, leading to stale pointer and segfault. storing guid is safer, and will return null if budget is deleted.
  • support SEPA internal transfer
  • Fix issue with failure to run reconciliation with all accounts present in a multi-account OFX file. Do that by saving a GList of statements, rather than a pointer to a single one. Also freeing of info happens during the call to process_next_file.
  • Import of OFX files with many securities opens too many matching dialogs Because ofx import is currently split per target account, and since each security has its own accounts, importing such OFX is a tedious process. The fix is to only split the transactions if we identify a potential transfer, currently based on amount, date and accounts. To do that, we insert transactions one by one into a list, making sure we have not already inserted one that has the same date, and the same absolute amount. If we have, we keep this potential transfer for a second phase. A naive approach would loop through added transactions for each new transaction by that ends up being O(N^2), which matters if we have many transactions. Instead, I'm using a hash to make this O(N log N).
  • [date-utilities.scm] remove unused date selectors code & string
  • Adjust GNC_DEFINE_TYPE_EXTENDED_END
  • To match new signature of g_once_init_enter and g_once_init_leave.
  • Fix build with glib2 2.67.x.
  • glib headers should not be included with 'extern "C"'.
  • Add explanatory note for gnc_add_scheme_deprecated_module test code
  • The immediate parent commit removes old deprecated scheme modules. Link to the old modules for example code.
  • [test-engine-extras] don't create splits of opposing amt/value signs
  • Splits' value and amount should never be of opposite signs. Fix test book which had created this incorrect value/amount pair. Strengthen env-create-multisplit-transaction to disallow test book errors.
  • [dialog-search] another QofQuery "q" must be destroyed
  • because qof_query_merge creates a newly allocated QofQuery, its 2 QofQuery must be freed separately.
  • [trep-engine] new option "Date Filter" to specify dates to filter by
  • [dialog-sx-since-last-run] don't allocate repeatedly to combine strings
  • [test-transaction] "Report Currency" renamed to "Report's currency"
  • Separate the warnings for "cut split/transaction" and "delete split/transaction"
  • [gnc-autoclear] Move autoclear algorithm into gnome-utils
  • GSettings - fix GObject warning when old prefs-version is unset
  • This will happen when current master (future 5.0) has been run at least once.
  • [utest-gnc-pricedb] add tests for gnc_price_list_equal
  • Also need to change PWARN which causes test failure, to PINFO
  • [reconcile-view][bug] dr/cr query tests amount instead of value
  • Because split->amount and split->value are generally of equal sign, EXCEPT in stock transactions whereby split->value can be zero and split->amount is non-zero. e.g. a stock split transaction. Querying the split amount instead will allow stock accounts with stock splits to be reconciled.
  • [split-register-model.c] Hide price==1 for zero-amount splits
  • mainly of interest in zero-amount zero-value splits in the stock register eg dividend splits.
  • [core-utils] introduce gnc:format
  • (gnc:format str [binding value]...) str will contain ${binding} which will be replaced to value.
  • [import-main-matcher] show destination acct for auto-match
  • GSettings - add 'deprecate' and 'obsolete' conversions for user preferences
  • 'deprecate' is technically a noop. It serves to remind maintainers the 'deprecated' preference is to be obsoleted in the next major release. 'obsolete' goes one step further in that it will cause gnucash to reset the preference, effectively clearing the value stored in the preferences backend. This is the final phase of a preference. Following this it will be completely removed from the GSettings schema in the next major release. Notes * 'deprecate' and 'migrate' are related. Both are a reminder the preference is to be obsoleted in the next major release. 'deprecate' does only that though while 'migrate' will also trigger a copy of the old value to a new location in the databse. * This commit readds a couple of preferences that had been removed in the past to be able to properly obsolete them (and to test the obsoleting code)

New in GnuCash 4.8 (Sep 30, 2021)

  • Bugfixes:
  • [gsettings] Avoid crash from settings schema not being registered.
  • Rethink how gsettings migration file is constructed
  • GSettings hotfix - resolve crash due to bad schema reference
  • [gnc-plugin-page-register] call invoice editor with parent window
  • [assistant-stock-split] set parent window properly

New in GnuCash 4.7 (Sep 28, 2021)

  • Bugfixes:
  • Bug 87847 - RFE: Create a 'checkbox' cell type
  • Bug 766052 - Job report payments wrong when payment contains splits
  • Bug 797596 - New-owner - improved representation of payments with multiple non-APAR splits
  • Bug 798142 - Tax rate appears as a fraction
  • Bug 798180 - Update to macOS Big Sur 11.3 breaks Finance Quote
  • Bug 798205 - Some transactions dropped with no apparent cause or warnings for credit card ofx import
  • Do not exclude from import a transaction that has an FITID which matches an already existing split. This is because it (1) may be a coincidence and therefore the transaction needs to be added or (2) could be on a transfer from the account being imported to another bank account which has already been imported, and so needs to be matched, not added.
  • Bug 798208 - management fee transactions are ignored on OFX import
  • Bug 798211 - Equity statement double calculates unrealized gain
  • Bug 798219 - apply/OK truncates exchange rates from 4 to 2 decimal places; enter doesn't
  • Bug 798221 - Transfer funds between accounts with different currencies crashes Gnucash on macOS
  • Bug 798224 - Scheduled transactions are created with date-entered copied from the template transaction.
  • Bug 798229 - GncDate::c_formats is being created and destroyed twice resulting in a double free crash on every exit.
  • Bug 798234 - Cut Transaction discards the reference to the description/memo strings so that Paste Transaction will paste uninitialised data (or other strings)
  • Bug 798235 - Reconciliation Ending Balance not recalculated the 2nd and subsequent times Statement Date is updated.
  • Bug 798237 - Logging during XML file loading degrades performance significantly
  • Bug 798238 - "New security" dialog doesn't save the "Display symbol"
  • Bug 798250 - Gnucash permanent hang on save while loading report
  • Bug 798256 - Crash in recnFinishCB
  • Bug 798298 - Re-imported transactions no longer ignored
  • Bug 798303 - account list is sorted wrong by amount
  • Bug 798312 - Opening the help for dialogues in the wrong language.
  • The following fixes and improvements were not associated with bug reports:
  • Lots of memory-leaks plugged
  • Change the preferences path to org.gnucash.GnuCash to comply with flatpak requirements and migrate existing preferences to the new paths. This won't provide for automatic sync between a system-installed GnuCash and a flatpak one unless the system-installed one is GnuCash 4.7 or later. Please see the Wiki for more information and a procedure to convert your existing preferences.
  • Cleanup - minimal glib=2.56.1 - drop all conditionals on older versions
  • Add code to handle ofx files that include transfers between accounts
  • During transaction import, ignore splits whose account is not the destination account
  • Do not drop a potential match just because it has an online_id.
  • Now that we don't exclude from import a transaction with an FITID that matches an already existing transaction, if one accidentally re-imports a transaction, this allows it to be automatically matched against the previously imported transaction.
  • Add test for Transaction GetDate() in python bindings, pursuant to Bug 798284.
  • In find customer dialog, add a column for "Shipping Contact" parameter
  • Prep early splash screen messages for translation
  • Change text for SX preference option 'Review created transactions' to better align with existing SX text.
  • Fixed an XML backend problem where trying to open a locked file would clear the lock even if one didn't ask to, so the next attempt would find the file unlocked even if still open in another instance.
  • Fix 2 crashes in Generic Transaction Matcher
  • Handle very large denominators from Finance::Quote's OpenExchange source
  • Update file extension in man pages per mailing list post.
  • Fix missing mnemonic keys after changes to GNCAmountEdit
  • With the changes to GNCAmountEdit, the way the mnemonic keys are associated to the entry widget of the GNCAmountEdit needs to change so have created a function gnc_amount_edit_make_mnemeonic_target which does the same as GNCDateEdit.
  • Fix rounding in Stock Split Assistant to correct earlier commit that rounded the share price to that of the currency.
  • [Portfolio Reports] Allow share digits to 9 decimal places to match the maximum commodity fraction.
  • Changed some option names:
  • From "Show Accounts until level" to "Levels of Subaccounts"
  • From "Extra notes" to "Extra Notes"
  • from "Report title" to "Report Title"
  • From "Invoice number" to "Invoice Number" to ensure it matches all other invoice reports.

New in GnuCash 4.6 (Jun 28, 2021)

  • Between 4.5 and 4.6, the following bugfixes were accomplished:
  • Bug 648335 - Display Created Transactions setting
  • Add a preference for the 'Review Created Transactions' setting in the 'Since Last Run' dialog so that the default can be specified.
  • Bug 743753 - Nearest in time security price selection is incorrect in reports
  • Add new price source - 'nearest before report date' will ignore prices *after* report date.
  • Bug 743999 - Deleting a digit from an existing number greater than four digits in length generates an error message.
  • Because the grouping is off. Checking grouping on input is pointless so just ignore the grouping separator when parsing number input.
  • Bug 753283 - Current Selection Highlight Lost After Transaction Edit in Scheduled Transaction Window
  • Bug 787813 - Price change from editing a transaction not reflected in pricedb.
  • Bug 794877 - Intro text of "Online Banking Setup" is outdated
  • Bug 795804 - Extremely slow save
  • Only update the status bar when the percentage changes by at least 1% because running the mainloop is expensive on macOS and Microsoft Windows. This speeds up all operations that run the progress bar with overly-fine resolution.
  • Bug 796761 - Newline (char(10)) is inserted into the end of the string if copy & paste text from excel into the description field of transaction
  • Bug 797787 - Feature request: preference setting to open new tabs adjacent to currently active tab
  • tests preference; if enabled then new tab inserted after current. if disabled then new tab is at the end.
  • Bug 797928 - Since last run asks for security price when no shares traded
  • Bug 798093 - Changing the symbol/abbreviation of a security after the trading account was created breaks GnuCash.(Reopened)
  • Bug 798133 - Gnucash crash when any custom action is entered
  • Bug 798144 - Reconciliation uses different number than entered
  • If a number was pasted into the balance end value with a currency symbol the number would silently fail on evaluate and cause the wrong value to be used. With previous changes to the GNCAmountEdit widget a warning symbol will indicate a validation error and prevents going forward.
  • Bug 798148 - "Accounts" page Present (USD) column uses future prices
  • Bug 798151 - Value entry box not tied to associated transaction in Since Last Run assistant
  • Bug 798156 - glib 2.68.0 breaks gnucash
  • Bug 798159 - Keyboard shortcut bug in 'manage document link'
  • Bug 798162 - Type Ahead Initialization Problem
  • Bug 798170 - Unbound variable: gnc-budget-lookup when running saved report Budget Report via gnucash-cli
  • Bug 798177 - Price of new stock transactions not saved in price database
  • Bug 798186 - Incorrect result editting account in register when overtyping a part selection.
  • Bug 798188 - The Invoice Editor -> Printable Invoice toolbar button crashes on Windows
  • Bug 798196 - not building with Boost 1.76
  • Bug 798199 - Pasting invalid value in date column crashes GnuCash
  • Bug 798202 - Register input ignores theme on KDE rendering black text on black background
  • Bug 798203 - g_assert fault while reversing transaction
  • Bug 798204 - Creation of Imbalance Accounts
  • Bug 798212 - right-click the down-arrow in the date register changes focus to first split
  • The following fixes and improvements were not associated with bug reports:
  • Improve transaction sorting on effective num field so that alpha charachters and numbers larger than 1 billion will be ordered. Ordering is now numeric for leading numbers (so that 9 sorts before 10) and lexical beginning with the first non-numeric character. Note that if one of the values begins with an alpha character ordering will be entirely lexical. Lexical sorting is localized; as in the rest of GnuCash only standard ASCII numbers (codepoints U+0030 - U+0039) are treated as numbers.
  • Add import preferences for the difference in time considered when matching an existing transaction to an imported one. A difference less than the matching-date-threshold raises the score of the match; a difference greater than match-date-not-threshold lowers the score.
  • Add experimental report "IFRS weighted-average cost basis report". This is a work-in-progress to help calculate the cost basis of securities priced in a foreign currency.
  • [income-gst-statement] amend headers post Brexit. UK left EU, therefore VAT headers have now changed.
  • Plug a bunch of memory leaks.
  • Change how the print_info is obtained for the register: Currently the register sets up some 'print_info' values using the default account but if the register is a stock register they should be obtained from a parent account with a currency.
  • Change monetary value for gnc_default_share_print_info: Share values are not currencies so set the monetary value to 0 for the GNCPrintAmountInfo
  • Parse the register monetary cells for a currency symbol: Add the ability to strip the currency symbol from a registry monetary cell if it is pasted with one so it can be validated.
  • SKR-49 Account Template: Add codes 4500-4504, drop a duplicate, correct code 0674.
  • [gnc-plugin-page-register] Disable reverse on blank split
  • Make balancing transactions with trading accounts easier by removing and recalculating all trading splits. This ensures that there will be only one trading split pair per exchange and relieves the user of having to adjust the trading splits to match the accounting splits.
  • Don't bother scrubbing for orphans if there's no transaction currency. If it found one it would try to create an orphan account with no currency which will crash later.
  • [chartjs] upgrade chartjs to 2.9.4. Fixes CVE-2020-7746
  • [report-core] disallow define-report with incomplete export info. If exporting is allowed, 'export-types and 'export-thunk must both be defined.
  • [test-engine-extras] augment book data generators
  • ignore .vscode folder
  • Reorder and relabel price source list for better coherence
  • Python Bindings: Provide a deprecated GncPriceDB.lookup_latest_before_t64 to avoid breaking user scripts.
  • Update gnucash_core.py with gnc-pricedb function name change
  • Change some functions to use const gnc_commodity for gnc_pricedb
  • Reformat schedule transaction source files for white space
  • Add depreciation warnings for the removal of individual option tool tips
  • Remove individual tool tips from radio button options
  • Removes the function gnc_option_permissible_value_description
  • ESC key was not working on load of Scheduled Transaction Editor
  • [budget.scm] show correct tooltip for report option
  • [html-acct-table] Remove unused 'pre-adjusting balances option
  • Bugfix: export-code for category-barchart reports would fail.
  • This stems from trying to handle file-name when calling export code. Export code no longer require file-name, The export-code returns a string in the html-document object instead. Remove all file-name handling in reports. No backward compatibility issues because most users would not copy a GnuCash >=4.6 report code onto a

New in GnuCash 4.5 (Mar 29, 2021)

  • Between 4.4 and 4.5, the following bugfixes were accomplished:
  • Bug 783283 - Multi-Currency payments use wrong date
  • Also properly handles the user clicking the cancel button on the transfer dialog. It will now just return to the payment window, waiting for further user input.
  • Bug 797621 - GnuCash freezes temporarily and sometimes crashes when selecting Sales Tax Table in Invoices
  • Bug 797630 - Check for missing dependencies of 'Get Quotes' to avoid Gnucash crash.
  • Bug 797906 - GnuCash data file is locked after a "save-as" to mysql database.
  • It's more general, any save-as to a different backend type, i.e. xml->sql or sql->xml, left the previous book locked.
  • Bug 797924 - Crash when searching for customer to process payment.
  • Bug 797997 - File gnucash could note be found
  • On Microsoft Windows when run from a CMD shell and passing a path that contains non-ASCII characters.
  • Bug 798019 - Currency rates in OFX file are ignored
  • Use currency_rate information from OFX file if available. Requires LibOFX v 0.10.0 or later.
  • Bug 798044 - Adding splits to a lot is extremely slow
  • Bug 798060 - Invoices are missing on Customer report after upgrade
  • Bug 798070 - Opening balance does not update when creating account from Account Hierarchy
  • Bug 798078 - Report 'Income Chart' prints stacktrace when end date before start date
  • Bug 798085 - Incorrect transactions import of entires with large number amount
  • Quicken 2005 introduces U amount which sometimes differs from T amount. U amount has larger range, and must override T amount whenever they're not equal.
  • Bug 798093 - Changing the symbol/abbreviation of a security after the trading account was created breaks GnuCash.
  • Makes it possible for the user to rename trading accounts or securities independent of each other.
  • Bug 798096 - can't duplicate TX previous to red line threshold
  • Bug 798098 - Crash popup show when have 3 Windows in OSX
  • Bug 798100 - Equity totals calculating incorrectly
  • Prevents creation of non-currency opening balance accounts.
  • Bug 798101 - Do not #undef __STRICT_ANSI__
  • Remove defines and undefines for Windows, they were needed with MinGW classic but are not with MinGW-w64.
  • Bug 798104 - Menu item for "Import Account" is wrong in danish
  • Bug 798112 - An error occurred while processing mysql ...
  • A "Feature" of MYSQL is that it allows C-style backslash escapes in string constants and replaces them with the actual character (e.g. n is converted to 0x0a). This causes round trip problems if the escape is one of the allowed ones and a MYSQL error if it isn't. Disable the feature so that MYSQL follows the SQL standard.
  • Bug 798132 - Invoice Importing crashes when importing low quantity values.
  • Bug 798135 - GtkEntry text with search list: shows selected entry again for no reason
  • Bug 798147 - Notes entry crashes program
  • Bug 798149 - CSV transaction Import setting loses account name if it is changed after setting is memorized
  • Account guid is saved as well as the full account name and when recalled the account is looked up first by guid, if this fails the full account name is checked which if successful immediately updates the saved base account setting with the account guid for future use. If unsuccessful the account combo is blank with a error message as before. When save CSV settings button is used, both the Guid and full paths are saved so previous versions can still use the full path as before.
  • Bug 798150 - Error on report over time
  • Caused by incorrect handling of Daylight Savings beginning at midnight.
  • Bug 798154 - Tooltips wrong when multiple charts in one report
  • The following fixes and improvements were not associated with bug reports:
  • Fix building based on unix makefiles
  • Make the chart on the report page icon larger to align better with the account page icon.
  • Allow the context menu when GncCellRendererTextView is in edit mode.
  • Restructure early locale initialization
  • Move macOS specific bits to its own source file. As this is objective-c use .mm extension
  • Use common function signature for macOS and Windows init function and include via common header file
  • Fix GncDateTime::format_zulu to emit the UTC timezone instead of the GncDateTime's timezone with the UTC timestamp.
  • Fix the implementations of gnc_foo_get_day_neutral. As implemented these returned 10:59 AM local on the day but neutral time is 10:59 UTC.
  • gnc_invoice_window_print_invoice return NULL if invoice is NULL.
  • [dialog-invoice] invoice editor reuses invoice report tab.
  • Allow for Header Bar use in CSV transaction Assistant
  • There are a couple of action buttons that are added to the CSV transaction assistant with added alignment based on the action area being a GtkBox which causes errors if the header bar is used so test for the action area type and use appropriate specific functions.
  • Drop default locale currency special case for euro
  • The condition mentioned in the comment no longer applies. All European locales on Windows (MingW64) properly present EUR as currency these days
  • Fix fencepost error in calculating the week_num for POSIX timezone rules.
  • Include the contents of PROJECT_DESCRIPTION in the PACKAGE_PREFIX.
  • If it's defined. PACKAGE_PREFIX is used to name tarballs and set their base directory. The translation project has requested that we name freeze-string tarballs with a pre1 suffix; this makes that possible.
  • Update python/gnucash_business.py to reflect rename of gncOwnerApplyPayment.
  • I18N: don't mark "" translatable
  • They get properly reversed for RTL writing
  • From Budget editor, add toolbar and Edit menu to run budget report
  • This parallels the invoice editor "Print Invoice" functionality. Runs the budget report using current budget.
  • [gnc-plugin-page-budget] change note icon to a note page
  • Allow the find account dialog position to be saved when using 'X'
  • Update price database for imported transactions.
  • Replace g_memdup by memcpy
  • GLib is deprecating g_memdup and will immediately remove it in the next micro-release because of a CVE.
  • [html-fonts] Prevent sup/sub from affecting baseline
  • Source: https://css-tricks.com/snippets/css/prevent-superscripts-and-subscripts-from-affecting-line-height/ Previously and would cause the baseline to move vertically.
  • Replace stat calls with GFile to retrieve last modified info
  • Avoids code-page problems with non-ASCII characters on Microsoft Windows.
  • [gnc-tree-model-split-reg.c] use xaccSplitListGetUniqueTransactionsReversed
  • which is then reversed if required. this removes the need for double reversal.
  • [Split.c]New function xaccSplitListGetUniqueTransactionsReversed
  • Same as xaccSplitListGetUniqueTransactions but doesn't reverse the list prior to returning. To be used by gnc-tree-model-split-reg.c Several optimizations
  • doesn't call g_list_find and g_list_append for every iteration
  • uses g_hash_table to cache list of txns already added instead of g_list_findvec
  • traverse-vec->list
  • New and Updated Translations:
  • Bodo, Croatian, Danish, Dutch, English (United Kingdom), Finnish, French, German, Greek, Hebrew, Hindi, Indonesian, Italian, Japanese, Lithuanian, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Russian, Spanish, Turkish, Ukrainian, Urdu, Vietnamese

New in GnuCash 4.4 (Dec 29, 2020)

  • Between 4.3 and 4.4, the following bugfixes were accomplished:
  • Bug 798038 - Incorrect spelling in german account templates 'common' and 'full' part 2: AT
  • Bug 798063 - Crash when opening SX Editor
  • Deprecations:
  • xaccAccountCountSplits: use gnc_account_has_child_splits
  • gnc:html-table-append-column!: Build a new table with all of the columns and copy in the rows.
  • Updated Translations:
  • German, Italian, Japanese

New in GnuCash 4.3 (Dec 28, 2020)

  • Between 4.2 and 4.3, the following bugfixes were accomplished:
  • Bug 106746 - In Mort. Repay. druid, creating New acct should also select it.
  • Bug 128772 - Account Help Button does not work
  • Bug 309943 - When unable to obtain a lock, no option to open another database.
  • Bug 330930 - Financial Calculator resets payment period to zero if automatic decimal places used
  • Bug 343647 - [rfe] save tab/report location
  • Bug 345924 - RFE: don't disable "OK" button after using "Apply" to modify chart options
  • Bug 355496 - Mark placeholder accounts in account tree window visibly.
  • Bug 355498 - When there is only one result from a 'Find', select it.
  • Bug 571697 - Transaction Status in Since Last Run needs to look clickable.
  • Bug 644242 - Window Panning Oddity.
  • Bug 645379 - When duplicating a transaction, any non-numeric value entered in the "Number" field is discarded.
  • Bug 667490 - Support image-based TAN methods QR, photoTAN, and chipTAN optical "Flicker code"
  • Partial: Implements the display of flashing optical TAN challenges (aka flicker) in the "Enter TAN" dialog box.
  • Bug 688917 - Help button not working when editing style sheets.
  • Bug 720564 - Search in General Ledger cannot be cleared.
  • Bug 794807 - Calendar widget current month shown as (null).
  • Bug 797901 - List of Recently Used Files not updated until GnuCash is closed and reopened.
  • Bug 797944 - Crash on use of File-Open
  • Bug 797953 - RFE: provide access to filter-by on right-mouse-click in Accounts register.
  • Bug 797956 - dialog-report-style-sheet.c stylesheet editor does not set transient_for correctly.
  • Bug 797959 - "Exception" when value greater than one million with commas and periods is pasted to register.
  • Bug 797967 - minor ui niggles - some dialogs don't respond to GDK_KEY_Escape
  • Bug 797971 - odd cursor behaviour in register Description.
  • Bug 797972 - Crash on export report CSV
  • Bug 797982 - exchange rates' decimal places (bis)
  • Bug 797983 - v4.2 report numbers change over gnucash restarts; Price Database dropping user:price-editor entries.
  • Bug 797984 - Infinite loop while Check&Repair AR and AP accounts
  • Bug 797989 - Sorting columns by alphabet with non-ASCII characters
  • Bug 797993 - Reverse balance option does not apply to an Account Report
  • Bug 797994 - Account type-ahead search doesn't match accented characters.
  • Bug 798005 - Import of QIF file sets expenses to zero, deposits are fine
  • Bug 798008 - Option '--log' cannot be specified more than once.
  • Bug 798015 - cash flow numerical-overflow
  • Bug 798031 - Date goes to prior year with mm/dd entry to transaction duplicate.
  • Bug 798036 - Transaction Report should offer price source
  • Bug 798038 - Incorrect spelling in german account templates 'common' and 'full'
  • Bug 798039 - Using 'Consolidate Transactions' option on Consolidate Transaction Report returns Error
  • Bug 798041 - Open invoices in new window.
  • Bug 798047 - Crash on delete account.
  • Bug 798050 - error using Reports->Experimental->Income Statement (Multicolumn)
  • The following fixes and improvements were not associated with bug reports:
  • Add custom unbound-variable exception reporter in guile that identifies what module provides the missing symbol.
  • Balsheet-pnl report: show most recent period first by default
  • Change register page icon to a padlock if read only
  • When a resister is read only make whole sheet insensitive.
  • Add account name to the read-only-register dialog box because under some circumstances it may be unclear to which register the message applies.
  • Strictly use use-modules to import Scheme symbols: Guile 3.0 doesn't like the alternatives. This can cause problems resolving symbols if the source of those symbols isn't yet compiled and hasn't been symlinked into the builddir.
  • Don't try to reload report if the first attempt raised an html error.
  • Barcharts: Limit account drill-down depth to 6.
  • I18N:glossary: add mortgage terms ARM, APR, FRM
  • Change the icons used for the file locked dialog box.
  • Add support for the opening balance accounts flag
  • Up to now, opening balance accounts have been identified by means of fixed names and their translations. Support Replacing this with a consistent non-translated tag. The actual replacement will be added to Gnucash 4.4; this change is to ensure a migration path.
  • Replace TravisCI with Github actions for CI testing. TravisCI sharply restricted their free support of Free Software projects.
  • Use LTDL_LIBRARY_PATH instead of (DY)LD_LIBRARY_PATH in environment file.
  • Add a few more CSS classes for labels
  • Add GoogleMocks of some engine objects and refine Import-export unit tests using them.
  • Add auto-clear to register page
  • Change source files dialog-dup-trans.* for space and tabs
  • Fix exception when converting to decimal values that reduce to N/1.
  • Add confirmation of Main Window close when more than one window is displayed
  • Add keyboard shortcuts for the notebook page selection menu and A to jump to the Accounts page.
  • Allow using the Ctrl+Alt+PgUp/Down to scroll the report view.
  • Fix report page keyboard focus in the scroll window.
  • Fix some incorrect links to the help file
  • Fix section help on windows not working.
  • Set the visibility of the account column in import-main-matcher depending upon the nubmer of accounts being displayed.
  • Add option to hide memo column on import-main-matcher
  • Fix pressing help button in OFX importer causing main-import-matcher to disappear
  • Preferences dialog: Display the invalid account separator message box only when the user closes the Preferences Dialog instead of after every change to any control.
  • Expose ngettext as gnc:ngettext
  • Add tooltip in import matcher window for description and memo column.
  • Put Macs back on WebKit2.
  • CMake: Mute guile-2.2 again
  • Fix several report stylesheet font-handling issues especially on macOS.
  • Fix price-renderer not converting to decimal.
  • Add some additional places where Check&Repair can be aborted
  • Make the price database list obey the force-prices-to-decimal preference.
  • Several improvements to the auto-clear dialog.
  • Fix some errors found by i18nspector in po files
  • Tax Report Options appeared twice on menu for Chart of Accounts
  • General Journal Report: Allow Report Options>General Title to render document title.
  • [options.scm] rename new-owner-report "Links" to "Transaction Links"
  • [new-owner-report] enable doclink links
  • [html-utilities][API] add function gnc:html-invoice-doclink-anchor
  • Disable chart animation that prevented visual comparison of state before and after reload
  • Select the register account if Tax Options dialog opened from a register tab.
  • Deprecations:
  • xaccAccountCountSplits.
  • gnc:html-make-exchangerates
  • Updated Translations:
  • Croatian, Dutch, Finnish, German, Indonesian, Italian, Japanese, Norwegian (Bokmal), Portuguese, Portuguese (Brazil), Ukrainian

New in GnuCash 4.2 (Sep 28, 2020)

  • Between 4.1 and 4.2, the following bugfixes were accomplished:
  • Bug 102787 - Currency selection should do autocompletion
  • Bug 476114 - Goto register by date feature req
  • Adds ability to jump to arbitrary date.
  • Bug 554391 - Tax Options dialog - can only assign one TXF category at a time
  • If the Tax options dialog is opened from the Chart of Accounts and an account is selected then the tax dialog will preselect that account.
  • Bug 787295 - Allow UI jump from Business accounts to their relevant invoice/bill/voucher
  • Bug 797514 - Changing transaction unreconciles a split inconsistently
  • Partial: This make sure that the split's reconcile status gets updated before the transaction is committed.
  • Bug 797730 - Transaction matching can match multiple imported transactions to the same existing one
  • Bug 797839 - Auto-complete prevents entering non-ASCII transaction descriptions
  • Bug 797852 - Error in Accounts Payable Aging re cut off dates
  • Bug 797857 - Edit->Preferences: Help/Close buttons unreachable
  • Bug 797874 - Errors in register and new-account UI
  • Bug 797878 - Pie chart displays fractions and long decimal representations
  • Ensure amounts rendering is rounded to report-currency SCU
  • Bug 797880 - [gnucash-cli] encoding and font differing from manually exported reports (Win10, German locale).
  • Bug 797883 - [Transaction Report] non-localized string
  • Bug 797889 - editing amounts in dr / cr behaving oddly
  • Bug 797893 - Unable to change font size in charts
  • Use the stylesheet font values instead of hard-coded ones.
  • Bug 797895 - Hang for a long time (9 minutes per account) importing a QFX file.
  • Bug 797896 - [HBCI] crash when downloading transactions
  • Bug 797897 - Cannot select multiple accounts in Tax Report Options
  • Bug 797898 - [reconciliation] calculated balance amount per reconcilation date depending on actual time.
  • Bug 797900 - Crash caused by Quitting while Check and Repair All is running
  • Bug 797923 - Running employee report results in "Unbound variable: txn"
  • Bug 797924 - Crash when searching for customer to process payment.
  • Bug 797935 - Strange formal register headers
  • In languages other than English because of poorly constructed translatable strings.
  • Bug 797936 - Lot viewer notes field too narrow
  • Bug 797945 - Tools -> Import Map Editor causes GnuCash to lock up
  • The following fixes and improvements were not associated with bug reports:
  • Update version in README, add Boost::program_options to dependencies.
  • [report-utilities] compact functions
  • Small fixes for various translation issues
  • Deduplicate translatable strings
  • Add context to one-letter strings in guile code
  • Fix typo in linked document gui Align translatable strings
  • Expose C_ function (gettext with context string) to guile code, first use is for the document link short code (L)
  • Improve and repair progress bar display on a variety of reports and windows, improving performance on several by reducing the number of progressbar calls.
  • [gnc-main-window] enable show_text for progressbar, allowing gtk_progress_bar_set_text to actually display the progress text.
  • Fix help_label of dialog-doclink.glade, remove question mark from Available, and insert missing spaces into the Business Item variant.
  • Rename all Transaction and Invoice Association identifiers to DocLink to better reflect the purpose and for consistency with other software (e.g. Libre Office).
  • Rename Transaction and Invoice Associations to Document Links. More clearly describes the actions and is more consistent with other software (e.g. Libre Office).
  • RRemove the Remove Linked Document context menu item because that can be done in the Manage dialog box.
  • Fix the horizontal scrollbar in the linked docs window.
  • I18n - deduplicate translatable strings
  • macOS: Give GnuCash time to shut down gracefully instead of letting macOS pull the rug out.
  • I18N: Align glossary to gnucash.pot. Create a similar copyright header. Add missing Report-Msgid-Bugs-To.
  • [report-utilities] More dump data functions
  • gnc:dump-book - splits grouped by account
  • gnc:dump-all-transactions - splits grouped by transaction
  • gnc:dump-split - dumps single split
  • [business-urls] link to owner report with enddate
  • [dialog-invoice] gnc_business_call_owner_report_with_enddate
  • [new-owner-report][api] owner-report-create-with-enddate; accepts enddate argument like owner-report-create.
  • Enable exporting the tables in charts and some reports as CSV.
  • Tweak a few strings to reuse translations
  • Exported gnc:cmdline-template-export and gnc:cmdline-get-report-id. Handle ambiguous reportnames by returning #f.
  • [price-quotes.scm] ensure missing-alphavantage message can show on console
  • [budget.scm] Fix report crash on books with unreversed budgets
  • [gnucash-cli] -R show should accept & try to load datafile
  • Speed up computation of import match lists by running query only once, committing accounts only once, and doing a bulk insert into the GtkTreeview.
  • Add Python example export_account_totals.py. Exports acount totals of all accounts into a CSV file.

New in GnuCash 4.1 (Jul 27, 2020)

  • Between 4.0 and 4.1, the following bugfixes were accomplished:
  • Bug 775582 - Change "Petrol" (or Gas if seen in USA) to "Fuel"
  • Bug 797759 - Some transactions are not highlighted in the matching window
  • Bug 797787 - Feature request: preference setting to open new tabs adjacent to currently active tab (as opposed to at the end of the tab list)
  • Bug 797825 - OFX import crashes on import of investment transaction
  • Bug 797827 - 4.0.1 gnucash-cli seg faults on macOS Catalina
  • Bug 797828 - Budget Barchart was not upgraded
  • Bug 797830 - Expense over time has extra empty row
  • Bug 797831 - Printer not found
  • Bug 797834 - Ctrl+A in account register fields chimes after any element newly focussed.
  • Bug 797835 - Zero Crossing in 4.0 that wasn't in 3.10
  • Bug 797842 - Windows: Insertion cursor invisible in Edit Account or New Account windows until text fields have content
  • Bug 797843 - Quickfill broken with Cyrillic input language
  • Bug 797844 - Typing account number to select account fails
  • Bug 797845 - Backspace key produces incorrect result
  • Bug 797847 - Best match probability calculation on import is too pessimistic
  • Lowering the minimum value for the auto-clear preference. This is to allow user to still auto clear even when date don't match quite exactly.
  • Bug 797850 - Account register credit/debit column headings untranslated
  • Bug 797853 - Crash on 'Save As' in MacOS Mojave and Gnucash 4
  • Bug 797854 - Global Register Preference to prompt for interest payment is not being honored.
  • Replace the global preference item with a per-account option, enabled only on those account types where interest might be paid or charged.
  • Bug 797858 - Transaction date is one day too early from SWIFT MT940 import.
  • Bug 797861 - Yearly / Monthly average reporting displays zeros
  • Bug 797873 - New Account Hierarchy selects en_US
  • The following fixes and improvements were not associated with bug reports:
  • Accommodate Guile-3.0 in Scheme code.
  • [html-style-info] Display fractional amounts as decimal in price-render
  • Warn against using xaccTransGetSplit for iteration instead of encouraging it.
  • Quickfill cells: Remove the selection after a delete.
  • Accommodate AQBanking < 6 use of GWEN_TIME instead of GWEN_DATE.
  • ensure averaging-multipler returns exact numbers rather than floats
  • [gnucash-cli] improve "-R show" to describe report
  • Don't leak the libofx contexts in gnc_file_ofx_import_process_file/
  • Make the edit dialog refresh the auto-interest flag display based on pref
  • Remove global preference for auto-interest-transfer
  • [Reports] Use SRFI-9 records for HTML styling.
  • [html-style-sheet] combine 2 similar functions
  • Let environment override AppleLanguages on Macs.
  • [balsheet-eg] remove unused functions
  • [balsheet-eg] modernize accrec to use srfi-9 record
  • [account.cpp] prevent crash in gnc_account_get_currency_or_parent.
  • CMakeLists: mark deprecation of .scm files
  • [eguile-utilities] Ensure that fmtnumeric renders numbers as decimals instead of exact fractions.
  • [Python Bindings] Implement keyword paramters to selected functions.
  • [Python Bindings] Adapt to use of sessionOpenMode in qof_session_begin
  • introduce python submodule deprecation.
  • Link with libm.so on those platforms that require it.
  • [account-piecharts] round account->balance to report-currency SCU
  • [report-utilities] ensure commodity-collector doesn't round amounts
  • [advanced-portfolio] simplify basis functions
  • [advanced-portfolio] simplify basis-builder and use scheme division which is more accurate than gnc_numeric_div. tests need to change slightly.
  • [git-release-notes.pl] html-escape strings in the html output.
  • Updated Translations: Croatian, Hebrew, Italian, Japanese, Romanian, Ukrainian

New in GnuCash 4.0 (Jun 29, 2020)

  • 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.
  • A new report menu supbmenu Multicolumn contains the old custom-multicolumn report and a new Dashboard report containing Account reports for expenses and income, an income-expense chart, and an account summary.
  • Support for UK VAT and Australian GST added to the Income-GST report. The reports options are changed from source accounts to source sales and purchase accounts to permit proper reporting of capital purchases. N.B. This is incompatible with previous versions of the report and will require regenerating saved configurations.
  • The matcher window columns are changed from R to C and from U+R to U+C, reflecting that the matcher marks transactions cleared but doesn't reconcile them. (Bug 797338)
  • OFX imports having balance information will now offer to immediately reconcile, passing the balance information in the file to the reconcile info.
  • Improve quickfill in the account pickers to filter the choices based on any part of the name.
  • The GnuCash widget hierarchy for CSS has been revised to be more consistent with Gtk practice. You may need to spend some time with the GtkInspector to get your custom CSS back the way you like it.
  • When creating a new account hierarchy it's now possible to load account templates from locales other than the one set for the user interface. (Bug 797472)
  • New Account - Online Account match list to the Import Map Editor.
  • New invalid maps dialog in the Import Map Editor. (Bug 797612)
  • Optionally include the account code option in budget view.
  • Account matcher will decline to match accounts with a different commodity from the imported split if the import information includes the commodity.
  • Ellipsize the Description and Memo fields in the account matcher.
  • Enable adding notes to budgets. (Bug 693180)
  • Support for AQBanking Version 6. This is required to support new FinTS protocols for the European Payment Services Directive (PSD2).
  • GnuCash 4.x will not migrate old gconf settings from GnuCash 2.4.x.
  • Reversing transactions will now pop a dialog box to request a posting date. (Bug 782455)
  • The Accounts page has a new optional column for the hidden property to make it easier to toggle it. Note that in order to see hidden accounts you must still enable that in the Filter by... dialog. (Bug 797486)
  • The Customer, Vendor, and Employee overviews have a process-payment toolbar. (Bug 797605).
  • Account codes may now optionally be displayed in the Budget Tree View. (Bug 797489).
  • New/Revised Reports
  • Income-GST
  • Owner Report
  • Significant Code Changes:
  • The signature for qof_session_begin(), QofSession::begin(), and QofBackend::begin() are changed to use an enum SessionOpenMode instead of three booleans.
  • 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.
  • 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.
  • Deprecations (will be removed in GnuCash 5.0:
  • gnc:substring-replace-from-to

New in GnuCash 3.10-1 (Apr 13, 2020)

  • 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.
  • Others:
  • We have a revised Ukrainian translation.

New in GnuCash 3.9-1 (Mar 31, 2020)

  • 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-matching token info to find exactly matching tokens only.
  • Clear online banking KVP from accounts no longer associated with an online one
  • Account template improvements for Swiss-German KMU and Germany SKR04.
  • Appdata file allows packagers to include distribution release information.
  • Ensure that new budgets are saved instead of saving only the state information.
  • Update US Income Tax information for 2019.
  • Correct double-counting of accounts in some cases in US Income Tax Report.
  • Housekeeping - reduce the number of PACKAGE and VERSION related cmake variables
  • Restrict gnucash.pot comment collection to ones beginning with "Translators".
  • At the recommendation of the Translation Project coordinator.
  • [html-table][API] html-table can have multirow-col-headers
  • NEW API: gnc:html-table-multirow-col-headers and gnc:html-table-set-multirow-col-headers! gnc:html-table col-headers have been augmented to support list of rows.
  • BACKWARD COMPATIBILITY is offered. Old use of single-row headers API gnc:html-table-col-headers and gnc:html-table-set-col-headers! should be unchanged; will get/set a single row of elements.
  • NEW functions gnc:html-table-multirow-col-headers and gnc:html-table-set-multirow-col-headers! will get/set an arbitrary number of rows of elements.
  • using old API gnc:html-table-col-headers on a table, whose multiple row headers have been set, will lead to a warning and return the first row only.
  • We have revised translations for Croatian, German, Polsih, and Ukrainian

New in GnuCash 3.8 (Dec 30, 2019)

  • 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.
  • [window-report] show backtrace when report crashes
  • Exposes a SCM string last-captured-error containing last backtrace
  • when rendering report-crash window, include it
  • New Scheme Functions:
  • gnc:html-markup-ol: creates an HTML ordered list.
  • gnc:multiline-to-html-textt: creates html-text with
  • elements.
  • gnc:make-html-table-cell/min-width: Create a table-cell with min-width style attribute
  • gnc:collector+ and gnc:collector-
  • API Deprecations:
  • gnc:html-table-append-ruler/at!
  • gnc:html-table-remove-last-row!
  • Other:
  • We have revised translations for Chinese(Simplified), Croatian, German, Hebrew, Ukrainian

New in GnuCash 3.7 (Sep 9, 2019)

  • Bug 605602 - precision of Financial Calculator seems to depend on locale
  • Bug 746937 - Template transaction splits are loaded in reverse order and then not sorted before saving.
  • Actually not sorted after loading because the template accounts weren't being committed.
  • Bug 752395 - Start Day of weekly report doesn't respond to change in locale
  • Redefines some functions to ensure weekly grouping in transaction report obeys locale's start-of-week.
  • Bug 784623 - GNUCash does not work with sql backend, I can open in read only mode
  • Upgrade the splits table as well, an oversight from the original fix.
  • Bug 793018 - Balance (with >>eguile

New in GnuCash 3.6 (Jul 1, 2019)

  • Changes:
  • Between 3.5 and 3.6, the following bugfixes were accomplished:
  • Bug 397927 - Save the window size/position for Qif Account picker dialog
  • Bug 577968 - Values are not stored by pressing in budget page
  • Bug 583277 - Ask for confirmation for cancelling QIF import
  • Bug 624176 - budget report - rollup-budget ignored
  • Bug 642824 - Check for Placeholder Accounts in Qif Import: Placeholder accounts do not allow transactions so when the account picker dialog is presented, add an error dialog for placeholder selection and a column to display that the account is a placeholder.
  • Bug 646361 - Estimate budget option to have same amount in each budget period
  • Bug 668349 - Scroll to selected accounts in QIF import tree views
  • Bug 676810 - Wrong accounting in multi-currency budget report
  • Bug 679800 - Shortcut to allow population of all budgeting periods
  • Bug 689753 - Budget Report: Neg Num Not Colored Red
  • Bug 728873 - In Qif importer use the enter on account entry
  • Bug 751290 - Rethinking the invoice ledger view
  • Bug 754710 - Add column sorting to Qif import Match views
  • Bug 781345 - Equity disregarded by budget totals
  • Bug 788157 - Open Budget Menu Item Doesn't Select Default Budget
  • Bug 796949 - Fix division and rounding of zero.
  • Bug 797051 - Change Overwrite price confirmation
  • Bug 797051 - Follow up - Change defaults for new price
  • Bug 797051 - Overwrite prices without warning
  • Bug 797089 - Wrong time for accounting period end date
  • Bug 797104 - Translations not showing in receipt options
  • Bug 797123 - Export transactions to CSV file.
  • Bug 797126 - It is annoying to run cmake to get an updated mo file
  • Bug 797127 - Company name and address in reports not display properly
  • Bug 797134 - Decimal separator: Windows configured as dot,...
  • Bug 797165 - Crash on price deletion.
  • Bug 797169 - GnuCash hangs loading XML file
  • Bug 797170 - gnucash-3.5 fails to compile with GTK+3-3.20.x
  • Bug 797175 - Gnucash will not open from UNC paths.
  • Bug 797175 - Opening a file from a gvfs mount point fails
  • Bug 797183 - association head path with spaces displayed wrong
  • Bug 797185 - Correct the sorting for the Transaction Association Dialog
  • Bug 797186 - gtk crash closing parent window edit->stylesheets
  • Bug 797188 - Default invoice prints credit note as invoice
  • Bug 797196 - Allow for per-payment rounding in amortization calculations
  • Bug 797197 - Transaction report: Error message when sorting on month
  • Bug 797204 - Qif import Tradable commodities page
  • Bug 797207 - Chart reports show blank when run from the build directory
  • Bug 797215 - Add sorting to QIF duplicates page
  • Bug 797223 - Preference missing tooltip
  • Bug 797230 - Use after free in
  • Bug 797232 - Convert dialog-ab.glade to gtk3
  • Bug 797233 - Balance Sheet, Chart of Accounts, and other reports...
  • Bug 797240 - Multicolumn report not showing each report name
  • Bug 797241 - Some reports skip transactions of the last day of the selected period
  • Bug 797244 - Remove the invert prices for less than 1
  • Bug 797246 - Cleared Balance Remains Red After Turning Positive
  • Bug 797249 - Cutting home account causes transaction to disappear
  • Bug 797262 - Change "Today date format"
  • Bug 797266 - Missing translation settings
  • Bug 797277 - Assets over time ignores nested liabilities
  • Bug 797278 - Create an option for type of commodity for Price import: Currently when you use the 'Commodity From' column for Price imports it can match against the wrong commodity like COP (Conoco Philips) would match against the currency COP (Columbian Peso). To fix this add a new column type 'From Namespace' and rename 'Commodity From' to 'From Symbol' so they match the Security Editor.
  • Bug 797281 - Gnucash crashes when attempting to match online accounts
  • 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

New in GnuCash 3.5 (Apr 1, 2019)

  • Bugfixes:
  • Bug 639049 - Asset Barchart Report includes also the first day of next month transactions If the original date is an end-of-month date, we take it as an indicator they always want monthdelta dates to be end-of-months. This works for monthly/quarterly/halfyearly/annual.
  • Bug 748431 - Wrong average balance for transactions during DST Replace average-splits with custom loop, cycling through the balancelist and splitlist, creating interval summaries along the way.
  • Bug 787401 - Test for the report system - HTML Tests.
  • Bug 795729 - Advanced Portfolio Report - Percentage rates not displaying leading zeros.
  • Bug 796498 - Incorrect starting balance in TXF Report calculations.
  • Bug 796530 - TxnCsvImport - fix loading of saved preset with update of seperator selection. Previously this would cause all but the first column to lose its assigned types.
  • Bug 796687 - Tax Entity name and type for an account won't work under "Tax Reporting Options" in Gnucash 3.2
  • Bug 796826 - Report HTML - not possible to suppress the document header.
  • Bug 796827 - Report HTML - it is not possible to suppress the document title.
  • Bug 796829 - Report HTML - HTML table rows are prepended not as list elements
  • Bug 796831 - Report-HTML - append table column correctly.
  • Bug 796877 - test-stress-options fails.
  • Bug 796946 - Mortgage and Loan Repayment Setup tool crashes when exiting "Loan Repayment Options" page. Because libstdc++ on Windows doesn't support any C++ locales besides "C" and throws an exception if you try.
  • Bug 796952 - Report formatting (justify) is broken.
  • Bug 796956 - Aqbanking 6 will drop DTAUS Adds support for the upcoming AQBanking 6 and removes support for AQBanking earlier than 5.3.4.
  • Bug 796965 - Change the default to show unused accounts.
  • Bug 796989 - some date/time does not honor user locale.
  • Bug 797002 - Program crashes when exporting tax data in txf format.
  • Bug 797011 - GnuCash 3.4 Crashes When Printing Checks with Custom Format.
  • Bug 797013 - Import Customers & Vendors: error in CMakeLists.txt - causes incomplete project in Xcode.
  • Bug 797029 - Import Customer & Vendors: blank name and company in import data row crashes GnuCash
  • Bug 797030 - Import Customer & Vendors: several issues with the matching of data rows.
  • Bug 797031 - Import customer & Vendors: import can create customer and vendors without address data
  • Bug 797041 - enum confusion in qoflog.
  • Bug 797046 - Tools / Price Database / Currencies UI not working since 3.4.
  • Bug 797067 - Date displayed incorrectly in register.
  • Bug 797074 - Reports with averages are displaying fractions Convert amounts to decimal prior to adding to html-table. Also adds tests to make sure averages are displayed in 2 decimal places.
  • Bug 797098 - Quitting Gnucash shortly after clicking Save may abort file save.
  • Bug 797105 - Incorrect local-symbol for SZL currency
  • Bug 797136 - Balance sheet report "Show Exchange rate" broken when foreign currency is sold completely For cases where total(amount)/total(value) = 0/0, the price is reported as 0.
  • 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.
  • 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: 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.
  • 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.
  • 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?
  • Other:
  • 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)

New in GnuCash 3.4 (Jan 18, 2019)

  • Between 3.3 and 3.4, the following bugfixes were accomplished:
  • Bug 498072 - GnuCash show taxes on invoice when individual taxes is not checked
  • Bug 760825 - On duplicating a bill, the entry dates should be set to the bill date, not to the current date - followup:
  • Use neutral time on entry post dates instead of canonical time
  • Bug 767772 - Associated file with transaction is lost when moving entry between accounts
  • Bug 775580 - Inaccurate information provided for "Common Accounts" when using "New Account Hierarchy Setup"
  • Bug 779565 - Treeview header combos do not work at first load
  • Bug 788332 - Last Reconcile Date column sorts by day of month not date
  • Bug 789674 - Close Book tool regression
  • Bug 793156 - Incorrect date sort order in Generic import matcher window
  • Bug 795080 - Some dates reset to 01/01/1970
  • Bug 795237 - Update of "wohnungsw" template
  • Bug 795425 - Version 2018 of german account template SKR49
  • Bug 796772 - Receivable Ageing Report invalid URL for Totals column
  • Bug 796806 - Crash after OFX import if line item dragged
  • Bug 796842 - Add new employee window may not fit on screen
  • Bug 796849 - Load another QIF file causes "that file already loaded" dialog
  • Bug 796875 - Unable to use arrow keys to advance past pre-filled text in register
  • Bug 796878 - test-qofsession fails on x86_32.
  • Bug 796883 - Register text oddities
  • HOME and END need to be treated like right and left arrow keys.
  • Bug 796886 - OFX Import does not show source account in the transaction matching window
  • Bug 796887 - Remove account slot key color if there is no valid color
  • Bug 796893 - invoice.GetDatePosted() and other date related functions returns strange values for uninitalised dates.
  • Bug 796896 - Button to complete an export not intuitively placed or discoverable
  • Bug 796903 - Crash when searching invoice by Invoice Owner
  • Bug 796914 - Customer Summary is giving error
  • Bug 796915 - Update Account colour background
  • Bug 796940 - Invalid transaction date-posted KVP causes date-posted to not be saved.
  • Bug 796944 - Tab navigation From Company Address field in New Book Options
  • Bug 796945 - Search Search Criteria window does not scroll when added criteria exceed a certain amount
  • Bug 796948 - Scheduled Transactions Entered Since Last Run Are not Visible
  • Bug 796949 - Incorrect conversion of 0,01 USD to EUR
  • Bug 796960 - Incorrect amount sort order in Generic import matcher window
  • Bug 796961 - Can't overwrite existing MYSQL database, V3.3.
  • Bug 796967 - gnclock table not removed when using PostgreSQL.
  • Bug 796978 - Deleting a split of same account as register cancels the transaction without warning
  • Bug 796981 - Gnucash crashes with critical error when selecting another file
  • Bug 796982 - Import Bills & Invoices: change in un_escape() routine causes description and notes fields to be mangled.
  • Bug 796988 - Untranslated string in CSV transaction importer
  • Bug 796989 - some date/time does not honor user locale
  • Bug 796994 - Unable to generate Tax Report because of pricedb error
  • 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.
  • 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...
  • 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.
  • 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
  • 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)
  • The *_protocol variants are marked as deprecated.
  • Additionally a number of local variables have been renamed from protocol to scheme to support this change.
  • 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

New in GnuCash 3.3 (Oct 2, 2018)

  • the following bugfixes were accomplished:
  • Bug 771667 - Different warnings when changing reconciled splits vs. splits linked to reconciled splits.
  • Bug 784420 - "Save changes on closing" window waits 2^32 seconds when "Time to wait for answer" is set 0.
  • Bug 786708 - GnuCash won't load currency fractions larger than 1000000. Also create larger fractions for the account dialog.
  • Bug 787439 - Segmentation Fault in Transfer dialog after clearing Date field and pressing escape.
  • Bug 789594 - Unable to overwrite sqlite3 database file.
  • Bug 792446 - Mixed languages in error dialog.
  • Bug 794526 - Python bindings can't find loadable modules.
  • Bug 794755 - Commodity Register displays fractional prices.
  • A new Preference, "Force Prices to display as decimals" on the General pane will cause prices that can't be exactly displayed as decimals to be rounded to two more places than the currency's smallest unit.
  • Bug 794870 - If no book is opened, gnucash still asks if the user wants to save changes when opening a file.
  • Bug 795821 - GnuCash could not obtain the lock for file://C:UsersusernameDocumentsGnuCash2.6.21xxxxxxxx.gnucash
  • Bug 796054 - Unposting and reposting invoice doubles amounts.
  • Bug 796137 - query.search_for outputs critical qof.object errors and prevents queries being run.
  • Bug 796248 - Editing Scheduled Transaction.
  • In addition to not begining to edit already-loaded transactions, don't try to load splits that are already loaded. It shouldn't be possible to load a transaction without also loading its splits.
  • Bug 796474 - Segmentation fault while setting up online banking.
  • Allow only a single instance of the assistant.
  • Bug 796509 - Saved reports don't respect *some* 'Edit report options'.
  • Bug 796579 - Cannot go forward with empty duplicates screen.
  • Bug 796665 - Backspace Key Inoperable After Ctrl+V.
  • Bug 796669 - Dark Theme Text Colors Hard to Read.
  • Only add the register-foreground class when using Gnucash built in colours. When this setting not used, the foreground colour by default will be what ever the theme has set and will be down to the user to over ride along with the other register colours.
  • Bug 796724 - Can't overwrite gnucash DB on MariaDB.
  • Bug 796725 - 4 of 6 Date Posted options fail to return matching transactions.
  • Bug 796734 - Auto-complete entry not highlighting to allow for incremental entry.
  • Bug 796737 - Patch to restore gncmod-python.c.
  • Bug 796739 - Toolbar buttons have no labels.
  • Bug 796751 - reconcile window usability - R column should be next to Amount.
  • Bug 796755 - buggy window handling at startup.
  • Bug 796756 - OFX import fails to recognize associated income accounts.
  • Bug 796759 - --add-price-quotes leaves a lock on the file.
  • Bug 796762 - Scrollbar partially hides the delete button in the Saved Report Configurations window.
  • The vertical scrollbar obscures the delete button in the tree view so add a dummy blank column to the end and set it to the width of the vertical scrollbar.
  • Bug 796766 - Credit note creating 'imbalance' with wrong entries.
  • Bug 796777 - CVE-2008-1391: Integer overflow in included strfmon function.
  • Bug 796788 - Strange behaviour in options of multicolumn report.
  • Bug 796792 - SaveAs Overwrite dialogue in background and not visible.
  • Bug 796812 - gnc_date_cell_get_date and gnc_date_cell_get_date_gdate have different date validation behaviour.
  • Bug 796813 - Date validation inconsistent.
  • Bug 796814 - Changing a book's read-only threshold doesn't immediately affect open registers.
  • Bug 796816 - Notes field in Duplicate Invoice dialogue is 'read-only'.
  • Bug 796819 - Bad icon with Spanish localization.
  • Drop translations of the 'gnucash-icon' string from our po files and add a note for translators to not translate this string or use the literal 'gnucash-icon' as translation.
  • Bug 796820 - References to 'Gnome Bugzilla' should be changed to 'GnuCash Bugzilla'.
  • Bug 796833 - Excel csv Format misprocessed.
  • Convert all line ending styles to the one expected by the C++ standard library before starting to parse a csv file.
  • Bug 796839 - Find transaction won't filter on Date Posted.
  • Bug 796858 - TypeError: in method 'qof_query_int32_predicate', argument 2 of type 'gint32' on gnucash.gnucash_core.QueryInt32Predicate.
  • 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 'p' as global accelerator. It was possible to have gnucash invoke the 'Print Report...' action instead of the 'Print Invoice...' action when hitting 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

New in GnuCash 3.2 (Jul 2, 2018)

  • BUG FIXES:
  • Bug 787401 - Test Report System - Report Definition.
  • Bug 794617 - Can't compile with -DWITH_GNUCASH=NO due to scm-gnome-utils.
  • Bug 795101 - Scroll Bar in Reconcile Window Floats in and covers the check boxes.
  • Bug 795247 - datepicker broken in Persian. GnuCash passes dates as integer y/m/d without using locale-specific formats, so we need to strip out 'E' and 'O' from the format when scanning dates or determining separators in gnc-date. None of '-', 'E', or 'O' are supported by boost (and '-' causes errors), so strip them out from formatters in gnc-datetime as well.
  • Bug 795253 - Have problems input Chinese.
  • Bug 795272 - QIF importer causes application crash if action is invalid.
  • Bug 795276 - Invalid date on price stops file from being parsed.
  • Bug 795362 - Special variable "i" not parsed in function calls. Due to balance tests with insane random values.
  • Bug 795471 - Impossible to Edit Budget Unless Maximized.
  • Bug 795519 - Credit card payment after reconciliation.
  • Bug 795666 - Backslash '' in Description field spoils CSV Import without helpful error message.
  • Bug 795831 - When read only threshold set, dates are silently changed. Display a message box informing the user of the change.
  • Bug 795944 - Cannot store change to Business Suppliers data.
  • Bug 796079 - Repeatable Crash in Tax Report Options.
  • Bug 796081 - Tax Schedule Report - An error occurred while running the report.
  • Bug 796083 - Reconcile Selection Doesn't Work Anymore.
  • Bug 796117 - Connecting 3.1 to an existing mysql db drops all data. Provide a backup recovery function that instead of dropping primaries and restoring backups merges the primaries and backups. This should handle a worst-case safe-save failure where the backup tables don't have a complete set of rows for some reason.
  • Bug 796256 - Main Window stays hidden when starting after closing main window while minimized.
  • Bug 796369 - Notes lost or perhaps just not displaying when using SQLite backend. This bug caused data loss if you saved your SQLite3 database to a different file or database. The problem is that in SQLite3 (though not in MySQL or PgSQL) the subquery ((SELECT DISTINCT guid FROM transactions)) (note the double parentheses) returns only the first guid in the subquery's results. Some transactions are loaded by special queries and those queries are also used to retrieve the transaction's slots so they weren't affected.
  • Bug 796398 - Restrict accelerator keys to valid date range.
  • Bug 796409 - Incorrect Current Value for Stocks. Missed calculating the value in the register summary bar.
  • Bug 796423 - Cannot Input Chinese, seems does not work with other IME too. Toggles not in view with all rows selected weren't being redrawn.
  • Bug 796484 - csv import: iostream error. Unfortunately it turns out that we can't use filestreams because they can't take path arguments containing Unicode on Windows.
  • Bug 796527 - invalid currency on scheduled transactions.
  • Bug 796537 - Transaction Report cannot sort by "num".
  • Bug 796586 - QIF import incorrectly converts unicode characters from UTF8 encoded file.
  • Bug 796595 - QIF Import Select Account button to add a new account is labled gnc-account-new but should be New.
  • Bug 796600 - stock split cash-in-lieu income/asset labels backwards.
  • Bug 796614 - Reconciliation report contains incorrect transactions.
  • Bug 796638 - configuration not properly saved for CSV transactions import form.
  • FIXES AND IMPROVEMENTS:
  • 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

New in GnuCash 3.1 (May 1, 2018)

  • Bug fixes:
  • Bug 118391 - Long currency names untranslated.
  • Bug 769686 - Notes not imported when using update and reconcile in import transactions from CSV.
  • Bug 772776 - VERY large queries (over 11000 fields in IN clause) slow down GnuCash.
  • Bug 782144 - git-master - Save Corrupts Data File / Not Open Data File.
  • Bug 792105 - Startup takes several minutes.
  • Bug 793461 - Transaction matcher window blank when importing QFX.
  • Bug 794767 - Dates default to 01/01/1970.
  • Bug 794916 - Fails to find environment file at startup when installation prefix is '/opt'.
  • Bug 794936 - 3.0 does not open previously saved sqlite3 files properly - corrupted business data.
  • Bug 794941 - Both print icons export to pdf.
  • Bug 794953 - Ellipsize on short tab labels.
  • Correct error on when to ellipsize tab labels. Also as this is used in two places separate out this to new function so it is not duplicated.
  • Bug 794990 - Double click does not work on saved reports.
  • When you double click on the saved report description nothing happens. This was down to a conflict on a couple of call backs and one of them was incorrectly setup.
  • Bug 794994 - Display Alphavantage key in full.
  • Set the entry to expand so all the space is used to display.
  • Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file.
  • Bug 795039 - Crash on startup using Technicolor Style sheet in report.
  • Bug 795040 - GnuCash crashes when searching for a newly created bill.
  • Bug 795049 - GnuCash 2.6.20-1 (Fedora Linux package) is unable to open MariaDB.
  • Bug 795064 - Enable subtotal-only if either sortkeys are dates.
  • This will allow 'show subtotals only' if sortkeys are date-types. This allows, for example, prime-sortkey=date, yearly. sec-sortkey=date, monthly.
  • Bug 795068 - src/optional/python-bindings missing several files.
  • Bug 795080 - Some dates reset to 01/01/1970.
  • An odd corner case: BST apparently came off of DST at 23:00 26 Oct 2014, so midnight that day was ambiguous about being DST or not; that causes the local_date_time constructor to throw in spite of the tm.is_dst element being 0 (meaning pick standard time). Instead of just failing in that case, try constructing a local_date_time three hours later then adjust it back three hours. If *that* doesn't work then throw a std::invalid argument.
  • Bug 795082 - CSV import crashes if a transaction's 'Account' field is empty and no default Account set.
  • Bug 795101 - Scrollbar floats and covers toggle buttons.
  • When the scrollbar appears for the reconcile windows it can float above the reconcile toggle button which make it difficult to toggle. Move this column to the start which has the advantage of aligning the amount column above the Total value.
  • Bug 795142 - Unable to enter account codes in business sheets.
  • In Bills, Invoices and Expense vouchers you can not enter an account code in an account field like you can on a normal register, enable this.
  • Bug 795155 - CSV import does not distinguish between deposit and withdrawal.
  • Bug 795347 - Australian (GMT+10) OFX transactions imported have previous days date
  • Bug 795377 - Reads and saves Gnucash 2.6.19 XML file, then can't reread it, due to bad date in old file.
  • Bug 795389 - Hard to see figures in the budget window
  • The budget view had hard coded black for normal values and dark grey for other values. Changed this so normal values are reset to default color and adjusted the grey based on default color for theme.
  • Bug 795405 - All Dates in Price Database Off-By-One After 3.0 Upgrade
  • Bug 795446 - On Windows there is a blank tip of the day
  • When the tip_of_the_day.list is created a new line is appended to the list file and on Windows this causes a blank tip so remove the adding of the extra line.
  • Bug 795471 - Budget window scrolls edited cell out of site
  • When editing cells that have been revealed on the right by scrolling the window snaps back to the left hiding the cell being edited. This may be due to an underlying gtk issue but these changes fix the issue visually.
  • Fixes and improvements:
  • 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

New in GnuCash 3.0 (Apr 2, 2018)

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

New in GnuCash 2.7.8 RC 1 (Apr 2, 2018)

  • Bugs fixed in this release:
  • Bug 787439 - Segmentation Fault in Transfer dialog after clearing Date field and pressing escape.
  • Bug 794242 - Remove keep above setting for assistant hierarchy
  • Some other fixes not associated with reported bugs:
  • When doing a file save from the a new start we have no key file
  • Stop critical error due to testing null filename
  • Change dialog-new-user to use a GtkWindow
  • More transient-parent fixes.
  • Add missing response section to the account picker dialog.
  • Glade 3.20 adds surplus padding option to action area.
  • Add XML namespaces for all Account Hierarchy Templates.
  • Increase default options dialog size

New in GnuCash 2.7.7 Unstable (Mar 19, 2018)

  • For Developers and Distro packagers:
  • The Python Bindings and Console are now for Python 3.
  • It's now possible to create a GncPrice from the Python bindings with "gnc_price_create(book)", removing the need to clone an existing GncPrice object and modify it.
  • 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.
  • Bugs fixed in this release:
  • Bug 787439 - Segmentation Fault in Transfer dialog after clearing Date field and pressing escape.
  • Bug 791831 - Add python3 support.
  • Bug 794242 - Remove keep above setting for assistant hierarchy
  • Some other fixes not associated with reported bugs:
  • Fix date corruption in SQL load. Four date elements were affected: GncEntry::date, GncEntry::date_entered, GncInvoice::opened, and GncInvoice::posted. This does not affect the stored values of the dates.
  • Fix lost Bayesian matches in SQL backend. The import-map-bayes uses a three-part key that uses the same delimiter as a path and the SQL backend was throwing away everything except the account guid.
  • More transient-window fixes and other Gtk3 cleanups.
  • Add xmlns namespace declarations to all of the accounts templates that lacked it and remove the emacs mode-setting comments at the end of them.
  • Updated Translations:
  • Spanish
  • KNOWN PROBLEMS:
  • Bug 789594 - Unable to overwrite sqlite3 database file
  • Bug 791823 - There is no Gtk3 theme-setting tool for Windows.
  • Bug 791825 - Accounting period dates off-by-1
  • Bug 793220 - Can't input CJK characters in the transaction description field

New in GnuCash 2.7.5 Unstable (Feb 26, 2018)

  • NEW FEATURES FOR USERS:
  • On Windows and with the MacOS Gnucash.app we distribute the files will already be in the correct locations; users will need to rename any config*.user files to config-user.scm. On other platforms except MacOS, where those files were previously stored in $HOME/.gnucash, GnuCash will move log.conf (if it exists) and the most recent config*.user, renaming the latter, automatically. MacOS installations other than our Gnucash.app bundle will have their data and configuration files in $HOME/.gnucash but users will have to copy the files to $HOME/Library/Application Support/Gnucash themselves.
  • Further improvements to the Transaction and Income-GST-statement reports
  • Transaction Report: omit display of $0 in subtotals in other currencies. Previously in dual-subtotal columns, the dual-subtotal would attempt to print all commodities in the row. This meant if user chose common-currency thereby triggering additional commodities, the dual-subtotal would attempt to add amounts in other commodities which would be 0, and display the 0 amount.
  • Locate all user data and configuration files to platform-dependent standard locations:
  • Windows: CSIDL_APPDATA/GnuCash
  • MacOS: $HOME/Library/Application Support/Gnucash
  • Linux: $XDG_CONFIG_HOME/gnucash (or the default $HOME/.config/gnucash)
  • GnuCash currently uses the following files in this directory:
  • log.conf (to set what gets logged to gnucash.trace)
  • config-user.scm (to add custom scheme code like custom reports; replaces config.user and config-.user)
  • gtk-3.0.css (For theming)
  • FOR DEVELOPERS AND DISTRO PACKAGERS:
  • 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.
  • Added dependency information to all CMake targets, replacing a dependency on build order that was carried over from autotools. Highly parallel builds in ninja now complete without interuption.
  • Ensure that all GtkBuilder and GtkUIManager files are correctly installed and that no configuration of build products in those directories are.
  • Appstream configuration is updated to the latest spec.
  • Fix installation of a gnucash-only gschemas.compiled overwriting the system one. 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.
  • 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.
  • BUGS FIXED IN THIS RELEASE:
  • Bug 787095 - Gnucash Crashes when opening old XML file.
  • Bug 792157 - Cannot create account with different currency
  • Bug 792833 - User specifies source of 'num' field'; either transaction number or split action (requires at least GnuCash 2.5.0) Strip leading delimiters from KVP keys when reading them from the database. Leading delimiters are incorrectly included in databases created with GnuCash 2.6.x.
  • Bug 792883 - cmake: no way to turn off -Werror Prepend settings to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS so that values supplied on the command line can override the fixed settings.
  • Bug 792884 - cmake: gschemas.compiled missing
  • Bug 793122 - 2.7.3: ninja build fails.
  • Bug 793155 - Gnucash 2.7.4 crashes on launch MacOS 10.13.4 PB1
  • Bug 793278 - wrong data in charts with accumulated values (like "net-linechart", "net-barchart" and "liabilities barchart")
  • Bug 793568 - "Cash Flow" report crashes
  • SOME OTHER FIXES NOT ASSOCIATED WITH REPORTED BUGS:
  • An optimization in the GncDateTime string constructor provides substantial speed up of loading SQL databases, and one in Scheduled Transaction creation will speed up creation of large numbers of scheduled transactions.
  • More dialogs have transient-for set so that they pop up over the window instead of in the upper left-hand corner of the monitor.
  • KNOWN PROBLEMS:
  • Bug 789594 - Unable to overwrite splite3 database file
  • Bug 791823 - There is no Gtk3 theme-setting tool for Windows.
  • Bug 791825 - Accounting period dates off-by-1

New in GnuCash 2.7.4 Unstable (Feb 5, 2018)

  • New Features for Users:
  • A new preference panel for the Alphavantage API key so that Finance::Quote users need not edit /etc/gnucash/environment.
  • On Macs the Reconcile Window's menu moved to the menubar.
  • The detected Finance::Quote version is displayed in the About box.
  • Removed all references to the various Yahoo! quote sources and made Alphavantage the default.
  • For Developers and Distro packagers:
  • The autotools build system has been removed.
  • Add a "pot" target to the build system so that translators can easily generate a new gnucash.pot from a git repository.
  • Improve handling of generated distributable files
  • Fix make dist on a clean checkout
  • Add DL_LIBS to gncmod-gnome-utils target. Fixes a build problem in FreeBSD.
  • 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.
  • Bugs fixed in this release:
  • Bug 787497 - Disabling OFX, AqBanking or python-bindings support cripples the dist build target
  • Bug 790526 - Mathematical bug Actually about the number of weeks from/to 1 Jan 1970.
  • Bug 790845 - 2.7.3: massive test failures on some architectures
  • Bug 792106 - Wrong dates displayed
  • Bug 792809 - Register text difficult to read with GTK 3.0 dark themes Add a foreground css class to override the theme value.
  • Bug 792947 - Missing translatable strings
  • Some other fixes not associated with reported bugs:
  • The long-standing known problem, AQBanking setup crashing on Windows.
  • Webkit crashing the MacOS Gnucash.app.
  • Some Guile 2.2 issues are resolved.
  • Some bugs in the new Transaction Report.
  • Correct setting of WebKit version during configuration when the version is cached.
  • The change to the Average Cost calulation introduced in 2.6.12 is reverted. See the extensive discussion in Bug 775368 for more information.
  • Fix our appstream id as per the appstream recommendation
  • Fix incorrect minimum dates in the net-linechart and net-barchart reports.
  • Fix a report crash if the Account Depth is too low.
  • KNOWN PROBLEMS:
  • Bug 789594 - Unable to overwrite splite3 database file
  • Bug 791823 - There is no Gtk3 theme-setting tool for Windows.
  • Bug 791825 - Accounting period dates off-by-1

New in GnuCash 2.7.3 (Jan 3, 2018)

  • New Features for Users:
  • A greatly enhanced Transaction report with many new options and features including a reconciliation report thanks to Chris Lam.
  • Removed 6-figure rounding from price calculations, allowing prices to have up to 18 digit precision.
  • A flatter storage scheme for Bayes account-matching scores, thanks to Aaron Laws. This is a compatibility change guarded by a feature.
  • GnuCash no longer supports Guile-1.8 and now does support Guile-2.2
  • A CSV Price importer, thanks to Bob Fewell.
  • Enhanced python bindings exposing more GnuCash API thanks to Guy Taylor
  • Bugs fixed in this release:
  • Bug 616709 - Pressing delete key while editing account name offers to delete account.
  • Bug 771667 - Change reconciled splits warning.
  • Bug 787497 - Disabling options cripples dist package
  • Bug 790526 - Mathematical bug.
  • Bug 791848 - GC 2.6.x does not handle ISO dates introduced with GC 2.7.
  • Some other fixes not associated with reported bugs:
  • Tests now pass in all timezones.
  • More dialogs are made "transient for" so that they pop up centered on the main Gnucash window instead of somewhere on the left edge of the screen.
  • A lot of Gtk3 issues and errors are fixed, thanks to Bob Fewell.
  • Test struct tm* returns from gnc_gmtime and gnc_localtime to ensure that we don't crash for dereffing a nullptr.
  • Removed the gnc:numeric type from Scheme code in favor of Scheme's own rational numbers. This allows direct conversion between Scheme numbers and gnc_numeric without the performance or accuracy penalties arising from using doubles as an intermediary.
  • Pass KVP paths as a collection of elements instead of a delimited string. This allows keys to contain '/'. Thanks to Aaron Laws.
  • Added a frameowrk for migrating preferences.
  • Made separate functions for finding a widget's parent window: gnc_ui_get_gtk_window tries to find the immediate parent and gnc_ui_get_main_window tries to find the widget's parent toplevel, returning the first-mapped window.
  • Make the splash/lock screen the transient parent for dialog boxes if the main window is not yet mapped.
  • Rework directory determination in CMake builds.

New in GnuCash 2.7.2 Pre (Nov 28, 2017)

  • BUGS FIXED IN THIS RELEASE:
  • Bug 734865 - Assign as Payment... can silently 'unpay' a payed invoice
  • Bug 778692 - Assign as payment should work for employee expense vouchers
  • Bug 784623 - GNUCash does not work with sql backend.
  • Wherin the problem is that MySQL's TIMESTAMP has a date range of 1970-01-01 00:00:01 to 2038-01-19 03:14:07 and is unable to handle time_t of 0. MySQL's TIMESTAMP also assumes that input is in the server's timezone and adjusts it to UTC. GnuCash has already done that conversion.
  • Bug 789608 - Compilation problems when linking libraries.
  • Bug 789928 - FTBFS with libdbi 0.9.0-5 on Debian.
  • Bug 790550 - FTBFS: missing __init__.py
  • SOME OTHER FIXES NOT ASSOCIATED WITH REPORTED BUGS:
  • SQL parameter quoting is corrected in the backend so that only string parameters are quoted. This caused trouble when trying to store SQL NULL; the string 'NULL' is different from the value NULL.
  • SQL table versions weren't set consistently and a bogus version test could cause some tables to be not loaded.
  • Better, more targeted handling of MySQL's penchant for setting date-time fields to "0000-00-00 00:00:00" if it doesn't like the input. This should be much less common thanks to fixing Bug 784623.
  • Major repairs to the "Dense Calendar" date selector.
  • Fix colors on graph reports so that the selections work and the defaults are no longer transparent.
  • Two large batches of styling fixes for Gtk3 from Bob Fewell.
  • Fix the guile-compiled path in the environment file so that GnuCash can start on Windows.
  • Convert the graphical reports to use GnuCash's rational numbers instead of doubles for better accuracy.
  • KNOWN PROBLEMS:
  • test-import-bayes built with autotools intermittently fails at line 381, where the returned value is 1 instead of the expected 6.

New in GnuCash 2.7.1 (Oct 30, 2017)

  • Bugs fixed:
  • Bug 789298 - Prompt for file history update leads to crash during startup.
  • Some other fixes:
  • GnuCash no longer crashes when loading price data.
  • The Options Dialogs will appear over the application window instead of wherever Gdk decides is coordinates 0, 0 on the display.
  • Owners were not correctly linked to invoices in the SQL backend.
  • Building from a tarball with python enabled now works.
  • Fix Reconcile dialog always showing a 0 ending balance.
  • Fix the book being always marked dirty at startup if it contained any scheduled transactions.

New in GnuCash 2.7.0 Pre (Oct 18, 2017)

  • 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 with the newer API 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. (Geert Janssens, Robert Fewell, and John Ralls)
  • There's a new CSV importer largely rewritten in C++, adding new features including the ability to re-import CSV files exported from GnuCash. (Geert Janssens)
  • Data file directories are now located appropriately to the operating system's conventions by default. It's still possible to overried with the environment variable GNC_DOC_PATH, which replaces GNC_DOT_DIR in earlier versions of GnuCash. (Geert Janssens)
  • 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. This will make your file unreadable by previous versions of gnucash. There's a new editor 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. (All from Robert Fewell!)
  • ^ Numerics are rewritten to allow for more significant digits. The old 6-digit-maximum fraction will be a 9-digit maximum by 2.8. there is still some cleanup required before the limit can actually change. (John Ralls)
  • New Income GST Report and some improvements to the Transaction report. (Christopher Lam)
  • Chart Reports appearance is improved (Carsten Rinke)
  • For Developers:
  • The code is reorganized into a core library directory, libgnucash, and applications-specific directory, gnucash. Code lifted from other projects is in borrowed. (Geert Janssens)
  • 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. Object properties stored using KVP are generally accessible using g_object_get and g_object_set; there is also a more direct access available via qof_instance_get and qof_instance_set. (John Ralls and Aaron Laws)
  • KVP and GUID are reimplemnted in C++ using boost::variant and boost::UUID respectively (Aaron Laws).
  • 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. (John Ralls)
  • Distribution tarballs can now be built with CMake as well as Autotools. (Rob Gowin)
  • 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.
  • A new Russian translation of the Guide has been started by Dmitriy Mandel. Downloads in the usual formats are available at https://code.gnucash.org/docs/ru/; the HTML is at https://code.gnucash.org/docs/ru/gnucash-guide/.
  • There will be no unstable documentation release at this time. There have been very few relatively minor changes to the master documentation branch; those documents may be viewed in the nightly builds at https://www.gnucash.org/docs.phtml.
  • KNOWN PROBLEMS:
  • On Microsoft Windows starting the AQBanking Setup Wizard crashes GnuCash.
  • test-import-bayes built with autotools intermittently fails at line 381, where the returned value is 1 instead of the expected 6.

New in GnuCash 2.6.18-1 (Sep 25, 2017)

  • Between 2.6.17 and 2.6.18, the following bugfixes were accomplished:
  • Bug 644898 - Calendar of upcoming SXes has various display issues.
  • Bug 647805 - Interdependent report options fail to change state after using apply for a limited number of times.
  • Bug 771246 - Set Invoice/Bill items date correctly from imported CSV.
  • Bug 784284 - unifying "Clear the entry." tooltip on Loan Repayment Calculator.
  • Bug 787479 - Persian currency symbol is doubled.
  • Some other fixes not associated with reported bugs:
  • Added Catalan Accounts for the New Account Assistant
  • Fixed errors from loading init.py.
  • Run the python bindings tests in a CMake build.
  • Implement dist, distcheck, and uninstall targets for CMake build.
  • Translation Updates: Farsi, German, Japanese, Latvian, Serbian, Spanish

New in GnuCash 2.6.17-1 (Jul 3, 2017)

  • BUG FIXES:
  • Bug 776396 - Foreign currency reports, amounts are not aligned correctly Improve the styling of the table element used for foreign currencies in the Balance sheet report so they end up aligned with the other currencies.
  • Bug 780845 - link in github repo README file needs correction/editing
  • Bug 780889 - Split-register transactions result in invalid price:type "transaction" Add 'transaction' to the schema and document it in gnc-pricedb.h.
  • Bug 781476 - Online Banking Wizard Crashes for Windows (gnucash-on-windows)
  • Bug 781634 - Alert on missing account currency when opening account Also separate translatable commodity namespace strings from those used in storage: There is now a separate GNC_COMMODITY_NS_ISO_GUI label to be used everywhere the user needs to read 'Currency namespace'. It's currently set to 'Currencies' and can be translated.
  • Bug 782274 - Transactions produced by Transfer Funds or Process Payment dialogs sort to beginning of day and do not honor NUM field for custom sorting.
  • Bug 782897 - Stock Split Assistant crashes GnuCash if you enter a New Price and that already exists in the Price DB
  • Bug 783095 - gnucash-2.6.16 segfaults on startup
  • Bug 784317 - typo in 'import customers or vendors from text file' dialog
  • Bug 603379 - Prevent changing some Account Options if it has transactions Relax the account type change restrictions. In the new implementation account types can't be changed for an account with splits:
  • if the change woud force a commodity change e.g. from type STOCK to BANK as the former takes only non-currency commodities and the latter only currency.
  • for immutable accounts
  • At the time of this commit the following account types are considered immutable:
  • Accounts Receivable
  • Accounts Payable
  • Trading accounts
  • SOME OTHER FIXES NOT ASSOCIATED WITH REPORTED BUGS:
  • Fix crash on Mac when trying to create or edit an AQBanking User. (gnucash-on-osx)
  • Properly define the template namespace rather than using a local string everywhere
  • Correctly store time64 0 in the SQL backend: The SQL backend ignored time64 0 when saving dates. time64 is a perfectly valid timestamp (1970-01-01 00:00:00) and should be stored.
  • Clamp time64 values passed to GDateTime functions to the valid range. Fixes a bug reported on the mailing list wherein a date of 0000-00-00 in a MySql database would crash GnuCash. Such dates may come from a bad conversion of 1970-01-01 or from a crash.
  • Add XSU to iso-4217-currencies
  • Some banks include additional purpose information for a transaction in non-swift-section 17 (aka transaction text). If available, this transaction text is put in front of the other purpose texts to provide full transaction information. Adds a preference to control import behaivour of transaction text.
  • TRANSLATION UPDATES:
  • Arabic, Japanese, Serbian, Spanish, Turkish

New in GnuCash 2.6.16-1 (Mar 27, 2017)

  • Bug fixes:
  • Bug 516920 - Calendar Pop up disappears of the left side.
  • Bug 603379 - Prevent changing some Account Options if it has transactions.
  • Bug 670731 - Future Value not working with Loan Scheduled transaction.
  • Bug 739571 - Matching imported transactions doesn't indicate previously matched entries.
  • Bug 759934 - Tiny reports in HiDPI (workaround).
  • Bug 766630 - gui dialog for sorting transactions to accounts after aqbanking import broken.
  • Bug 767032 - Bad invoices from importing "posted" needing currency conversion Only auto-post if the posted_to account name is valid, there's no currency conversion, or the invoice customer's currency matches the A/R account currency. Tell the user what happened with a dialog.
  • Bug 773945 - Select Security Dialog Not User Friendly: Add a new namespace “ALL NON-CURRENCY” to the namespace (type) selector lists on the security picker and price editor which causes the commodity list to include all non-security commodities.
  • Bug 776247 - PriceEditor thinks Currency XXX is an actual currency and tries to retrieve prices for it.
  • Bug 776380 - Gross value of bills charged back instead of net value.
  • Bug 776494 - Wrong menu entry in Tip of the day.
  • Bug 776517 - Trial Balance Report: Total Debits Issue re $0 Commodity Accounts and Price Source Mode Set to "Nearest in Time" or "Most Recent".
  • Bug 776564 - Creating a scheduled transaction from an existing transaction does not include the notes field.
  • Bug 778208 - Scheduling 2nd, 3rd or 4th Wed doesn't seem to work.
  • Bug 779217 - Transactions rounded to 5 decimal places when opening file.
  • Bug 779411 - jqplot fixes for piechart and syntax error.
  • Bug 777875 - Reports with charts are flickering in certain circumstances.
  • Bug 777949 - Accounts implicitly created in ledger attempt creation twice.
  • Some other fixes not associated with reported bugs:
  • Use "Billing Information" as in other biz modules.
  • Update local symbol for MUR.
  • Online banking: Add output of bank messages that might occasionally be received.
  • Allow only date entry for opening balances on new accounts.
  • Enable taxinvoice to show net price: Add gncEntryGetNetPrice. Create an option in taxinvoice to either use gncEntryGetNetPrice or gncEntryGetPrice.
  • Make SQL full-DB sync safer and clean up automatically if it's interrupted by a system or network failure.
  • Extend account color to all columns in the account hierarchy page.
  • li>
  • Localize the word “CURRENCY” used in the commodity namespace selectors.
  • Documentation:
  • Bug 755174 - How to handle commission when buying and selling securities.
  • Bug 769457 - More info re register views.
  • Bug 774658 - Add warning to delete lot before deleting a cap gain/loss transaction.
  • Bug 777318 - Restructure Business Features Chapters.
  • Bug 777287 - add tips on changing reconcile status of all transactions in reconcile window panes.
  • Remove section "Changing the Register View" as better handled in Guide section 4.2
  • Glossary: Transactions have at least 2 splits

New in GnuCash 2.6.15 (Dec 19, 2016)

  • Translation Updates: Dutch, German, Serbian
  • Bug fixes:
  • Bug 340991 - Default price source for reports not good.
  • Bug 516920 - Scheduled trasaction calendar popup off screen.
  • Bug 685329 - Crashes on non-existent date.
  • Bug 769124 - Australian (GMT-10) OFX transactions imported have previous day's date.
  • Bug 770364 - Sign of Value in Lots in Account window seems inconsistent.
  • Bug 771246 - Set Invoice/Bill items date correctly from imported CSV.
  • Bug 771617 - Build fails because test test-report-utilities is sensitive to time of day/timezone.
  • Bug 772313 - Invalid DOCTYPE in report generation.
  • Bug 772369 - Replace use of guile's internal date/time functions.
  • Bug 772382 - Date off-by-one after DST change.
  • Bug 772484 - Segfault on Transaction edit.
  • Bug 773808 - Export Report Crash.
  • Bug 774237 - FTBFS under some timezones (eg. GMT-14).
  • Bug 775368 - "Average cost" price source problem.
  • Bug 775385 - Confusing error message which includes the text "file file".
  • Bug 775567 - Importing QIF file from PayPal crashes GnuCash 2.6.14 on Windows XP service pack 3.
  • Bug 775912 - Tips of the Day shows content only once very 3 times.
  • Some other fixes not associated with reported bugs:
  • Fix report html header
  • Changed the default value for date format in Business Options
  • Change report resizing when not in view
  • Add an image for the report tab
  • Show empty business splits in lot viewer
  • Business check & repair - correct lot invoice state
  • When juggling business splits while scrubbing set both value and amount
  • Update progress bar while running Check & Repair
  • Remove lot from account while deleting the lot
  • Ensure that the Namespace combo box is initialized to a valid iter.
  • Fix CSV importer to handle GMT + 13 Timezone (New Zealand Daylight
  • Fix broken german account template 'Kontenrahmen für Wohnungswirtschaft'.Time).
  • 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.15 we're pleased to also release a new version 2.6.15 of the companion Help and Tutorial and Concepts Guide.
  • Bug 115461 - Highlight need to select Account Type when adding new stock account.
  • Bug 397135 - Hidden Accounts Show in ComboBox.
  • Bug 633590 - Add a Reports Chapter to the Tutorial and Guide.
  • Bug 743671 - Add glossary to Tutorial and Guide.
  • Bug 755174 - Document using Lots to create investment capital gains transactions.
  • Bug 770371 - Add note to documentation regarding Sort order options.
  • Bug 775592 - General Rewrite of Guide Chapter on Multiple Currencies.
  • Bug 775919 - Change Documentation of contributors.
  • Update German Translation (Mechtilde Stehmann)
  • Fix resolution of screenshots.

New in GnuCash 2.6.13-1 (Jun 28, 2016)

  • Bug fixes:
  • Bug 637004 - Optionally allow customer and vendor address info to display.
  • Bug 736352 - Expense Voucher adds tax automatically.
  • Bug 748983 - Crash after opening money transfer dialog twice.
  • Bug 760021 - File "Save As" to an existing file...overwrites without warning.
  • Bug 761672 - Transfer made to placeholder account.
  • Bug 764248 - saved-reports-2.4-backup line endings unconventional.
  • Bug 764871 - Crash starting gnu cash.
  • Bug 765859 - The budget reports missing in Hungarian edition
  • Bug 766028 - crash on manual addition of price entry in Price Editor.
  • Bug 766200 - Three-up printing does not position the third check properly. A few bugs in the calculation of check positions while printing checks have been corrected. If you manually edited the check formats to compensate for these positioning errors in previous versions of gnucash, you may have to undo these changes. Please check this before printing your next check.
  • Bug 766688 - Minimal fraction of BYN should be 1/100.
  • Bug 766960 - gnucash-make-guids fails to run due to hardcoded paths.
  • Bug 767824 - Some UTC timezones incorrectly recognized on Windows 7
  • Some other fixes not associated with reported bugs:
  • The gnc_gui_refresh_all statement in gnc_book_options_dialog_apply_cb causes the 'apply' and 'OK' buttons to be set to sensitive on the open Book Options dialog in some circumstances; this commit causes them to be reset to insensitive, as they should be.
  • Check printing: make logic easier to follow.
  • Fix adjust_sql_option_string test on Windows.
  • Don't try to compile test_adjust_sql_options on windows, it won't link.
  • Fix the CMake build by linking gnc-backend-dbi for test-backend-dbi.
  • Improved adjust_sql_options_string, added tests.
  • Improve quickfill performance on huge registers.
  • Mac Localization: Prefer the country to the language for fall-back locales, on the theory that in countries where multiple languages are in use similar date and number formats will apply regardless of language, and especially that the default currency will be the same regardless of language. Also ensure that the specified language is in the list passed to gettext; the net effect of which is that the user will effectively get the requested localization behavior.
  • Update README to refer to wiki Submitting_Patches and regarding pull request policy.

New in GnuCash 2.6.12 (Mar 28, 2016)

  • Update translations from the Translation Project.
  • Bug 719904 - Decide payment type only based on the account type involved (origin/maint)
  • Factor out a convenience function to retrieve a (business) owner starting from a transaction
  • Provide option to print checks directly from the payment window
  • Check printing: extract address from invoice/bill for payment transactions
  • Move some utility functions from gui code to engine
  • Update POTFILES.in after previous commit
  • Merge reg and reg2 variant of print check dialog back into one file
  • Bug 693342 - Print (bottom) prints to middle for 3-check pages
  • Revert "Bug 118391 - Long currency names untranslated"
  • Disable debug message that got enabled by accident last year
  • Bug 687504 - Not possible to reset an invoice/bill counter format
  • Bug 642292 - General Ledger report - 'Primary Sort Key' value is not persistent
  • New Xcode, new errors, sigh.
  • Bug 482186 - Customer and vendor report for partners who get invoiced/paid in foreign currency show total labeled with the symbol of the default currency.
  • Bug 728074 - Posting bill converts currency to itself using 0 rate
  • Bug 118391 - Long currency names untranslated
  • Open correct xea directory if user has worked around bug 725296
  • OSX: Get the locale for account trees from the OS instead of setlocale().
  • Fix doxigen comment after changed const behaviour
  • Bug 620281 - Adding reversing transaction to bill transactions creates undeleteable transactions
  • Refuse to void read-only transactions.
  • Bug 754209 - Bills can be posted multiple times from "find bill" search results - follow up
  • Bug 733164 - Command-H Invokes Help->Help Contents
  • Set the transaction currency during auto-completion.
  • Correctly re-value splits when the transaction currency is changed.
  • Use PRIi64 instead of PRIx64
  • Bug 728722 - Setting number format details appear wrong in Help, section 10.3.4. Counters Book Options Tab
  • Bug 754209 - Bills can be posted from "find bill" search results even if bill is already posted and results in extra $ posted to A/P
  • Bug 720934 - Barcharts with many data points have overlapping x-axis labels
  • Add Tip Of The Day re using multiple windows to do comparisons - Bug 762800
  • Fixup previous commit
  • Bug 742352 - Budget Summary section does not show expense totals
  • Bug 760015 - guile support is automagic
  • Bug 763146 - Invalid exchange rate is recorded when entering multi-currency transaction
  • Ensure numerator is positive before checking if the value is < 1.
  • Ensure price is set when the amount is entered and user doesn't tab out.
  • Test rounded values, but don't store them, to minimize jitter in prices.
  • Check price_source precedence first to save computation.
  • Ensure that xferData->price_source is always set correctly.
  • Fix double semicolon.
  • Remove price-direction code for to default currency and alphabetic order.
  • Extract functions update_price and new_price from create_price.
  • Fix typo in HTML header.
  • Bug 763111 - commodities prices editor creates hidden db entries
  • Bug 763279 - GnuCash has empty reports
  • Bug 722996 - Cannot add stock price on Price Editor
  • Minor tweaks to Bayesian feature flag
  • Make gnucash 2.7+ rerun bayesian data conversion whenever needed
  • Allow matching accounts to be found also by their GUID which will be used in newer versions. The default behaviour is still to create new entries under the account fullname.
  • Introduce GUID_BAYES feature flag
  • Bug 762971 - Duplicating multiple invoices results in invoices without an ID number
  • Bug - 761172 Importing invoices posts incorrect values.
  • Memory leak in gnc-gsettings.c
  • Close some more memory leaks
  • Close some memory leaks identified by valgrind.
  • Bug 744157 - Tip about subaccount is confusing
  • Updated translations after TACG translation
  • Update the list of Finance::Quote methods
  • Fix a typo
  • Add comment about replacement of 10000 BYR by 1 BYN
  • cmake - Increase test pass rate on Windows
  • Fix Typos in doc/README.translator.txt
  • cmake - Add ability to run tests under CMake
  • Don't skip test under clang when using Guile 2.x
  • Change test to use LIBDIR to find dynamic libraries
  • Add TEST_PATH variable to test
  • Fix Travis build error.
  • Pretty up the SLR error dialog.
  • Bug 754856 - scheduled transaction fails without warning
  • Bug 754856 - scheduled transaction fails without warning.
  • Revert "Use python 3.3 VirtualEnv on travis."
  • Use python 3.3 VirtualEnv on travis.
  • [cmake] Reflect commit db0fd2 (Replace the TP pt.po ...) in CMake build.
  • Align gtkmm test suite with recent template updates
  • Revert "Fix typo"
  • Fix segfault in utest-gnc-csv-model Teardown.
  • Fix new cdv-import tests for running in a separate build directory.
  • adding BYN currency according to ISO 4217 ammendment #161 http://www.currency-iso.org/en/shared/amendments/iso-4217-amendment.html
  • csv-imp - add parse test for semicolon separated strings
  • csv-imp - new parse test starting from an in-source string struct
  • csv-imp - use GNC_TEST_ADD_FUNC for test_parse_date as well
  • csv-imp - test_gnc_csv_new_parse_data doesn't use the fixture
  • Match calls to g_string_chunk_new with g_string_chunk_free
  • csv-imp - don't free the parse data just created for testing
  • csv-imp - move tests for gnc_csv_load_file to separate function
  • csv-imp - test for gnc_csv_new_parse_data and skip gnc_csv_parse_data_free
  • csv-imp - use setup and teardown for test_gnc_csv_parse
  • Mark static functions as not testable
  • Test Date fixup
  • csv-imp - add test for parse_date
  • csv-imp - add basic test for gnc_csv_parse
  • csv-imp - add initial (empty) test framework
  • Set fixed time values so test results won't depend on the time the test is run
  • Adjust GError usage to comply with the GError rules
  • Cumulated minor spelling fixes in comments and other non-code texts
  • Some indentation adapations
  • Hide owner abstraction from user oriented gui
  • Add small utility to print message catalog statistics.
  • Replace the TP pt.po with the directly-contributed pt_PT.po
  • Bug 723689 - Splash screen doesn’t set the floating hint.
  • Bug 760711 - Non-ASCII characters not shown in Report Name when a report is created with 2.6.11
  • Fix a mistyped error message in configure.ac
  • Supplement to commit 837b258: Add ChangeLog.2015 to dist_doc_DATA
  • Fix reset of PKG_CONFIG_PATH to unset variable.
  • Tweak handling of COPYING file
  • Support CMake 3.0 for Debian Jessie
  • Bug 756469 - CSV Invoice Import - Items with double quote escape not imported.
  • CMake build changes for maint
  • Add ability to build GnuCash with CMake
  • Bug 760529 - Get Quotes updates value just once per day
  • Added some comments.
  • Update Romanian translations

New in GnuCash 2.6.11 (Jan 12, 2016)

  • The following bugfixes were accomplished:
  • Bug 680104 - Scheduled Tranaction formula not calculated when variables are mixed with constants.
  • Bug 756335 - When importing, date selection causes exit crash.
  • Bug 759570 - Postponing a repeating SX skips over the instance.
  • Bug 759674 - GNUCash crashes when importing invoices or bills with delimited import.
  • Bug 759859 - Reconcilation does not convert transactions' currency to the main one making reconcilation impossible.
  • Bug 760052 - missing flag translatable in Custom Report.
  • Bug 760079 - Translations comments: Remove translatable flag from placeholder labels in dialog date-close.
  • Bug 760398 - Cancelling the creation of a duplicate bill or invoice doesn't reset the invoice number counter
  • Some other fixes not associated with reported bugs:
  • Add Account.AssignLots to python bindings.
  • Allow panel that provides information about TXF categories to be adjusted by the user in the Income Tax Information dialog under Edit->Tax Report Options.
  • Minor improvement to information provided about TXF categories in the Income Tax Information dialog under Edit->Tax Report Options.
  • Translations Updated: German.

New in GnuCash 2.6.10 (Dec 21, 2015)

  • New Translation: Portugal Portuguese.
  • Translations Updated: Arabic, German.
  • Bug fixes:
  • Bug #627692 - Report options, Account Selection, "select all" => not all accounts selected, only visible ones.
  • Bug #646129 - Account selection in reports: 'Select Children' doesn't actually select children if they are collapsed.
  • Bug #662126 - Cannot create scheduled transaction for dividend reinvestment.
  • Bug #742321 - Reset temporary prefs on application startup.
  • Bug #745101 - No warning when quitting with unsaved file. When the file was first created without the New File Assistant.
  • Bug #746155 - Reports: html-acct-table prepend-row! & prepend-col! unknown variables Fixed following the suggestions by Tony Kerns.
  • Bug #754192 - Since Last Run Dialog asks for security price even if not needed.
  • Bug #754533 - No Account Templates Error Patch.
  • Bug #755781 - Files with copyright but no grant of license.
  • Bug #756335 - When importing, date selection causes exit crash.
  • Bug #756339 - Prices table not updated.
  • Bug #756720 - configure fails to find libgoffice 0.10-10 (0.10.18-1) While we can't support libgoffice 0.10 because that would require gtk3 we can improve the error message if no libgoffice 0.8.x version is found.
  • Bug #757378 - Display the user-defined display symbol for non-currency commodities.
  • Bug #759224 - illegal dates in stock transactions cause corrupt file.
  • Bug #759294 - New the billing term are not saved during invoice editing. Prevent editing the terms from the invoice view.
  • Some other fixes not associated with reported bugs:
  • Revert the automatic inversion of prices whose value is less than 1.0. This corrects several regressions from 2.6.8 and 2.6.9; it proved to be to big a change for a maintenance branch and will re-appear in the next major release.
  • Fix test failure due to trying to parse nanoseconds, which we don't actually use.
  • Use @SHELL@ instead of hardcode /bin/sh in test shell scripts. This is a workaround for MacOS X 10.11's System Integrity Protection.
  • Improve the revert action: Ask user confirmation and don't ask to save before reverting.
  • Have a more generic mechanism to set Save action's sensitivity and use it for Revert action as well.
  • Avoid assert in gnc_split_register_balance_trans if default_account is null.
  • Performance improvements in the Cash Flow report.
  • Add new account chart for Duch small businesses.
  • Add some developer documentation.

New in GnuCash 2.6.9 (Oct 7, 2015)

  • Bug fixes were accomplished:
  • Bug #755920 - Crash (Freeze) when using File Save As.. in Windows OS Fix termination of the loop so that it's not dependent upon Linux paths
  • Bug #755778 - Test failure: test-engine: duplicate test case paths.
  • Bug #755781 - Files with copyright but no grant of license.
  • Translations Updated: German.

New in GnuCash 2.6.8 (Sep 28, 2015)

  • The following bugfixes were accomplished:
  • Bug #724738 - Value in "Display Symbol" field not saved.
  • Bug #746998 - "Months Remaining" spinbox in Loan Assistant is non-obvious. Provide a tool tip explaining what it's for.
  • Bug #747795 - Attached file not found. MSWin only. ShellExecuteW("open") doesn't decode http escapes on file: IRIs.
  • Bug #749077 - wrongfully invalidating any account save location/path starting with ".gnucash"
  • Bug #752035 - Transaction Report "Filter By" Not Always Working.
  • Bug #752204 - .gml2 files are modified during build. Since there's no real benefit to saving the files most of the time, don't, but leave the save line in, commented out, to make it easy to write new files if necessary.
  • Bug #752879 - Finance::Quote TZ Date::Manip config variable is deprecated.
  • Bug #753146 - free(): invalid pointer on duplicate transaction when Use Split Action Field for Number is set.
  • Bug #754617 - Gnucash should use PKG_PROG_PKG_CONFIG
  • Bug #754764 Budget Doxygen documentation - gnc-budget-view.c.
  • Some other fixes not associated with reported bugs:
  • Clean up deprecated Gtk functions to make eventual migration to Gtk3 easier.
  • Improve storage of prices in the price db so that there is only one per day and a preference list determines what sources can overwrite existing prices. Prices are stored in the direction that the price is greater than one to preserve precision for large prices that would be small in the other direction.
  • Correct the Stock, Bond, Market Index, and Mutual Fund account types to ASSET in the template accounts. STOCK and MUTUAL are not compatible with currency.
  • Clean up some non-fatal asserts.
  • Developer documentation improvements.
  • Fix backend Sync errors not being reported.
  • Restore Date::Manip as an explicit dependency in gnc-fq-update; it's required for gnc-fq-helper, not Finance::Quote.

New in GnuCash 2.6.7 (Jun 29, 2015)

  • Changes:
  • Between 2.6.6 and 2.6.7, the following bugfixes were accomplished...
  • Bug #681225 - income statement displays blank base currency entries when trading account transactions are present during the report period.
  • Bug # 734183 - Set value to zero before calling gnc_exp_parser_parse.
  • Bug #739271 - pt_BR translation wrong word "limpesa". Should be "limpeza".
  • Bug #740955 - Correct general journal and general ledger reports to properly handle Use-Split-Action-For-Num option in File->Properties.
  • Bug #744858 - Update exchange rate on bill only possible once per session (after unpost/repost).
  • Bug #746163 - Custom register colors (table rows) not recognized from .gtkrc-2.0.gnucash file.
  • Bug #746792 - process payment in foreign currency leads to broken equation.
  • Bug #746873 - Gnucash asks sql passwords before wallet password.
  • Bug #746977 - scm ccache files should be in pkglibdir not pkgdatadir.
  • Bug # 747300 - SQL backend missing from most recent DMG?
  • Bug #747377 - Fix overly restrictive input validation for IBAN of SEPA transfer.
  • Bug #747812 - unset LDFLAGS when unsetting CFLAGS.
  • Some other fixes not associated with reported bugs:
  • Fix hidden panes in lot viewer.
  • Fix some abs() errors from new clang and gcc versions.
  • Fix dbi driver detection on linux and similar.
  • Improve "Auto pay on posting" message.
  • Enable travis continuous integration tests on the gnucash repository.
  • Translations Updated: Azerbaijani, Basque, Catalan, Chinese (Simplified), Czech, Danish, Dutch, German, Kinyarwanda, Persian (Farsi), Portuguese, Slovak, Swedish, Turkish, Ukrainian.
  • New Translations: Serbian
  • Documentation:
  • Concurrent with the release of Gnucash 2.6.7 we're pleased to also release a new version 2.6.7 of the companion Help and Tutorial and Concepts Guide.
  • Only minor changes have been made since the last documentation release.

New in GnuCash 2.6.6-4 (Apr 6, 2015)

  • BETWEEN 2.6.5 AND 2.6.6, THE FOLLOWING BUGFIXES WERE ACCOMPLISHED:
  • Bug #619899 - Use normal gettext or intltool toolchain also for scm files
  • Bug #649933 - Creating cash flow report takes a long time
  • Bug #672760 - Postponed transaction applied invalid date
  • Bug #721196 - CSV. Cannot import lines with empty fields for deposit or withdrawal in bank transaction download.
  • Bug #723409 - Incorrect symbol for Turkish lira
  • Bug #727466 - The symbol of CNY changed to 元
  • Bug #727647 - "gncInvoiceGetTotal" is not read-only function?
  • Bug #731889 - guile 2 exports different autoconf macros than what is expected
  • Bug #733685 - Fancy Date Format doesn't stick
  • Bug #738749 - Broken account template en_GB/uk-vat.gnucash-xea.
  • Bug #739228 - Advanced Portfolio report: wrong calculation of Value Correctly convert the value into the report's currency.
  • Bug #739584 - gnucash-2.6.4 segfaults regularly on transfer .
  • Bug #740471 - Applying payment to invoice Segmentation fault
  • Bug #741228 - "Red line" threshold applies to Template scheduled transactions
  • Bug - Compilation fails because of creating .gnucash
  • Bug #742089 - Decimal places. Set the debit and credit cells' print_info to the account so that the decimal places are correct for the commodity.
  • Bug #742332 - German tax report uses US tax quarters and not real quarters.
  • Bug #742624 - Scheduled Transaction Editor results in immediate segfault
  • Bug #743609 - Add configure options to disable libsecret detection
  • Bug #743807 - Stops critical error messages.
  • Bug #745265 - Segfault in generate_statusbar_lastmodified_message on Windows. Actually change the default date format without AM/PM
  • Bug #745354 - Enhance the Find Transactions dialog. Make it possible to define search criteria that consist of multiple terms anded or ored together. Use this to define a new criterion to look for specified text in any of the Description, Notes, or Memo fields
  • Bug #746517 - gnc-sql-backend.c compile fails with -Werror=format-nonliteral. Use GCC pragma to disable the warning in the one place that trips it
  • Bug #746977 - scm ccache files should be in pkglibdir not pkgdatadir.
  • SOME OTHER FIXES NOT ASSOCIATED WITH REPORTED BUGS WERE ACCOMPLISHED:
  • Let CPAN and ActiveState package managers take care of dependencies instead of explicitly installing a few of them directly.
  • Correct the number field displayed in the reconcile window to correspond with the source specified in File->Options
  • Fix some bugs found by SWIG version 3.0.5. Prior to version 3.0.3 SWIG silently ignored invalid preprocessor directives
  • Scrubbing Improvements, including avoiding a potential infinite loop.
  • Remove build and run of no-longer-existant intl-scm/guile-strings.
  • Rewrite gnc-test-env in perl. This eliminates another guile dependency in the build chain.
  • Switch from guile to xml to manage our iso-currencies source file
  • Numeric values with more than commodity smallest fraction get silently dropped.
  • Update US Income Tax data to reflect minor changes for 2014
  • Advanced portfolio should respect report date when looking for other income/expense
  • Improve income and expense reporting in advanced portfolio report
  • Accept prices of the form n.nnne[+-]nn, i.e. with an exponent. An example requiring this is currency conversion from IDR to USD
  • Added Lithuanian language business accounts
  • Fix crash when running check & repair on an open AP/AR register
  • TRANSLATIONS UPDATED:
  • Danish, Dutch, German, Spanish
  • New Translations:Maithili, Manipuri(Bengali Script), Manipuri (Meetei Mayek Script). Thanks to The Centre for Development of Advanced Computing (C-DAC), Pune, India. Translation Team Leader: Chandrakant Dhutadmal

New in GnuCash 2.6.6-1 (Mar 31, 2015)

  • Bug #619899 - Use normal gettext or intltool toolchain also for scm files
  • Bug #649933 - Creating cash flow report takes a long time
  • Bug #672760 - Postponed transaction applied invalid date
  • Bug #721196 - CSV. Cannot import lines with empty fields for deposit or withdrawal in bank transaction download.
  • Bug #723409 - Incorrect symbol for Turkish lira
  • Bug #727466 - The symbol of CNY changed to 元
  • Bug #727647 - "gncInvoiceGetTotal" is not read-only function?
  • Bug #731889 - guile 2 exports different autoconf macros than what is expected
  • Bug #733685 - Fancy Date Format doesn't stick
  • Bug #738749 - Broken account template en_GB/uk-vat.gnucash-xea.
  • Bug #739228 - Advanced Portfolio report: wrong calculation of Value Correctly convert the value into the report's currency.
  • Bug #739584 - gnucash-2.6.4 segfaults regularly on transfer .
  • Bug #740471 - Applying payment to invoice Segmentation fault
  • Bug #741228 - "Red line" threshold applies to Template scheduled transactions
  • Bug - Compilation fails because of creating .gnucash
  • Bug #742089 - Decimal places. Set the debit and credit cells' print_info to the account so that the decimal places are correct for the commodity.
  • Bug #742332 - German tax report uses US tax quarters and not real quarters.
  • Bug #742624 - Scheduled Transaction Editor results in immediate segfault
  • Bug #743609 - Add configure options to disable libsecret detection
  • Bug #743807 - Stops critical error messages.
  • Bug #745265 - Segfault in generate_statusbar_lastmodified_message on Windows. Actually change the default date format without AM/PM
  • Bug #745354 - Enhance the Find Transactions dialog. Make it possible to define search criteria that consist of multiple terms anded or ored together. Use this to define a new criterion to look for specified text in any of the Description, Notes, or Memo fields
  • Bug #746517 - gnc-sql-backend.c compile fails with -Werror=format-nonliteral. Use GCC pragma to disable the warning in the one place that trips it
  • Bug #746977 - scm ccache files should be in pkglibdir not pkgdatadir.
  • Some other fixes not associated with reported bugs were accomplished:
  • Let CPAN and ActiveState package managers take care of dependencies instead of explicitly installing a few of them directly.
  • Correct the number field displayed in the reconcile window to correspond with the source specified in File->Options
  • Fix some bugs found by SWIG version 3.0.5. Prior to version 3.0.3 SWIG silently ignored invalid preprocessor directives
  • Scrubbing Improvements, including avoiding a potential infinite loop.
  • Remove build and run of no-longer-existant intl-scm/guile-strings.
  • Rewrite gnc-test-env in perl. This eliminates another guile dependency in the build chain.
  • Switch from guile to xml to manage our iso-currencies source file
  • Numeric values with more than commodity smallest fraction get silently dropped.
  • Update US Income Tax data to reflect minor changes for 2014
  • Advanced portfolio should respect report date when looking for other income/expense
  • Improve income and expense reporting in advanced portfolio report
  • Accept prices of the form n.nnne[+-]nn, i.e. with an exponent. An example requiring this is currency conversion from IDR to USD
  • Added Lithuanian language business accounts
  • Fix crash when running check & repair on an open AP/AR register
  • Translations Updated: Danish, Dutch, German, Spanish
  • New Translations:Maithili, Manipuri(Bengali Script), Manipuri (Meetei Mayek Script). Thanks to The Centre for Development of Advanced Computing (C-DAC), Pune, India. Translation Team Leader: Chandrakant Dhutadmal

New in GnuCash 2.6.5-6 (Dec 27, 2014)

  • The primary reason for this release is that the problems which plagued 2.6.4 on Microsoft Windows have been resolved.
  • We've also fixed the following bugs:
  • 736359 - Date of 0000-00-00 in MySQL backend crashes GnuCash.
  • 737815 - Graphs Cannot Be Generated Correctly.
  • 738113 - Crash on reload budget report.
  • 738477 - WebKit is broken on Win32.
  • Other fixes that weren't reported as bugs:
  • Pre-compile scm files when building with guile 2.
  • Fix build-time hard-coded path introduced by the guile2 compile changes
  • Prevent crash when standards-report dir doesn't exist.
  • QIF Import crashes when closing via the 'X' button on the last page
  • Omit extension on calls to load-extension.
  • Use one common base directory to store all scheme files and modules.
  • Guile module structure cleanup.
  • Harmonize variable names used to refer to guile modules in all makefiles.
  • Add missing comma in call to gtk_tree_store_set(). Thanks to Frédéric Bière for finding and fixing the problem.
  • Revert to using numerical indexes for the x-axis on bar charts.
  • Aqbanking: Add display of aqbanking subaccountid in initial correspondence setup.
  • Aqbanking online SEPA transfer: Allow transfers without BIC, only IBAN. Also add IBAN checking.
  • Aqbanking transfer: Make IBAN and BIC text entry fields filter digits or alphas correctly as needed.
  • Adapt german SKR03 account template to updated tax rate.
  • Allow GUILE1_PROGS as m4 name. Patch by [email protected].
  • Add sv_AX, sv_FI, zh_HK, and zh_TW to Makefiles & configure.
  • Updated Translations:
  • Assamese Indic, Danish, German, Gujarati Indic, Italian, Kannada Indic, Konkani Latin,

New in GnuCash 2.6.5-1 (Dec 20, 2014)

  • Bug #736359 - Date of 0000-00-00 in MySQL backend crashes GnuCash.
  • Bug #737815 - Graphs Cannot Be Generated Correctly.
  • Bug #738113 - Crash on reload budget report.
  • Bug #738477 - WebKit is broken on Win32.
  • Bug #741418 - Freeze unposting bill, 100% cpu usage.
  • SOME OTHER FIXES NOT ASSOCIATED WITH REPORTED BUGS WERE ACCOMPLISHED:
  • Pre-compile scm files when building with guile 2.
  • Fix build-time hard-coded path introduced by the guile2 compile changes.
  • Prevent crash when standards-report dir doesn't exist.
  • QIF Import crashes when closing via the 'X' button on the last page.
  • Omit file extension on calls to load-extension.
  • Use one common base directory to store all scheme files and modules.
  • Guile module structure cleanup.
  • Harmonize variable names used to refer to guile modules in all makefiles.
  • Add missing comma in call to gtk_tree_store_set(). Thanks to Frédéric Bière for finding and fixing the problem.
  • Revert to using numerical indexes for the x-axis on bar charts.
  • Aqbanking: Add display of aqbanking subaccountid in initial correspondence setup.
  • Aqbanking online SEPA transfer: Allow transfers without BIC, only IBAN. Also add IBAN checking.
  • Aqbanking transfer: Make IBAN and BIC text entry fields filter digits or alphas correctly as needed.
  • Adapt german SKR03 account template to updated tax rate.
  • Allow GUILE1_PROGS as m4 name. Patch by [email protected].
  • Add sv_AX, sv_FI, zh_HK, and zh_TW to Makefiles & configure.
  • Translations Updated:
  • Danish, German, Italian
  • New Translations:
  • Assamese, Gujarati, Kannada, Konkani (Latin).

New in GnuCash 2.6.4-5 (Oct 15, 2014)

  • Fixed "Bug 738375 - Cannot start aqbanking Wizard", which was due to a Mac-only bug in a dependent library.

New in GnuCash 2.6.4 (Sep 29, 2014)

  • Bug fixes:
  • Bug #120199 - Incorrect sort order in "Sort by Statement Date".
  • Bug #434462 - register color don't work correct with system theme color.
  • Bug #509263 - Since Last Run dialog won't allow resizing of Status column.
  • Bug #610202 - gnucash silently closes when no X11/$DISPLAY is present.
  • Bug #630638 - 'Process payment' should allow to select equity accounts for payment
  • Bug #671615 - French: 'New Customer' button in Find Customer dialog is translated to 'Nouvel onglet'
  • Bug #688965 - Page Up, Page Down keys cause GnuCash to hang.
  • Bug #692249 - Add Help button in Custom Reports dialog box,
  • Bug #695240 - mortgage wizard empty table.
  • Bug #707243 - Hard-coded font colors in account tree?
  • Bug #711440 - Tab labels have different background colour than containing gui element.
  • Bug #711567 - Cannot save a custom report if a path contain diacritic chars
  • Bug #719457 - Template for Home Mortgage Loan isn't properly nested.
  • Bug #719457 - Template for Home Mortgage Loan isn't properly nested.
  • Bug #720427 - Review of french account templates
  • Bug #720934 - Barcharts with many data points have overlapping x-axis labels.
  • Bug #722140 - Add option to control inclusion of trading accounts in cash flow report.
  • Bug #722200 - configure script does not pick the correct am_cv_scanf version.
  • Bug #723145 - Currency display does not respect locale.
  • Bug #723442 - Report Options - Report Name too short.
  • Bug #725054 - Re-numbering sub accounts crashes the program.
  • Bug #725366 - Formula Parsing Error with Scheduled Mortgage Transactions
  • Bug #726449 - Budget Barchart does not show up if running sum is selected.
  • Bug #726888 - cancel button is available on all pages of assistant.
  • Bug #727130 - Crash when newline in Report Title
  • Bug #727338 - Translation and Account file updates for Latvian.
  • Bug #728103 - Invoice opened does not contain the Job under circumstances.
  • Bug #728717 - Ubuntu 14.04 - GNUcash crashes on close.
  • Bug #728841 - XML backend does not always store KVP slots.
  • Bug #729157 - Bill Term discount days are allowed to be more than due days.
  • Bug #729497 - Saved Report Configuration selection window resize.
  • Bug #730255 - Python bindings: Assigns bill entries to non-existant invoice.
  • Bug #731519 - The fix sets the upper limit before it sets the value of the end row spin button.
  • Bug #733107 - Search for reconcile status doesn't work right.
  • Bug #733283 - [PATCH] Loss of fractions when importing OFX investment transactions.
  • Bug #733506 - (ForwadDisableQIF) The forward button is not active even though a file is selected.
  • Bug #734183 - Set all of the denominators correctly on the currency values.
  • Bug #736703 - Scheduled transaction are registered without credit/debit.
  • Bug #732545 - gnucash-2.6.3 segfaults when started.
  • Some other fixes not associated with reported bugs were accomplished:
  • Add business lot scrubbing to Check & Repair->All/This transaction(s).
  • Add context to generic translatable string. This was suggested in bug 671615 by Jérôme Rapinat.
  • Add scrub function to reduce the amount of lot links used. Only lot links between two or more document lots must remain. All lot links between document and payment lots can be scrubbed.
  • Add some date format checking and make sure generated dates are the correct user selected format, not always locale format.
  • Allow the ability to skip rows when importing transactions.
  • Always use the price we display to calculate the current value of an account.
  • Better period totals formatting in Invoices.
  • CSV Export: factor out function to generate regular expression.
  • CSV Import transform macro into function.
  • Convert ISO-8859-1 account chart templates to UTF-8.
  • Correct txf output to use a minus sign, rather than parenthesis.
  • Fix document type dispay for credit notes on owner report.
  • Fix test-backend-dbi segfault with libdbi-0.9.0.
  • Handle the case of scrubbing a lot link between two non-document lots.
  • Make scrub in lot viewer scrub business lots using the new scrub functions.
  • Move account type checking functions into the engine.
  • Prevent older gnucash versions from opening a data file if previously unhandled kvps are used.
  • Python bindings. Add function gncVendorNextID, complementary to gncCustomerNextID.
  • Re-enable loading and saving gnucashdotdir/accelerator-home on OSX.
  • Refactor OS-specific ifdef to reduce code duplication, which results in reduced risk on typos in either branch
  • Refactor get_pay_split into gncOwnerFindOffsettingSplit. In this form it can be used both for scrubbing lot links and for adding new payments
  • Refactor gncOwnerReduceSplitTo out of reduce_biggest_split. It can now be used both for scrubbing and when applying payments
  • Refactor gnc_doc_doc_link into gncOwnerSetLotLinkMemo and move it. It can now be used both for scrubbing and when applying payments
  • Refactor scrub_doc_pay_link into scrub_other_link and make it more generic. It can now be used both to: move a payment to a document lot (its original use case) and move a refund to a payment lot or the other way around
  • Relax requirements for booleans in invoice line, accepting 'y' as well as 'yes', 't' as well as 'true'.
  • Replace C++ reserved words for future compatibility with C++.
  • Rework assistant csv import regex code to eliminate the mandatory dummy field.
  • Rewrite invoice payment logic to fix lot link proliferation.
  • SQL: Save commodity namespace changes from template.
  • Set default currency for French account chart templates.
  • Tweak the get_pay_split function to prefer the best possible match.
  • Use libsecret if available since gnome-keyring has been deprecated.
  • Use more significant digits for SX function returns.
  • Use same default setting for quotes in csv import and export.
  • Widen the scope of the subsplit merge scrub function. When used in a strict sense it will only merge splits that are marked as subsplits of each other. In relaxed mode it will merge any split two splits that are both in the same lot and the same transaction.
  • double_to_gnc_numeric: Return overflow error immediately on invalid input.
  • Ensure that the root account is saved to the SQL backend.
  • Chart-of-Account Templates Updated: Latvian, French, Swedish
  • Translations Updated: Brazilian Portuguese, Dutch, Konkani (includes replacing Raman character set with Devangari), Latvian, Marathi, Tamil, Russian
  • New Translations: Bodo, Hindi, Kashmiri, Telugu, Urdu. Thanks to The Centre for Development of Advanced Computing (C-DAC), Pune, India. Translation Team Leader: Chandrakant Dhutadmal

New in GnuCash 2.6.3 (Mar 31, 2014)

  • Bugs Fixed:
  • 721196 - Cannot import lines with empty fields for deposit or withdrawal in bank transaction download.
  • 721654 - Style sheet preference is not saved for a Preconfigured Report
  • 723975 - Dialog box displayed during QIF import has placeholder text
  • 724995 - Gnucash crashes due to assertion failed when opening sqlite file
  • 711567 - Cannot save a custom report if a path contain diacritic chars
  • 726430 - Python: account.getName() raises TypeError
  • 726891 - segmentation fault on session.end()
  • Other Changes:
  • Fix resizing of columns in budget view
  • Fix guile 2 stack overflow errors for large reports
  • Fix basis calculation for FIFO or LIFO when less than one lot is sold.
  • Aqbanking: SEPA transfer improvements - fix origin labels and add possibility to edit sender's name.
  • Prevent crash reported in Bug 711567.
  • Translations Updated: Catalan, Danish, Italian

New in GnuCash 2.6.2 (Mar 3, 2014)

  • Mike Alexander has completed his reworking of the Advanced Portfolio Report.
  • Bug fixes:
  • Bug #497831: Can't change the date of a transaction with certain locales
  • Bug #721472: Fix Reconcile description column.
  • Bug #721677: Customer Summary does not include inactive customers
  • Bug #722123: Zero price entry added to price database on stock purchase
  • Bug #722903: Poor performance of account hierarchy, budgets, reconcile window,...
  • Bug #723051: Implement gncCustomerNextID in Python bindings.
  • Bug #723373: Don't create any sx in the since-last-run dialog if this is a read-only file
  • Bug #723644: Make sure that gnc_search_invoice_on_id() returns the correct type of object.
  • Bug #724211: Can't select march 6 date on register
  • Bug #724426: Errors in account plan
  • Bug #724578: Problems clearing incompletely paid invoices
  • Bug #724753: Saved Multicolumn Report Error
  • Bug #725131: Adding Payments to Fancy Invoice

New in GnuCash 2.6.0 (Jan 3, 2014)

  • Add new files to POTFILES.in
  • A couple more edits.
  • Update Last Translator and removed cruft.
  • Update Amercan -> British translations.
  • Update gnome appdata file to pass validity check
  • Update French translations thanks to Sébastien Villemot.
  • Update Lithuanian translation.
  • Prevent gnc-numeric overflow in advanced portfolio report
  • Update Italian translation.
  • Fix compile warning introduced in r23602
  • Don't create a second account hierarchy page when cancelling the Hierarchy Assistant
  • Make "New Book Options" dialog transient for its caller where possible
  • Add plugin example to plugins
  • Use same name for dialog and menu related to preconfigured reports
  • Make the date help string translatable
  • Fix some warnings while creating a new book
  • Prevent account hierarchy assistant from opening a second account hierarchy upon completion
  • GnuCash should sanitise UTF-8 before serialising files
  • Update .gitignore to include recently added config macros.
  • Load old version 1 XML files without crashing.
  • The Tip of the Day preference isn't getting saved
  • Drop double blanks from gschema strings.
  • Reset Warnings dialog: show translated warnings
  • Fix up and update strawberry perl URIs
  • Suppress other register's blank transactions from General Ledger
  • Asset account's "total" value should use most recent transaction prices
  • Extract-method on gnc_split_register_auto_calc
  • Rewrite apparently confusing comment.
  • Update Dutch translation, copied from the Translation Project.
  • Updated Lithuanian translation provided by Aurimas Fišeras.
  • Add missing macros to distribution and silence libtool warning
  • there was still one "_JP" although currently commented out
  • Change guide and help translation directories

New in GnuCash 2.5.10 Dev (Dec 16, 2013)

  • Changes since the last release have been entirely bug fixes and translation updates, though not all bug fixes had associated bug reports. Note that WebKit 1.2 is now tested for in configure; it had been 1.0, but GnuCash wouldn't actually compile with versions earlier than 1.1.5.
  • Bug Fixes:
  • Bug 336843 - Attach images/files/urls to transactions: Disable the "show attachment" menu item if the transaction has no attached file.
  • Bug 619478 - Build warning in html/gnc-html-webkit.c
  • Bug 627575 - Stylesheet names with non-alphanumeric characters and saved-reports
  • Bug 630578 - current date instead of posting date in exchange rate, when posting a bill
  • Bug 632588 - Scrub doesn't fix missing currency
  • Bug 639371 - Welcome Sample Report reports wrong version and has a broken report
  • Bug 653594 - wrong amount printed on checks
  • Bug 705714 - QIF Import - File selection pop-up is not on top during qif import
  • Bug 708526 - GnuCash Crashes when opening About page: Downgrade the error to a critical warning.
  • Bug 711317 - Indian Rupee Symbol appears as "?" marks
  • Bug 715123 - Post invoice problem, cannot unpost
  • Bug 719481 - GnuCash report crashes with Guile2
  • Bug 719521 - Missing radio button in "Edit security" dialog
  • Bug 719726 - Click on File -> Open seg-faults
  • Bug 720235 - Python bindings should load environment file just like gnucash does
  • Fix Python tests to no longer require gsettings schemas installed.
  • Fix the CuteCash (Qt GUI based) build
  • Multi-currency "Post invoice" improvements
  • Protect gnc_mktime against bad dates.
  • Protect against null account pointers in a couple of place to avoid asserts.
  • Qif Import Assistant: Don't disable the whole dialog, just the Forward button
  • QifImport: Fix crash from attempting to import an empty file.
  • Add the ability to search for transactions that are, or are not, book closing entries.
  • Move customer, bill, and invoice importers form the business menu to the file menu.
  • Rename some directories in src/import-export so that the gschema.xml.in.in files within them don't have pathnames that are too long for tar when the GnuCash version exceeds 5 digits (e.g., 2.5.10).
  • Translation Updates: Italian, German, French
  • New Translations: Arabic!

New in GnuCash 2.5.9 Dev (Dec 2, 2013)

  • Bug #644044: Lots: SQL backend loses link to Gain/Loss Txn
  • Bug #704506: Connection loss to mysql after resume from hibernation
  • Bug #707311: Tax Invoice fails to open when using guile 2
  • Bug #710871: Python site-packages not found when not installed to default location using --prefix
  • Bug #710905: Column withs, visibility, order and sort order not saved and restored
  • Bug #711289: Win32 time zone handling is inconsistent between 2.4 and 2.5
  • Bug #712299: Tax Invoice with guile 2 doesn't display currency symbols
  • Bug #715041: Crash opening a file when a file is already open.
  • Bug #715184: Bill or Invoice; a new Bill gives a new Invoice
  • Bug #719471: Unused commodities saved to XML file
  • No Bug Report: Work around libxml2 gzip archive alignment bug which occasionally prevented compressed XML files from opening.
  • Translations updated: German, Italian

New in GnuCash 2.5.8.1 Dev (Nov 19, 2013)

  • Bug Fixes:
  • 707311 - Tax Invoice fails to open when using guile 2
  • 709589 - make check fails with guile 2
  • 711289 - Time Zone Handling is Inconsistent between 2.4 and 2.5
  • Partial fix that may also correct 699997
  • 711294 - Gnucash repeatedly ask associated income account when import qfx file.
  • 711493 - Fix unselected account that is NULL
  • Translations Updated: German

New in GnuCash 2.5.7 Dev (Nov 4, 2013)

  • Register2 is now a configure option. Default builds, including the Windows and Mac All-in-one packages, will use only the old register. We've decided that it isn't ready for
  • general use and the principal author doesn't have time to make it ready in time for a 2.6 release.
  • Frédéric Perrin has contributed a change to display currency symbols whenever they are known and unambiguous.
  • Geert Janssens has cleaned up most of the issues from the Initial GSettings preference changes. There's a new configure option, --with-xdg-data-dirs to overide the environment and defaults if necessary.
  • Building Gnucash now requires Automake version 1.11 or later.
  • Configure will abort if --enable-ofx is set but no libofx configuration files are found. Budget periods may no longer set to values greater than the budget's num_periods, and the budget options descriptions will wrap.

New in GnuCash 2.5.6 Dev (Oct 9, 2013)

  • Changes Since the Last Unstable Release:
  • Bug #63362: Unable to create "reversing transaction" again after it is removed with the SQL backend.
  • Bug #654196: "Make check" fails when built with --enable-dbi and no dbi backends are installed. Now fails in configure, as it should.
  • Bug #674862: 2038 Bug with Postgres and MySql backends.
  • Bug #682280: Bill/Invoice importer fails to save the imported item to the SQL backend.
  • Bug #684670: Interest amount calculation is wrong in SQL backend. The backend wasn't storing the already-elapsed periods.
  • Bug #699450: New budgets cause Account Name column to expand until display bigger than screen. – Robert Ratliff
  • Bug #708700: Make check fails from missing glib bits – Frédéric Perrin
  • Translations updated: Dutch

New in GnuCash 2.5.5 Dev (Sep 10, 2013)

  • Bug Fixes:
  • 334939 - Account Report and Account Transaction Report are apparently the same, but different. Change menu entry for the single transaction Account Report from "Accout Transaction Report" to "Account Report - Single Transaction"
  • 603183 - Equity statement shows incorrect changes
  • Add function gnc:account-get-total-flow to report-utilities.scm. This function filters the splits from the source to the target accounts and returns a commodity collector.
  • It does NOT do currency exchanges. Export the new function gnc:account-get-total-flow from report-utilities.scm. Apply the new function gnc:account-get-total-flow for the "Withdrawal" calculation.
  • 629136: Move the code that updates the sensitivity of immutable page actions from gnc_main_window_switch_page to gnc_main_window_generate_title. Patch by Guilherme Salgado.
  • 696492: Change report name in menu or in report output to be consistent Change the register name to "Accout Transaction Report" when the register type is GENERAL_LEDGER, INCOME_LEDGER, or default in function gnc_reg_get_name(). Patch by Carsten Rinke.
  • 704039 time zone is not respected on windows Author: Kuang-che Wu
  • 704056 - Online Banking (Online Actions) does not appear in Action menu
  • Ensure that all functions are exported to the dll.
  • 704525 - When you have a mix of chart types (bar charts and pie
  • charts). Add new procedure gnc:substring-replace-from-to similar to gnc:substring-replace, but offers the possibility to replace substrings in a range of occurances.
  • Translations updated: Lithuatnian

New in GnuCash 2.5.4 Dev (Aug 6, 2013)

  • Revert the Bitcoin support until the patch is rewritten for a better UI
  • Bug #703897: Functions which can return NULL always return a Python object (Tom Lofts)
  • Bug #704183: OFX file import tries to match online_id against ACCTID[space]ACCTKEY even when ACCTKEY is empty. (G. Paul Ziemba)
  • Bug #704185: GnuCash 2.5 doesn't build on FreeBSD
  • Translations updated: Catalan, Danish, Italian, and Lithuanian
  • Register Rewrite Update:
  • Restore the delete-transaction-up/down feature
  • Replace the filter-and-sort model with a qof query
  • Date and Cursor improvements
  • Localization Improvements:
  • Make the CSV Account import table header tranlatable
  • Fix translation of table headers
  • Fix dash-marker usage
  • Other translation issues

New in GnuCash 2.5.3 Dev (Jul 8, 2013)

  • Register Rewrite Update:
  • Better commodity/currency handling
  • Sanity checks when converting TreePaths
  • Posted dates now work like old register
  • Enable online actions in Register2
  • Customized report settings have been redesigned so that it's no longer necessary to change the report's name to save it, multiple versions of the same report can be saved (the names are automatically numbered) using Save As, and saved reports can be easily updated by clicking Save.
  • Faster versions of several reports by Peter Broadberry
  • It's now possible to post multiple invoices from the find dialog. GnuCash was crashing if you searched for all unposted invoices, selected two or more of them, and posted them. This was because the list of invoices to be posted changed while it was being processed. As part of fixing this the prompt for post date, due date, etc. will only be given once, not once per invoice.
  • One can now reorder un-numbered transactions within a date by drag and drop or with arrow keys.
  • Bug #703272 list of windows in OSX Windows menu
  • Bug #699686 Startup dialog windows should be top level (Simon Arlot)
  • Bug #701670 (OSX)Command-V in reconcile window pastes data in register
  • Bug #702899 Fix crash in scrubbing code
  • Bug #703305 Fix crash on entering a non-valid date
  • Bug #691587 Catch scheme exceptions when converting error messages
  • Bug #669964 Fix txn creation that forgot to set a txn currency
  • Bug #672595 After creation of a new book, make sure to set it to dirt
  • Bug #700582
  • Translations updated: Danish, Italian, German

New in GnuCash 2.5.2 Dev (Jul 8, 2013)

  • Register Rewrite Update:
  • This update fixes the following:
  • Corrects the default behaviour for share/price/value changes
  • A scrolling issue
  • Column resizing
  • Wrong title spelling
  • Allows the mouse to change reconcile / type flags
  • Change transaction paste
  • And adds the following features:
  • Adds commit of transaction by change of transaction by cursor keys with some changes to used functions
  • Added commit of transaction by enter
  • Changed the account accelerator function
  • Changed treeview to fixed height mode
  • Allow mouse to change reconcile flag
  • Allow changes when in sub account view
  • Reduce view default title lengths
  • Add missing help text
  • Changes default find on account page to the new view

New in GnuCash 2.5.1 Dev (May 7, 2013)

  • Robert Fewell has continued his work on the GtkTreeModel register. It is now the default for account registers.
  • Geert Janssens has begun work on replacing the GConf configuration management tool with the newer GSettings API from recent versions of GLib.
  • Tom Lofts contributed the beginning of a RESTful Python API to enable access to minimal account, invoice, and customer information in a JSON format.
  • Christian Stimming fixed the very long wait time for the UI to become responsive when running the import matcher.
  • Also some bug fixes, package upgrades, and minor improvements.

New in GnuCash 2.4.13 (Apr 23, 2013)

  • OFX file handling was broken

New in GnuCash 2.5.0 Dev (Apr 10, 2013)

  • Robert Fewell has contributed a rewrite of the register (Gnucash's primary interface window) to use the GtkTreeModel (select "register 2" from the menu) as well as a new CSV import/export facility for account trees.Take care not to try to open a single account in both the old and new registers at the same time. Doing so will crash Gncuash
  • Gnucash now requires Gtk+-2.24 and GLib-2.26. We've removed most of the dependencies on libraries obsoleted by project Ridley and will be in position to move to Gtk+-3.x once the GtkTreeModel register window work is complete. This means that Gnucash 2.5 requires Debian 6, RHEL 6, or one of the more aggressive distributions like Ubuntu.
  • Gnucash now works with Guile-2.0.
  • The business module has been revamped and we introduce some new features:
  • Credit Notes
  • Customer and Vendor Overview Pages
  • Customer Overview Reports
  • Existing Transactions may be reassigned as invoice payments
  • Support for duplicate invoices
  • Improved invoice and bill handling: Post, print, or duplicate multiple items directly from a search results list
  • Better invoice printing setup: Choose a default invoice report as a preference
  • Reorder invoice entries in the invoice window
  • The "Num" field is now optionally per-split rather than per-transaction.
  • Gnucash can print to a PDF for reports and invoices
  • Account "Filter By" settings can be saved and recalled
  • Account entries in the Chart of Account can be colored
  • When opening a locked "book" one now has the option of opening it read-only. Note that Gnucash is still a single-user program and that the database backends are still used only as a data store.
  • Gnucash is no longer subject to the "2038" bug, so that 30-year mortgages can now be entered correctly.
  • By agreement of all authors we have relicensed Gnucash to the Gnu Public License Version 2 or later from just Version 2.

New in GnuCash 2.4.12 (Apr 1, 2013)

  • New versions of Gtk+, GLib, Pango, and related backend packages. Most significantly this appears to have fixed the crash after trying to quit Gnucash with an un-saved file.
  • Updated AQBanking to 5.0.25.
  • Gnucash.app is now signed, so Mountain Lion users shouldn't have to do anything special to run it as long as Gatekeeper is set to allow.

New in GnuCash 2.4.11 (Oct 12, 2012)

  • [22080]Fix make dist for Swedish accounts files Reported by Robert Fewell
  • [22260]Rewrite the tip-of-the-day parsing logic Since commit 22246, an empty tip of the day appears in the list of tips. This is due to the way the file is parsed. This commit rewrites the parsing logic to avoid such problems. As an added bonus, you can now add newlines in tips by using '\n' in the string.
  • [22248]Bug #678848 - Customer/Vendor reports off-by-one on start date Additionally removes a superfluous module load
  • [22246][PATCH] Fix tip-of-the-day with gcc-4.7 When making the text file tips-of-the-day, GnuCash expects 'gcc -E' to preserve at least one of the whitespace lines between entries. However, this relies on behavior of 'gcc -E' that isn't actually part of the spec, and is a historical accident. And it changed in gcc-4.7, such that all the whitespace is removed. Work around this by explicitly adding a newline in the sed expression. Pre gcc-4.7 there will be two newlines between tips, but this has no impact on the tip displaying code. Patch by Bill Nottingham
  • Bug #631611 - Check printing fails because fonts are too tiny on Windows Lesson learned: don't use cairo_identity_matrix on a cairo_t managed by GtkPrintContext. It kills a number of transformations that were already configured by GtkPrintContext. On Windows this breaks proper scaling.
  • Fix a double free crash when the required features dialog is shown
  • Bug #611853 - Entering a 2-digit year in the opening balance tab results in "Parsing Error" This bug was already fixed on trunk as part of the patch that converted the new account dialog from glade to gtkbuilder. This commit extracts only the parts required to fix bug #611853
  • [22224] Bug #671323 - Scheduled monthly transactions lose "except on weekends" setting when using MySQL
  • [22229] Bug #678214 - GnuCash fails to open some post-processed XML files Patch by Daniel Harding
  • Bug #677570 - Error creating net worth linechart report Remove doubled file contents. Changeset 21628 has already done this for trunk.
  • Add formatting to table. Add cell padding to columns in table.
  • Bug #677570 Error creating net worth linechart report Revert "Added user settable line width and data point markers to net worth" Removed entire commit in order to make report work. Details of error still need to found so that the feature can be reinstated. This reverts r21644. Note, this feature works in trunk.
  • [22197]Add EXTRA_CFLAGS for compiling on Win7 Configure gets confused by some gcc builtins on Win7: Disable them so that configure finds the right settings.
  • Add EXTRA_CFLAGS to inst_gnucash compile line so that cflags can be added by custom.sh
  • [r22171][Bug 674862] Gnucash crashes after creating a new SX using the Mortgage Wizard and SQL Backend This addresses the crash reported on Ubuntu with Postgres by Krzysiek. The stack trace he posted showed the crash was the result of dereferencing a NULL GDate*, and this change protects against that. It still doesn't address the more basic problem of why on Win32 and with mysql and pgsql (but not SQLite3) the mortgage wizard is writing corrupt dates.
  • [r22188][Bug #674862] Gnucash crashes after creating a new SX using the Mortgage Wizard and SQL Backend Special-cases dbi_result_get_datetime returning -1 to work around a bug in MinGW's implementation of gmtime().
  • [22157] Bug #674494: Fix version and method of downloading isocodes in win32 packaging Patch by Mark Jenkins
  • [r22154][Bug 674283] With mysql crash after deleting accounts included into a budget Never assume a pointer is NULL unless you set it to NULL!
  • [22097] [Win32 build] Update gwenhywfar/aqbanking versions.
  • [22090] Revert r22083, "Adapt German account templates to updated tax rate." A pure renaming is not the correct solution, I've been told.
  • [22083] Adapt German account templates to updated tax rate.
  • [22067] Remove potentially abandoned file (that has a GPLv2-only license, too). The last contributors here, Josh Sled and Chris Lyttle, have put their code under "GPLv2 and GPLv3" license, see r22063, but I'm too lazy to look up the copyright holders on the file as a whole so I'd rather remove it. If someone wants to add a similar packaging file again, feel free to do so, but please don't use GPLv2-only code to do so.
  • [22066] Bug #670727: Extend license of 3 files to be GPLv2 and GPLv3. This has been granted by the gnumeric copyright holders. See https://bugzilla.gnome.org/show_bug.cgi?id=670727#c7
  • [22063] Bug #670727: Clarify license of a file to be GPLv2 and GPLv3 gnc-dense-cal.h: License remark was forgotten in r19507, but the author Josh Sled agreed on GPLv2 and GPLv3 licensing in his gnucash-devel message on 2010-08-28.
  • Fix skipping of alternate rows when there is a customer id mis-match and fix gtk_entry_set_text errors. Fix already exists in trunk.
  • Revert "Fix skipping of alternate rows when there is a customer id mis-match." Doesn't fully work. Will redo. This reverts commit 63c4689a36aa042564d7c29b40ee970533e3d81f.
  • Fix skipping of alternate rows when there is a customer id mis-match. Fix already exists in trunk.
  • Fix translatable strings. Patch provided by Aurimas Fišeras.
  • Properly handle Windos end-of-line markers in determining file versions.
  • [21905] Bug #668196: Fix installation of python bindings With this patch, files are correctly installed together. Patch by Vincent Untz.
  • [22018] Bug 632931: Advanced Portfolio: total gains does not include income - new column layout as suggested on bugzilla. Total return is now an amount (not a percentage), and includes income as well as capital gains. New column "Rate of return" gives the percentage. - changed default value for "Ignore brokerage fees when calculating returns", the default is now to NOT ignore the fees. Patch by Sebastien Alborini
  • [22012] Bug #669494 - Swedish account plan provided (BAS 2012) Additionally this commit adds some required changes to get the Swedish account plans to actually show up in GnuCash (both BAS and the earlier committed Swedish small business account plan)
  • [22011] Fix a GtkWarning in the Account Hierarchy Druid which occurs if the Example Account file doesn't contain a long description.
  • Fix translatable strings code for tax invoice report.
  • Fix translatable strings code for some reports. Patch provided by Aurimas Fišeras.
  • [21978] Move the features tests to its own source files. This allows for - other engine consumers to use the features test as well (think CuteCash, python bindings,...) - a central point for developers to check for feature definitions - a central point to manage all feature related code
  • Windows: Update Gtk+ to 2.24.10

New in GnuCash 2.4.7.2 (Oct 10, 2011)

  • Gnucash now supports Lion (MacOSX 10.7), thanks to an upgrade of Gtk+ to 2.24.6

New in GnuCash 2.4.7 (Jul 4, 2011)

  • Bugs fixed
  • Bug #588035: Correct keyboard shortcut for Actions > Split menu item.
  • Bug #621573: Simplify explanation of entering a split transaction and remove comment about register bug (no longer applicable).
  • Bug #627266: "Steps to enable On-line price updating" doesn't say to install Finance::Quote
  • Bug #630652: Expand and add GnuCash Other Assets
  • Patch author: Tom Bullock (tbullock at nd dot edu)
  • Bug #632244: Removed the Preferences section from guide and updated on help. Keep old screenshots and source credits. Delete all references to new preferences such as Printing tab. Delete all references to new SQL backend and default .gnucash extension.
  • Bug #633066
  • Bug #633385: Restructure section 2.2 Data Entry Concepts to only include basic info on files, accounts, and transactions.
  • Minor cosmetic edits to section 2.1.3 and a concept clarification to section 4.2.2.
  • Author: David (sunfish62 at yahoo dot com)
  • Input: Yawar Amin (yawar dot amin at gmail dot com) and Tom Bullock (tbullock at nd dot edu)
  • Bug #634075: Replace all usage of the term `druid' with `assistant' in the GnuCash Guide.
  • Author: Mike E (mikee at saxicola dot idps dot co dot uk)
  • Translation updates
  • New and updated German version of guide document, by Juergen Hoewener.
  • New or improved content
  • guide: Explain concept behind What's New section
  • guide: Mention important changes in What's New section
  • guide: Mention platform support only for current stable version
  • guide: Change/remove references to old versions
  • New figure for Printing tab under Preferences.
  • Add Budgets and Other Assets chapters to the overview.
  • Author: Tom Bullock (tbullock at nd dot edu)
  • Fix sequence of tenses grammar error
  • Author: Tom Bullock (tbullock at nd dot edu)
  • Minor spelling and grammar fixes.
  • Internal, non-user visible changes
  • Add chapter getting-help to Makefile.
  • Separate getting-help chapter to validate getting-started xml file.
  • guide: Add entities for stable and unstable series
  • guide: Add single-quote entity definitions
  • Replace all usage of the words `GnuCash' or 'Gnucash' with the 'app' entity. Patch by Yawar Amin
  • Added markup to GnuCash program name
  • Remove old file that collides with existing one in case-insensitive filesystems.
  • Delete guilabel tags below section titles with same wording (redundant).
  • Delete note about debit and credit effects on asset accounts because it's
  • effectively the same as note `More on Debits and Credits' at the end of Section 3.2.2 (Income and Expense Accounts).
  • Replace GnuCash name with defined app entity.
  • Use tip tags for tips.
  • Use an xref tag for a reference.
  • GnuCash docs: merge revisions 19151,19307,19312-19313,19386,19455,19460,19472-19473,19479-19480,19482-19483 to 2.2 branch
  • guide: Remove 2.3+-specific info

New in GnuCash 2.4.6 (May 30, 2011)

  • Preserve selection around the call to gtk_editable_set_position. This lets us drop the racy gnucash_sheet_select_data_cb, which fixes problems with lost input.
  • Add a gnc_quartz_set_menu call to main_window_new() so that newly created windows get their menus on the mac menu.
  • Fix up the Mac shutdown process to give Gnucash a chance to clean up without spewing critical errors about the main loop already running (because of calling gnc_shutdown in an event handler).
  • Bug #650241: Fix style for aging table in owner reports that has changed (after defining doctype) Prevent inheriting the parent tablestyle for aging table in owner-report.
  • Bug #650757: Fix Easy & footer styles output wrong tags iso preventing HTML 4.01 Transitional validation This patch removes the wrong tags and closes the center tag in the footer and easy stylesheets.
  • Bug #645221: Patch to show the headline as an h3 across all stylesheets The attached patch makes sure that the title fonts set through the options menu behaves consistently across all style sheets.
  • Bug #620123: Patch to make account name a header cell, iso td in trial-balance
  • Bug #648554: SQL backend doesn't correctly save taxable flag on bills.
  • Bug #650163: Fix Technicolor style that outputs wrong tags instead of
  • Bug #650139: Fix missing doctype preventing HTML 4.01 transitional validation Exported reports lack a document type, preventing HTML validation. When exporting this may lead browsers to incorrectly read the reports generated by GnuCash.
  • Bug #650138: Style plain: Fix incorrect tag around preventing HTML 4.01 transitional validation
  • Bug #649992: Let owner-report aging table include due date / post date options in aging. The attached patch patches the owner report to: *Allow a choice between the use of Due Date and Date Posted *Report with the current bucket
  • Bug #649608: Skip non-enabled Scheduled Transactions for Future Txn report
  • Update Slovak translation, copied from the Translation Project.
  • Bug #646729: Create the lockfile with at least read write user permissions
  • Bug #647945: Add sanity check to hopefully fix crash when running custom reports
  • Bug #644897: Correctly link in libgncmod-report-gnome.la to avoid linking against an installed version.
  • Bug #646268: Fix missing GWEN_SYNCIO initialization.
  • Bug #644762: Deprecated __new__() call in function_class.py
  • Bug #647360: Invoice entries in expense voucher are created in old voucher, not in new one. It worked fine for customer invoices, and vendor bills, but not expense vouchers, where the feature was broken all along.
  • Bug #647242: Fix broken averaging for quarter or half-year step size
  • Bug #647316: Fix crash when deleting custom report if no backup file existed. Before deleting the backup file by (delete-file), it must be checked whether the to-be-deleted file exists, otherwise the guile procedure will crash.
  • Fix warning about NULL guid_list in xaccQueryAddAccountGUIDMatch, which caused some total amounts in reports to disappear. Apparently gnc:account-get-trans-type-splits-interval didn't watch out for empty lists of accounts, and the resulting split list somehow was bogus. Now that we check for empty account list, all is fine again. This was broken for some months by now, maybe since r20404?
  • Bug #628342 - Quick open on File menu deleted if failed
  • Bug #629156 Recently Used Filenames incorrectly displayed
  • In 2.4.6, translations for Japanese language were updated.

New in GnuCash 2.3.17 Dev (Nov 23, 2010)

  • Gnucash.app now uses Gtk+-2.20.1, which addresses many usability
  • problems with earlier versions. In particular, mouse cursor
  • placement in the register is much better.
  • AQBanking uses a new Qt4-based wizard which should be more stable
  • than the ported Qt3 wizard of previous releases.

New in GnuCash 2.3.15.3 Dev (Sep 21, 2010)

  • Cut, Copy, and Paste now work in the register pages!
  • The untranslated strings in the Gnucash and Window menus have been mostly translated, though there are a couple of languages missing because Google Translation doesn't know them. If yours is one of them, by all means send me a translation (UTF-16, please) and I'll add it in.
  • The change to the new menu integration routines meant that the
  • menu accelerators were no longer changed from using the control
  • key to using the command key. This is corrected, so Mac users will find their familiar accelerators.

New in GnuCash 2.3.15.2 Dev (Sep 8, 2010)

  • Gnucash.app now uses Gtk+-2.20.1, which addresses many usability
  • problems with earlier versions. In particular, mouse cursor
  • placement in the register is much better.
  • AQBanking uses a new Qt4-based wizard which should be more stable
  • than the ported Qt3 wizard of previous releases.

New in GnuCash 2.3.15.1 Dev (Aug 21, 2010)

  • Corrects an aqbanking build problem that caused the Qt3 wizard to be used instead of the Qt4 Wizard.

New in GnuCash 2.3.15 Dev (Aug 16, 2010)

  • Gnucash.app now uses Gtk+-2.20.1, which addresses many usability
  • problems with earlier versions. In particular, mouse cursor
  • placement in the register is much better.
  • AQBanking uses a new Qt4-based wizard which should be more stable
  • than the ported Qt3 wizard of previous releases.

New in GnuCash 2.3.14 Dev (Jun 7, 2010)

  • Cut, Copy, and Paste now work in the register pages!
  • The untranslated strings in the Gnucash and Window menus have been
  • mostly translated, though there are a couple of languages missing
  • because Google Translation doesn't know them. If yours is one of
  • them, by all means send me a translation (UTF-16, please) and I'll
  • add it in.
  • The change to the new menu integration routines meant that the
  • menu accelerators were no longer changed from using the control
  • key to using the command key. This is corrected, so Mac users will
  • find their familiar accelerators.

New in GnuCash 2.3.11 Dev (Mar 29, 2010)

  • Finder aliases have been replaced with Unix relative symbolic links in FinanceQuote Update.app and Update Dirs.app.
  • This should correct problems with the full paths in the aliases not being correctly updated during moves, but it means that if you copy them out of the .dmg, they need to reside in the same folder as Gnucash.app.
  • They will run from the .dmg, and there's really no reason to copy Update Dirs.app anyway; it needs to be run exactly once, and only if you're upgrading from 2.3.8 or 2.2.9.

New in GnuCash 2.3.9 Dev (Feb 26, 2010)

  • Gnucash will now run from paths which include spaces.
  • The Gnucash configuration files are now stored in Home/Library/Application Support/Gnucash instead of Home/.gnucash. This allows them to be seen with Finder and edited with TextEdit.
  • There is a convenient applet provided to install/update Finance::Quote.
  • AqBanking and Gwenhywfar are updated to far more recent versions from the ancient versions previously included.
  • Newer versions of Gtk+ libraries should provide slightly better OSX integration.