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 and Updated Translations: Croatian, Dutch, English (Australia), English (New Zealand), English (United Kingdom), French, German, Hebrew, Hungarian, Indonesian, Japanese, Norwegian Bokmål, Polish, Portuguese, Slovak, Spanish, Swedish
  • Documentation
  • Between 5.5 and 5.6, the following bugfixes were accomplished:
  • Bug 799237 - Dead Link
  • The following fixes and improvements were not associated with bug reports:
  • C, de:Manual:Finance-Quote: Note about Expected Time Commitment
  • C, de:Manual:Finance-Quote: Tip about 'gnc-fq-update: Command not found'
  • docbook: gnc-gui-de: Improve accelerator of menuitems
  • Link https://wiki.gnucash.org/wiki/Documentation_Translation#The_Procedure in recent gnc-gui-*.dtd files
  • Replace *dquote entities by <quote> tags
  • C:Manual:Tools:Unify main section titles and other minor improvements
  • Unify filename extension
  • C:Manual:CSV Import: show icons
  • xmlformat: Apply changes at the element 'screeninfo'
  • xmlformat.conf: new element 'screeninfo' with no entry- and no exit-break
  • New and Updated Translations: German

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 24, 2023)

  • 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

New in GnuCash 5.3 (Jun 26, 2023)

  • Bug 798967 - Cannot Save to Any Path After Upgrading to 5.2 Fix inverted if statement condition for save success flag

New in GnuCash 5.2 (Jun 25, 2023)

  • 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.
  • 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 <escape> 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 (Apr 30, 2023)

  • 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.
  • The following fixes and improvements were not associated with bug reports:
  • Add details for some CSV import options.

New in GnuCash 5.0 (Mar 26, 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.904 Unstable (Mar 20, 2023)

  • The following fixes will also appear in GnuCash 4.14:
  • Bug 798570 - Budget totals for income, expenses and remaining to budget incorrect for one specific date.
  • The following fixes are in 4.904 only and will not appear in GnuCash 4.14:
  • Bug 798558 - Irregular line spacing in Account Tree View
  • Bug 798773 - Help file launches in browser when using command-H to hide GnuCash
  • This is a MacOS-only problem. Note that for the fix to have effect you must remove the file accelerator-map from GNC_CONFIG_HOME when GnuCash isn't running.
  • Bug 798778 - GnuCash quits abruptly when attempting to edit options for certain reports.
  • Bug 798781 - Printing multiple checks prints duplicate checks
  • Bug 798787 - gnc-register-owner-option currently broken
  • The following fixes and improvements were not associated with bug reports:
  • Fix quotes codecvt to wchar_t error on Windows.
  • Budget totals for one period would be wrong when increasing the number of periods.
  • Change the handling of accelerator maps. Gtk no longer supports changing these from the menus and the save no longer writes out the accelerators that have their default values, so to assist users editing them we have generated default ones that we include with GnuCash and have disabled saving when quitting GnuCash. At startup GnuCash will check for the presence of the file accelerator-map in GNC_CONFIG_HOME and if it's not found will copy in the default one.
  • Properly parse plus signs while importing numbers in a CSV file.
  • Fix CSV price import file loading.
  • CsvImport - actually do as the warning indicates: If an invalid column is found in a preset, replace it with a NONE column, rather than not inserting a column at all.
  • New and Updated Translations: Chinese (Simplified), Croatian, Hungarian, Japanese, Portuguese, Portuguese (Brazil), Spanish, Swedish

New in GnuCash 4.903 Unstable (Mar 13, 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 you have the Accounts page ora Stock or Fund account register open.
  • 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.
  • 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.

New in GnuCash 4.902 Unstable (Mar 6, 2023)

  • The following fixes will also appear in GnuCash 4.14:
  • Bug 798748 - Transaction Notes field's value does not appear in reverse transaction.
  • Bug 798754 - Build fails with gcc 13 and glib > 2.76
  • Bug 798759 - Register widths for 'with sub-account' not saved
  • Bug 798600 - CSV import of multi-split security transactions fails to load capital gain
  • The following additional bug fixes are in unstable only:
  • Bug 782141 - Import CSV - Multi-currency support can cause rounding errors
  • Replace the column types 'Deposit' and 'Withdrawal' with 'Amount' and 'Amount (Negated)' that are conceptually applicable more widely. Also introduce column types 'Value' and 'Value (Negated)' to allow construction of splits in commodities different from the transaction currency. While Value is the number in the transaction currency, always use 'Amount' in single-currency transactions.
  • Bug 793306 - Price is not imported from CSV
  • Bug 796955 - Import CSV - Single-line two-currency transactions can't be imported
  • Bug 797033 - The CSV Importer should not obey with the "automatic digital point" setting
  • Bug 797383 - Import transaction via CSV selects the commodity as a currency, results in an invalid transaction that is uneditable, and a corrupted price database.
  • Change the transaction currency to the from or base account's parent account currency if the from or base account is not denominated in a currency. This allows to import stock transactions directly into the stock account.
  • Bug 797903 - Transaction window: The 'blue line' is always (erroneously) topmost when t. sorting order is inverted.
  • Bug 798334 - Importing transactions from CSV with space as thousand separator
  • Bug 798572 - Parse numbers with two minus signs as a positive numbers
  • Bug 798691 - Memo field not updated on CSV import using U+C
  • Bug 798732 - : Type of balance carry forward accounts for german skr49 account template fixed
  • The accounts listed are of the EQUITY type and not ASSET.
  • Bug 798749 - Fails to read gsettings on startup
  • Bug 798753 - UX improvements in new import dialog
  • Bug 798763 - "Manage Document Link" keyboard shortcut is missing

New in GnuCash 4.901 Unstable (Feb 5, 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 you have the Accounts page ora Stock or Fund account register open.
  • 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.
  • 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.
  • The report generated by the Print Invoice button on the Edit Invoice tab can now be configured as a book option at teh 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.

New in GnuCash 4.900 Unstable (Jan 10, 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 you have the Accounts page ora Stock or Fund account register open.
  • 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.
  • 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.
  • Between 4.13 and 4.900, the following bugfixes were accomplished:
  • The following fixes will also appear in GnuCash 4.14:
  • Bug 798588 - sx scrubbing was using incorrect free function
  • Bug 798625 - "Last up through report date" changed in 4.12
  • Bug 798679 - Unicode normalization should be used for comparison but not stored.
  • Bug 798702 - Crash in gnc_plugin_page_focus_idle_destroy() closing a report before it completes.
  • Bug 798705 - New: UI string mismatch: OK vs. Next
  • Bug 798717 - Reports > Business > Fancy Invoice duplicates company details
  • The following additional bug fixes are in unstable only:
  • Bug 403979 - Balance column shows only low order digits when too narrow
  • If the column is too narrow to display the whole number it will display the leading digits with an ellipsis (…).
  • Bug 769256 - Change New Account Dialog
  • Rearrange the New and Edit Account dialog to move the parent selector under the description field followed by the account type as a combo (i.e. drop down) list.
  • The following fixes and improvements were not associated with bug reports:
  • Unicode normalization for string matches is changed from NFKC to NFC. This means that font and positional variants will no longer match and is unlikely to affect most users. See Unicode Normalization Forms:Canonical and Compatibility Equivalence for the technical details.
  • The Gtk menu structure has been rewritten to use the newer GMenu/GMenuModel system. This change is mostly invisible to users, except that to keep menu accelerators (like <cmd>Q to quit) working on macOS we had to let macOS handle the events. That will affect using cut, copy, and paste in dialog boxes because the menu will intercept them. That's temporary, we hope to have it fixed for GnuCash 4.901.
  • The Finance::Quote interface is rewritten in C++. This new design will allow much better capture of diagnostics from Finance::Quote making troubleshooting problems much easier.
  • The perl Finance::Quote utilities gnc-fq-check, gnc-fq-dump, and gnc-fq-helper are removed and new commands added to gnucash-cli: --quotes info replaces gnc-fq-check and --quotes dump replaces gnc-fq-dump.

New in GnuCash 4.13 (Dec 20, 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 <GLib-GIO> 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.
  • New API: None.
  • Deprecations:
  • qof_book_get_features
  • Documentation:
  • Concurrent with the release of GnuCash 4.13 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
  • Between 4.12 and 4.13, the following bugfixes were accomplished:
  • Bug 798620 - Unable to build docs on Mageia Cauldron
  • Bug 798623 - ENG. Typo "documenation"
  • Bug 798624 - Document how to check if GnuCash is running when updating quotes
  • Bug 798645 - screens instead of WINDOWS
  • Bug 798665 - New: ENG. Typo: Unnecessary determiner "a" [2.6.1. Migrating financial data]
  • Bug 798674 - Broken link on Chapter 17. Python Bindings
  • The following fixes and improvements were not associated with bug reports:
  • Manual???? Account_Actions: Tippfehler-Korrektur
  • Review URLs and replace them by entities in all parts and languages excepting in comments or FDL appendix
  • manual, ch_Finance-Quote: fix broken entities
  • gnc-gui-struct.dtd: fix some mistakes and add entities for menuitems and menuchoice.
  • Update url-irc to "irc://irc.gimp.net/gnucash" see the email announcement
  • Partial Modernization of Manual:C:Business: Differentiation of admonitions and improvement of lists
  • Manual:C: Convert CSV assistant into <procedure>
  • Multi-split csv elaboration
  • Update app-fq-vers to "1.53"
  • Replace "Online Quote Setup" instructions in Guide by links to the manual chapter.
  • Enhance bookinfos by subtitle and titleabbrev;drop "Help" from manual. Adding titleabbrev allows yelp to display the version in its titlebar
  • Guide:C: Fix image declarations: Some were not properly scaled and others didn't appear in the List of Figures.
  • Replace all hardcoded width="510[px]" by "&img-w;" for for both components in all languages
  • Ensure our documentation is also found when gnucash is run in KDE
  • Restore draft status in gnc-docbook.dtd.
  • New and Updated Translations: German

New in GnuCash 4.12 (Sep 26, 2022)

  • Between 4.11 and 4.12, the following bugfixes were accomplished:
  • 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 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 <= depth-limit" outside add-indented-row as a first step trying to fix bug 798502.
  • [gnc-main-window] page->window is not main_window, skip warning.
  • [gnc-plugin-page-register] if account==NULL, skip AccountIsPriced because gnc_plugin_page_register_ui_initial_state may be called for non-account registers (eg the sx editor) and account may be null.
  • [gnc-account-sel.c] prepend & reverse while building acct list
  • and don't use confusing double pointer
  • Fix use-after-free in unable to save database dialog.
  • [account.cpp] restore breadth-first search for 2 functions
  • gnc_account_lookup_by_name and gnc_account_lookup_by_code were searching breadth-first and accidentally changed to depth-first in 4.7.
  • [account.cpp] gnc_accounts_and_all_descendants converted from scm
  • [CI]Work around new git security measure.
  • [balsheet-pnl] faster definition of balance lists
  • [gnc-numeric.cpp] Reduce logging level of gnc_numeric exception message because exceptions are expected in some use cases.
  • Redo icon handling in cmake
  • Using globs for file copying prevents cmake from discovering newly added icons. Writing rules that explicitly use lists of icons will fix this as a new icon in the sources will have to be added to the list and will force reparsing by cmake. We have to maintain the lists anyway for our dist target so there's actually no extra work involved for the devs.
  • [assistant-stock-transaction] better Dr/Cr imbalance error message
  • New API:
  • gnc:accounts-and-all-descendants-sorted
  • gnc-accounts-and-all-descendantsNone
  • Deprecations:
  • gnc:account-path-less-p
  • gnc:accounts-and-all-descendants
  • New and Updated Translations: Arabic, Chinese (Simplified), Croatian, English (Australia), English (New Zealand), English (United Kingdom), French, German, Hebrew, Hindi, Hungarian, Italian, Korean, Nepali, Norwegian Bokmål, Polish, Portuguese (Brazil), Russian, Spanish, Swedish, Ukrainian

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 -OFimport 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
  • Fisuppression 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 tatable changed info message.
  • [register] Checkboany value other than 0x20 (ASCII space) is true, because it can be 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 TaReport
  • 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 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 and Updated Translations: Chinese (Simplified), Chinese (Traditional), Croatian, French, German, Hebrew, Italian, Norwegian Bokmål, Portuguese, Portuguese (Brazil), Spanish, Ukranian.
  • Documentation:
  • Concurrent with the release of GnuCash 4.9 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
  • Between 4.8 and 4.9, the following bugfixes were accomplished:
  • Bug 797950 - Reconcilation docs don't mention automatic credit card payment feature.
  • The following fixes and improvements were not associated with bug reports:
  • Guide:C: Add a directory with datafiles for faster regeneration of images
  • Chapter "Online-Quotes" created.
  • Description of the installation and configuration of F::Q (moved from Help_ch_Account-Actions-xml).
  • Remove several Autotools remains
  • Drop TravisCI as we are using Github Workflows now.
  • Removed the information of HACKING file from README.
  • Add ghelp to the default target
  • At some point in the past ghelp didn't have to be built, as one could develop and test simply from the source directory. That is no longer the case so perform a build by default if ghelp is enabled.
  • New and Updated Translations: German

New in GnuCash 4.8 (Sep 28, 2021)

  • The following fixes and improvements were not associated with bug reports:
  • [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 26, 2021)

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

New in GnuCash 4.6 (Jun 27, 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 <4.5 installation.
  • [gnucash-cli] improve discoverability of export-type. Formerly, selecting --export-type EXT would dump the cryptic "Report REPORTNAME has no export code". Modify to hint the user on acceptable reports with export-code.
  • New API:
  • [report-utilities] Functions to dump splits in whole book:
  • gnc:dump-book - splits grouped by account
  • gnc:dump-all-transactions - splits grouped by transaction
  • gnc:dump-split - dumps single split
  • Rename a couple of gnc-pricedb functions that have not been used:
  • gnc_pricedb_lookup_latest_before_t64 to gnc_pricedb_lookup_nearest_before_t64
  • gnc_pricedb_lookup_latest_before_any_currency_t64 to gnc_pricedb_lookup_nearest_before_any_currency_t64
  • Add retrieval functions for price before the date given:
  • gnc_pricedb_convert_balance_nearest_before_price_t64 that retrieves the balance using the last price dated before a specified date like today for the preset value.
  • gnc_pricedb_get_nearest_before_price does the retrieval.
  • Deprecations:
  • gnc:get-start-next-year
  • gnc:get-end-next-year
  • gnc:get-start-next-month
  • gnc:get-end-next-month
  • gnc:get-start-next-quarter
  • nc:get-end-next-quarter
  • gnc:get-one-month-ago
  • gnc:get-one-month-ahead
  • gnc:account-code-less-p
  • gnc:account-name-less-p
  • Chinese (Simplified) translation moved from the Gnu Translation Project to weblate
  • New and Updated Translations: Catalan, Chinese (Simplified), Chinese (Traditional), Croatian, Dutch, French, German, Greek, Hebrew, Indonesian, Italian, Japanese, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Spanish, Turkish, Ukrainian

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 <sup> and <sub> 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_find<.
  • Does not reverse the result, thereby returning a reversed list.
  • [gnc-recurrence.c] avoid O(N^2) children traversal
  • Ensure that any GncMainWindows containing no tabs are destroyed at shutdown.
  • I18N: drop translatable flag from "xxx" dummies and remove trailing spaces from translatable strings
  • Update Form/Schedule line references for 2020 for the US Income Tax Report.
  • Fix build with glib2 2.67.x.
  • Glib headers should not be included with 'extern "C"'.
  • [balsheet-pnl] Use last day of the month prices instead of first day of next month.
  • [options.scm API] Remove canonically-tabbed parent-subtotal-mode
  • This mode had been marked experimental for 17 years and was never improved. Any saved reports with this option will be switched to parent-subtotal-mode enabled.
  • Accommodate Gwenhywfar 5.5.0 signature change for some GUI callbacks.
  • This is a breaking change that matters only in Win32. No ifdeffing because Win32 builds and dependencies are well synchronized.
  • L10N: Move translation authority for Turkish from the GNU Translation Project to Weblate.
  • Make prototypes static for autoclear unit test, fixes build on Debian Buster.
  • [income-gst-statement] trep-engine currency section moved
  • From "General" to "Currency". Missed out in 854c117 commit
  • [test-scm-utilities] test-end properly so that test failures set the exit code correctly
  • Create opening balance accounts only when there are opening balances.
  • [qif-file.scm] Don't use match as an identifier
  • It is a (ice-9 match) keyword.
  • Change the CSV export account tree header line
  • Change the headings of the CSV account export header line to be more friendly which uses existing translations.
  • [new-owner-report] Don't create empty rows on report when splits have no entry in the memo field.
  • [gnc-report] dump backtrace to console when report crashes
  • Because gnc:backtrace-if-exception, not used anymore, would dump guile backtrace to console. restore this behaviour.
  • [report-core] remove 2.6/2.4 compatibility code
  • [gnucash-commands.cpp] display report errors to stderr
  • New API:
  • [report-core.scm] create and expose gnc:render-report
  • Similar to gnc:report-run but *always* returns a 2-element list containing data OR captured_error
  • [report-core.scm] create and expose gnc:render-report
  • Similar to gnc:report-run but *always* returns a 2-element list containing data OR captured_error
  • [gnc-plugin-page-report] add gnc_plugin_page_report_reload
  • Refreshes the report
  • Deprecations:
  • [c-interface.scm] deprecate gnc:last-captured-error
  • [report-core] deprecate gnc:restore-report-by-guid
  • Gnc:get-three-months-ago
  • Gnc:get-six-months-ago
  • Gnc:get-one-year-ago
  • Gnc:get-three-months-ahead
  • Gnc:get-six-months-ahead
  • Gnc:get-one-year-ahead
  • Traverse-list->vec
  • Traverse-vec->list

New in GnuCash 4.4 (Dec 29, 2020)

  • Bug 798038 - Incorrect spelling in german account templates 'common' and 'full' part 2: AT
  • Bug 798063 - Crash when opening SX Editor

New in GnuCash 4.3 (Dec 27, 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 <Ctrl><Alt><Menu> for the notebook page selection menu and <Ctrl><Alt>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 27, 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

New in GnuCash 4.1 (Jul 26, 2020)

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

New in GnuCash 4.0 (Jul 6, 2020)

  • Major Highlights:
  • 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.
  • A symbol (paperclip for files, chain links for URLS) is now displayed in the Associations column (visible in double-line mode) in the register in place of the letters when a transaction has an association. This doesn't work on MacOS.
  • Associations may now be added to bills, credit notes, invoices, and vouchers. The actual association when present is added as a link button which is shown below the notes.
  • New type-ahead search is added to sequential search when selecting an account or an Action 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.
  • 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
  • gnucash-cli --help will display a screen listing all of the available commands and their options.
  • The GUI program, gnucash, still responds to the options it always has, though --get-price-quotes is deprecated in favor of gnucash-cli --quotes get.
  • Graphic User Interface:
  • 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.
  • On the Choose Accounts to Create page there are two drop-downs above the Account Types selector, one for language and one for country, the choices in the latter depending on the former. The default is the current locale but they may be used to select account templates from any locale.
  • 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.
  • Reversing transactions will now pop a dialog box to request a posting date.
  • Business Functions:
  • 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.
  • Importing Transactions:
  • Support for AQBanking Version 6. This is required to support new FinTS protocols for the European Payment Services Directive (PSD2).
  • The Import Map Editor (Tools>Edit Import Maps) will scan for Bayesian associations with non-existent accounts and display a dialog offering to remove any that are found. It also adds a button at the bottom of the Import Map Editor to delete them if one chooses not to use the dialog.
  • The OFX file importer can now import more than one file at a time.
  • OFX imports having balance information will now offer to immediately reconcile, passing the balance information in the file to the reconcile info.
  • The import transaction matcher window column headings 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.
  • 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.
  • Reports:
  • 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 have been added to the Income-GST report. The report's 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.
  • Budgets:
  • Optionally include the account code option in budget view.
  • Enable adding notes to budgets.
  • Account codes may now optionally be displayed in the Budget Tree View..
  • Compatibility:
  • GnuCash 4.x and later will no longer migrate old gconf settings from GnuCash 2.4.x.
  • Customization and Scripting:
  • 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.
  • Python bindings are now localized and their strings available for translation.

New in GnuCash 3.903 Unstable (Jun 1, 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 --run-report=[reportname/guid] datafile.gnucash
  • gnucash --run-report=[reportname/guid] --output-file=x.html datafile.gnucash
  • gnucash --run-report=[reportname/guid] --output-file=x.html --export-type=TYPE datafile.gnucash
  • When deleting accounts the destination accounts of moved splits will be checked to ensure that they're the same as the source. If they're not you'll get a warning and the opportunity to pick another account or to carry on regardless.
  • New type-ahead search added to sequential search when selecting an account in the register: Instead of typing the first few characters of a top level account, the separator, the first few characters of the next level account and so on you may instead type a few characters of any part of a full account name and the drop-list will be filtered to contain only matching accounts. Once you have a small enough list you can use the arrow keys to select the account that you want.
  • Python bindings are now localized and their strings available for translation.
  • The new reports introduced in the Experimental Reports menu are moved to the main menu and the old reports hidden; the old reports can be unhidden by running GnuCash from the commandline with the --extra argument. That will cause the old reports to appear in their regular locations on the menu labeled (legacy). Note that new reports use different options and layouts and you may need to adjust your saved report configurations.
  • A new Transaction Association dialog, available from the new Update Transaction Association item in the register context menu, provides the ability to have multiple associations for a single transaction. Associations may now be easily removed.
  • Allow Associations to be added to invoices. The actual association when present is added as a link button which is shown below the notes.
  • A symbol is now displayed on transactions in the register when they have an attachment and the selected font supports the symbol.
  • The OFX file importer can now import more than one file at a time.
  • A new report menu supbmenu Multicolumn contains the old custom-multicolumn report and a new Dashboard report containing Account reports for expenses and income, an income-expense chart, and an account summary.
  • When importing, the matcher will no longer offer to match a transaction to one that has already matched in a previous import, nor will it offer to match more than one imported transaction to a single existing transaction.
  • Support for UK VAT and Australian GST added to the Income-GST report. The reports options are changed from source accounts to source sales and purchase accounts to permit proper reporting of capital purchases. N.B. This is incompatible with previous versions of the report and will require regenerating saved configurations.
  • Add option to save Layout for Business items
  • Add two menu items under windows, one to save an existing layout for Invoices, Bills and Vouchers to there respective default layouts so the user set column widths will be used. The second menu item will reset the column widths to defaults and remove the default layout. Open Business items will also save there column widths to the page section so these can temporarily have different widths.
  • New/Revised Reports:
  • Income-GST
  • Owner Report
  • Significant Code Changes:
  • gnucash-bin.c has been split into 4 parts, mostly C++:
  • gnucash.cpp, the GUI executable.
  • gnucash-cli.cpp, the command-line executable.
  • gnucash-commands.cpp, implementation for the commands that can be run from the command-line.
  • gnucash-app-core.cpp, common code required by both the command line and gui programs.
  • There's also an auxiliary file, gnucash-windows-locale.c because the localization code proved resistant to compiling as C++. We're planning another auxiliary file for the MacOS localization.
  • A new mock facility for several engine classes to permit better-isolated unit testing of components that depend on those classes.
  • Register filter and sort values are saved in the book's state file (book.gcm) in the user's configdir instead of in the book.
  • QofSession no longer creates its book, instead one must create a book first and pass that to qof_session_new()/QofSession::QofSession().
  • Add option to save Layout for Register items
  • Add two menu items under windows, one to save an existing register layout based on the register type to there respective default layouts so the user set column widths will be used when opening registers. The second menu item will reset the column widths to defaults and remove the associated default layout. Open registers will also save their column widths to the page section so these can temporarily have different widths.
  • Input Method handling in the register is moved to the GtkEntry where it belongs.
  • gnc_get_current_session() no longer creates an empty session if there isn't one already open.
  • Deprecations (will be removed in GnuCash 5.0:
  • gnc:substring-replace-from-to
  • Bug fixes:
  • Between 3.902 and 3.903, the following bugfixes were accomplished. Some of these will also be fixed in GnuCash 3.11, some are for 4.0 only.
  • Bug 796531 - transaction report: export file/location associated with transaction
  • Displays the Transaction Association link in the Transaction Report and when selected will open the association outside of Gnucash as it currently does when opened from the register.
  • Bug 796932 - Invoices order when assigning payments
  • sorts documents in dialog-payment.c by date, then by document ID.
  • Bug 797052 - Autofill Selection is Corrupted After Clicking Description
  • Bug 797185 - [transaction association window] sorting by column.
  • Bug 797185 - Allow sorting on all Transaction Association columns
  • Bug 797220 - delete account allows move of all transactions to account having non-matching currency
  • Bug 797236 - Regression: Reconcile window transaction list resets to top when new transaction created in account.
  • Bug 797264 - 3.5 can't use Chinese IME input
  • Bug 797329 - Using Japanese IME to enter transactions results in unexpected field jumps
  • Bug 797388 - GnuCash 3.6 segfaults regularly.
  • Bug 797648 - Cannot reconcile both splits of a transaction with 2 splits for bank account subaccounts if only 1 is cleared
  • Bug 797659 - Liabilities in budget report no longer calculate correctly
  • Bug 797689 - Child dialog windows are demoted behind parent window when task switching.
  • Bug 797707 - CSV Transaction Export: custom dates should be insensitive by default
  • Bug 797717 - Summary bar changes height when opening a menu or scrolling over an option
  • Bug 797737 - Import matching can match an imported transaction to an existing, previously matched transaction
  • Bug 797743 - Monetary amounts are occasionally rendered in fractions
  • Bug 797745 - Unable to change default report currency
  • Bug 797748 - missing header "algorithm"
  • Bug 797750 - SIGSEV in swig-engine.c
  • Bug 797754 - In an account register, scrolling stops working when the mouse pointer re-enters the scrollbar after leaving it
  • Bug 797760 - Broken register split activity--cannot delete splits, unable to tab complete account name.
  • Bug 797761 - Customer report beta: opening balance tax column shows garbage string
  • Bug 797768 - View Lots sorting numbers not right.
  • Bug 797770 - Reconciliation report does not consider credit transactions
  • The following fixes and improvements were not associated with bug reports or new features:
  • When no file is open don't ask to save it when opening another file or quitting GnuCash.
  • Add an Invoice section to dialog-utils for when the path head changes.
  • Change the position the register pop up so it aligns better.
  • Fix the alignment of the Notes label in Transfer dialog.
  • Set the initial Split horizontal paned position to be half way when the window is realized.
  • Set the expanding column in the lot viewer to be the 'Title' and the 'Description'. Also ellipsize the description to help with long transaction descriptions.
  • Change the alignment of the numeric columns to be right aligned so the numbers line up.
  • [new-aging] speed up split->owner.
  • split->owner will now cache results, bypassing gncOwnerGetOwnerFromLot and gncInvoiceGetInvoiceFromLot for repeated calls to the same split.
  • Previously each call to split->owner would allocate a new gncOwner. Now a new gncOwner is only allocated during a cache miss. the list of gncOwners is maintained and is purged when split->owner is called with #f. There is no need to maintain a tofree list of gncOwners anymore.
  • Instead of slow gncOwnerReturnGUID to test equality, use gncOwnerEqual
  • Fix crash in case filter is less than 4 parameters.
  • Change the Options GtkCheckBox to use its own built-in label and remove the label in the first column.
  • Enable the Options Checkbox label to be used to toggle values.
  • Add enum SplitRegisterTypeGroup to group registers.
  • Change state_section parameter for gnc_table_save_state.
  • Fix clang error about type mismatch GtkWidget* != void* aka gpointer.
  • HIG, I18N: Improve Budget menu entries
  • I18N: fix translator comments in window-reconcile.c
  • I18N: Fix several issuse with 'Help not found' strings.
  • [QofLog] Replace hashtable with tree of vectors: 16x speedup.
  • Make qof_log_set_file static. Used only internally.
  • Move QofLogModule typedef to qoflog.h where it belongs.
  • [balsheet-eg] don't use safe-cadr and safe-cdr
  • They are safety hacks which indicate inability to deal with lists. use lists properly.
  • [balsheet-eg] reindent process-acc-list-r
  • [eguile-utilities] deprecate single-use function used only by balsheet-eg.scm
  • [balsheet-eg] use "foreign" css class correctly.
  • [eguile-gnc] don't catch errors in eguile-gnc.
  • Initially select the last account chosen in the account picker dialogs.
  • Separately keeps track of last investment account, security account, and income account. One issue is that gnc_import_select_account doesn't tell the caller if it put up a dialog or found the online ID on an existing account. This means the last account may be one the user didn't manually select. This may or may not be the right thing to do.
  • Transaction matcher dialogue was not closing when changing book.
  • Correct parent widget for import new account dialog.
  • No Selection on load for Bill Terms
  • Change the selection process so it selects the first entry if present on load and also selects a newly created entry when completed.
  • Change the Tax Table dialogue to be based on a GtkWindow
  • When using Gnucash on Microsoft Windows and a dialog opens a further dialog when you switch away from the application and back the last dialog that has the focus is behind the parent and it appears like the application has froze. To fix this try to use only one level of dialogue so change the Tax Table to use a GtkWindow with no transient parent.
  • Align the import matcher help button
  • Move the import matcher help button to the left in the CSV transaction importer.
  • Merge branch 'maint'
  • Fix LIBDBI_DRIVERS_DIR generation.
  • Use more precise strings in gnc-split-reg.c
  • You can edit the account very well, but not its transactions.
  • L10N:de: "Für" klein in "Ergebnisrechnung für Periode" etc.
  • I18N: Msgmerge recent changes
  • I18N: Hotfix for bug 797725
  • Add a translator comment
  • L10N:de_CH: Ein weiterer Tippfehler im Kontenrahmen KMU
  • [test-stress-options] fix combinatorics testing
  • Premise: pairwise combinatorics testing is only possible when all options have at least 2 options. The "General Journal" report is unique because it starts with the Transaction Report options generator, and adds a few hidden options. Unfortunately the Transaction Report receives the "General/Stylesheet" option, with only 1 default stylesheet. The General Journal report therefore has 1 stylesheet option with only 1 choice, and is not acceptable to jenny for pairwise testing. It would fail the combinatorics testing. Adding other stylesheets did not successfully allow pairwise testing. Therefore the simplest way to test General Journal is to disable multichoice testing whereby num(choices) is only 1.
  • [Account.cpp] more xaccAccountTypeGetFundamental types
  • Fix the crash that occurs when opening a new book when the transaction-matching dialog has been opened then closed.
  • Display report zoom factor with one decimal space.
  • Fix transaction post_date being set to midnight local.
  • Respect the environment LD_LIBRARY_PATH for loading Scheme modules and tests.
  • Add a tip about announcements and other mailing lists
  • Change occurrences of gdk_display_get_default to gdk_window_get_display()
  • Remove some Gtk version checks in code
  • Remove some Gtk version checks for CSS
  • Fix libgnc-app-utils.dylib install_name_dir.
  • The install location changed as part of expunging libgnc-module.
  • Updated Translations: German, Swiss German, Ukrainian

New in GnuCash 3.10 (Apr 12, 2020)

  • 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 797659 - Liabilities in budget report no longer calculate correctly
  • candidate fix
  • 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.
  • Revert "Bug 797659 - Liabilities in budget report no longer calculate correctly"
  • Reverted for snap release. Not tested thoroughly yet.
  • 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.

New in GnuCash 3.9 (Mar 29, 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 & Invoicesdate of line item is not validated; can lead to unexpected results
  • Bug 796985 - Import Bills & Invoicesoption 'open not yet posted docs in tab' does not open tab if invoice could not be posted
  • Bug 796986 - Import Bills & Invoicesin case of invalid posting date in import file, invoice is posted with unexpected date
  • Bug 796987 - Import Bills & Invoicesfixing import items only works in special case
  • Bug 797022 - Import Bills & Invoicesexpense/income account is not validated - leads to one-sided posting if account is invalid
  • Bug 797023 - Import Bills & Invoicesno user confirmation requested for update of invoices, if new invoice is created first
  • Bug 797024 - Import Bills & Invoicesimport matches csv data rows with too few separators, messing up the import data
  • Bug 797025 - Import Bills & Invoicesthe 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 statementsome 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 reportsadd 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 APIgnc: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 <th> 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 <th> 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 <th> 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)

  • 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!
  • We have revised translations for Chinese(Simplified), Croatian, German, Hebrew, Ukrainian

New in GnuCash 3.7 (Dec 23, 2019)

  • Changes:
  • Between 3.6 and 3.7, the following bugfixes were accomplished:
  • 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<<) - Report Title can't be changed
  • Bug 795251 - googletest detection cannot be overridden
  • Bug 796819 - bad icon with Spanish localization
  • Temporary fix for Farsi, which was afffected, too. As it is maintained by TP, the final fix has to come from them.
  • Bug 796952 - Report formatting (justify) is broken
  • Preveious patch reverted and replaced with a more correct one.
  • Bug 797085 - Import Bills & Invoices – headers not translated.
  • Make strings translatable. Translators: This adds 22 new translatable strings.
  • Bug 797158 - gnc:make-account-sel-limited-option is not working
  • Option was being deliberately reset to default_value every time.
  • Bug 797279 - Reports RTL do not support RTL
  • Fix guile-2.0 string handling to prevent munging unicode in report-titles etc. while loading/saving reports.
  • Bug 797295 - problems with entering swedish åäö in company address
  • Bug 797297 - GNUCash is in English even though MacOS is set-up to French.
  • Bug 797301 - Register Menu View > Refresh doesn't work in 'with subaccounts' window.
  • Bug 797306 - "URL cannot be shown" when one clicks an account line link in report.
  • Bug 797316 - New Mauritanian ouguiya MRU not supported
  • Bug 797319 - Mauritanian ouguiya MRO shows too few decimals
  • Bug 797339 - Online banking frame to small
  • Bug 797349 - "A"ssociate header badly translated.
  • Bug 797353 - Add copyright and release info in appdata file
  • Bug 797355 - General Journal report seems to be off balance
  • Previously, for general-journal, each split was being analyzed, and only the source split was counted for totals. This change will means the source split *and* its peers were accounted for.
  • Bug 797377 - cmake fails on debian-8 and ubuntu-14.04 with gnucash.appdata.xml.in does not exist
  • Bug 797378 - QIF file import fails: Loading gives wrong type argument in position 2
  • Bug 797389 - Random Crashes while attaching a document.
  • The following fixes and improvements were not associated with bug reports:
  • New feature: Multiselection in the import transaction matcher. Use control-left-click, shift-left-click, or click-and-drag to select multiple unmatched transactions to match them with a single account, then right-click to bring up a single-item context menu sith "Assign Transfer Account".
  • Set a FinTS product version key when the installed AQBanking supports it.
  • Change translatable strings with context to use the modern gettext three-parameter function instead of the ':' hack.
  • Stop duplicate entries for the invoice taxtable cell.
  • Do not log an error when no default tax tables are set.
  • Fix cmake dependency tree so that make/ninja check works without having to first run make/ninja.
  • Remove the accelerator for the Clear buttons on the Loan Calculator because they were all the same and also the same as the Close button's accelerator.
  • Change the transfer account notation for single-split transactions in basic view from "--Split Transaction--" (they're obviously not) to "None".
  • Correctly parse decimal values between 0 and -1 (e.g. -0.5) in register caclulations: The negative sign was being stripped.
  • Require CMake 3.5 or later for all platforms.
  • Rework the building of libgtest.a from source when the builder sets GTEST_ROOT or the distro doesn't provide a pre-build one.
  • Fix crash when trying to display a tooltip in the register split view when a split has focus.
  • Fix repeated requests to create a new account when you click No.
  • Suppress bogus error when creating a new account from register split view.
  • Fix price conversion report crashes in Balance Sheet PNL and all average balance calculations.
  • Upgrade the Budget reports to support accumulated accounts.
  • Redefine gnc:debug to use QofLog instead of writing to stdout.
  • Change the Balance Sheet PNL account depth to mean the deepest *selected* account rather than the deepest account.
  • Set the Owner Report date option to default to today.
  • Much Scheme cleanup and more testing.
  • API Deprecations:
  • gnc:easy-invoice-report-create-internal - Unused.
  • gnc:entry-type-percent-p
  • gnc:fancy-invoice-report-create-internal - Unused.
  • gnc:get-relative-date-strings - Unused
  • gnc:html-acct-table-comm-row-helper - Unused
  • gnc:html-build-acct-table - Unused
  • gnc:make-customer-option - Unused
  • gnc:make-employee-option - Unused
  • gnc:make-general-journal-report - Unused.
  • gnc:make-reldate-hash - Unused
  • gnc:make-vendor-option - Unused
  • gnc:sum-collector-stocks - Unreachable
  • gnc:time64-ge-date - Unused
  • gnc:time64-le-date - Unused
  • make-simple-class - Use make-record-type
  • make-simple-obj - Use construct
  • simple-obj-getter - Use record-accessor
  • simple-obj-print - Use write
  • simple-obj-setter - Use record-modifier
  • simple-obj-to-list - Use record-type->list
  • simple=obj-from-list-obj - Use list-record-type
  • gnc:html-acct-table-cell - Unused.
  • We have revised translations for, German, Hebrew, and Ukrainian and new account templates for Hebrew-Israel.

New in GnuCash 3.5.1 (Apr 10, 2019)

  • It fixes two problems, one serious, one not so much:
  • Bug 797178 - 3.5 install-fq-mods.cmd requires ssleay32.dll, but it's no longer installed as part of GnuCash
  • Update the Bugzilla URL for the Report a GnuCash Bug Start Menu item.
  • A few bugs listed as "known problems" in the GnuCash-3.5 release notes have been tested by their reporters and marked as resolved:
  • Bug 795804 - Extremely slow save
  • Bug 796880 - Menu Tooltips Interfere with All Dialogs
  • Bug 796962 - File save hangs
  • Bug 796976 - saving file with scheduled transaction hangs: copy of scheduled transactions missing in tmp file?
  • Bug 797144 - Dates are erased when changing the language to de_DE
  • Bug 797148 - Custom Count fields won't save
  • Bug 797169 - GnuCash hangs loading XML file

New in GnuCash 3.5 (Mar 31, 2019)

  • Between 3.4 and 3.5, the following bugfixes were accomplished:
  • 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.
  • CSV Tokenizer: Add additional test to guard against quote parsing regressions.
  • GUI: Replace ambiguous mnemonic for File>Export>Export Active Register...
  • GUI: Rearrange menu accelerators for Actions>Online Actions menu items
  • GUI: Add mnemonic for File>Import>Import Bills...
  • GUI: Move Balance-Forecast report to Reports>Assets & Liabilities
  • GUI: Move Void Transactions item in Report Options from the Accounts tab to the Filter tab.
  • I18N: Fix erratic localization of dates on Windows.
  • Date format selection on Windows relies on Windows National Language functions and those are unaffected by the POSIX setlocale(). We have in the past relied upon gtk initialization to handle this but it has not been reliable since the move to Gtk3. Note that this applies only when the locale is set via a Unix-style environment variable (typically LANG) or in the environment file; it's unnecessary and ignored when using the localization settings in Region & Language.
  • I18N: Unify phrases to remove untranslated msgids.
  • I18N: Restore the global locale after Guile munges it.
  • There's no way to change the environment locale on Windows so calling setlocale(LC_ALL, ""), as guile does in its init routine, reads the user's Language and Region settings instead of the environment variables. We save the discovered environment locale and call setlocale with it again after Guile has initialized.
  • Importing: Remove old (non-SEPA) online transaction code, because now in 2019 the banks will only offer SEPA transactions and no others. This in turn means we don't need the old ktoblzcheck checking functions at all so also remove the dependency.
  • Importing: Usability improvements for Bayes editor window
  • Remove the "Are you sure" question as it is simply annoying but does not help. Fix some string wordings to be more understandable.
  • Online Banking: No longer force existence of local BIC code.
  • Online Banking: Entering of TAN must use normal visibility
  • The visibility of the entered content was set to FALSE (=invisible) always, which was wrong for certain types of input as indicated by the GUI_INPUT_FLAGS. This should now be honored and visibility set to TRUE (=visible) for the correct flags.
  • Online Banking: Fix reconcile timestamps when importing balances.
  • Used to be start-of-day, but needs to be day-neutral.
  • Performance: Provide a single static instance of C++ locale.
  • We can't use std::locale::global because all streams imbue it by default and if it's not 'C' (aka std::locale::classic) then we must imbue all the streams that we don't want localized, and that's most of them.
  • Performance: Add GncDateTime::timestamp().
  • To provide a C++ implementation of gnc_date_timestamp and to avoid using the expensive and localized GncDateTime::format().
  • Performance: Implement a faster date-time serialization function.
  • Has the side effect of recording all date-times in XML files in UTC instead of local time with a timezone. This will help users who like to keep their files under version control because the time strings won't shift every time Daylight time begins or ends.
  • Performance: >Fix XML load CPU hotspot: Scrub.c xaccTransScrubPostedDate
  • The refactoring provides roughly 10% reduction in user CPU use for XML file load by moving an expensive function to within an if-clause where the result is used.
  • Performance: Speed-up of txn match dialog: Suspend GUI refresh during deletion of selected lines.
  • Performance: Sorting speed-up: Cache the bool value of Transaction's is_closing property.
  • Register: Accept URLs or file paths for files associated with transactions. File paths can be relative or absolute. A preference is provided.
  • Reports: Speed up the budget and cash flow report calculation by iterating over accounts only once.
  • Reports: Heavy scrubbing for code readability and performance.
  • Reports: New Report by Ryan Turner: Balance Forecast Report
  • This report forecasts the combined balances of the selected accounts based on the scheduled transactions and plots them on a line graph. You can set a "reserve" amount, which will draw a red line on the graph, so you can easily see if your forecast dips below a given value. There is also a "future minimum" line which shows what the lowest future balance will be at a given point. I find this useful in conjunction with the "target" line for planning.
  • Reports: Fix crash when loading saved-report with unknown choices.
  • If a saved-report with e.g. relative date, multichoice option is unknown, the report would crash, and the Report-Options would segfault. This commit fixes both: report-date defaults to 'today', multichoice-options defaults to default-value. Following this commit, if a report loads a saved-report or .gcm from a future version, a gnc:warn will be emitted and the report will not crash; it will use relative-date today. Multichoice will remain the default value. Report Options will not segfault. The user will be notified via a gnc:gui-warn dialog
  • Reports: Date intervals at end-of-month:
  • Instead of recursing the date, we calculate the next month using an index-based multiplier, and apply modulo/remainder as appropriate to determine the next month/year. Then we attempt to create new mktime, and if the resulting mktime's month is not as expected, reduce the mday by 1 until resulting month is correct. This fixes monthly intervals for end-of-month days. Test via monthly/quarterly deltas, and also includes leapyear calculation.
  • Reports: Date-grouping must allow indenting.
  • Indenting checkbox was erroneously disabled when: sortkey = date, date-subtotal = not 'none.
  • Reports: Table display
  • It is intuitive that if the user wishes to show the subtotal-table, and hide the transactions, then both the main (hidden) transactions and subtotals must be hidden as well.
  • Reports: Update US Income Tax information for 2018.
  • Scheme Deprecations:
  • account-assoc
  • account-hash
  • account-hashtable-ref
  • account-hashtable-set!
  • account-in-alist
  • account-in-list-pred
  • account-in-list?
  • account-same?
  • gnc-commodity-collector-commodity-count
  • gnc-commodity-collector-contains-commodity?
  • gnc:commodity-collectorlist-get-merged
  • gnc:exchange-by-pricedb-helper
  • gnc:exhange-by-pricevalue-helper
  • gnc:get-commoditylist-inst-prices
  • gnc:hook-run-danglers
  • gnc:make-drcr-collector
  • gnc:make-stats-collector
  • gnc:report-template-menu-name/name
  • gnc:report-template-name-to-id
  • gnc:report-template-new-options/name
  • gnc:report-template-renderer/name
  • gnc:restore-report
  • gnc:save-options
  • split-assoc
  • split-hash
  • split-hashtable-ref
  • split-hashtable-set!
  • split-in-list?
  • split-same?
  • Scheme: Replace account and split utility functions with SRFI-1 functions.
  • Scheme: Testing (create-transaction) adds price trading commodities/currency.
  • this will modify a test which was calibrated to record purchase price only. fix transaction creation to add prices for both purchase and sales, and also fix test which was assuming no sale price was bring recorded.
  • Scheme: Testing (env-create-multisplit-transaction) This is the general case for any transaction creation.
  • Rewrite other transaction creation routines to use it. All tests still work unchanged, which confirms this function works well. This will allow tests to create multisplit transactions, of an arbitrary number of splits. If the list-of-split's values are not balanced (i.e. total 0), the engine will create an Imbalance-CUR split.
  • The motivation is to allow creation of complex multisplit multicommodity transactions eg USD50 + GBP20 (USD25) = EUR66 (USD75) as well as their prices GBP/USD = 25/20 and EUR/USD = 75/66.
  • USD -50
  • USD -25 = GBP -20
  • USD +75 = EUR +66
  • This will be useful in creating tests for stock-based reports, whereby stock sales need splits in STOCK/ASSET/INCOME accounts.
  • Scheme: Redesign gnc:account-get-balances-at-dates,
  • replacing the ignore-closing? parameter with a split->amount function parameter having a default value of xaccSplitgetAmount. (split->amount split) should return the amount of the split or #f; in the latter case the split is skipped. This allows for a more general account balance list accumulator with novel balance strategies. For example a split->amount function could test void status and return xaccSplitVoidForerAmount on void splits; test description/memo for some content and vary the returned amount accoridingly; or test the split and return 1 or 0 creating a counter. To recreate the ignore-closing use case pass (lambda (s) (and not (xaccTransGetIsClosingTxn (xaccSplitGetParent s))) (xaccSplitGetAcmount s)))
  • Scheme: Replace some option names. Automatically convert usage of the old names and issue a warning.
  • We have revised translations for Arabic, Croatian (New!), Farsi, French, German, Spanish, Ukrainian
  • Revised or added account templates for Belgium (French) (New!), France, Croatia (New!), Germany. Switzerland (French)

New in GnuCash 3.4 (Mar 31, 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 796867 - GNUCash crashes on startup with Mac Mojave 10.14 in Dark mode.
  • 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 796926 - Scrolling Fails if Mouse Leaves Window
  • 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.
  • Redesign gnc-uri-utils
  • gnc_uri_get_components will now return NULL as protocol if the input is a normal file system path instead of a uri (it used to return 'file')
  • gnc_uri_get_protocol will now return NULL if the input is a normal file system path instead of a uri (it used to return 'file')
  • gnc_uri_is_file_protocol now returns FALSE if protocol is NULL (it used to return TRUE)
  • gnc_uri_is_file_uri now returns FALSE if input is a normal file system path instead of a uri (it used to return TRUE)
  • a new function gnc_uri_targets_local_fs will return TRUE only if its input is either a file uri or a normal file system path. This function is now mostly used instead of gnc_uri_is_file_uri in the current code base
  • a new function gnc_uri_is_uri is added to check whether its input is a valid uri (has protocol, path and hostname for non-file uris)
  • refer to 'scheme' instead of 'protocol' as that's the more formal term used in uris This involves renaming 3 functions:
  • gnc_uri_get_protocol -> gnc_uri_get_scheme
  • gnc_uri_is_known_protocol -> gnc_uri_is_known_scheme
  • gnc_uri_is_file_protocol -> gnc_uri_is_file_scheme
  • The *_protocol variants are marked as deprecated.
  • Additionally a number of local variables have been renamed from protocol to scheme to support this change.
  • Show warnings for deprecated declarations
  • We're about to announce our own set of deprecated functions in libgnucash. That would be pretty pointless if we also would silence all deprecation warnings at the same time...
  • More report code-cleanup by Chris Lam, including deprecating the following functions:
  • gnc:account-get-balance-at-date
  • gnc:account-get-total-flow
  • gnc-commodity-numeric-string
  • gnc-commodity-value->string
  • gnc:double-col
  • gnc:options-add-include-subaccounts
  • gnc:options-add-group-accounts
  • gnc:options-add-currency-selection
  • The following modules are deprecated:
  • report-system/collectors
  • report-system/report-collectors
  • Invoice: Remove H1 title and superflous option.
  • Printing the title twice is silly, so remove the option and the H1 display of the title. Note that the remaining title is in a div named "invoice-title" so it can be styled with CSS as the user pleases from the Report Options Layout tab.
  • The preference, use formal accounting labels does not update the header With a register open and you change preference 'use formal accounting labels' it does not update the register header so add a call back for the preference.
  • Make the grid lines of totals Budget tree view track the preferences.
  • Make the grid lines of the totals tree view track the preferences to match the account tree view above it.
  • Add routine to fix Account Color being set to "Not Set"
  • Previously the account color slot has been populated with "Not Set" when any field for the account has been edited and saved. This routine should run once and remove all such entries.
  • Performance fix in dom_chars_handler: use g_strndup instead of g_strdup
  • In the appdata/metadata file, rename the ID from org.gnucash.Gnucash to org.gnucash.GnuCash to match flathub, and add a launchable ID to link it to the desktop file.
  • Added double-click-on-file for the CSV transaction, price, and account importers and exporters.
  • Cleaned up a variety of issues reported by the clang static analyzer.
  • Allow the text options widget to use all remaining space
  • The text option widget used for report options has only about 3 lines visible currently and will not use any available space in the dialogue. Change the packing for this widget to expand and fill the remaining dialogue space. If there are more than one text option widget on a page then the available space will be shared equally.
  • Add short_labels for a few toolbar buttons with long names. That should fit a few more buttons on the toolbar.
  • Update iso-4217-currencies.xml, adddding VES - Bolivar Soberano, minor updates of other VE currencies.
  • Python 3 bindings fixes and improvements from Christoph Holterman and Sumit Bhardwaj.
  • We have revised translations for Chinese (Simplified), Farsi, German, Japanese, Portuguese (Portugal), and Ukrainian
  • Revised or added account templates for English (US), English (UK), German (Austria), German (Germany), Portuguese (Portugal)

New in GnuCash 3.3 (Oct 1, 2018)

  • Between 3.2 and 3.3, 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.
  • Prices will now be displayed in decimal, 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 improvements were not associated with bug reports:
  • Set toolbar buttons to show both icon and text.
  • And make the icon small to recover some vertical screen estate. The motivation for this is that Gtk has dropped the ability for users to change a toolbar's appearance. And as our icons are often less than descriptive many users benefit from having textual descriptions as well. This is the best compromise we can make until the gui gets an in-depth redesign.
  • Add preference for forcing prices to decimal display.
  • Anticipating that some users might prefer to see exact prices, add a preference to General>Numbers to configure whether prices are rounded to decimals or are displayed as exact fractions.
  • Revert the "Average Cost" pricing changes made in 2.6.17.
  • These changes broke trial balances in many books.
  • Allow saving to xml over an existing sqlite3 file and the other way around.
  • Add customer/vendor ID in client section of invoices.
  • Partly fixes bugs 430259 and 742086; full fixes would require not-backward-compatible data model changes.
  • Change the default filter for General Ledger.
  • The General Ledger default for the number of days shown is 30 but for the Register it is 0, meaning show all. So change the default filter based on ledger type and use this when determining if the setting should be saved or removed.
  • Fix gtk accelerator mixups by explicitly disabling actions that are not relevant.
  • For example, File->Print and its variants for various page types all use the same '<primar>p' as global accelerator. It was possible to have gnucash invoke the 'Print Report...' action instead of the 'Print Invoice...' action when hitting <primary>p on an invoice page. If no report page was open at this point, gnucash would crash. If a report was open, gnucash would invoke the print action on that report instead of opening an invoice report for the invoice.
  • [job-report] Prevent Crash if there is no AR account
  • Add the ability to cascade account colours in account tree.
  • The colour on an account that has sub-accounts can be applied to its sub-accounts; by default only those sub-accounts that don't have a colour set are affected, but there's a preference to override that.
  • Speed up loading the preference dialog by blocking register updates until the dialog is fully loaded.
  • Update change_tax_code.py, add basic test for python query.
  • Simplify GNCQueryView's data model: It was managing a number of redudant parameters which were leaking memory all over the place. The information that was tracked could easily be extracted from the underlying GtkTreeView, GtkTreeModel or GtkTreeSelection when needed.
  • Open customer/vendor/employee report when double-clicking an the respective owner the cust/vend/empl overview page.
  • Update Overview of README based on https://lists.gnucash.org/pipermail/gnucash-devel/2018-September/042748.html
  • Many new tests for reports.
  • Some substantial speedups when loading large amounts of business transactions from a SQL backend.
  • Clean up a lot of memory leaks.
  • Remove all use of Timespec in the program. Provide deprecated wrapper functions supporting timespecs for custom reports; users should update the reports as soonas possible.
  • The following translations are updated: Farsi, Ukrainian
  • The following are open bug reports new to the 3.x series considered significant by the development team:
  • Bug 788332 - Last Reconcile Date column sorts by day of month not date.
  • Bug 791825 - Accounting Period dates (among others) stored with a TZ-sensitive time.
  • Bug 793156 - Incorrect sort order in Generic import transaction matcher window.
  • Bug 793306 - Price is not imported from CSV.
  • Bug 793556 - CSV export/import creates unbalanced transaction for fractional price.
  • Bug 794584 - Register not updated when scheduled transactions created.
  • Bug 794644 - Remove Old Prices is very slow.
  • Bug 794807 - Calendar widget current month shown as (null).
  • Bug 795071 - new account entry screen keeps on disappearing and coming back.
  • Bug 795253 - Have problems input Chinese.
  • Bug 795294 - Can't navigate between tabs using the scroll wheel.
  • Bug 795362 - Special variable "i" not parsed in function calls.
  • Bug 795383 - Gnucash crashes on import of a 1400-transaction (or more) CSV file.
  • Bug 795384 - GnuCash 3 is tremendously memory hungry on macOs.
  • Bug 795729 - Advanced Portfolio Report - Percentage rates not displaying leading zeroes.
  • Bug 795753 - Initial save into MySQL should use bulk inserts.
  • Bug 795804 - Extremely slow save.
  • Bug 795961 - CSV importer doesn't match any rows.
  • Bug 796100 - Autosave Doesn't Always Work.
  • Bug 796122 - Poor Performance Scanning Old Files During Autosave.
  • Bug 796492 - Wrong calculation of the first occurrence.
  • Bug 796496 - CSV Importer: Column Selectors invisible on Windows
  • Bug 796500 - Scalability issue - importing large CSV to large book won't finish.
  • Bug 796520 - Layout overlapping in Income & Expense Chart.
  • Bug 796656 - GnuCash frequently crashes, usually involving unsaved transactions.
  • Bug 796687 - Tax Entity name and type for an account won't work under "Tax Reporting Options" in Gnucash 3.2
  • Bug 796688 - "Next" Button Moves Repeatedly During New File Wizard.
  • Bug 796698 - Transaction can't be updated on MariaDB 10.2.
  • Bug 796728 - GnuCash 3.0-3.2 crashes when starting up under Windows.
  • Bug 796736 - Column Widths calculator need to allow more padding.
  • Bug 796740 - Selecting register value with mouse fails.
  • Bug 796746 - Cannot copy and paste anything into the amount field (both credit and debit)
  • Bug 796750 - qof_query_search_for stores pointer of type string argument.
  • Bug 796754 - Guile encoding certain strings not as UTF-8.
  • Bug 796758 - Improve error messages, why one can not remove a tax table.
  • 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 796767 - The importer shows read-only and placeholder accounts.
  • Bug 796772 - Receivable Ageing Report invalid URL for Totals column.
  • Bug 796773 - Display of Negative numbers.
  • Bug 796774 - Investment account QIF Import does not import transaction.
  • Bug 796775 - Auto fill not working correctly (only match the first char you type ...)
  • Bug 796779 - Window size in SEPA transaction.
  • Bug 796782 - Cannot import OFX file in new 3.2.
  • Bug 796789 - Unable to access mounted USB sticks and/or network locations from File Open/File Save As dialogs Ubuntu/Linux Mint.
  • Bug 796790 - Crash on MacOS on brand new installation without any transactions entered yet.
  • Bug 796799 - After Deleting Transaction Price, Enter Required 2x.
  • Bug 796804 - Nonenglish characters problem in Book Options.
  • Bug 796806 - Crash after OFX import if line item dragged.
  • Bug 796810 - Account creation and editing dialogs do not allow entering umlaut-u.
  • Bug 796824 - took more than 2 hours to import 220 transactions.
  • Bug 796842 - Add new employee window may not fit on screen.
  • Bug 796844 - Amount column of Customer Report should net Credits and Debits.
  • Bug 796847 - Error trying to do CSV import doesn't recognize account specification.
  • Bug 796849 - Load another QIF file causes "that file already loaded" dialog.
  • Bug 796850 - Auto-decimal-point causes incorrect price to display when amount is edited.
  • Bug 796857 - Import of QIF duplicates transfer transactions.
  • Bug 796867 - GNUCash crashes on startup with Mac Mojave 10.14 Dark mode.
  • Bug 796869 - Find Transaction Description pulldown does not work.
  • Bug 796870 - Cannot (occasionally) undo invoice billing.
  • Bug 796871 - Some file chooser buttons don't understand UNC paths on Windows.

New in GnuCash 3.2 (Jun 25, 2018)

  • Between 3.0 and 3.2, the following bugfixes were accomplished:
  • 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.
  • Don't even check for price/exchange rate on template transactions, there's no point.
  • Check all split commodities are valid, abort transaction creation if not.
  • If the template transaction's currency isn't used by any of the splits set the new transaction's currency to the first-found currency if there is one, otherwise to the first-found commodity.
  • 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.
  • The Following fixes and improvemts were not associated with bug reports:
  • Transaction report improvements:
  • Performance: Do all filtering ops before sorting.
  • Move the options summary before the subtotals table.
  • New unit tests
  • Enable computing averages in subtotal grid.
  • Generate the subtotal grid only if the primary sort key enables subtotals.
  • Fix subtotal grid to support multiple commodities.
  • New filters.
  • Much cleaning and refactoring of the internals.
  • Cache the num-split-action book option to avoid thousands of KVP queries for the same value when loading a register.
  • Create a static string for book option KVPs to save an extra malloc/free on old compilers without small-string optimization.
  • Add tooltip support for register cells.
  • New unit tests for the balance sheet report and invoices.
  • Consolidate charting code into a single module.
  • Removed an incomplete and abandoned C implementation of QIF import.
  • Restored libsecret support that had been left out of CMake.
  • Replace old-style html style attributes with css.
  • Modify emitted html to be parseable by the Guile SXML module for testing.
  • Remove support for long-gone gtkhtml renderer.
  • Clean up code generating html tables.
  • Ensure full precision of doubles is saved to SQL. std::iostream's operator<<(double) uses only 6 digits of precision by default.
  • Make float database operations more consistent, working around dbd-sqlite3's failure to support doubles (dbd-sqlite3, not sqlite3 itself).
  • Prevent crash in gnc-tree-view.c: When getting information from the state file, protect against the key not having a '_' which is used to split the string.
  • Add the full account name to the saved register settings If you need to delete the layout for a register in the settings file, the only thing identifying it is the account guid. To make it easier for humans, add the full account name also.
  • When register pages are restored it uses the full account name. When register pages are restored, the account is found from the full name so if the separator changes it will fail. Instead, also save the account guid and use that as default to find the account falling back to the full name.
  • Fix misplaced try block that caused unhandled exception if year out of range.
  • Fix permanent storage of vendor details: Since the data types did not match for the billterms and taxtable, those references/guids were not saved to the database.
  • Update invoice reports to use totals calculate by gncInvoice. This should give a consistent representation of invoice data across the application.
  • Ensure gncEntry rounding is consistent. Internally calculated values in the entry are never rounded. Consumers of gncEntry's calculated values can request them either rounded or not. Next use a pragmatical approach for calculating values on invoices based on the entry values: do the rounding such that we never create an unbalanced transaction while posting. That means:
  • round each entry's net value before summing them in net total
  • accumulate all tax totals on invoice level per tax account before rounding
  • and round before before summing them in a global tax total Hopefully this will catch a few more rounding issues in this area. A complete solution can only offered if we allow users to manually correct tax entries. This requires changes to user interface and data format so that's not going to happen in gnucash 3.x.
  • Use Scheme SRFI-64 test framework for new Scheme unit tests.
  • New compilers (gcc-8.0 and Xcode 9) bring new warnings, so several fixups to mollify them.
  • Lowercase all cmake commands for better readability.
  • Metadate migration (2.6.x->3.x) fixes for Windows.
  • Ensure timezone is set correctly in FreeBSD.
  • The following translations are updated: Dutch

New in GnuCash 2.6.21 (Apr 11, 2018)

  • Between 2.6.19 and 2.6.21, the following bugfixes were accomplished:
  • Bug 795049 - GnuCash 2.6.20-1 (Fedora Linux package) is unable to open MariaDB database.
  • Bug 795068 - src/optional/python-bindings missing several files.
  • Bug 795078 - missing _inflateValidate symbol has recurred in 2.6.20 on MacOS.

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.
  • Data file directories are now located appropriately to the operating system's conventions by default: CSIDL_APPDATA/Gnucash. It's still possible to overried with the environment variable GNC_DOC_PATH, which replaces GNC_DOT_DIR in earlier versions of GnuCash.
  • Accounts in the Bayes import map are now linked by GUID instead of names so that the matcher won't have to be retrained if you rename an account. The Bayesian import maps are also stored in a flatter structure to allow faster access, especially in SQL. These changes mean that if you have Bayesian mapping data, once converted your database will be loadable only by GnuCash 2.6.20 and later.
  • MySQL and SQLite3 date storage has changed a bit. Once converted, MySQL and SQLite3 database will be loadable only by GnuCash 2.6.19 and later.
  • Numerics are rewritten to allow for more significant digits. The old 6-digit-maximum fraction is now 9-digits, and prices may have up to 18 digit precision.
  • Chart Reports appearance is improved, including more modern chart colours as suggested by http://clrs.cc/.
  • Transaction Report improvements, including regular expression filtering and many more options and features including a "Subtotal Summary Grid" The subtotal summary-grid will tabulate subtotals - prime-sortkey vertically, sec-sortkey horizontally. For example, with prime-sortkey = accounts, sec-sortkey = date, sec-subtotal = monthly will produce a monthly time series table.
  • The About dialog box layout is improved and now includes the detected Finance::Quote version.
  • GnuCash will always build the locale-specific tax modules. This was optional when building with autotools and never enabled when building with cmake. Note that the only supported tax locales are en_US and de_DE.
  • On Macs the Reconcile Window's menu moved to the menubar.
  • GnuCash no longer supports Guile-1.8 and now does support Guile-2.2
  • New Features for Developers:
  • Several parts of the engine and the SQL backend are rewritten in C++, an effort that will continue in the next development cycle. KVP is now private to libgncmod-engine and accessible outside via qof_instance_set and qof_instance_get. KVP and GUID are reimplemnted in C++ using boost::variant and boost::UUID respectively.
  • C++ unit tests require GoogleTest. While it's possible to use prebuilt libgtest and libgmock on some distros, building static libraries for GnuCash is preferred. It may be necessary to provide the paths to the googletest and googlemock source with CMake parameters GTEST_ROOT and GMOCK_ROOT respectively.
  • The date implementation is migrated to boost::date-time, replacing a Glib GDateTime implementation. This makes the earliest date recordable 1 January 1400CE instead of 1 January 1CE. We doubt any users will be affected.
  • We've reorganized the code into a core library directory, libgnucash, and application-specific directory, gnucash. The python bindings are now in a top-level directory, bindings; code pinched from other projects is in borrowed, the account templates, check templates, and pixmaps are consolidated in data, and common holds the cmake modules and test framework code. The bin directory's contents have moved to the top level gnucash directory and bin is removed. There are now directories for gschema, gtkbuilder and ui files directly in gnucash. In principle all files of each type should go into these global directories. The only exception is if such a file belongs to an optional module. In that case the file remains located inside that module's directory. Currently we have ui, glade and gschema file exceptions in aqb and ofx importers.
  • The build system is changed from Autotools to CMake. All options except python bindings and the python console demo are enabled by default. Highly parallel builds with Ninja are possible and recommended, except on Microsoft Windows.
  • The Windows build system is rewritten to use MSYS2, Mingw-w64, Powershell, and jhbuild.
  • Add a "pot" target to the build system so that translators can easily generate a new gnucash.pot from a git repository.
  • Detect presence or absence of libxml2 and makeinfo during configuration; abort if the first is missing and don't build the (mostly obsolete) texinfo documentation if the latter is. Document both in README.dependencies.
  • Replaced Timespec with time64 in the Scheme and Python bindings, introducing many new C time64 functions to accomodate the replacement. Timespec will eventually be removed from the C API as well.
  • Some cruft removal in libgnucash/scm plus moving some code to its only use location. "main.scm" is renamed to "utilities.scm".
  • The "printf" family of Scheme custom functions is replaced with the built-in "format" facility.
  • Change a generally unnecessary warning about being unable to open a module (usually because the file is still being created) to a debug message. It appears mostly during highly parallel builds and was distracting.
  • Appstream configuration is updated to the latest spec.
  • Added two functions to the Scheme option API:
  • gnc:option-make-internal! will hide an existing option. e.g. a derived report can set the value for a Display/* option and hide it from the user.
  • gnc:unregister-option will unregister option. This is primarily useful for derived options e.g. another report copies from transaction.scm and removes some options and recreates them with different parameters.
  • For example, unregister existing option from section "Accounts" name "Accounts", and recreate with different parameters e.g. limited account types.
  • Drop intltool in favour or using modern gettext. By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml. For platforms where this isn't available, setting ALLOW_OLD_GETTEXT=ON will allow building but some strings will not be extracted to gnucash.pot
  • Pass GTEST_ROOT and GMOCK_ROOT through to distcheck. So that they don't have to be exported in the environment if they're needed.
  • The Python Bindings and Console are now for Python 3, and enahanced to expose more GnuCash API. Compilation of GLib Schemas during build and installation can be disabled by setting -DCOMPILE_GSCHEMAS=OFF. This is intended *only* for distribution packaging scripts that run glib-compile-schemas themselves. Otherwise note that if you install to a DESTDIR you'll need to re-run glib-compile-scemas after moving the contents of $DESTDIR$PREFIX/share/glib-2.0/schemas to $PREFIX.
  • The CuteCash front end has been removed. The code we need from GOffice has been brought into the GnuCash code base so GOffice is no longer a dependency. The register drawing code has been upgraded to draw directly on a cairo surface, removing the dependency on libgnomecanvas.
  • GnuCash 3.0 adds the following dependencies: Boost, ICU, Googletest.

New in GnuCash 2.7.8 Unstable (Mar 26, 2018)

  • Bugs fixed in this release:
  • Segmentation Fault in Transfer dialog after clearing Date field and pressing escape.
  • 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.6 Unstable (Mar 13, 2018)

  • New Features for Users:
  • Modernise chart colours from the dated CSS defaults to modern colours as suggested by http://clrs.cc/.
  • Add "Subtotal Summary Grid" to the Transaction Report. The subtotal summary-grid will tabulate subtotals - prime-sortkey vertically, sec-sortkey horizontally. This will be useful, for example, with prime-sortkey = accounts, sec-sortkey = date, sec-subtotal = monthly... will produce a monthly time series spreadsheet.
  • For Developers and Distro packagers:
  • Rework source directory structure for gschema, gtkbuilder and ui files. There is now a directory for each respective file type directly in <srcdir>/gnucash as was already the case for gschema files. 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.
  • 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.
  • Bugs fixed in this release:
  • Bug 764245 - multi-column reports include incorrect sub-reports
  • Bug 793460 - gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp:1941 is impossible to translate.
  • Bug 793467 - GnuCash crashes when trying to open a binary file instead of a CSV.
  • Bug 793699 - start_spath could be used uninitialised.
  • Bug 793900 - 2.7.5: test failure: 105 - python-bindings.
  • Bug 793941 - 2.7.4: test failure on i686: 59 - test-gnc-timezone. Don't test before 1916, that's not a common GnuCash use-case.
  • Bug 793947 - Impossible to render printable invoice
  • Bug 794031 - The checkbox "Placeholder" cann't be changed in dialog "Setup selected accounts". Enable placeholder toggle and provide callback. The text for this account tree view specifies "If you would like an account to be a placeholder account, click the checkbox for that account." but they were not enabled and no call back was defined so enabled the toggle button and provide callback.
  • Bug 794083 - gnucash-2.7.5: cmake+make build installs Makefile.
  • Bug 794137 - 2.7.5: test failure: 60 - test-gnc-numeric. Fixed by overloading operator<<(std::ostream&, GncNumeric) to call operator<<(std::wostream&, GncNumeric) and convert the result to utf8.
  • Some other fixes not associated with reported bugs:
  • Csv imp settings - internalize prefix handling This information is not relevant outside of the settings code. The way it's implemented now each settings module defines its own unique prefix and the generic code can just use it when needed.
  • Csv import - improve memory handling in the assistant class. Make it more RAII, in that whatever the class allocates, it should also deallocate. This simplifies a couple of memory handling cases. The only exception is the generic import matcher that for some reason has chosen to deallocate itself. To be fixed when more importers are converted to c++
  • Add some background info on memory management in CSV importers. As the assistant code combines multiple memory management models care should be taken not to mix them up. The notes should give some insights in how to do this. Also fix a few minor issues
  • delete default copy and move constructor/assignment for the assistant gui class
  • nullify a freed pointer
  • Lots of transient parent warnings fixed.
  • Fix Segmentation fault when going to File->New. When selecting the File->New with existing register pages open a crash can happen as the register pages get closed forcing a page-changed signal to queue the page focus function when there is no page. Add a call to remove the page focus function in the ..destroy_widget function. Also with the addition of g_idle_remove before the add when page-changed is emitted the page focus function only gets run once.
  • Speed up GUID equality comparison.
  • Fix CPack package version number. Currently running "ninja-build package" produces a file with an incorrect version number. This patch passes the CMake version variables into CPack to get the correct filename. Note, however, that there's more work to do to get CPack to actually be useful and the current CPack settings may be removed unless that other work is done.
  • Add spacing between border and text in dialog "New Accounts Hierarchy Setup".
  • With register obscured the sheet kept being redrawn When the register is obscured by another window, the sheet would get lot of draw events. This was tracked down to getting the foreground colour for the item-edit widget for the state GTK_STATE_FLAG_NORMAL. Changed this to use the value obtained from gtk_widget_get_state_flags.
  • Use the gnc_prefs_get_bool values to update cache values. This way is a safer way to update the cache values in case the settings changed signal fails to trigger or there is a double trigger and the cached value gets out of sync with the preference value.
  • Updated Translations:
  • German, Norwegian, Spanish

New in GnuCash 2.7.5 Unstable (Feb 26, 2018)

  • NEW FEATURES FOR USERS:
  • Locate all user data and configuration files to platform-dependent standard locations: CSIDL_APPDATA/GnuCash (Windows)
  • 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)
  • 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.
  • FOR DEVELOPERS AND DISTRO PACKAGES:
  • 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.
  • For example, unregister existing option from section "Accounts" name "Accounts", and recreate with different parameters e.g. limited account types.
  • 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
  • UPDATED TRANSLATIONS:
  • German, Greek, Slovak, Spanish
  • A new set of business account templates for India's new GST; use locale en_IN to enable them.

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:
  • cmake with unix makefiles fails to resolve dist dependencies added from COPY_FROM_BUILD if these dependencies aren't built yet. This commit replaces the COPY_FROM_BUILD based logic with two new functions 'dist_add_configured' and 'dist_add_generated' to indicate which files should be included in the dist tarball. The latter also adds a target level dependency to the dist tarball custom command. Hence the former should be used for files that get generated during a cmake run while the latter should be used for files generated as the result of a 'make/ninja-build' run (like files for which an add_custom_command rule exists). Note: this commit also temporarily disables the dist target when building from a tarball (and hence it won't be tested in distcheck either). This will be handled in a future commit.
  • 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.

New in GnuCash 2.7.3 Unstable (Jan 2, 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 790526 - Mathematical bug.
  • Bug 771667 - Change reconciled splits warning:
  • This patch displays two distinct warnings when changing protected fields of a transaction that contains reconciled splits. If the fields date, num and description are changed, then the warning list the accounts that have reconciled splits and also advises that they will be unreconciled after editing the transaction. If the fields account, transfer, debit or credit are changed then the warning advises that the split will be unreconciled after editing the transaction. There is still just one warning preference as it is all to do with fields protected by reconciliation.
  • Bug 787497 - Disabling options cripples dist package:
  • PARTIAL FIX: WITH_OFX, WITH_SQL and WITH_AQBANKING handling is fixed. The dist files for these features are always included in the dist tarball.
  • Bug 791848 - GC 2.6.x does not handle ISO dates introduced with GC 2.7:
  • Set a feature to prevent versions older that 2.6.20 from loading a database from which they cannot read the dates. Ideally we would do this only if the database is written to, but the current persistence design includes committing back to the database during the load so the net effect is that the flag would be set anyway. This is a compatibility change guarded by a feature.
  • 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.
  • Sets paths for finding componenents depending on the state of ENABLE_BINRELOC, GNC_UNINSTALLED, GNC_BUILDDIR and whether any install paths have been set outside of CMAKE_INSTALL_PREFIX.
  • GNUInstallDirs changes the name of CMAKE_INSTALL_LIBDIR depending on the operating system and distro. When CMAKE_INSTALL_PREFIX is /usr, /usr/local, or any subdirectory of /opt it also changes CMAKE_INSTALL_FULL_SYSCONFDIR to /etc. An earlier commit by Aaron Laws mirrors the name of CMAKE_INSTALL_LIBDIR to the build library directory.
  • It's possible for builders to set any of the install directories anywhere they please. Setting any directory outside of CMAKE_INSTALL_PREFIX breaks Binreloc so the toplevel CMakeLists.txt now detects that and disables Binreloc. If Binreloc is enabled then all path queries use it to find paths. This works in the build directory because the gnucash executable and all of the test programs are in build_directory/bin and LIBDIR, DATADIR, and SYSCONFDIR can be found in the same root path. If Binreloc is disabled then in order to build or run programs from the build directory one must set GNC_UNINSTALLED and set GNC_BUILDDIR to the absolute path of the build directory. When those are set GNC_BUILDDIR replaces CMAKE_INSTALL_PREFIX in all paths that are subdirectories of CMAKE_INSTALL_PREFIX; paths that are not in CMAKE_INSTALL_PREFIX are appended whole to GNC_BUILDDIR. This process is constent between CMake and gnc_path_get_foo. GnuCash is unlikely to run from a DESTDIR without Binreloc.

New in GnuCash 2.6.19 (Dec 18, 2017)

  • Bug fixes:
  • Bug 787497 - Disabling OFX, AqBanking or python-bindings support cripples the dist build target. (Partial: The requisite files for AQB and OFX are provided. There remain ways to break the distribution.)
  • Bug 789928 - FTBFS with libdbi 0.9.0-5 on Debian
  • Bug 771246 - Failed to create file "/usr/share/glib-2.0/schemas/gschemas.compiled.XY789Y".
  • Some other fixes not associated with reported bugs:
  • A better way to handle MySQL's 0000-00-00 invalid date indicator.
  • Fix python build and test errors on Mac.
  • Add translator hint comments to C and glade files.
  • Improve type of bank accounts in SKR03
  • Stop testing GObject's handling of invalid parameters
  • Translation Updates: Dutch, German, Serbian
  • 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.

New in GnuCash 2.7.2 Unstable (Nov 26, 2017)

  • Bugs fixed in this release:
  • Bug 734865 - Assign as Payment... can silently 'unpay' a payed invoice
  • if the selected transaction is already linked to an existing payment, the payment dialog will present this payment again (same partner, post-to account, same selected document(s), same amount, memo, and transfer account).
  • if the selected transaction is not linked to an existing business transaction the logic will make a best guess as to whether the payment should be for a customer or vendor.
  • in both situations if the existing transaction has multiple splits that can be considered as transfer (or 'payment') splits the payment dialog can't work with it (it can only deal with one transfer split). In this case the user will be informed that only one valid transfer split will be retained and the others ignored.
  • the other thing the payment dialog can't handle are APAR type splits that are not associated to a lot at all. In case of transactions not part of a business transaction they will be silently ignored on the assumptions these were manually entered transactions with the intention to be linked to business transactions. On the other hand if such a split is part of a transaction that is also linked to a business payment already, a warning will be issued these splits will be removed from the new payment.
  • Bug 778692 - Assign as payment should work for employee expense vouchers
  • if gnucash can deduce a partner from the transaction that partner will be proposed this works for all transactions that are part of a business transaction already and will correctly detect pre-existing customer, vendor and employee payments
  • if no partner can be deduced gnucash will assume the transaction to be a vendor or customer payment based on the sign
  • in all cases the user can change the partner type in the payment window that's presented to any of customer, vendor or employee to correct gnucash' suggestion.
  • 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.

New in GnuCash 2.7.1 Unstable (Oct 30, 2017)

  • Bugs fixed in this release:
  • Bug 789298 - Prompt for file history update leads to crash during startup.
  • Some other fixes not associated with reported bugs:
  • GnuCash no longer crashes on startup on Windows.
  • 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 Unstable (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 (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 (Jul 4, 2017)

  • Between 2.6.16 and 2.6.17, the following bugfixes were accomplished:
  • 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
  • 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
  • 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 (Mar 27, 2017)

  • Between 2.6.15 and 2.6.16, the following bugfixes were accomplished:
  • 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.
  • Translation Updates: Catalan, Dutch, Finnish, German, Portuguese, Russian, Serbian

New in GnuCash 2.6.15 (Dec 19, 2016)

  • Between 2.6.14 and 2.6.15, the following bugfixes were accomplished:
  • 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).

New in GnuCash 2.6.14 (Sep 18, 2016)

  • Between 2.6.13 and 2.6.14, the following bugfixes were accomplished:
  • Bug 643025 - RFE: Ability to select and open multiple invoices.
  • Bug 733153 - Ambiguous view of buttons in search dialog Linux version.
  • Bug 742461 - SQL backend doesn't update customer info.
  • Bug 756416 - CSV data with Posted information will always have last invoice not posted
  • Bug 761667 - Crash opening associated location that has no scheme.
  • Bug 762901 - [PATCH] Fix saving Account Treeview sort order.
  • Bug 769730 - Investments: Lots in This Account, Closed column shows date 25/11/1833 instead of Open.
  • Bug 769746 - Zero interest loan formula fails.
  • Bug 770113 - compiling issue with libdbi.
  • Bug 770136 - 'Reverse Order' in 'View'->'Sort by' is not saved.
  • Bug 770181 - gnc-fq-dump incorrectly says "quote cannot be used...
  • Bug 770196 - cppcheck va_list not closed.
  • Bug 770303 - Incorrect commodity match during import OFX and possible solution.
  • Bug 771246 - Set Invoice/Bill items date correctly from imported CSV.
  • Bug 771379 - GnuCash doesn't support Russian Ruble Symbol.
  • Some other fixes not associated with reported bugs:
  • Build improvements with CMake, accomodation for Guile-2.0.12 on Gentoo.
  • Change the date_posted timestamp from midnight local to 11:00 AM GMT, which will be the same date in nearly all timezones.
  • SX - Recalculate all occurrences of all SX if the calendar is updated to start on another month
  • SX Window: correctly show first sx on calendar when it is moved to next weekday.
  • Work around libofx bug which caused OFX imports to have the wrong date_posted when in an eastern-hemisphere timezone and not daylight time.
  • Indicate in the register when a transaction has an associated file or URI. The indicator will appear in the "reconciled" column in the second transaction line (enable double-line view to see it).

New in GnuCash 2.6.13 (Jun 29, 2016)

  • Between 2.6.12 and 2.6.13, the following bugfixes were accomplished:
  • 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.
  • Translation Updates: Dutch, Russian, Serbian
  • Standard Chart-of-Accounts Localizations Updates: Finnish, Sweden_Finnish, and Åland Islands Finnish.
  • Concurrent with the release of Gnucash 2.6.13 we're pleased to also release a new version 2.6.13 of the companion Help and Tutorial and Concepts Guide:
  • Fix the very stale Release Schedule link in the Guide.
  • Bug 637004 - Document Payable/Receivable Aging Rpts and new options for allowing customer and vendor address info to display.
  • Fix unclear statement re docbook stylesheets in README.
  • Bug 712764 - Clarify Account type designations in the Tutorial.
  • Bug 751686 - Explain how to use Find Transaction to report per-employee.
  • Bug 754239 - Fix order of Report menu items.
  • Bug 754239 - Update Report menu item names to Save Report Configuration.
  • Bug 765131 - Document Investment Return of Capital in the Guide.

New in GnuCash 2.6.12 (Mar 29, 2016)

  • Between 2.6.11 and 2.6.12, the following bugfixes were accomplished:
  • 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 620281 - Adding reversing transaction to bill transactions creates undeleteable transactions
  • Bug 642292 - General Ledger report - 'Primary Sort Key' value is not persistent
  • Bug 687504 - Not possible to reset an invoice/bill counter format
  • Bug 693342 - Print (bottom) prints to middle for 3-check pages
  • Bug 719904 - Decide payment type only based on the account type involved
  • Bug 720934 - Barcharts with many data points have overlapping x-axis labels
  • Bug 722996 - Cannot add stock price on Price Editor
  • Bug 723689 - Splash screen doesn't set the floating hint.
  • Bug 728074 - Posting bill converts currency to itself using 0 rate
  • Bug 728722 - Setting number format details appear wrong in Help, section 10.3.4. Counters Book Options Tab
  • Bug 733164 - [MacOSX] Command-H Invokes Help->Help Contents
  • Bug 742352 - Budget Summary section does not show expense totals
  • Bug 744157 - Tip about subaccount is confusing
  • 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 754856 - scheduled transaction fails without warning
  • Bug 756469 - CSV Invoice Import - Items with double quote escape not imported.
  • Bug 760015 - guile support is automagic
  • Bug 760529 - Get Quotes updates value just once per day
  • Bug 760711 - Non-ASCII characters not shown in Report Name when a report is created with 2.6.12
  • Bug 762971 - Duplicating multiple invoices results in invoices without an ID number
  • Bug 763111 - commodities prices editor creates hidden db entries
  • Bug 763146 - Invalid exchange rate is recorded when entering multi-currency transaction
  • Bug 763279 - GnuCash has empty reports in recent Gentoo builds.
  • Some other fixes not associated with reported bugs:
  • Various memory leaks.
  • More multi-currency fixes related to bug 763146.
  • Be more liberal in accepting business counter custom formats: li, lli, I64i, and whatever is defined to G_GINT_64 or PRIx64 on the system on which GnuCash is compiled.
  • Correctly re-value splits when the transaction currency is changed.
  • Reset the transaction currency to match the currently open account when auto-completing.
  • Refine the MacOS X localization when the system-generated POSIX locale isn't a supported locale: Prefer the country to language when selecting an alternate locale, but still pass the original language to gettext.
  • Check printing: extract address from invoice/bill for payment transactions.

New in GnuCash 2.6.11 (Jan 12, 2016)

  • Between 2.6.10 and 2.6.11, 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.
  • Between 2.6.9 and 2.6.10, the following bugfixes were accomplished:
  • 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 9, 2015)

  • 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 29, 2015)

  • 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 (Mar 31, 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

New in GnuCash 2.6.5 (Dec 20, 2014)

  • Between 2.6.4 and 2.6.5, the following bugfixes were accomplished:
  • 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-2 (Oct 13, 2014)

  • This release fixes the following additional bugs compared to the original 2.6.4 release:
  • Bug #737646 - Transfer drop-down menu not visible
  • Bug #738379 - All characters displayed as boxes in 2.6.4-1

New in GnuCash 2.6.4 (Sep 29, 2014)

  • Changes:
  • 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)
  • 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,
  • 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 (Apr 2, 2014)

  • Between 2.6.2 and 2.6.3, the following bugfixes were accomplished:
  • Bug #721196: Cannot import lines with empty fields for deposit or withdrawal in bank transaction download
  • Bug #721654: Style sheet preference is not saved for a Preconfigured Report
  • Bug #723975: Dialog box displayed during QIF import has placeholder text
  • Bug #724995:Gnucash crashes due to assertion failed when opening sqlite file
  • Bug #726430: Python: account.getName() raises TypeError
  • Bug #726891: Segmentation fault on session.end()
  • Some other fixes not associated with reported bugs were accomplished:
  • 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
  • Update Window and Menu item from "Preconfigured-" to "Saved-" Report and add lables to the dialog with help texts
  • Aqbanking: SEPA transfer improvements - fix origin labels and add possibility to edit sender's name
  • Prevent crash reported in Bug 711567. The bug itself wasn't fixed
  • Translations Updated: Catalan, Danish, Italian

New in GnuCash 2.6.2 (Mar 3, 2014)

  • 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.2 (Mar 3, 2014)

  • 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.1 (Jan 28, 2014)

  • Bug #454827: Reports: Incorrect share value of stocks in foreign currency
  • Bug #553020: Reports: Incorrect share value of stocks in foreign currency
  • Bug #555182: Security Type template hidden
  • Bug #605991: Help button on New and Edit Job dialogs brings up wrong help page.
  • Bug #677489: Critical error reported when initializing an Invoice
  • Bug #721211: Reconciliation checkboxes fail to sync for split transactions across sub-accounts
  • Bug #721251: Incorrect Transaction Dates
  • Bug #721260: Crash on startup: gnucash cannot handle default locale
  • Bug #721290: SX Editor: Pressing "Enter" too soon hides transaction
  • Bug #721306: Account hierarchy column widths are reset when restarting a second time without changing the widths
  • Bug #721447: Entries with values of ,50 are imported as ,51
  • Bug #721464: Program won’t open the website link
  • Bug #721576: Gnucash can not work with files, that have russian symbols in path.
  • Bug #721600: Segmentation fault on startup if report Income/Expense Chart was opened since last running
  • Bug #721607: fix GnuCash version numbers and remove/update links.
  • Bug #721667: Accelerator key map loaded from one file and saved
  • Bug #721770: "Choose accounts to create" has no effect
  • Bug #721791: Segmentation fault when correcting invalid date
  • Bug #721825: Online prices displayed as unreadable fractions in 2.6.0
  • Bug #721913: Fetch Rate crashes application
  • Bug #721929: Importing a customer list causes a crash.
  • Bug #721954: Multiple Scheduled Transaction Editors
  • Bug #721966: --add-price-quotes ignoring compress files preference
  • Bug #722035: Missing space in the Spanish translation of msgid "Total For "
  • Bug #722123: Zero price entry added to price database on stock purchase

New in GnuCash 2.6.0 (Jan 3, 2014)

  • Preferences have been migrated from GConf to GSettings. This is a simpler and more robust backend which writes to the OS's native prefs -- defaults on OS X and the Registry on MSWindows -- and allows us to remove several troublesome dependencies including GConf, ORBit, and DBus. The change includes a migration script that will run at Gnucash startup.
  • New date handling which allows GnuCash to use dates after March 2038.
  • Guile-2 compatibility: GnuCash now requires either Guile-1.8 or Guile-2.0
  • Documents outside of GnuCash, images of receipts for example, can now be linked to transactions, with the facility of opening them in the default application for the document type.
  • Custom Reports can now be saved without renaming the report, and modifications can overwrite an existing report.
  • The import assistant now finishes much more quickly after assigning contra-accounts.
  • GnuCash now requires Gtk+-2.24.0 and GLib-2.26.0. Most of the dependencies on obsolete libraries have been removed; onlylibgnomecanvas remains. Unfortunately the effort to rewrite the register code to use GtkTreeModel wasn't completed in time, so GnuCash is not on the cusp of converting to Gtk3.
  • The Business Module has been substantially revamped, including support for Credit Notes and import of customers and vendors from a CSV file.
  • The Num field in the register display is now optionally per-split, so for example a check number can be entered for the checking account split and an invoice number for the expense account split.
  • GnuCash can now open locked books read-only so that more than one user can view a file. GnuCash still does not support multiple simultaneous writers.
  • By agreement of all authors, GnuCash is now licensed under the GNU General Public License Version 2 or later rather than simply Version 2. This allows derivative works to be licensed under the GPL Version 3 if the author of such a work so desires.
  • Fixed more than 500 bugs.

New in GnuCash 2.5.9 Unstable (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

New in GnuCash 2.5.8 Unstable (Nov 19, 2013)

  • Bug #707311:Tax Invoice fails to open when using guile 2
  • Bug #709589: make check fails with guile 2
  • Bug #711289: Time Zone Handling is Inconsistent between 2.4 and 2.5
  • Partial fix that may also correct 699997
  • Bug #711294: Gnucash repeatedly asks for associated income account when importing QFX file. Patch by Kuang-che Wu
  • Bug #711493: Fix unselected account that is NULL
  • Translations updated: German

New in GnuCash 2.5.7 Unstable (Nov 5, 2013)

  • 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. Contributed by Robert Ratliff.
  • Bug #668530: In budget flow report options, change the maximum value for period to 60 (Note the FIXMEs) Author: Robert Ratliff
  • Bug #687478: Bills due reminder doesn't work well with credit notes
  • Bug #687479: Automatic invoice/payment matching on posting an invoice should be an optional feature
  • Bug #693244: View Lots window enhancements
  • Bug #708659: Totals column moves to right hand side when periods are added Remove unneeded gnc_plugin_page_budget_refresh_cb Author: R Ratliff
  • Bug #710055: advanced portfolio report counts capital gains split as dividend. Author: Jason McCarty
  • Bug #710311: Missing ChangeLogs
  • Bug #710739: Fill in field for remote bank account information also for SEPA transfers.
  • Bug #710979: Crash in gnc_plugin_page_invoice_summarybar_position_changed

New in GnuCash 2.5.6 Unstable (Oct 9, 2013)

  • 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 Unstable (Sep 11, 2013)

  • Bug #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" Author: Carsten Rinke
  • Bug #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. Author: Carsten Rinke
  • Bug #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.
  • Bug #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.
  • Bug #704039: time zone is not respected on windows Author: Kuang-che Wu
  • Bug #704056: Online Banking (Online Actions) does not appear in Action menu Ensure that all functions are exported to the dll.
  • Bug #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. Add calls to gnc:substring-replace-from-to to procedure gnc:report-run. Filter out all occurances of jquery.min.js and jquery.jqplot.js except for the first occurances. Author: Carsten Rinke
  • Translations updated: Lithuanian

New in GnuCash 2.5.4 Unstable (Aug 19, 2013)

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

New in GnuCash 2.5.3 Unstable (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
  • 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.
  • List of windows in OSX Windows menu
  • Startup dialog windows should be top level
  • (OSX)Command-V in reconcile window pastes data in register
  • Fix crash in scrubbing code
  • Fix crash on entering a non-valid date
  • Catch scheme exceptions when converting error messages
  • Fix txn creation that forgot to set a txn currency
  • After creation of a new book, make sure to set it to dirt
  • Translations updated: Danish, Italian, German

New in GnuCash 2.5.2 Unstable (Jun 3, 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
  • Support for querying Bitcoin/Litecoin prices via F::Q's MtGox module
  • Win32 build: ? Update versions of gwenhywfar, aqbanking
  • git: fetch potentially new tags before running the tags build
  • Fix path to git build script for tags
  • Build 2.5 tagged releases from git instead of svn
  • Fix charts on Windows. Local filenames should be given as URIs with file://; otherwise browsers will interpret the drive letter (e.g., C:) to be an unknown network protocol.
  • Bug #700197 - Critical SQL backend errors when creating customers via python bindings
  • Round properly when computing fraction of the transaction's value due to a given split. Also use GNC-DENOM-AUTO instead of a constant zero when appropriate.
  • Bug #682800 Generated balances on Report different than calculated balances on Ledger when using "open subaccounts"
  • Bug 640962 Make check failure: test_backend_dbi
  • Bug #622778 Miscalculation in cashflow reports
  • Bug #589865 In the report "Budget flow" period it doesn't work ok
  • Bug #584869 net change line in general journal report broken
  • Translations updated: Danish, German, Italian

New in GnuCash 2.4.13 (Apr 22, 2013)

  • Bug #697133: OFX file handling was broken in the Windows versions

New in GnuCash 2.5.0 Unstable (Apr 9, 2013)

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

  • Bug #696469: Renumbering subaccounts does not preserve original order
  • Bug #695423: Fix OFX Commodity Account handling. Patch by Burke.
  • Bug #661832: MySQL database error after wireless reconnect
  • Bug #667093: Update taxtxf.scm to fix beginning balance sign and signs for Transfer From/To amounts for liability/equity accounts
  • Bug #680086: Each Tip of the Day has an n shown at the end
  • Bug #672364: does not properly handle XML parse errors, leading to possible data loss
  • Fix #638955: Connect the `Help' button in the `Close Book' dialog box (Tools > Close Book) to newly-written help section on book closing.
  • Bug #638971: Multicolumn report does not show more than one graph
  • Bug #680887: Updated RELAX NG schema for v2.4.11 XML file format
  • Bug #677488: DROP INDEX missing ON
  • Bug #632931: Advanced portfolio: add "rate of gain" column
  • Bug #610648: Change Reconciled Split Dialog ignores pressing Cancel
  • Bug 680402: Tests fail due to unused translations
  • Add all scheme files to POTFILES.skip so that intltool-update > 0.50 will ignore them. Scheme file translation strings are handled by intl-scm/.
  • Bug #680613: Date format setting seems to be ignored since version 2.4.9
  • Work around strange side-effect of r21665 which caused LC_TIME to be changed after it had been set by setlocale(LC_ALL) in set_mac_locale().
  • Bug #680887: RELAX NG schema for 2.4.11 XML file format
  • Bug #680576: Transaction report: date takes up two lines when using Canadian locale format.
  • Change date cells type from text-cell to date-cell to apply white-space: nowrap style.
  • Bug #680671: Configure should check for the python-devel package if called with --enable-python

New in GnuCash 2.4.11 (Jul 17, 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
  • 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
  • [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.
  • [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.
  • 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.
  • [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.
  • [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.
  • [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.10 (Apr 11, 2012)

  • Win32 installer: always remove previously installed versions. This avoids problems when libraries or reports have been moved around in newer versions.
  • [Bug #667900] no clipboard editing in Release 2.4.9 Update Gtk+ to 2.24.8 for Windows, to pick up da756d51 (win32: fix gdk clipboard).
  • Turn on AQBAnking 5 in 2.4 branch.
  • Win32: Restore default gtk theme to MS-Windows Our problems with this theme have been resolved in gtk+ 2.24.8
  • [Bug 666849] Non-privileged user first run trouble The problem is that the first run was creating the slib catalog. This introduces a script to do that as part of installation, guaranteed to be run as an admin user.
  • Update xml file backend to recognize a newer version file on load attempt, not load, and alert user of need to upgrade Gnucash.
  • Reports: Make report Budget Flow 100% translatable
  • Update txf.scm in stable branch to reflect changes to US Income Tax Forms and Schedules for 2011.
  • [r21867]Reverse the test for HAVE_DBI ac_cv_header_dbi_dbi_h is set only if want_dbi is true, so testing for != no succeeds if dbi isn't enabled -- which is not what we want.
  • [21860]Bug #667417 - Fix build with glib 2.31.x Patch by Vincent Untz
  • [21840] Add dependency on qofbook.h for swig generated file. Otherwise the old generated file complains about a missing declaration from r21832.

New in GnuCash 2.4.9 (Jan 27, 2012)

  • Bug #666329 Empty database after a little while Separate the two uses of QofBook::dirty -- indicating that the book object itself has been edited and indicating that some object in the dataset has been changed -- into two separate variables with separate getters & setters. Use gnc_dbi_safe_sync_all (which doesn't lose data if the save partion errors out) for all be->sync. Reverse qof_book_mark_saved and qof_instance_mark_clean so that the book is dirty for qof_book_mark_saved when it's the instance. Original commit by jralls
  • Bug #667105: Fix grammatical error in some accounts file.
  • Bug #667276 : Fiix Korean accounts files. Patch submitted by Eulgyoon Lim.
  • Bug #457401 - Print invoice should not be disabled for unposted invoices. Enable printing for unposted invoices.
  • Add a "features" table to the KVP frame, and pop up an error message if we find a feature we don't know about. Currently there are no known features, so essentially we will error out if we see anything.
  • Bug #665998 Replace no-op function force_account_dirty with qof_book_mark_dirty.
  • Bug #658247 - First time setup should prompt to save file. Fix supplied by Bob referenced in bug #665996.
  • Bug #642276 Bayesian association with Sqlite Wraps the kvp_frame_set_slot_path with xaccAccountBeginEdit()/xaccAccountCommitEdit(). Also clean up some other cases where KVP was set without committing an edit.
  • Fix table number alignment.
  • Fix number alignment in table.
  • Bug #649362 - Transfer Funds Window Exchange Rate and Decimal Points Rounding in Bill/Invoices This patch fixes the rounding by showing the actual value to convert. As a result the exchange rate direction had to be swapped as well to avoid lots of confusion.
  • Abort posting if not all required exchange rates are given. Note that any exchange rate successfully entered before the posting is aborted are still saved with the invoice.
  • Bug #665202 - Improve python-finding code. Patch by Pacho Ramos
  • Bug #661383 - GnuCash segfault on Linux (Fedora 16 beta) because of shared library load / unload weirdness
  • Fix right align for number cells in table.
  • Added user settable line width and data point markers to net worth line chart.
  • Commented line width. This value really should be passed from .scm file
  • Fix setting of line color for line charts.
  • Bug #664862 - New report showing net assets over time Added new line chart report for assets, net-linechart.scm. Distantly related to Bug #570011
  • Add missing Root Account part. Original commit by mikee.
  • Bug #664764 - Account setup for Swedish small business Added Swedish chart of accounts for small businesses. Original commit by mikee.
  • Bug #663368 When importing CSV files, the word 'Deposit' appears in Num/Action column
  • Bug #630804 - make check failure in business module
  • Don't install a script that is only used for building and testing. This fixes Secunia Advisory SA42048
  • Bug #663638 - Posting Invoices asks for curency conversion for blank lines
  • Bug #639082 - General Journal report reports an error
  • Bug #662477 - Desktop file not compliant with FreeDesktop spec and GNOME goal Patch by Sébastien Villemot
  • In 2.4.9, the following languages had their translations updated: French, German, Lithuanian .

New in GnuCash 2.4.8 (Jan 27, 2012)

  • Bug #655901 - Fix build with guile 2.0
  • Fix handling a directory as a dataset file.
  • Bug #626970 - Crash when saving a transaction whose destination account was deleted in the meantime
  • Bug #661721 - Exposed Password
  • Bug #651522 - crash in query_free_compiled, gnc_query_list_reset_query
  • Use "Nimbus" gtk theme on Windows. A previous attempt failed to set this in the installer.
  • Bug #644977 - Add new Quicken Check 21 format. Thanks to Steve Holland
  • Update Mac customizations for gtk-mac-integration-1.0.0. Mac integration has had a name and api change from ige-mac-integration as part of migration from Sourceforge to Gnome.
  • Bug #553432 - Status line of edit invoice page mixes invoice currency amount with default currency symbol
  • Bug #365928 - Jobs do not stick in Expense Vouchers
  • Find the python libraries and includes even if the path to them includes a symlink. When python is installed using MacPorts there is a symlink in the path.
  • Bug #612562 - Transfer Funds dialog - 'Show Income/Expense' checkboxes are not working. Subaccounts of income and expense are not always shown.
  • Make sure that exiting conn_test_dbi_library on a failure doesn't leave the locale at "C".
  • Bug #645216 - Fix wrong permissions on server result in bogus error message.
  • Change default post date: * customer invoices: post at the current date * bills/vouchers: post at the last date on the bill/voucher
  • Bug #658244 - Custom css stylesheet and logo in Tax Invoice report require protocol in exported HTML
  • Bug #655901 - Fix build with guile 2.0 Patch by Petr Gajdos
  • Fix critical error regarding the color tabs when trying to display the search results and also on the scheduled transactions template. Patch by Robert Fewell
  • In 2.4.8, the following languages had their translations updated: Japanese, Lithuanian, Latvian, Russian, Hungarian.

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

New in GnuCash 2.4.5 (Apr 11, 2011)

  • User-visible changes:
  • [20457] Improve message printed on screen
  • Note last stable version number:
  • Updated translations or translation-related changes
  • [20507] Various spelling fixes in comments and translatable strings.
  • Updated Dutch translation, copied from the translation project.
  • Updated Italian translation.
  • Bugs fixed:
  • [20496] Bug #645518: Partly revert r20378, "Correct memory leaks found with valgrind" The original author (Alex) asked to have this part reverted as it seems to cause the crash explained in the bugreport, but he doesn't have time to investigate this in detail right now.
  • [20481] Bug #645640: Online transfer must not allow to change amount in second window
  • Bug #642176: Add four decimals to CLF (Chilean Unidades de fomento) Oops, I forgot 1 digit
  • Bug #642176: Add four decimals to CLF (Chilean Unidades de fomento) While we could not find a document, which defines the decimals, they are indispensable for the conversion of payments in "real" CLP.
  • Bug #645173 - [PATCH] Configure check uses hardcoded webkit library name Patch by Andy Clayton.
  • Bug #641645 - Support ActivePerl 5.12 for Finance:Quote on Windows
  • Bug #644688: Account edit fails to detect that no changes have been made and marks the account 'dirty'.
  • Other code/build changes
  • [20501] During win32 build, if a component is already installed, print the installation path Original patch by plongstaff.
  • [20491] Fix glade message with unintended whitespaces.
  • [20487]Windows nightly build: fix webserver directory creation hack
  • [20475] Windows build: fix weekly 2.4 build and move log files into separate directory
  • [20461] Windows build: allow reset.sh to remove mingw
  • [20460] Windows build: fix upload code
  • [20456] Some additional Windows nightly build fixes: - restore the original mingw/msys link, even when the build script abort (due to a die command) - only restore the mingw/msys link if it was saved before - weekly builds should be on Monday, not Tuesday - upload tag rebuilds to a directory named 'releases' instead of 'tags'
  • [20455] Build server: automatically create directories on webserver for new branches
  • [20454] Rework the Windows weekly 2.4 build to avoid parallel builds (which would fail)
  • [20452] Adapt the windows build system to deal with swapping mingw installations on one build machine
  • Start the 2.4 stable branch so that trunk is now experimental again
  • Add some convenience getter functions to gncOwner.
  • Whitespace and spelling corrections
  • Make error message on missing more verbose.

New in GnuCash 2.4.0 (Feb 28, 2011)

  • User-visible changes
  • Update copyright notice dates to include 2010
  • Use proper decimal separator for monetary amounts
  • If you have a parent account with a subaccount whose commodity allows more decimal places in the amount field than the parent account does things don't work right if you open a register for the parent account and all subaccounts. This situation can occur if you have a broker account with subaccounts for the securities held in that broker account. If you open a register for the top account and all subaccounts, it is impossible to enter a transaction to buy or sell a fractional share of the security where there are more digits after the decimal point than the parent account allows. This change fixes this if the subaccount allows no more than six digits after the decimal point.
  • When creating a new style sheet, make sure the name for it is non-empty.
  • Implement (but currently deactivated) auto-completion in the invoice ledger using all entries from the current book. Eventually, this will enable drawing the auto-completion from all entries in the previous invoices (i.e. book-wide), but in order to give the user a good enough feedback during typing we additionally need a quick-fill object over those book-wide entries. Currently, the user cannot see whether the current description would result in an auto-completion from another invoice, and that's not yet enough.
  • Implement auto-completion in the invoice/bill entry ledger.
  • Take a first shot at adding auto-completion in the business ledger, but currently it doesn't do anything yet.
  • Updated translations or translation-related changes
  • Updated POTFILES.in
  • Mark erroneous translation as fuzzy because it doesn't have the correct c-format.
  • Reverse inadvertent mods to po/POTFILES.in in r19904
  • Updated Greek translation provided by Nikos Charonitakis.
  • Updated Japanese translation, copied from the Translation Project.
  • Add "discount" to all glossary files because some languages use different translations in billing terms and invoices. Additional the german translation is added to glossary/de.po. This change does not break the string freeze as it is not user visible.
  • Update German translation. (This includes the 14 new strings which are already there but not yet being used.)
  • Merge German translation with latest pot template. This is merged using msgmerge --no-location de.po gnucash.pot -o de.new.po and we use "--no-location" to make the updates actually readable. (Unfortunately this doesn't prevent the strings from changing ordering anyway. Oh well.)
  • Remove superfluous whitespace at end of string. Incidentally, this way the string already exists and no broken translation results.
  • When extracting the translation strings from the scheme files, sort the scheme files to obtain a stable ordering of the output.
  • Bugs fixed
  • Bug #637346: Adding python-bindings to doxygen documentation Patch by Christoph Holtermann.
  • Bug #637041: Revert r19861 as the patch from bug#635439 causes a crash. The patch can be re-applied after the 2.4.0 release is out, but for now I prefer to defer it until after the release. To be precise, this patch reverts all parts of bug#635439: r19861, r19860, r19854, r19853.
  • Bug #629446: TRY is now called plain Turkish Lira.
  • Bug #454109: Online banking: grey out online actions when there is no online account Patch by Manfred Usselmann: Online actions are disabled for accounts which have no bankcode and account id assigned This fix does not require initialization of the AB_BANKING object.
  • Bug #635926: Lower-case the name of the lock table to avoid confusing Postgres. Also abstract it to a static variable instead of repeating the string everywhere.
  • Bug #635967: Slots didn't correctly read the path semantics stored by 2.3.15 and earlier. Corrected, but note that 2.3.15 and earlier didn't write lists to the database, so users should re-save from XML using 2.3.17 or later.
  • Bug #635355: Partly implement the correct "DTAUS import and send" feature again. Patch by Manfred Usselmann. The main part of the feature is delayed until the string freeze is lifted. This part (without adding strings) implements the infrastructure for sending only the correctly imported transactions to the bank later.
  • Bug #636459: Recursively delete slots contained in slots of type KVP_TYPE_FRAME or KVP_TYPE_LIST.
  • Bug #635859: Strip all trailing '/'es from kvp_slot paths when loading. This changes round-tripping slightly (because the resulting slot key won't have the trailing slash when it's re-saved as xml). It may also change the behavior of the facility using the slot, because the key is changed. So far, the only known instances which trip this bug are import-map-bayes, because descriptions may have '/'es in them (and why shouldn't they). Unfortunately, fixing this right (so that key values can have embedded '/''es and be saved/retrieved from sql databases will require changing the slot architecture in ways that impact the engine. Since we don't have adequate unit tests to be confident of not introducing a regression, I'm applying this instead.
  • Bug #609472: Fix translation of displayed style sheet names in the style sheet editor.
  • Bug #635911 GnuCash crashes out when trying to save-as MySQL Disclaimer: This fix attempt is purely based on the information given in the bug report and code reading. I never could reproduce this bug but the code suggests an unitialized pointer may be the the cause.
  • Bug #635469: Add a (typemap for a) QofQueryParamList typedef. Patch by Matthijs Kooijman: This is a typedef for a GSList, that is used to identify the path from an object to one of its parameters in search queries and sorting. This typedef replaces GSList everywhere where it's applicable. This relieves the need to special case a few functions in the swig bindings and makes the bindings for a bunch of other functions work as well. Note this is (still) only an in typemap, since no useful functions that return a QofQueryParamList are exposed in the bindings right now anyway.
  • Bug #635632: Update existing eguile reports to use new for syntax. Patch by Matthijs Kooijman : This makes use of the new for syntax introduced in the previous commit, making these reports and templates a bit easier to read and modify.
  • Bug #635632: Add custom for loop syntax for eguile templates Patch by Matthijs Kooijman : The built-in for-each loop construct is a bit cumbersome: It always requires an explicit lambda and the list to loop over is the last argument. Especially the latter makes it very hard to read when the lambda is big and multiple for-each'es are nested. For hashes, this prevents the need of the cumbersome hash-fold and slightly better hash-for-each (which still suffers from the same problems as for-each and is not available in guile 1.6). This new syntax allows for three distinct syntaxes: * Looping over a single list: (for a in lst do (display a)) * Looping over multiple lists: (for (a b) in (lsta lstb) do (display (+ a b))) * Looping over a hash: (for key => value in hash do (display (* key value)))
  • Bug #635469: Add bindings for running a qofquery on invoices. This adds a new typedef "GncInvoiceList" with the corresponding typemap, and adds two new functions qof_query_create_for_invoices and qof_query_run_for_invoices, which are trivial wrappers around qof_query_create_for and qof_query_run respectively.
  • Bug #635355: Add public declaration of gnc_info_dialog. Patch by Manfred Usselmann.
  • Bug #635439: Patch to autoset owner in the payment dialog Patch by Matthijs Kooijman
  • Revert "Bug #635439: Patch to autoset owner in the payment dialog" This reverts commit 232ae4064952cb65e9703d61778cb1531d2e4f56.
  • Bug #635439: Fix "Pay invoice" while the invoice dialog is open. Patch by Matthijs Kooijman : If you use "Pay invoice", normally a new payment dialog is opened which is completely filled in. However, when there was already a dialog open, it was reused but only the owner would be filled in. This patch makes sure that the invoice and amount are filled in as well.
  • Bug #635439: Patch to autoset owner in the payment dialog Patch by Matthijs Kooijman : In the payment dialog, set the owner when an invoice is selected Before, you would always need to select an owner manually. If you would just select an invoice (which was possible, since the invoice selection is not disabled when no owner has been selected yet), pressing OK would error out because no owner was selected. This patch makes sure that when an invoice is selected, but no owner is selected yet, the right owner is filled into the owner selection box automatically. This also happens when the wrong owner is selected, which can happen because the invoice autocompletion is not limited to invoices from the selected owner, but always completes all invoices. This could cause weird behaviour: Select an owner, then use completion to select an invoice by another owner and press ok. This would cause the amount for the invoice by the other owner to be charged against the first owner. This patch prevents that by replacing the first owner by the other owner in the dialog. This patch also changes gnc_invoice_set_owner to no longer reset the invoice selection to NULL. Instead, this is now handled by
  • Other code/build changes
  • Update configure.ac to 2.4.0 Update gnucash-bin.c to indicate stable version is 2.4.0, next stable version 2.6 Here we go...
  • Add gnc-backend-dbi-priv.h to list of header files so that 'make distcheck' passes
  • Fixed date problem in MySql backend
  • Removed accidentally created directory.
  • Add enumeration of indexes in sql backends. This is a first step to rewriting databases in a safe way. Indexes are named entities in sql databases and so need to be renamed along with the tables before creating and populating a new set. This change also introduces a unit test of the new enumeration, and that test has to be able to see data structures which are private to gnc-backend-dbi.c, so those data structures are moved to a new file, gnc-backend-dbi-priv.h, which both gnc-backend-dbi.c and tests/test-stuff.c can include.
  • Add debug helper function qofeventid_to_string.
  • Support for GncCommodityNamespace, better support for GncCommodity, and example enhancements. Patch supplied my Mark Jenkins.
  • Changes to example Script to include added namespace functionality This patch changes the example script to reflect the capability of reading all namespaces. Patch provided by Christoph Holtermann.
  • Cutecash: Add generation of dummy gnc-version.h file.
  • Add missing newline at end of file
  • Replace more obsolete #define'd function names by their current names.
  • Add gitignore for backup files from make check.
  • Replace more obsolete #define'd function names by their current names.
  • Make "make check" work when run from "make distcheck".
  • Replace obsolete #defines by the current function names.
  • Follow-up to r19928: Include gnc-version.h with directory path to avoid picking the wrong file.
  • Improve the cached quickfill for GncEntry description lines of r19941.
  • Add APIs to get/set a flag signifying that a transaction is a book-closing txn. This is necessary for Bug #570042 but doesn't completely solve it until the reports are updated to use the new API. This is backwards-compatible with the slot data inserted by the book closing since 2010-03-02.
  • Adds checking of gnc_commodity_namespace in glists In src/base-typemaps.i check for return type gnc_commodity_namespace is added so that it is returned instead of gnc_type_monetary. Thanks to Christoph Holtermann for the patch.
  • Move price_database_example.py to the correct place and remove incorrect path/file
  • Change indent to 4 sp
  • Implement prerequisites for full auto-completion in the entry ledger. Added a cached quickfill for GncEntry description lines. Extend QuickFillCell interface to be able to use a common cached quickfill.
  • Remove doubled include files. (Also, QuickFill.h doesn't depend on gdk.h)
  • Add messages to backend errors, ensuring that qof_session_backend_get_message() will actually get a useful message, or that there will be a descriptive warning immediately before in the trace file.
  • Move gnc-version.h and gnc-svninfo.h from gnome-utils to core-utils.
  • If the build directory is not the source directory and the source directory is read only, the build fails. Fix by only making guile-strings.c if building from SVN.
  • Get rid of the rest of the gnc-prices man page, r19921 is incomplete
  • Remove variable names that conflict with Python keywords. Relevent when using SWIG autodoc feature for python bindings.
  • Add �ature("autodoc", "1"); to gnucash_core.i to pass C documentation through to python interface.
  • New example script for prices dababase. Thanks to Christoph Holtermann for contributing to this.
  • Remove obsolete gnc-prices man page
  • Add Gnucash svn version to sql versions table.
  • Insert missing space
  • Re-enable -Werror in Makefile.am and remove �ature("autodoc", "1"); from gnucash_core.i
  • Add commodity price functions to bindings. See Bug 636457 for more details.
  • Add PriceList to typemap for Python bindings
  • Patch by Matthijs Kooijman. In r19863, some qofquery bindings were added. For those to compile, business-core.i now includes qofquery.h. However, this causes the bindings for qofquery.h to be generated twice: Once through engine.i and once through business-core.i. The latter generated broken versions of the bindings, breaking (at least) the receivable aging report. This commit changes the %include to an %import, so the new bindings still compile but the query bindings don't get generated twice.
  • Re-indentation of source code. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Make prototype for gnc_entry_ledger_get_entry public. Add documentation.
  • Fix GtkSpinButton with page-size deprecated warning in gnucash.trace

New in GnuCash 2.3.17 Unstable (Nov 23, 2010)

  • Bugs fixed:
  • Bug #589954: No blank split after creating a new account "on the fly" while editing a transaction. Cause was that gnc_split_register_get_account_by_name() turned of "full_refresh" if the account didn't already exist and turned it back on only if the name of the account actually created in the new account dialog box differed from the one originally entered in the transaction. Since "full_refresh" isn't manipulated much, that effectively shut down the ledger for further editing. Probably not what the original author intended!
  • Bug #634906 - Re-enable splash screen preference option
  • Bug #633550 - Help and concepts guide are missing from the prebuilt binary (because xsltproc chokes on undefined entities)
  • Bug #609581 - Gnucash 2.3.8 offers to create db and then fails to do so
  • Bug 628409: SQL coerces identifiers to lowercase, but postgres's C interface is case sensitive.
  • Bug 592643: Set standard_conforming_strings on postgresql databases.
  • Bug 634964: Crash in pgsql_error_fn. The dbi_conn isn't set if the server refuses the connection, so protect dereferences from null pointers.
  • Bug #634357 followup: convert New and Open submenus into plain menus
  • Bug #634812: Improve backend error reporting for Session begin Patch by Mike E: The current error feedback to a python scrpt/user looks something like: call to begin resulted in the following errors, (7,) This change in gnucash_core.py makes the feedback similar to: call to begin resulted in the following errors, ERR_BACKEND_LOCKED This is less cryptic and aid debugging of user python scripts. My only issue though is whether this would break existing user scripts where checking of this error code is used for flow control. Although since the ERR_ codes are imported with gnucash_core_c it *should* have no effect.
  • Bug #634357: Further menu ui cleanup: Reserve File New/Open menu only the file-related items anymore. The menu items under "File" should relate only to the file (database), not to anything within a file. The open/new for all other things (budget, invoice, account) have been moved somewhere else.
  • Minor fix of r19802, bug#634673: config.h is in builddir, not srcdir; add last .i file dependency.
  • Bug 634673: Add dependency information & fix typo in python-bindings Makefile.
  • Bug 634392: New sql database raises clobber warning A fairly extensive change, because I changed may_clobber from a global qof function (which passed through qofbackend and fetched up in the actual backends) to a local static in the individual backends which raise a new qof_backend_error, QOF_ABCKEND_STORE_EXISTS. This was necessary to reorder the existence check before the lock, because with the sql backends, locking creates the database... which then would return may_clobber as true, even though it really wasn't. New parameter "force" added to session_begin() functions, and "create_if_nonexistant" is renamed to simply "create". The reason for the latter is that the file/database is created regardless of whether it already exists; that's what the clobber check is about. The new "force" parameter is set to true the second time through, after the user has responded to the clobber dialog indicating that the data should be destroyed. Many of the extraneous changes are just adding the new parameter to the session_begin() calls. gnc-file changes to handle the error in favor of calling the no-longer-existing qof_check_may_clobber_data() call after session_begin(). Two minor changes to gnc_file_do_save_as: gnc_add_history and gnc_hook_run are now called on new_session instead of old_session; this ensures that the new file/database is used at the next startup of gnucash. Second, the filename/url is filtered before displaying the "may_clobber" dialog box to prevent displaying plaintext database passwords.
  • Bug #634165: Better dealing with a locked database in python Patch by Christoph Holtermann: For the second enhancement proposal i have attached a simple patch which adds the argument ignore_lock to Session.__init__() which is passed through to qof_session_begin. This patch extends the function Session.__init__() with ignore_lock
  • Bug #634357: Move the Budget Open/New menu items to Actions -> Budget -> New Budget / Open Budget because they have nothing to do with the file menu.
  • Bug 634334: Check that subdir argument really is one of the two cases we can handle. Wrap fileURLWithPath in @try/@catch so that we don't crash when it throws. Free bonus fix: If "en" is the language and doesn't have a translation, force the C locale.
  • Bug 634334: Crash on selecting New User Tutorial from new user dialog.
  • Bug #633942: Fix "nil" column header on single account report When I open a report window (barchart in the example) and select only one account, I get a column header saying "nil" near the only data column. Someone accidentally wrote "nil" instead of the empty list '().
  • Bug #634252: Re-enable the splash screen if the user selects open anyway If during startup a file or database turns out to beeing locked the user is presented a dialog with the options to open anyway, create a new file or abort. This dialog, however, closes the splash screen. This may cause confusion, because file loading and report generation may still take quite some time.
  • Updated translations or translation-related changes
  • Updated Italian Translation.
  • Updated dutch translation, copied from Translation Project
  • Minor update of German translation. In the "bills due" dialog we use Bill -> Rechnung, not Lieferantenrechnung.
  • Other user-visible changes:
  • Fix crash when using the function "Import DTAUS and send". The actual function is still implemented, though.
  • Other code/build changes:
  • Correct patch submission instructions to direct patches to bugzilla rather than the mailing list.
  • Splash screen: minor code cleanup
  • Fix error in r19822 which prevented creation of postgres databases.
  • Fix python samples to work with reordered Session.__init__() args
  • Fixed aqbanking transaction type on importing DTAUS online transfers. Patch by Manfred Usselmann.
  • Disable Italian docs generation I just accidentally enabled. It wasn't enabled before the xsltproc issue popped up, so it shouldn't be enabled now.
  • Reactivate English docs generation in Windows build
  • When preparing imported DTAUS jobs, check their availability as well.
  • Fix misplaced comment in gnome-utls/gnome-file.c from 19798
  • Make arguments to Session.__init__() have the same order as to qof_session_begin() to reduce potential confusion.
  • Fix typo in AUTHORS, as pointed out by Mike himself.
  • Add Mike Evans to AUTHORS as he has been providing patches regularly.
  • Win32 build: Update versions of libktoblzcheck, gwenhywfar4.
  • Add force_new parameter to GnuCashCoreClass.__init__, reflecting change to qof_session_begin() in r19798
  • Increase gnutls version to 2.8.6 (might fix bug#632158)

New in GnuCash 2.3.16 Unstable (Nov 8, 2010)

  • Bugs fixed
  • Bug 632346: Fixed test failures in dbi
  • Bugs 632346 & 632166: Fixup transaction currency scrubbing. Biggest problem was that almost well-formed transactions missing a currency element wouldn't import correctly because the FindCommonCurrencies function only used the old currency values, ignoring the commodity values in the splits' accounts. A new function, xaccFindCommonCurrencies(), looks at those first and then calls xaccFindOldCommonCurrencies only if it fails. That addresses the cause of the import failure reported in 632166 and a big chunk of the warning messages complained about in 632346. A secondary problem, also addressed in this change, was that the last block in xaccTransScrubCurrencyFromSplits always replaced the "amount" with the "value". This is the right thing to do if the commodity for the split account is a currency, but if it isn't, the replacement should be reversed.
  • Bug 629238: Part 2: Extend locking table to SQLite3.
  • Bug 629238: Part 1: Create a lock table for postgresql and mysql backends.
  • Bug 627831: Implements recursion into storing and retrieving nested slot frames and lists.
  • Bug #630770 - Crash when connection lost using db
  • Bug #629524: Fix redundant string.
  • Bug 611077: Removed warnings, webkit handles jumps to anchors internally
  • Bug #502853 - Incorrent tax rounding in invoice (rounding of .5) This patch changes the default rounding behaviour in GnuCash from "Round to nearest even" to "Round away to infinity". See the bugreport for more details on these different rounding methods.
  • Bug #593479 - Account file being deleted because of erroneous checking for lock file. Replaces the pointer arithmetics with string functions and regexes where possible to avoid typical pointer pitfalls.
  • Bug 3786338. Change r19243 deleted a call to xaccTransBeginEdit which causes a crash replaying a log that deletes an existing transaction. Log replay should now do exactly one xaccTransBeginEdit/xaccTransCommitEdit call per logged transaction.
  • Bug 632166: Restore the old session if "save as" fails. Save as would make a new session the "current session" and attempt to save it. If it failed, the new session (with an invalid database) would remain the current session -- and would be marked clean. An XML-only file-save-as dialog would be presented with no instructions about what was going on. With this change, if the "save as" fails, the old session is restored, still marked unsaved. This should be much less confusing to users and more likely to avoid data loss. Yes, there's some duplicated code now, because do_save_as doesn't call save. That's because save did some extra things that do_save_as doesn't need and it didn't allow do_save_as to properly correct the session. This could be refactored into some tiny functions, but that seems a bit excessive to me.
  • Bug 632166: gnc_backend_sql_sync_all: Commit only if all operations were successful; otherwise roll back.
  • Bug 632166: A Better fix that doesn't break string freeze or introduce a Gtk GUI dependency into the backend.
  • Bug 632166: Notify user when something goes wrong with a transaction save.
  • Bug 611077: Warn instead of assert about gtk_html_jump_to_anchor not being implemented in webkit. Note, however, that Webkit seems to take care of this on its own, so even the warning may be unnecessary.
  • Fix #630286 - Please add handling code for GDate kvp values in SQL, too If slots table does not include gdate field, it will be added and all current slots will have a NULL value. Tested on sqlite3 and mysql. Tested using the example gnucash file referenced from the bug report. When saved from XML -> sqlite3 -> XML, some timestamps changed their timezone because of a change of timezone (I'm in North America). I guess this is OK.
  • Bug #631058: Add future date period choices to be available in the date options Patch by Chris Leach: This patch provides date utilities to calculate future dates. This allows easy selection of common future periods. cstim adds: This patch adds new strings, but they are not used anywhere so far, i.e. they will not be user-visible. Hence, I agree those scheme functions may be useful for external report writers and for this reason they are already added. Note: The original submission would have added those options to the standard relative-date chooser report option, but I (cstim) do not support adding those extra option for all reports as standard setting. Hence, the usage of this additional choices has to be added by the report writer explicitly.
  • Bug #593479: Ensure not to accidentally delete our main account file. Original patch by Tim Retout who writes: strptime is passed (name + pathlen + 1) as the string to search. However, when looking at the main account file, strlen(name) == pathlen, so strptime is looking at the point just past the end of name. Sometimes this will be parseable by strptime, and this leads to the account file being unlinked.
  • Bug #554396: Implement a partial TXF output for capital gains
  • Bug #620663: Fix French spelling mistake in preferences window
  • Bug #629641: Fixes WARN messages. Bug in gncIDSearch.c causes "WARN [qof_class_get_parameter()] no object of type string" to be emitted to error log. Currently only affects Python bindings; InvoiceLookupByID(ID_STRING).
  • Bug #118391: Put isocodes in README.dependencies to inform packet maintainers Additional changes in that file: 1. Link to more up to date http://wiki.gnucash.org/wiki/Dependencies 2. Introduce Structure: required, alternatives, optional, at runtime suggested 3. Add webkit
  • Bug #628960 - Column width unchanged after shortening translation string
  • Bug #628865 - Error dialog displays password to MySql database when fails to connect
  • Fix bug 573702. When reading an old data file that doesn't have a template root account for scheduled transactions invent one.
  • Bug #137017: Save the transaction date as a GDate directly, additionally. This way, the date that was entered by the user is now at least saved in the kvp and can later be retrieved in case we really fix the timezone dependence of our txn's dates.
  • Bug #370331: Store the numeric values of SX in their kvp as well, if possible. For SX whose values do not depend on any variables, we now store the numeric value as well. This way, we get rid of locale-dependent parsing errors due to changing decimal separators in changing locales - at least for SX which do not use variables.
  • Bug #616697 - string "Payment rec'd..." should be more cleared.
  • Bug #626681 - date fields missing in GUI, lost in change from 2.2.9 to 2.3.14
  • o Bug #588414 - Got "Entry Point Not Found" errors starting GnuCash, but ran OK The problem is caused by leftover files from a previous install. The solution is to uninstall GnuCash before installing a new version in such cases. This commit adds a compatibility test and uninstall step to the windows installer that will automatically uninstall the previous gnucash release if it is considered 'incompatible' with the one to be installed. The user will be warned of this, so he can decide to cancel the installation if he doesn't like the idea of uninstalling his working GnuCash installation. Currently, versions are considered 'incompatible' if their major or minor version components are different, so 2.3.x is incompatible with 2.2.x and will trigger an uninstall. Likewise, a 2.4.x install is incompatible with a 2.3.x and will trigger an uninstall. This is a nice way to remove all testing 'cruft' from the system once the new release comes out. Note that in the future installing 2.3.16+ over 2.4.x will also trigger the uninstall, which is a good thing IMO. An older release can't know about changes made in a newer one, so it's safer to first uninstall the newer one to avoid leftover files.
  • Bug #504954 - Wrong calculation of TAX
  • [Bug 560052] Force use of internal strptime to work around bug in the Leopard libc.
  • Bug #627325 - Update Subversion URL, patch by Yasuaki Taniguchi
  • Bug #625193: Move newly introduced search-by-id functions into src/engine. Patch by Mike Evans.
  • update po/de.po after r19435 msgmerge 1. 2 dirty and 2 new strings 2. partial spell verification entity -> Entität small typos
  • Updated translations or translation-related changes
  • Updated Latvian translation by Valdis Vitolinš.
  • Updated British English translation by Mike Evans.
  • Updated Bulgarian glossary by Rosi Dimova.
  • Updated Bulgarian translation by Rosi Dimova.
  • Updated Latvian translation by Valdis Vitolinš.
  • Minor update of German translation. "xy anlegen" -> "Neue xy" bill -> "Lieferantenrechnung" to distinguish from invoice -> "Rechnung".
  • Updated Turkish translation by Seyfi Duyan.
  • Minor update of German translation. Kontenbaum (urgh) -> Kontenplan Kontenrahmen -> Kontenplan
  • Minor update of German translation
  • Updated Turkish translation by Seyfi Duyan
  • Updated Dutch translation, copied from the Translation Project.
  • Update German translation.
  • Updated Italian translation.
  • Updated Italian translation.po/it.po
  • Updated Dutch translation copied from translation project
  • Fix 2 nonfatal syntax errors in german SKR49 1 missing Namespace 1 forgotten replacing of the last closing tag This is now also updated in http://wiki.gnucash.org/wiki/AccountHierarchyTemplate
  • Fix erroneous translation of strings with context prefix. The msgstr must not contain the prefix anymore. http://lists.gnucash.org/pipermail/gnucash-devel/2010-September/029481.html
  • Minor update of German translation
  • Updated Polish translations by Radzislaw Galler.
  • Updated Polish translations by Radzislaw Galler.
  • Updates for German account templates, by Frank H. Ellenberger. He writes: Im beiliegenden Patch habe ich ziemlich mechanisch (grep, recode, sed) die folgenden Anpassungen vorgenommen: * encoding="ISO-8859-1" -> utf-8 * USD -> EUR, respektive CHF ** dies betraf auch de_DE/*[brokerage|full]* *: interessanterweise wandelt der Druide die aber anscheinend in die default currency um. * Passiva -> Fremdkapital
  • Updated Japanese translation, copied from TP.
  • Fix disambiguation prefix translation errors, by Valdis Vitolinš
  • Updated Italian translation.
  • I18n: Add German translation for new installer texts. Suggested by Frank H. Ellenberger and edited by myself.
  • Update German translation.
  • Merge most recent pot template into all language po files.
  • Updated Japanese translation for win32 installer wizard by Yasuaki Taniguchi.
  • Added Japanese translation for win32 installer wizard by Yasuaki Taniguchi.
  • Updated Latvian translation for win32 installer wizard by Valdis Vitolinš.
  • Updated Latvian translation for the Windows installer, patch by Valdis Vitolinš
  • Updated Italian translation for win32 installer wizard.
  • Updated Japanese translation, copied from the Translation Project.
  • Updates for Latvian po file, patch by Valdis Vitolinš.
  • Translatable string fixes by Yasuaki Taniguchi One is on the price editor. Namespace: is not marked translatable. Another is about a tip for account editor window. The label "Edit->Income tax Options" was changed to "Edit->Tax Report Options" but an old msgid remains on tip. The last is on the Tax Table. The label "_Edit" is not marked translatable but it should be.
  • Replace misleading "Passiva" in accounts/de_DE/* by "Fremdkapital" with description "alle Verbindlichkeiten" Patch by Frank H. Ellenberger.
  • Remove file locations from de.po file by running msgcat --no-location de.po > tmp ; mv tmp de.po This way, the text diff of translation updates suddenly becomes readable.
  • Fixed a string not translatable.
  • I18n: Replace untranslatable sub-strings by the correct full strings. The implementation is a hacky workaround, but at least better than having weird translations as in the current state. Note: Even though new strings are introduced, they are not yet used in order not to break the string freeze here. The new strings need to be activated once the 2.4.0 string freeze is lifted.
  • Updated Dutch translation, copied from the Translation Project.
  • Updated Latvian translation of business account chart by Valdis Vitolinš.
  • Updated Latvian translation by Valdis Vitolinš.
  • correct syntax error in po/glossary/de.po " must be quoted in strings.
  • Other user-visible changes
  • Fix error in dense-cal widget where the last occurrence of a SX wasn't displayed.
  • Really fix error in sx_get_num_occur for SX which are limited by num_occur. Follow-up to r19757 which was incomplete. Hopefully I now really got everything.
  • Fix error in sx_get_num_occur for SX which are limited by num_occur. The last occurrence wasn't counted because it was still valid but turned num_occur_rem to zero, hence the counting stopped one too early.
  • Revised handling of obsolete security elements, made log messages better. Accounts with security elements would only use the security to update the commodity if there wasn't a commodity; however, the files in the tests had accounts which had a security and a commodity, where the commodity was a currency. That's wrong. so now if the commodity is a currency, the security will overwrite it. Added the account name and element name to the log message to assist in troubleshooting, should that be needed.
  • Preferences window improvements: * Accounting Period: reorder options so the dates are on top * Business: reorder options to clarify which options are general and which apply to invoices or bills only * Business: remove obscure "Number of lines" option * Register defaults: remove obscure "Number of lines" option * General: remove "Show splash screen" option While removing the "Number of lines" options, I have also removed most of the code that used this option. The number of lines was used to calculate the default window size in various places in the code. The code now simply uses sensible defaults for that.
  • Suspend GUI refresh while replaying a log file to avoid flicker and speed it up dramatically.
  • File dialog - make enter activate the default action for mysql/pgsql selection. This was already the case in the standard file selector. This change makes the two selection methods more consistent.
  • Other code/build changes
  • Add 'test-dbi-business' to svn:ignore
  • Add test-dbi-business-stuff.h to EXTRA_DIST so "make distcheck" passes
  • Fix the errors, reduce the noise when testing the dbi backend * Check for a null gdate before attempting to make it a string. Fixes a bunch of CRIT errors. * Comment out the log debug setting in dbi. It's stable enough that it shouldn't be needed routinely. It can, of course, be enabled from the command line. * Add a notice to ignore the warnings about there being no lock on the database when session 3 is closed. Session 3 has to be run with ignore locking or it won't run at all.
  • Fix business-core tests so that all pass
  • Updated tests matching the xml backend as of 2011-11-02
  • Updated test files complying with the xml schema as of 2011-11-02
  • Minor fixups to dbi backend: * dbi_conn_error_flag is deprecated, replace with dbi_conn_error (Thanks, Christian). * Switch from OS-determined HOST_NAME_MAX to locally defined GNC_HOSTNAME_MAX so that the field is always 255 regardless of what OS creates it. * Use G_OS_WIN32 instead of naked WIN32
  • Win32 build: Update ktoblzcheck version number.
  • Some whitespace cleanups
  • Fix gtk warnings when erroneously setting the fixed-width property to zero.
  • INFO message to trace log if a table is automatically upgraded to newer version.
  • Update POTFILES.in with recent file addition.
  • Fix minor typo in error message.
  • Remove gnc_book_mark_saved from gnc_sql_save_book. It's a bit premature to mark the book as saved when we haven't yet saved its contents.
  • qoflog.h: No such macro as G_LOG_LEVEL_FATAL
  • Fix include files. Include files now only include other include files if symbols from the other files are needed by this one.
  • Remove lbgncmod-backend-xml as an additional library in business/business-core/test/Makefile.am. libgncmod-backend-xml.so is a loadable module, not a shared library, and it shouldn't be dynamically linked. While this will do no harm on Linux, it fails on OSX/Darwin.
  • Fix misplaced quote in backend/dbi/test/Makefile.am, broke dbi testing.
  • Rename old gnc_book_get_commodity_table into the newer gnc_commodity_table_get_table.
  • Spelling fixes in comments.
  • Replace all occurrences of the old gnc_book_get_pricedb with the newer gnc_pricedb_get_db
  • Partly revert r19550, "Bug #370331: Store the numeric values of SX..." This caused the numbers in the "SX from txn" to appear as "220/100" ratios, which we do not want.
  • Rework two nearly identical fuctions into a common function with parameters. Keep the old function names as convenience wrappers around the new function.
  • Remove obsolete example files: also remove them from the makefile.
  • Remove incompatible example files (X-Account) and update the README file
  • Commit missed file for gnc-fq-* location fix.
  • Make qof_query_run_subquery() available to scheme as well, and also the gnc_numeric options. Needed to remove an unimplemented function from header.
  • Replace some renamed functions by their real new names, removing the annoying #defines.
  • Make sure the right gnc-fq-* scripts are used. With the original configuration, whatever script was found first on the path was used. When testing development versions, this caused the also installed stable version to be used as it happened to appear first on the path.
  • Separate load paths for shared libraries and gnucash loadable modules. The former should be found on (DY)LD_LIBRARY_PATH, the latter on GNC_MODULE_PATH. These paths shouldn't overlap as that needlessly confuses things.
  • Make the INVOICE-BILLTO query predicate available to scheme also.
  • Fix erroneous extra package that I forgot to remove in r19641. It doesn't have to be reverted because libjpeg-7 shouldn't be needed with a clean webkit rebuild anyway.
  • Revert r19576, r19590, r19593, r19601: "Update gtk versions..." It's been 3 weeks without a working windows build. Apparently this has to wait until we have an updated webkit again. Revert this back once we have a working webkit with gtk-2.20.
  • Fix typos in comments.
  • Re-indentation of source code. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Add wrapper for obtaining a list of business objects as list of owners, and add SWIG wrappers so that scheme can use it.
  • Add a function gncBusinessGetList() that existed previously until r6680 so that a list of all customers can be obtained.
  • Decrease number of test iterations in old engine tests - they take just way too long otherwise. Also, nobody can actually give any reason as for why a higher number of iterations would really cover more of our test cases. My suspicion is that 2-3 iterations would be sufficient anyway, and only more clever test case construction would give a larger test coverage.
  • Add word wrapping to very long label in dialog-tax-info
  • Corrected a problem with c-format attribute.
  • Remove leading character N from tax code, but only if it is there, and remove leading blank character when no tax code.
  • Add kvp_frame_set_gdate() function
  • Win32 build: Temporarily disable the english (C) help compiling because it crashes the hhc.exe compiler.
  • Fix use of accelerator for a string.
  • Fix use of accelerators for some strings.
  • Win32 build: Needs libjpeg-7 in dist as well.
  • Win32 build: The existing webkit binary needs libjpeg-7, so we install that one, too.
  • Enclose book kvp manipulation in begin/commit_edit in aqbanking plugin.
  • Win32 build: Is running again. Some debug output of r19595 can be removed again.
  • Win32 build: Fix libxslt installation. Improve its calling arguments. Download inno before processing the docs (if the latter fails, we at least have inno).
  • Fix typo in osx_accel_map, caused error in Accounts page Actions>Transfer accelerator
  • Win32 build: Switch back gettext to 0.17 because 0.18 require libc++ which we don't want to have.
  • Win32 build: xsltproc needs its suitable iconv and zlib, so install it there.
  • Win32 build: Fix typo
  • Win32: Fix missing gettext-tools (is packaged in gettext-tools-dev)
  • Fix addition of gnc_numeric that was wrong in r19511.
  • Revert to previous version for erroneous commit.
  • add "isocodes" to reset directory
  • Win32: Fix function attributes when using gwenhywfar-4.
  • Win32 build: Remove installation directory before installing the new version. Require exact gwen/aqbanking version.
  • Win32: Try to fix the nightly build errors. (Directory went away?)
  • Win32: Fix checking for goffice installation
  • Win32 build: Update gtk to 2.20; let pkg-config check for the versions, hence triggering the update automatically.
  • Win32 build: Add version number checks for gtk and gconf so that updating them should work more easily.
  • Win32 build: Remove commented-out gtkhtml references.
  • Win32 build: Set gwen/aqbanking version numbers in defaults.sh.
  • Revert r19475. That revision fixed one rounding error, but introduced another one.
  • Add missing header, issue detected via failing make distcheck
  • Fix invalid po file header
  • Eliminate *-vicinity functions from e-guile reports.
  • Fix typo in comment
  • Add some disabled testing code that uses the stock gwenhywfar-gtk2 gui for online banking.
  • De-activate aqbanking5 by default again because it requires gtk-2.18 or higher, which we don't have. Sigh.
  • Fix Stock Split Druid.
  • Add getter function for the date in a datecell as a GDate.
  • Win32: Add gtk's cflags to gwenhywfar configure.
  • Relax configure test for svnversion of BUILDING_FROM_SVN was set beforehand. Helpful when building from git.
  • Fix counting of occurrence number w.r.t. the first valid date in the SX state.
  • Clarify Derek's code to be licensed "GPL v2 or later" as he has confirmed in private email. All of his other code has been licensed this way all along anyway. After this change, all source code files are licensed under both GPL version 2 and GPL version 3, which gives us enough flexibility in case any requirements might switch to GPL v3-only. But currently we are for sure both.
  • Spelling fixes in comments
  • Win32: Add gtk include path to gwenhywfar configure.
  • Win32: Add pkg-config version check for aqbanking so that the new version is installed without removing the old one manually.
  • Updated accounts chart by Seyfi Duyan.
  • Win32: Update aqbanking packages. Enable building with aqbanking5. In r19532 I accidentally already removed the Qt DLLs from the installer. Of course those can only be removed if indeed aqbanking5 is used, otherwise they must still be in the installer.
  • Add newly introduced gconf parameter in the default schema.
  • some bitrot in python bindings examples/tests, patch by Daniele Varrazzo
  • Remove aqbanking2 from windows build scripts. Add optional aqbanking5 instead, which works without QT.
  • Add scheme wrapper for SX cashflow calculation, including a typemap for the resulting GHashTable.
  • Add scheme/swig typemap for GDate.
  • Spelling correction in comment.
  • Consolidate accelerator map loading for OSX with the others. Accelerator maps can't be modified interactively in OSX so there's no point to reloading the saved map.
  • GnuCash on Windows is built with webkit, no need to install gtkhtml
  • Cleanup whitespace
  • Add vendor search to python bindings and refactors files gncIDSearch.c/h with vendor search. Patch by Mike Evans.
  • Remove obsolete file from distribution list
  • Make GnuCash more runtime relocatable by using dynamic paths in the environment file.
  • Restored changes of r19477 inadvertently reverted in r19515
  • Relicense code to GNU GPL v2 or later.
  • Update binreloc to use the free functions for bundle id and resource path
  • Windows build: strip the .la files in their new location
  • Windows version: * reduce footprint by not packaging unused files * move gnc-mod required files to bin * remove libdir from the PATH
  • Windows version: remove obsolete and duplicate parameters from the environment file
  • Implement the evaluation of SX cashflow.
  • More const correctness and refactoring in gnc-sx-instance-model.c.
  • Remove GNC_STANDARD_REPORTS_DIR from gnucash launcher as well.
  • Update man page following the recent removal of command line options.
  • Update license after Josh Sled's relicensing of his code under GPL v2 and/or v3. He wrote to gnucash-devel on 2010-08-28: Much of the last batch code I contributed to gnucash was licensed without the "or any later version" clause of the GPL boilerplate, and thus specifically and only under version 2 of the GPL. I hereby extend that to version 2 and/or version 3. Any contribution I've made to gnucash which was under the GPLv2 only may be considered to be under both v2 and v3.
  • I18n: Fix last remaining user-visible mention of the abbreviation "SX". This should have never appeared in a user message. However, in order not to make this single string untranslated, we add the correct form but don't use it yet so that it can be translated, and we will be using it once 2.4.0 is out and the string freeze lifted.
  • Calculate standard-reports dir internally instead of reading it from the environment. This is a step to make gnucash more run-time relocatable.
  • Readd LD_LIBRARY_PATH to environment to make sure Guile loads the proper shared libraries when multiple installations of GnuCash exist (like stable and devel version on one system).
  • Remove the config-path and share-path command line options. The values set on the command line were never used.
  • Some more uses of PACKAGE_NAME instead of "GnuCash"
  • Fix some obsolete uses of gnucash-bin.
  • Refactoring: replace all GNC_RND_* and GNC_DENOM_* occurences with their GNC_HOW_RND_* and GNC_HOW_DENOM_* equivalents And then remove the deprecated definitions.
  • Add functions to calculate the cash-flow numbers that will be generated by a Scheduled Transaction. Unfinished, though.
  • Add aqbanking5 extensions of GWEN_GUI object. We need to locally store a reference to that particular GWEN_GUI object that was used in Extend because we have more than one such object in use inside gnucash (currently). If accidentally the wrong one would be used in Unextend, a crash occurs.
  • Fix erroneous place of "Bildung" account in hierarchy: Was moved to top-level due to double parent tag.
  • Add new function gnc_sx_get_num_occur_daterange and unittests for this in test-sx.c.
  • And more const-correctnes in SchedXaction.h
  • Make sx-instance-model more const-correct. Improve documentation. Fix minor memory leak in gnc_sx_get_current_instances(void) - was not free'ing the GDate of now.
  • Impove const-correctness of SchedXaction.h functions; improve documentation. Also, replace "void *" by pointers to the actual type.
  • Unify label with src/gnome/gnc-plugin-page-register.c:379.
  • Move business-reports to the reports module.
  • Automatically map pre-2.3.15 report option names to their new 2.3.15 equivalents. This will ensure that users won't lose the settings they stored in saved reports and open report windows when switching from 2.2.x to 2.4. Note that this only works in one direction, from 2.2.x to 2.4. If a user switches back to 2.2.x, the open report windows will lose many settings, almost resetting them to their default state. Saved reports won't have this problem as they are copied to a new file during the migration. In detail: For open reports: pre-2.3.15 -> 2.3.15+ : options for open reports will be migrated 2.3.15+ -> pre-2.3.15 : options for open reports will be migrated For saved reports: 2.2.x -> 2.3.15+ : all options will be migrated, if saved-reports-2.4 does not yet exist pre-2.3.15 -> 2.3.15+ : options for saved reports won't be migrated but reports continue to work. It would be best to save the reports again, but my scheme-fu is not good enough to let the code do that automatically. Alternatively users should remove the file saved-reports-2.4 to recreate it on the next run, based on saved-reports-2.0. 2.3.15+ -> 2.2.x : options are unaffected, sine 2.2.x and 2.15 use different saved reports files 2.3.15+ -> pre-2.3.15 : reports saved in 2.3.15 will lose their options, older reports are unaffected. But returning to 2.3.15+, the options will continue to work.
  • Aqbanking: Enable gwengui-gtk2 implementation and fix setup wizard. Setup wizard was missing OnlineInit/OnlineFini calls around it; with them and the newest gwenhywfar, the setup wizard is now working again in a gtk2 implementation.
  • Add lookup of linker flags of libgwenhyfar-gui-gtk2. It is still disabled until more testing has been done, though.
  • Add instantiation of gwengui-gtk2 object in gnucash, which enables the setup wizard again, but it doesn't fully work yet. In particular, a quick test runs into significant UI work which is still needed, and also occasional crashes might occur. Hence, the gwengui-gtk2 parts have to be enabled manually by un-commenting USING_GWENHYWFAR_GTK2_GUI.
  • Minor simplification of aqbanking version number check.
  • Check for upgrading an older aqbanking configuration to its current version. This way, an older configuration is now updated automatically. Patch by Bill Nottingham, confirmed by Martin Preuss, adapted to aqbanking5 by myself.

New in GnuCash 2.3.15 Unstable (Sep 21, 2010)

  • Bugs fixed:
  • Bug #626459: Change Transaction Report default account selection to none I think in the specific case of the "Transaction Report" this is the better choice. The error message will be clear enough ("No accounts selected. Click here to Edit report options"), and it will probably meet the user expectation that some account needs to be selected anyway before something can be seen.
  • Bug #625193: Added 'search by ID' in python binding for invoices, customers and bills. Patch by Mike E and Mark Jenkins: When creating or appending to invoices, customers and bills, searching by ID is likely more useful than by GUID. I've added this functionality to the Python bindings. Search by ID using the python code: tmp = gnucash.gnucash_core_c.search_invoice_on_id(ID,book.instance) if tmp: invoice = gnucash.gnucash_business.Invoice(instance=tmp) Use the invoice object as in sample_scripts/simple_invoice_insert.py I support this patch, but I've made a few improvments of my own. I switched up the arguments in search_customer_on_id, search_invoice_on_id, search_bill_on_id to have Book first and ID second. The reason for this was to make these functions more consistent with the other functions where a search is done through a book on a particular attribute. Also added some specific python bindings support to allow this to be used as methods of Book: Book.CustomerLookupByID, Book.InvoiceLookupByID, Book.BillLoookupByID.
  • Bug #624721: Show backtrace for errors in eguile templates Patch by Matthijs Kooijman: The current eguile template implementation catches errors that occur while evaluating an eguile template. However, only the error is shown, not a backtrace (so no location of the error either). The attached patch modifies the error handling to also capture the stack backtrace, using a lazy exception handler (e.g., capture the stack before unwinding the stack to the real exception handler). To extract only the relevant part of the stack (e.g., the part inside the eguile template, not the tens of stack frames leading up to the report rendering), a stack dump is made just before evaluating the eguile template (so a sort of "diff" can be made). For more details, see the extensive comments in the patch itself.
  • Bug #616613: Automatically append the extension if user forgot append them. Patch by "Bob": The enclosed patch simply tests for a period in the file name, if one exists it leaves it alone, if not, it adds one plus a default extension.
  • Bug #626403: Fix inconsistent formatting between stylesheets (Webkit vs. gtkhtml) Patch by Alex Aycinena: The 'default' stylesheet formats the balance sheet, cash flow, income statement and transaction reports properly under webkit but not under gtkhtml. The 'easy', 'footer', and 'technicolor' stylesheets are the reverse; that is, they format the balance sheet, cash flow, income statement and transaction reports properly under gtkhtml but not under webkit, except that the 'footer' stylesheet also has some formatting problems with gtkhtml as well. The attached patch file corrects these problems. Specifically: - styles that are missing in the 'footer' stylesheet (compared to 'easy') are added - the function 'gnc-html-engine-supports-css' is used in the 'default', 'easy', 'footer' and 'technicolor' stylesheets to provide styles for either webkit or gtkhtml - the taxtxf.scm report file is simplified to take advantage of these changes
  • Bug #625697: Prior patch, Changeset 19376, broke reports for non-default stylesheets Patch by Frank Ellenberger
  • Bug 623801 - gnucash file is not saved
  • Bug 625845 - Exporting Accounts results in 0 byte file.
  • Bug 625977 - Python Bindings, enhanced examples showing the use of Transaction.BeginEdit(), patch by Mark Jenkins
  • Bug 625976 - Python Bindings Patch for Transaction.GetImbalance(), patch by Mark Jenkins
  • FIx bug 596124: don't crash if someone adds a split to a capital gains transaction created by the lot scrubber.
  • Double clicking on the balance column in a register doesn't resize the column because there is a zero width column to the right of it. This may fix all or part of bugs 563588, 345711, or 506261.
  • Bug 612337: Add file save to hierarchy druid when the new file druid completes. Patch by "Bob": I thought I would give this a try and come up with a patch to use the file save as function after the after pressing the apply button. Not sure if it is the best way but seems to work on my linux box and on windows without any errors. I have changed the text in the account.glade file to reflect the firing of the save as and also increased the size of the window to give more room for the 'Category Description' to stop scroll bars.
  • Bug #624623 - Patch: US Tax Report for webkit and gtkhtml
  • Bug #556713 - inconsistency in report options Use "Reset defaults" instead of "Use defaults, as suggested by Derek.
  • Bug #556713 - inconsistency in report options Final additions to this bug.
  • Bug #621016: Print multiple checks at the same time The print checks operation should be able to print more than one check with a single invocation of the "Print Check..." command. The attached patch does this. If the active register is an account register, then the selected transaction is printed (as before). If it is a search results register where all the splits are from the same account, then it prints a check for each of them. Anything else is an error. Patch by Mike Alexander.
  • Bug #118391: This patch add isocodes support for Windows build. It automatically download, build, install and packaging the isocodes. Currently, the patch will not make Windows build show the locale long currencies name. But it make the isocode available on Windows. Since the long currencies names are already shown on Linux, I think it should not far to make it happen on Windows too, especially the isocode will be available after this patch.
  • Bug #620763: Fix permuted "Retained Earnings/Losses" in balsheet-eg.eguile.scm
  • Bug #620763: remove trailing whitespace from balsheet-eg*
  • Bug #556713: Fix inconsistency in report options The attached patch should fix the remaining outstanding issues of this bug. Applying this patch now would break string freeze.
  • #616606 - Get default report font from top level widget Patch by Tao Wang
  • Bug #623844 - CRITICAL gnc.backend Error message in trace file.
  • Bug #623842 - Reseting of Color Tabs to default color wrong.
  • Bug #556713 - inconsistency in report options, partial fix This commit aligns all occurences of "Current/Previous Year Start/End" to "Start/End of this year"
  • Bug #556713 - inconsistency in report options, partial fix This commit aligns all occurences of "Report Accounts" and "Accounts to include" to "Accounts"
  • Bug #447339 - custom reports with similar names misbehaving
  • Bug #556713 - inconsistency in report options, partial fix This commit aligns all occurences of "Report Currency" and variants to "Report's currency"
  • Bug #556713 - inconsistency in report options, partial fix This commit replaces "From/To" with "Start Date/End Date" in all standard reports.
  • Bug #389841: Wrong translation of Tax Amount and update of Italian translation by Cristian Marchi
  • Bug #622953 - Enable comment for date format string again in gnucash.pot, patch by Frank H. Ellenberger.
  • Bug #622637 - The classical invoices should use the more specific strings from taxinvoice, part 2, by Frank H. Ellenberger
  • Bug #622637 - The classical invoices should use the more specific strings from taxinvoice, part 1: whitespace cleanups, patch by Frank H. Ellenberger.
  • Bug #617797 - Win32 need to downgrade to gtk-2.16 (Default theme not working under Windows), second patch adding custom themes, by Tao Wang
  • Bug #622523 - Python bindings are crash prone when linked to guile
  • Bug #622520 - gnucash business objects disapear on save, patch by Mark Jenkins
  • Bug #622271 - Category 'Gas' under 'Auto' should be translated to Petrol in en_GB and en_AU
  • Bug #617797 - Win32 need to downgrade to gtk-2.16 (Default theme not working under Windows), patch by Tao Wang
  • Bug #616606: Add gnc-get-default-report-font-family function callable from scm. Currently returns "Arial" but can be modified to get default GtkWindow font.
  • Bug #600574 - Would like to disable creation of log files and backup files entirely
  • Bug #621744 - Prompt for password is not hidden
  • Bug #619709 - Upgrade Inno Setup to 5.3.x to use utf-8 in .iss script, patch by Tao Wang
  • Bug #621602 - Upgrade svn on Windows building environment to 1.6.x, patch by Tao Wang.
  • Bug #378638 - log replay creates two transactions from a single logged transaction
  • Bug #615347 - Use enforced, consistent data file extension across supported platforms The choice has fallen on ".gnucash". This extension will be added to all filenames that don't have it already when a user chooses "Save As...". Obviously this is only done for files, not for database storage. The backup files will from now on also end in ".gnucash" instead of the previous ".xac". The code that removes old backup files scans for both extensions to ensure that backup files still available with the ".xac" extension are rotated as well.
  • Updated translations or translation-related changes:
  • Update po files with up-to-date pot template.
  • Remove unused file from both SVN and POTFILES.in.
  • de.po: correction of "Income Tax Identity" This term is used in the first dialog of "Ta_x Report Options".
  • Updated Italian translation by Cristian Marchi.
  • Updated Japanese translation by Yasuaki Taniguchi, copied from the Translation Project.
  • Updated Latvian translation by Valdis Vitolinš.
  • New Latvian translation of the business account chart, thanks to Valdis Vitolinš
  • Updated simplified Chinese translation by Tao Wang.
  • Updated Dutch translation by Mark Haanen, copied from the TP.
  • Updated German translation.
  • Add initial Bulgarian translation, by Rosi Dimova, by Bulgarian Gnome translation team.
  • Fix missing translation of buttons in invoice reminder dialog.
  • Updated Dutch translation, copied from the Translation Project
  • Update of Italian translation by Cristian Marchi
  • Merge most recent pot template into all language po files.
  • Update German translation.
  • Merge most recent translation template into de.po.
  • Update POTFILES.in after recent file move.
  • I18n improvements in invoice reports: Mark last untranslated strings for translation.
  • Update de.po after invoice review. There were some equivocalnesses between invoice and balance. After using the strings from tax-invoice in the other invoice forms, the de translations should switch back. Patch by Frank H. Ellenberger.
  • Improve i18n comments: Comment for gnucash.pot must appear immediately before the marked string.
  • Improve name consistency. Use "GnuCash" (or more precisely PACKAGE_NAME), wherever the name is visible to the user, and "gnucash" (or more precisely PACKAGE) everywhere else.
  • Add utf-8 prefix, so the Windows installer interprets the file properly
  • Fix Latvian language support for Windows installer (should have used lv instead of lv_LV)
  • Add Latvian translation for the Windows Installer, patch by Valdis Vitolinš
  • Fix encoding issues in Windows README file and translate last sentence.
  • Add Latvian readme file for Windows
  • Update Dutch translation from the TP
  • Update Chinese (simplified) translation, from the TP
  • Set user visible application name as part of the gui initialization. This defines which name is used in the about dialog and is used by gnome-keyring to determine where to store passwords.
  • Add simple checkbook account chart in Dutch, by Mark Haanen.
  • Move language dependent files lv_LV to lv
  • Move language dependent files lv_LV to lv, one more change
  • Move language dependent files lv_LV to lv
  • Updated Italian translation by Cristian Marchi.
  • Other user-visible changes:
  • Allow negative tax percentages. This allows to model some tax rules for trade between European countries.
  • Add error message if the unimplemented aqbanking setup button is pressed. Please see http://lists.gnucash.org/pipermail/gnucash-devel/2010-August/029188.html and http://lists.gnucash.org/pipermail/gnucash-devel/2010-August/029189.html
  • Bug 616612 - Remember last location of File Open/Save dialog, partial solution This commit remembers the last directory for * Open * Save * Export chart of accounts * Save Report This only stores file based paths, not db based paths.
  • Modify the osx_accel_map to reflect the different keybinding in Gtk+-2.20
  • Fix crash when run with the --add-price-quotes parameter.
  • Follow-up of r19358: Need to use AB_SetupDialog_new instead as replacement of the previous wizard.
  • Adapt to newest (unstable) aqbanking: No external application needed anymore for user setup.
  • Re-enable colored tabs on Windows. This works fine with gtk+2.16.
  • Add averaging option (but currently deactivated) for monthly or weekly average in account piechart. Will be activated once we're out of string freeze in order not to have untranslated strings show up for the user.
  • Explain proximo concept.
  • Other code/build changes:
  • Get library from correct directory - fixes "make check"
  • Dummy commit to test mailing list hooks.
  • Fix typo in comment.
  • Convert glade files to gtk+2.10, last batch.
  • Fix stupid compiler error. (Should compile first, then commit, not the other way round.)
  • Copy OpenOffice.org python macro for import of the gnucash file to here because its original download location is hard to reach.
  • Fix compiler warning
  • Fix compiler error reported by Herbert Thoma
  • Replace a gkt+2.18 function to be gtk+2.10 compatible
  • Fix gtk critical warning, patch by Bob.
  • Fix problem with "t" unbound in cond expression. Use "else" instead.
  • Add missing return value specification of lookup_by_code() in python bindings. Patch by Daniele Varrazzo.
  • Remove now empty business directories
  • Fix r19364: Remove last reference to removed business-backend-sql.
  • Merge the sql parsers of the business objects into the main sql module. Also, completely remove the business-core/sql module because it is no longer needed. The tests of this module have been moved into backend/dbi because they depend on sql+dbi, but not more than that.
  • Completely remove the business-core/xml module as it is no longer needed.
  • Remove the separate business xml backend from cutecash and python as well.
  • Merge the xml parsers of business objects into the main xml backend module.
  • Remove separate object initialization in engine/gncBusiness.c and move this into one common initialization function cashobjects_register in .
  • Convert glade files to Gtk+2.10: remaining business dialogs
  • Convert glade files to Gtk+2.10: business dialogs except customer/vendor/invoice
  • Convert glade files to Gtk+2.10, next batch: gnome-utils
  • Convert dialogs to Gtk+2.10 Removed one unused dialog as well, as it contained many deprecated widgets causing trouble.
  • Remove unused dialog
  • Fix GtkSpinButton with non-zero page_size warnings.
  • Move the business object implementations from separate module into the main gnucash engine.
  • Move initialization of business objects into gncBusiness.c so that this fits to the header where the function was declared.
  • Remove header gncBusinessP.h which is unused anyway.
  • Convert glade files to glade3/gtk+2.10, next batch.
  • Remove obsolete code.
  • Some changes to align the README files with the current state of gnucash.
  • Convert glade files to gtk+2.10, next batch.
  • Convert to glade-3 target gtk+2.10
  • Fix binary test.
  • More path fixes.
  • Fix paths. On Mandriva the original code resulted in two absolute path being appended, resulting in file not found errors.
  • Python bindings, gncnumeric and accounttype constants, patch by Mark Jenkins.
  • Nice example python scripts, patch by Mark Jenkins.
  • Future default file extension is .gnucash, so - rename example files to this extension - replace references to the old extension where appropriate
  • Fix erroneous quotation in scheme string of last commit
  • Improve the initial report loading code so that it loads only files ending with .scm. This should avoid accidentally loading .scm~ backup files etc. The code matches the filenames against the regexp "\.scm$", so the previous hand- written comparison against "." and ".." is no longer necessary as those don't match that regexp anyway.
  • Fix build failure introduced by r19285 on systems with guile 1.6.
  • Properly check for SWIG version 2.0.0 and later.
  • Revert part of R19263. DYLD_LIBRARY_PATH must be set on MacOSX (running under X11, not Quartz) in order for GnuCash to find its dynamic libraries.
  • Change gnucash-bin to gnucash on OS X (the other platforms had been changed already)
  • After learning the scheme case syntax, implement it correctly this time. Fixes r19281, r19280, r19253, r19252.
  • Add missing UTF-8 BOM
  • Some more disabling of the new deactivated option in the piechart. Forgotten in r19280, sorry for that.
  • Disable new option of piechart report even more.
  • Check properly for svn availability
  • Re-indentation of source code. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Document what to do if svn isn't found. This only applies to the scripts used to setup an automated build system
  • Cleanup use of constants
  • Finish direct binary execution on Windows and linux and cleanup bin Makefile/targets - Windows * binary name becomes GnuCash.exe * gnucash.cmd is renamed to gnucash-launcer.cmd (consistent with OS X). This file is only needed to run GnuCash straight from the source installation. It is not used (or distributed) with the Windows Installer version. * gnucash-valgrind, gnucash-gdb and the override extra's have been removed as they are meant for a UNIX like environment - Linux/others * binary name becomes gnucash * the gnucash launch script has been removed together with gnucash-gdb. They no longer add value on linux. * gnucash-valgrind has been retained because it contains useful presets - OS X (Quartz) * binary name remains gnucash-bin for now (requires synchronous changes in the externally hosted OS X build system) * gnucash launcher script has been renamed to gnucash-launcher. This file is only needed to run GnuCash straight from the source installation. It is not used (or distributed) in the OS X bundle version. * gnucash-gdb and gnucash-valgrind remain and can be used for debugging the source installation.
  • Undo debug modification introduced in r19100. It bypassed the Abort and was never intended to be committed.
  • Use enum value QOF_LOG_MESSAGE (newly defined in r19257) instead of the generic G_LOG_LEVEL_MESSAGE
  • Add missing enum value
  • Fix report error in piechart due to the temporary deactivation of the new option.
  • Make business sql backend initialization functions accessible when statically linking. Same change as what r18841 added in business-core/xml.
  • Delegate transaction log enabling/disabling to the backends. Let only the xml backend enable logging.
  • Add getter function for mapping a {year,month,day} symbol to the conversion function of a date to a fractional number.
  • Fix a comment to reflect the actual code.
  • Remove command line parameter that is ignored anyway.
  • Fix typo in commodity.glade which broke creating new commodities
  • Improve handling of unknown access methods (protocols). Avoid mangling of such urls, so that a clean error message can be displayed.
  • Disable enviroment_overide() when MAC_INTEGRATION is defined: It doesn't play well with App Bundles.
  • Don't look for dbi drivers if dbi_initialize failed.
  • Fix dbi drivers not found when --with-dbi-dbd-dir is set at configure time.
  • Default key accelerator map for OSX, using Command instead of Control

New in GnuCash 2.3.14 Unstable (Sep 21, 2010)

  • Bugs fixed:
  • Bug #618954: Add a column "Due" to the invoice search results list. Patch by "scar".
  • Bug #618951: Add ability to search for invoices by due date Patch by "scar".
  • Bug #118391: Resize currency dropdown list Patch by Frank H. Ellenberger. Now in the tested (european) languages one can understand the meaning without horizontal scrolling - search for MXV or UYI to see long examples. I used glade 3, which created the file in a somewhat different way - let me know, if that is a problem.
  • Bug #619984: Remove "Gnumatic, Inc." from po/Makevars Gnumatic Inc. does since a few years no longer exist. So it makes no sense, to have it as copyright holder of new GnuCash translations. I got Linas OK for this change on IRC: http://lists.gnucash.org/logs/2010/05/2010-05-28.html#T13:37:53 - #T16:12:23
  • Bug #617797: Set eol-style to CRLF for win32 files.
  • Bug #618434 - Decimal separator is always '.' when using the keypad, patch by Yasuaki Taniguchi
  • Updated translations or translation-related changes:
  • fix Latvian account trees, patch by Bill Nottingham.
  • Update German translation Patch by Frank H. Ellenberger: update de.po 1. add missing translations 2. review fuzzy translations 3. correct liabilities: Passiva -> Fremdkapital/Verbindlichkeiten 4. correct discount: Skonto -> Skonto, Rabatt & Nachlass 5. typos
  • Updated Dutch translation by Mark Haanen, copied from the Translation Project.
  • Updated Japanese translation by Yasuaki Taniguchi, copied from the Translation Project.
  • Other user-visible changes
  • Fix r19227, r19228: Don't make the "Due Date" the primary search; fix erroneous parameters when inserting into list.
  • Other code/build changes:
  • File convert commodity.glade in glade3-3.6.7 to ensure our gtk-2.10 requirement is sufficient.
  • Set eol-style for win32-bin.txt to CRLF because this file should view correctly on win32 systems
  • Set all shell scripts to svn:eol-style LF because they should have the same line endings.
  • Fix script that builds the release tags. Awk works differently on windows than on linux apparently.

New in GnuCash 2.3.13 Unstable (Sep 21, 2010)

  • Bugs fixed:
  • Change from ige-mac-menu to GtkOSXApplication for OSX integration. Fixes #600590.
  • Bug #618646 - Should be able to run gnucash-bin.exe directly, rather than gnucash.cmd Patch by Tao Wang.
  • Fix #616100 - Incorrect character set used in MySQL backend Use "SET NAMES 'utf8'" so that mysql uses utf8 for communication and all char sets.
  • Bug #618647 - Compile .ico as resource into gnucash-bin.exe, patch by Tao Wang
  • Bug #618505 - Separate shell functions files from variables and steps files, patch by Yasuaki Taniguchi
  • Bug #618341: Additional paths to reset.sh Patch by Yasuaki Taniguchi.
  • Bug #615168: Remove instances of (use-modules (ice-9 slib)) except report-system.scm There are no more instances of (require ...), so Guile's slib support is no longer needed. Patch by Andy Wingo, but except report-system.scm because saved reports still use the hash-for-each -- so we will need to continue to support the symbol.
  • Bug #615168: Remove spurious (require 'hash-table) instances except report-system.scm Patch by Andy Wingo, but except report-system.scm. There is nothing that the slib hash-table module provides that was used in any of these files; they all used Guile's stock hash tables.
  • Fix #616554 - New stylesheets based on Fancy template cause BIN to crash An interface issue between libjpeg and webkit (incorrect type used in libjpeg) causes the crash. This patch replaces the normal libjpeg with a patched one.
  • Bug #352058 - Invoice entries should default to opening date of invoice.
  • Bug #615510 - Gnucash crashes when creating new customer job
  • Bug #357696 - Billable items appear in more than one invoice
  • Bug #118391: Implement translation long currency names Adjust in iso-4217-currencies.scm fullnames to conform with iso-codes-3.3 Patch by Frank H. Ellenberger.
  • Bug #616524: Fix missing re-generating of gnucash_core.c code. The .c file gets outdated easily because the makefile doesn't contain enough of its dependencies. I would need to be regenerated each time any of the included files was changed, but currently it doesn't contain these dependencies in the makefile rules. Having it depending on config.h should at least trigger the generation at each version number change (so that the tarball contains an up-to-date version.)
  • Bug #612212: Provide a method to set the default budget Patch by Jeff Kletsky. (Cstim: Accepted even though string freeze is in effect because it was submitted before the freeze. Also, the string additions are very minor.) Summary of Changes: * Initial story related to providing default budget control * Add a "Budgeting" tab to the book-level preferences dialog * Add a "Default Budget" selector to the "Budgeting" tab * Modify gnc_budget_get_default() to * Respect the new KVP, if present * Fall back to 2.2.x behavior, if not present * Modify gnc:make-budget-option * Reformatted for readability with additional comments * Default is now "#f" so that selected value is always saved Otherwise, if selection happened to be the current default and the default was later changed, the report would change * getter, setter, and generate-restore-form all now consistent * setter now always takes a budget object * generate-restore-form does not rely on "hack" in setter that previously allowed either a budget object or a GUID string This is a different fix for 603215 -- see Known Issues * Provide translation support for "Trading Acccounts" (and "Budgeting") * Refactor #define names for consistency and extensibility * KVP_OPTION_PATH for consistency with Guile usage * OPTION_SECTION_blahblah * OPTION_NAME_blahblah * Modify qofbookslots.h to be "SWIG-aware" * Pick up qofbookslots.h in make-gnucash-potfiles.in and po/POTFILES.in Known Issues: * There is no selection (yet) for "Use default budget" so changing the default budget and reloading a report does not change the budget used * setter is no more robust to "bad" values than in previous code * Budget reports created with 2.3.x after r18528 (between 2.3.8 and 2.3.9) may not load or re-render as they relied on the setter taking either a budget object or a GUID as a string This should not impact any 2.2.x users as nothing was saved under 2.2.x related to the default budget. This can be resolved through removing the option restore code in ~/.gnucash/saved-reports-2.4 and, if affected reports were open, in ~/.gnucash/books/ * Budget reports prior to r18528 did not save budget selection (603215)
  • Bug #586805: Fix errorneous abs() in csv import Changes abs function to fabs in gnc-csv-model.c, to allow csv imports of values less than $1.00. Patch by James Raehl.
  • Bug #617660: Improving iso-4217-currencies Patch by Frank H. Ellenberger 1. improve the header of fieldnames with annotations 2. sort by ISO code, because a. easier for non english people b. most tables in the internet have this sort order. So maintainance becomes easier. 3. inserting a Column local_symbol, because some people like to use it, e.g. https://bugzilla.gnome.org/show_bug.cgi?id=492417#c3 But probably there is a better way to get this informations. 4. Review List: a. adding: CDF, GHS, ... b. outdated: AON->AOR->AOA, GWP->XOF, ... c. Typos like "fening". d. Alway use singular instead of a mixture. 5. add comments: a. outdated currencies prepared as in the header shown. b. for abbreviations. Background is the thread starting with https://lists.gnucash.org/pipermail/gnucash-devel/2009-October/026558.html
  • Bug #617435 - webkitgtk+ cross build script, created by Yasuaki Taniguchi
  • Bug #617558 - Header in register doesn't clear properly in double-line mode when switching from transaction to split, patch by Alex Aycinena
  • Bug #617072 - Update create_cross_mingw.sh, patch by Yasuaki Taniguchi
  • Bug #554936 - 'configure.in' files should be renamed 'configure.ac'
  • Bug #616696 - Development version warning string should not include hardcode version. Third revision. - Stable Version changed into Stable Series (easier to track automatically) - Modified motd code to deal with replacement strings - Changed DEVELOPMENT release tip to separate the Stable Series number from the translatable string.
  • Bug #615168: Don't define hash-fold for guile 2.x Patch by Andy Wingo. * src/scm/main.scm (hash-fold): Only do the conditional hash-fold dance if we don't have guile 2.0. (Definitions in expression context are actually invalid Scheme, but older Guiles are more permissive.)
  • Bug #615168: scm_c_string_length is the proper spelling now Patch by Andy Wingo. Fix up a couple uses of scm_i_string_length, and add a back-compat shim for earlier versions.
  • Bug #616696 - Development version warning string should not include hardcode version. * Improve on the previous fix: really display stable version in tooltip, not current version. * Also revert change of "What's new in GnuCash 2.0" because that's the title actually found in the help manual.
  • Bug #615317 - Windows installer requires Qt libraries
  • Bug #616696 - Development version warning string should not include hardcode version.
  • Fix #616606 - Add line indicating utf8 encoding so that non-latin chars show correctly.
  • Bug #615168: Make sure that printf is available whereever it is used So, the right thing is for each file to be in its own module. Barring that it's tough to see what the environment is in a given module. So to be safe, everywhere there's a printf, make sure the (gnucash printf) module is duly included. Patch by Andy Wingo. Conflicts: src/business/business-reports/easy-invoice.scm src/business/business-reports/fancy-invoice.scm src/business/business-reports/invoice.scm src/business/business-reports/job-report.scm src/report/standard-reports/budget-income-statement.scm src/report/standard-reports/income-statement.scm src/report/standard-reports/trial-balance.scm
  • Bug #615168: Fix a number of scheme syntax errors This kind of error is detected "eagerly" in Guile 2.0. Patch by Andy Wingo.
  • Bug #615168: Fix bogus gnc:safe-strcmp definition Patch by Andy Wingo.
  • Bug #615168: Fixup one last simple-format bit src/engine/iso-currencies-to-c did the same simple-format dance that is now unnecessary. Patch by Andy Wingo.
  • Bug #615168: Replace calls to simple-format with calls to format Guile 1.6 and up always provides simple-format, and defines it as a restricted subset of the full format, so there's no harm in using the construct's proper name. Patch by Andy Wingo.
  • Bug #615168: Pull in printf from slib, change all code to use it. There is a new module, (gnucash printf). Patch by Andy Wingo.
  • Bug #616093: Notes are not editable in scheduled transaction edit window Patch by James Raehl: The Notes field is not visible or editable. This appears to be a deliberate choice, as can be seen in line 1308 of gnome/dialog-sx-editor.c routine schedXact_editor_create_ledger. I disagree. Since Notes are not copied to the newly-created scheduled transaction, there is no way for the user to copy Notes to the model, nor to modify the Notes. This makes the partial fix in r16652 for bug 500427 kind of pointless. This patch reverses that decision.
  • Bug #615912: Update gnc_quote_source from FQ 1.11 to 1.17 and enhance user_name Patch by Frank H. Ellenberger. Because many sources were listet as unknown, I tried to sort them in. Because normal users don't know all englisch abbreviations of far continents, I tried to use better understandable descriptions and added country codes. Caveats: 1. The HU methods were not quite clear to me, so I added only one. 2. The Currencies methods seems to fetch lists of currencies, something what we don't need here; correct me, if I am wrong.
  • Bug #118391: Mark currency names for translation but using the "iso_4217" translation domain. This will make approx. 50% of the currency names show up in translated form. At least more than nothing. Eventually, we most probably must change our long name definitions to match those of iso_4217, and after this we will get 100% translations.
  • Revert r19051, "Bug #118391: Mark the currency names for translation." We better don't mark the currency names for translation inside gnucash.pot; instead, we should use the "iso_4217" translation domain.
  • Bug #616615 - Request for larger size icon (96x96, 128x128, 256x256): Properly include smaller icon sizes, remove duplicate size
  • Bug #616615 - Request for larger size icon (96x96, 128x128, 256x256)
  • Bug #118391: Mark the currency names for translation.
  • Updated translations or translation-related changes:
  • Update of Latvian translation by Valdis Vitolins
  • Additional fix for Simplified Chinese translation of windows installer
  • Add Latvian account templates by Valdis Vitolinš.
  • Reapply Simplified Chinese patches
  • Repatch Windows installer for Simplified Chinese
  • Update German translation.
  • I18n improvements: Remove colons from translatable strings. Use correct capitalization. In most cases, the changed strings already appear somewhere else in the program, so only very few are unfortunately now new strings even though we hoped we could stick to the string freeze.
  • zh_CN translation for Windows Installer, patch by Tao Wang.
  • Update zh_CN account charts, patch by Tao Wang.
  • Updated Dutch translation, copied from the Translation Project.
  • Update Chinese (simplified) Translation, copied from the Translation Project.
  • Fix help text, discovered by Nikos Charonitakis
  • Update of Brazilian Portuguese translation by Miguel A.Rozsas
  • Update of Greek translation by Nikos Charonitakis
  • Updated Danish translation by Joe Hansen, copied from the Translation Project.
  • Update zh_CN translation, patch by Tao Wang
  • Update of Italian translation by Cristian Marchi
  • zh_CN translation of gnucash glossary file, patch by Tao Wang
  • Updated zh_CN translation of accounts, patch by Tao Wang
  • I18n: Fix erroneous message. This (tooltip) string is blatantly wrong, so we need to fix it regardless of string freeze. Spotted by Mark Haanen.
  • I18n fix: Mark forgotten strings for translation. These are allowed regardless of string freeze because the strings are already in the program and are untranslated so far. So marking them for translation will only improve the situation but not introduce new strings into the program in general. Spotted by Mark Haanen.
  • Add src/gnome/gnucash.desktop.in.in to the translation input files.
  • I18n: Fix typo in user message. This breaks the string freeze, but 1. the typo really hurts one's eyes, and 2. the message is only secondarily important, so I would accept this single string freeze breakage.
  • Other user-visible changes:
  • Implement help for OSX
  • Set default webkit font from system font.
  • Merge CSS and plain stylesheets, leaving the plain and remove the CSS stylesheet. Plain now has font specifications.
  • Add font support to all stylesheets
  • Add "Pay invoice" toolbar button when invoice is open.
  • When posting an invoice, propose the invoice's opened date as post date.
  • A search with no search terms set by the user should still honor the original search constraints. For example: if a user does: - Find customer - Click on Customer's invoices - Then explicitly removes the empty search term - Click Find => the user should still see only the invoices for this customer. Previously this scenario would return all bills, invoices AND vouchers in the book. The cause was an attempt to merge two queries with AND while one query had no terms. The code already partially checked for this, but there was still an unhandled case.
  • Return only bills when searching for bills, return only invoices when searching for invoices and return only vouchers when searching for vouchers
  • Change default report stylesheet from "Default" to "Default CSS"
  • Other code/build changes:
  • Fix warning message of autogen.sh for python-binding. Patch by Tao Wang
  • Remove AC_PROG_OBJC from configure.ac
  • printf with %zd is not known in mingw gcc 4.4.0 and prevents gnucash from being built with that compiler. Since this is only a debug message, I chose to replace it with %d which should also do the right thing.
  • Properly check for the unavailability of windows webkit. The logic was accidentally inverted when #ifndef got replaced with if HAVE(). As a side effect, this fixes a mingw gcc-4.4 compiler warning.
  • Fix encoding issues introduced in r19204
  • Fix gnc-module test after patch from bug #618646.
  • Win32 - Fix installation location of some files, reported by Tao Wang.
  • Fix 64-bit compiler error introduced in r19206
  • Split "Arial" out from font names to make it easier to replace.
  • Update binreloc to use Cocoa-based GtkOSXApplication instead of ige-mac-bundle.
  • Fix gnc_dbd_dir foulup
  • Fix libdbi hardcoded driver directory usage Patch by Bill Nottingham, with modifications to only set GNC_DBD_DIR if --with-dbi-dbd-path is explicitly set.
  • Win32 use up-to-date configure parameters for aqbanking
  • Svn ignore built files
  • Make the keychain interface in MacOSX compile and work.
  • Fix windows build
  • Add rules to copy the necessary icons during build.
  • Fix windows tag build script, by Geert Janssens
  • Revert r19159, "Fix windows tag build script, by Geert Janssens" I thought I would get access to the build server immediately to perform the cleanup of the old tag file, but apparently the server is unreachable for me for now, so I cannot commit this change today. Maybe later.
  • Fix windows tag build script, by Geert Janssens
  • One more revert of r19148, "Bug #615168: Remove instances of (use-modules (ice-9 slib))..." Missed that one in r19154.
  • Revert r19147, "Bug #615168: Remove spurious (require 'hash-table) instances..." Apparently guile-1.6 still needs all of those.
  • Partly revert r19148, "Bug #615168: Remove instances of (use-modules (ice-9 slib))..." Apparently guile-1.6 needs this in more places than I thought at r19148.
  • Add support for upcoming libaqbanking-5 version.
  • Follow-up to r19099: Remove qof's backend loading because there is no backend anymore. Remove generated file qofla-dir.h. This is actually good progress because it gets rid of yet another compiled-in path, which are a nuisance and need to be replaced by runtime path lookup everywhere, if needed.
  • Remove qsf related code from windows installer script.
  • Rewrite assert_one_dir function to not crash on a native build machine
  • Improve the cross-compilation process. - improve create_cross_mingw.sh's integration in defaults.sh and install.sh - update README file
  • Remove some additional QSF references
  • Improve test_for_mingw - change test so that both tested programs must work, not only the exit code of the last one - make it cross-compile compatible
  • Improve assert_one_dir It now gives a different error message when no directory was found or when multiple directories were found
  • Remove QSF
  • Remove forgotten debug statement
  • Add ./ to sourced files, so that they are found when cross-compiling.
  • Add (optional) destination file name parameter to wget_unpacked and smart_wget functions. This parameter can be used to override the filename to be used for the downloaded package. If empty, the functions continue to work as before. This new option will be used for cross compilation.
  • Windows build script improvements - make sure pexports is available before guile is built - test for pexports availability when compiling libdbi (to fix crosscompilation)
  • Fix some typos
  • Add .log extension to qof_log filename while creating the temporary file. This will only be visible on Windows. On all other platforms the logfile is successfully renamed to the requested name.
  • Add missing libmysql.def to tarball
  • Enable environment file on Windows (only direct install, not via ISS installer)
  • Write makefile rule to create gnucash-icon.ico. This rule isn't called by default though. It uses image-magick to add several png images of different size and bitdepth together. Current ico has: 16x16,8-bit 22x22,8-bit 24x24,8-bit 32x32,32-bit 48x48,32-bit 64x64,32-bit 96x96,32-bit 128x128,32-bit 256x256,32-bit
  • Remove redundant test for ENOSYS The error code was checked twice against ENOSYS, once in all situations, and once if ENOSYS is defined. This makes no sense. Since we never had bug reports for compilation errors on ENOSYS undefined, we can assume ENOSYS is always defined.
  • Replace directory mv's with cp -r when the move potentially crosses filesystem borders. Apparently, Msys' mv command fails to move directories across filesystem borders (like from a directory on the c drive to a mounted samba share). I hit this issue because my tmp dir is on a different filesystem from my base dir.
  • Enable keychain functionality on OS X after fixing compiler bugs.
  • Make sure wget downloads are stored with filenames not containing any html garbage (& and = signs as a result of http_get parameters). * Have wget_unpacked return the actual path where the files were unpacked via the _EXTRACT_UDIR env variable. In most cases this is simply the path that was requested, but sometimes, a tarball or zip file adds its own relative path. The _EXTRACT_UDIR variable will take this into account by analysing the contents of the tarball/zip file. These changes will be used in the revived cross-compile script.
  • Makefile fixes for setup-gnucash-env on OS X

New in GnuCash 2.3.12 (Apr 22, 2010)

  • Bugs fixed
  • Fix #588816 - Heading Banner Image does not display or print on invoice reports Along with a new version of webkit which properly handles local image files, a change was needed so that instead of creating an html string and feeding it directly to webkit, it is exported to a temp file which is then loaded as a file:// URI. On Linux, if this is not done, any embedded images do not appear, and there is a console message that local resources can't be loaded. On Windows, the embedded images don't appear, possibly for the same reason, but I'm not sure where the console messages go.
  • Bug #525821 - new or edited account names should be checked for reserved chars like ":" Addendum: Fix compatibility with older Gtk versions.
  • Bug #525821 - new or edited account names should be checked for reserved chars like ":" This patch checks if the separator character is used in account names when loading a data file, or when changing the separator character in the preferences. If the separator character is incompatible with some account names, a warning dialog box is popped up explaining the situation. This dialog also lists the violating account names. Additionally, the preferences dialog will show a warning sign as long as the separator clashes with some account names. The tooltip for this sign will also display the violating account names.
  • Bug #613963 - GnuCash opens empty window when no state file is found
  • Bug #612566 - Build failure with glib 2.10 - undefined gdk_color_to_string - part 2 Create the necessary HAVE_GTK_2_12 check in configure.in
  • Bug #612566 - Build failure with glib 2.10 - undefined gdk_color_to_string From modified patch by Bob
  • Bug #605802 - Can't input Japanese characters at an account register window on windows with SCIM, IIIMF and XIM This patch by Yasuaki Taniguchi fixes the business register.
  • Bug #613655 - Cannot load MYsql data, fix invalid state file name
  • Fix #613574 - Cannot create/save new employees using MySQL backend Wrong gobject property name used when creating "username" property - sql backend couldn't read it.
  • Fix bug #613375 Odd that this affected only OSX, as the fix is clearly consistent with the GtkLabel "ellipsize" property documentation. (I.e., the packing "expand" property must be TRUE on notebook labels.)
  • Bug #610675: Re-apply r18918, and now with the account color.
  • Bug #610675: Re-apply r18918, but only the tooltip fixing.
  • Bug #610675: Re-apply r18918 but with the relevant event_box not visible on Windows. This patch contains only the changed widget order (no color yet).
  • Make sure we include glade headers (#613326)
  • Updated translations or translation-related changes
  • Update Japanese names of accounts. And remove empty ja_JP.EUC directory. Patch by Yasuaki Taniguchi.
  • Update of Brazilian Portuguese translation by Miguel Rozsas
  • Updated Dutch translation, copied from the Translation Project.
  • Update German translation.
  • Updated Danish translation, copied from the Translation Project.
  • Merge po templates with latest string changes (mostly the removal of taxtxf.scm from translation)
  • I18n: Remove strings of the US tax report from translation because this report makes sense only in English.
  • I18n: Mark forgotten string for translation. Pointed out by Yasuaki Taniguch.
  • Updated Japanese translation, copied from the Translation Project.
  • Other user-visible changes
  • Enable the use of gnome-keyring during loading and saving of data. - The database passwords will no longer be stored in history - During save as, the user-entered password will be stored in gnome-keyring - During open, the user-entered password will be stored in gnome-keyring - When a file is opened from history (no file specified at startup or user selects an entry in the File menu's history) the password is fetched from the gnome-keyring. This currently works on linux. On Mac OS X or Windows no passwords are stored and the user is asked for a password when a file is loaded from history. Adding keyring/keychain capability on these systems is tbd.
  • When printing WebKit based reports respect the Page Setup settings. If webkit_web_frame_print_full exists in the version of WebKit being used then use it with a GtkPrintOperation which has been initialized from the Page Setup data.
  • Make the calculations more nearly the same as the older balance sheet report Calculate retained earnings or loss from income and expense accounts and label the amount needed to balance the books as the imbalance amount instead of retained earnings or loss.
  • Update eguile based balance sheet report to work with current GnuCash.
  • Add the eguile based balance sheet report. This version is directly from the wiki at and won't work in the current version of GnuCash. It is included for reference purposes.
  • Can't add or update currencies in 2.3.11 Reported by Markus Scheffler on Apr 2 via gnucash-user ML
  • Open/Save As...: configure enter/double click to run the default action.
  • Other code/build changes
  • Add functions to compare 2 business objects for equality, and use them in 'make check' tests. Adds functions to compare 2 business objects for equality. The 'make check' tests can then use these functions to store and reload objects and compare them for equality. This allows the sql backend to be tested.
  • Check for webkit_web_view_load_uri() function, and if not available, fall back to webkit_web_view_load_html_string(). This change also changes the config #define name from HAVE_WEBKIT_PRINT_FULL to HAVE_WEBKIT_WEB_FRAME_PRINT_FULL to be a bit more descriptive.
  • Change default from --disable-dbi to --enable-dbi. This is needed so that 'make distcheck' will work with the business sql backend tests.
  • Disable transaction log in backend test so that there aren't log files left lying around to make 'distcheck' fail.
  • Add .h files to EXTRA_DIST to ensure they are put into tarball
  • Fix test dependencies
  • Ensure necessary .h files are included in EXTRA_DIST
  • Remove reference to GNC_TEST_SRFI_LOAD_CMD since we no longer support local srfi's.
  • Assume webkit functions exist on win32
  • Small corrections in the comments of gnc-commodity.h 1 typo 1 moved file 1 complement Patch by Frank H. Ellenberger
  • When updating book counters for business objects (in book slots), ensure they're saved.
  • Allow QTDIR to be defined either in pure windows format (c:\xyz\def) or unix format (/c/xyz/def) without ISS bailing out. Previously, only unix format worked.
  • pexports is only available if MSVC is installed. Encapsulate it in a conditional.
  • Move one more MSVC-only line inside the MSVC test
  • Fix gnucash-gdb.in to use gdb from the right place
  • Change the iso-4217 generator script to accept the srcdir as cmdline argument instead of an env variable.
  • Insert missing "format:" - otherwise it didn't build for me. Additional simplifying git expressions. Patch by Frank H. Ellenberger
  • Remove unneeded path conversion on Windows
  • Add note about required Qt for dist.sh + some typo fixes
  • Fix crash when trying to unset a parameter via the environment config file
  • Fix Windows build after introduction of the environment config file.
  • Revive gnucash-setup-env on OSX/Quartz. This fixes the OSX issues caused by the introduction of the environment config file.
  • Fix MacOSX keyring test in configure to work and make gnc-keyring.c compile if it does.
  • Initialize new_val in environment_override to avoid a compiler warning.
  • G_PATH_SEPARATOR is not used in the environment config file. Remove it from the make script.
  • Make sure only the quartz build uses environment-osx.in
  • Remove local srfi's and require guile 1.6.7 or better. All now supported versions of guile come bundled with these srfi's, so there's no need to keep our own copies.
  • Have the gnucash binary setup its required environment by itself - New "environment" config file that holds the environment modifications to make - Added a parser for this file that does the actual modification of the environment (in gnucash-bin.c) - Eliminate the old gnucash-setup-env script
  • Configure: fix password store test
  • Upgrade win32 version of webkit from 1.1.5 to 1.1.90. This version contains changes required to fix #588816 (Heading Banner Image does not display or print on invoice reports). Note that this bug won't be fixed until some gnucash changes are checked in as well.
  • Configure: group platform dependent tests
  • Fix missing printf format string
  • Fix indentation with astyle The indentation was mixed up due to the unusual IF_TYPE macro, now removed.
  • Replace IF_TYPE macro with a validation function The macro is quite ugly: it's not a complete if condition (missing closing bracket) which makes the code using it difficult to read and error-prone. Even astyle got confused by it. The replacement code is slightly longer (two lines per replaced IF_TYPE invocation) but clean and readable.
  • Remove redundant page tab setting code. The tab is set again some time later in the gnc_main_window_connect function.
  • Add svn:ignore properties
  • Code cleanup in binreloc: Remove unused init_lib function. Add possibility to set the looked-up exe path from somewhere else. Remove symbol mangling because r18940 already added the gnc_* prefix, hence the symbol names are unique to gnucash anyway.
  • Re-indentation of source code (sql parts). This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix
  • Re-indentation of source code. This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Rename the type GUID into GncGUID because on Windows, the system headers have a type GUID which clashes with ours. Note that only the type was renamed, but not any enums or function names. Hence, the scheme wrappers should be unchanged completely (hopefully). Discussed at http://lists.gnucash.org/pipermail/gnucash-devel/2010-March/027679.html
  • Add business backend sql test infrastructure. At this point, the test creates a customer, saves it to an sqlite3 db, loads it and compares the original and the loaded customer. Will be expanded to test other business objects.
  • Add deep comparison routines for test purposes 1) Add routine gncCustomerEqual() which will do a deep comparison between two customers 2) Add routine gncAddressEqual() which will do a deep comparison between two addresses 3) Add more GncAddress gobject parameters for the remaining data items
  • Changes in dbi test infrastructure 1) Now that the various objects .c files can compare objects in different books, remove the duplicate copies. 2) Create a .la so that the business sql test code can use some common test infrastructure.
  • Extend xaccXXXXXEqual() routines so that they can compare objects in different books to see if they have the same contents.
  • Set some more line-ending style properties.
  • Set the desired line-ending style to the correct value on the server side. Without the svn:eol-style property, SVN checkouts on windows tend to appear with varying line endings. The only possible way around this in svn is to set the expected line endings as svn properties.
  • Update dbi tests - more object types are now saved and loaded
  • Add new CPP macros which make it cleaner to have conditional compilation based on compiler/system and options selected during config Examples: #if COMPILER(MSVC) #if COMPILER(GCC) #if ENABLE(NLS) #if HAVE(PUTENV) This platform.h file includes config.h, so that doesn't need to be included any more. PLATFORM(X) is based on the definition of GNC_PLATFORM_X COMPILER(X) is based on the definition of GNC_COMPILER_X. At this point, only COMPILER(GCC), COMPILER(MSVC), COMPILER(MSVC7) and COMPILER(MINGW) are determined. HAVE(X) is based on HAVE_X from config.h ENABLE(X) is based on ENABLE_X from config.h USE(X) is based on GNC_USE_X from config.h Having these determinations at a central point makes it easier to add new platforms and easier to conditionally compile based on them.
  • Create splits->accounts sql index and tx->post_date index when creating new databases
  • Cleanup cruft and an error from r18945
  • Whitespace cleanup
  • Forgot to delete a diagnostic in 18941
  • Fixup binreloc, which wasn't working correctly on OSX Most changes are to rename the functions named gbr_* to gnc_gbr_*, so that our modified binreloc (to provide mac bundle support) doesn't collide with binreloc implementations in other libraries. (The instant case was in libenchant.) Also moved the IGE_MAC_CFLAGS and IGE_MAC_LIBS lines from engine/Makefile.am to core-utils/Makefile.am. This was missed when binreloc was moved. And last, there was a minor error in the original OSX binreloc patch: At line 68, #elif MAC_INTEGRATION should be (and now is) #elif defined MAC_INTEGRATION.
  • Add getter/setter for transaction posted-date as a GDate. In addition to the known timespec, the date is also stored as a kvp_value of TYPE_GDATE so that we know afterwards this date has really been set as a date.
  • Add a GDate kvp_value type including conversions from and to all sorts of thingys. Also, removed the default: switch clauses when handling a kvp_value so that the compiler will already complain about unhandled enum values.
  • Fix Windows installer doc to have perl >= 5.8 instead of 5.10
  • Cutecash Some of the GnuCash developers have decided to rewrite the UI for the cross-platform Qt toolkit from TrollTech. The goal is a simpler UI which is more powerful and easier to develop. This project has gotten the name "Cutecash". It uses the same back-ends and engine as gnucash. Only the UI is different. The source for the Cutecash UI is in the same tree (and therefore, the tarballs) as GnuCash, but at this point, no MAC or Win32 builds are being produced.
  • Cutecash: Add install and packaging rules. Running "make package" will produce a binary package. Running "make package_source" will produce a source package.
  • Win/MSVC compatibility: Replace g_* file operations by the direct calls into the MSVC runtime. This tries to avoid a collision between glib's C runtime vs. the one that is used by MSVC (and hence also Qt) by using file access only through MSVC's one.
  • Win32: Add mingw cutecash build to the install.sh script, enabled by WITH_CUTECASH=yes.
  • Cutecash: Slightly decrease debug output verbosity.
  • MSVC: Add creation of MSVC import library of libdbi.
  • Fix CMake for building the dbi backend.
  • Cutecash: Fix missing #ifdefs for dbi calls.
  • Cutecash: Compile & link SQL backend as well (but there is no GUI for this yet)
  • Cutecash: Fix memory leak of missing cleanup of RecentFileMenu object.
  • MSVC compatibility: MSVC must not use g_fopen because it uses a different C runtime than the rest of (MSVC) file-handling functions.
  • MSVC compatibility: Always initialize all members of the QofObject struct.
  • Cutecash: Add more event handler to the account windows so that they will be deleted upon book closing.
  • Cutecash: Code cleanup. Avoid crashes when undoing adding of new transactions by not deleting the tmp transaction object. Also, correctly set the document state to "clean" after saving.
  • Cutecash: Implement account selection in new transaction correctly.
  • Cutecash: Implement entering new transactions in the register. Only the account selection is still missing.
  • Cutecash: Add empty line for entering a new transaction in the register. Doesn't yet store data, though.
  • Cutecash: Introduce separate base class GncInstance for QofInstance methods. This is the base class for Account, Book, Commodity, Split, Transaction.
  • Cutecash: Add deletion of rows/transactions (through "Cut"). With Undo. Hee Hee.
  • Cutecash: Fix file loading, saving, and save-as. Works fine now. Also, use the new GDate setter/getter for the transaction time.
  • Cutecash: Add separate Cmd class for setting the amount/value. Setting the amount in the register now works.
  • Enable editing of the "other" account of a transaction. Register Account and our other types in the QMetaType system so that QVariant can hold it and pass it between the model, view, and delegate. Implement AccountSelectionDelegate that presents a QComboBox editor widget for account selection.

New in GnuCash 2.3.11 (Apr 22, 2010)

  • Bugs fixed
  • Partial fix for #611014 - CSV import crashes Bug #611014 mentions a problem where after setting the columns, clicking OK and selecting a target account, the Date column is lost. This is because of a difference in behaviour on windows and linux. The code attaches to the "edited" signal of the renderer. On linux, this signal is emitted when a new combo box item is selected. On windows, the combo box needs to be selected and focus lost before the signal is emitted. This is changed to the "changed" signal of the renderer which acts as expected on both platforms.
  • Bug #140400 - Crash when deleting an account that is still in use by the business features Add a dialog which contains a list of objects referring to the account and an explanation that these need to be deleted or have the account reference modified. Note: I'm no UI designer. This is functional, but if anybody wants to pretty it up, go ahead.
  • Bug #536108 - After cancelling "save as", user is not prompted 2nd time
  • Bug #507351 Terms not defined prior to use This commit changes the text in the accounts druid to explain what a placeholder account is, together with some additional improvements in the wording of that page. Since this increases the amount of text, the width of the label has been modified as well.
  • Fix Bug 590570 - When deleting more than one report in sequence the program crashes Delete the custom report backup file before renaming the current custom report file.
  • Fix Bug 611346 - Crash in Saved Reports dialog if you select Delete button with no report selected Test for no report selected before trying to use the selected report guid.
  • Bug #364358 - Import dialog unreadable with dark colored gtk theme (with solution)
  • Bug #525821 new or edited account names should be checked for reserved chars like ":"
  • Bug #610675 Register Tabs Do Not Display Since Nightly Build r18685 Apply Bob's patch after fixing the whitespace. This patch may cause issues on Windows (a previous version of the patch did). If the next Windows nightly build exhibits the missing register tab names again, it will have to be reverted again and improved upon.
  • Bug #611645 gnc-svnversion returns "too long" a string for git users, patch by Jeff Kletsky
  • Bug#325436 creating income account for invoice doesn't restrict account type
  • Fix Bug 611810 - GC crashes when I click on File -> Properties SCM files still refered to gnc-book-get-slots which had been removed. gnc-book-get-slots was replaced everywhere by qof-book-get-slots.
  • Fix bug 611885 - Crash when opening postgresql file Previous work setting Timespec values via gobject properties missed the case where the timespec loaded from the database was NULL.
  • Bug #611140: Fix crash on Open Subaccounts (hopefully).
  • Bug #610321 - Compile errors with gtk-2.10.4: GTK_BUTTONBOX_CENTER undeclared This commit applies a reworked version of the patch to remove the use of GHashTableIter by Cristian Klein. Cristian's patch didn't apply cleanly to the current trunk. I have made the necessary changes to make it apply (and hopefully do what Cristian intended).
  • Bug #611470 Add Japanese concepts guide into GnuCash installer, patch by Yasuaki Taniguchi
  • Bug 605802: Can't input Japanese characters at an account register window on windows with SCIM, IIIMF and XIM Latest patch by Yasuaki Taniguchi to fix two problems 1) Can't use account separator char when entering account name in a split, and 2) Can't use + and - to go forward/backward a week.
  • Fix bug 591177: Printer font is too small to read with webkit as html renderer. From comment 23: "The PDF in comment 2 is about 8 times smaller than it should be. One possible cause of this bug is if gtk_print_operation_set_unit (op, GTK_UNIT_POINTS) is not called. gtkprint defaults to GTK_UNIT_PIXEL - a useless unit to be using with printers. On Linux GTK_UNIT_PIXEL units are 1 unit = 1/72 inch (the same as GTK_UNIT_POINTS as well as PostScript and PDF units). On Windows GTK_UNIT_PIXEL units are the GDI device units which for printers is the dpi resolution. So for a 600dpi printer 1 unit is 1/600". If the application was developed on Linux and assumes the default gtkprint units are always 1/72" inch the output on Windows using a 600dpi printer will be 72/600 = 0.12 of the size (or approximately 1/8 of the size)." Solution was to use webkit_web_frame_print_full() which allows us to provide our own GtkPrintOperation object with units set to GTK_UNIT_POINTS. Tested on both Linux and Windows.
  • Bug #610675: Revert the gnc-main-window parts of r18637 because it makes the tab names disappear under Windows. This disables the enhancement of bug#608329 again, but the disappearing of the tab names is a rather major bug. Note that we either need to fix the enhancement again, or revert the rest of r18637 as well so that the account properties don't show the color chooser without any effects.
  • Bug #605802: Fix input of Japanese characters in register with SCIM, IIIMF and XIM Patch by Yasuaki Taniguchi. Revised and extended version of r18638. The main functions are as follows: (1) synchronization of preedit string between the register window and sheet->entry, (2) application to pango attributes to preedit string in the register window, (3) include scroll offset patch (id=153514), (4) include preedit string rollback patch (id=153518), (5) fix formula and account cells input problem which Christian pointed out, (6) surpress quick-fill when preedit string exists, (7) fix Windows IME problem. (8) Fix quick-fill problem.
  • Redo of the dot-gnucash fix (so that GNC_DOT_DIR actually works) fixing bug 610707, adding Doxygen comments for all functions in gnc-filepath-utils, and adding testing for xaccResolveURI and more tests for xaccResolveFilePath.
  • Revert r18713 (reopen 605802 "Input of Japanese characters". This commit had 2 problems: 1) when entering an account name, the account separator would no longer accept at the current level of the account tree and move to the next level 2) + and - in a date field would not change the field by 1 week.
  • Bug #610348: Add compiling our own binary of libbonoboui because the ftp.gnome.org binary still depends on the obsolete libxml2.dll. However, we still download the erroneous binary and unpack it into $GNOME_DIR because libgnomeui depends on libbonoboui which in turn depends on libgnome. Hence, libbonoboui cannot be compiled before libgnome-dev is unpacked, but libgnomeui won't report to be installed correctly before libbonoboui is available as well. Theoretically, we would have to split the inst_gnome step so that it first unpacks libgnome et al., then we run the inst_libbonoboui step, then we run the second part of inst_gnome which would be something like inst_gnomeui. I'm lazy, so I silently overwrite the libbonoboui DLL with our hand-compiled version and that's it.
  • Bug #608032 - MySQL timeout and no attempt reconnect, second version This version builds on Phil's implementation of the dbi error callback functions to test for a timeout and to do the reconnect. The same error handling is equally implemented for postgres and sqlite. Unlike MySQL these two database types don't actually generate timeouts, but the functionality can be used later on for other error types as well.
  • Bug #610051 - Crash when using GktHtml whenever a report is opened
  • Bug #610348 missing dependencies in windows build Update gnome-vfs to 2.24.1 Note that this means Windows 2000 is no longer supported.
  • Partial fix for bug #610321 Compile errors with gtk-2.10.4: GTK_BUTTONBOX_CENTER undeclared GTK_BUTTONBOX_CENTER is replaced with GTK_BUTTONBOX_START
  • Fix bug #564380 additionally for easy invoice and fancy invoice. Patch by Mike Evans.
  • Bug #610047 - Dutch accounts template doesn't work Add missing closing brackets
  • Bug #609044: Improve UI strings for tax report options Patch by Frank H. Ellenberger: As we currently have a nice US income and a partial german VAT tax report, I feel uncomfortable with the change of r18413, which renamed Edit->Tax options to Income Tax options. So here is another approach, to clarify the tax report and business tax menu points.
  • Bug #609043: Improve (mostly german) translation of txf Patch by Frank H. Ellenberger: This patch is a first extract of so an approach, which I have here, which will probably lead to a german income tax declaration ESt-A1. But this extract is more general and based on r18413 changes. Changes: 1. Header Comments: adding Contributors 2. Most strings in de_DE translated to german.
  • Bug #608032: Handle MySQL connection timeouts with reconnect Patch by Tom van Braeckel: For the full discussion, see the mailing list: https://lists.gnucash.org/pipermail/gnucash-devel/2010-February/027323.html Rationale: When we try to open a database transaction, and the database reports that the "server has gone away", we try to reconnect before failing hard.
  • Bug #609005: Add recipient name on invoices Patch by Mike E: Having set up a client/customer including the name of a recipient when I print an invoice the recipients name ("Account Dept" say) is not printed in the invoice. I think this is a bug rather than a feature. I have attached a patch to fix. It still prints the company name above the recipient name however. I could submit an additional patch to provide an invoice option to toggle printing of the company name if users/developers feel they want this option, as I do.
  • Bug #609603: Windows packing/win32/install.sh PATH fix Patch by Yasuaki Taniguchi: When I run /c/soft/gnucash/inst/bin/gnucash or gnucash.cmd after I finish building win32 binary, DLL missing dialog boxes pop up. Missing DLLs are - libgcrypto.dll, - libPQ.dll, - mysql.dll, and - ssleay32.dll. This patch add search path to them to fix this problem.
  • Bug #564380 Payment on bills doubles bill Patch by Mike Evans
  • Updated translations or translation-related changes
  • Updated Japanese translation, copied from the Translation Project.
  • Updated Persian (Farsi) translation by Mehdi Alidoost.
  • Add dutch translation to the Windows installer.
  • Updated Slovak translation, copied from the Translation Project.
  • Updated Dutch translation, copied from the Translation Project.
  • Update German translation.
  • Add implementation of Gregorian - Jalali converter code. Copied from http://www.farsiweb.ir/wiki/Iranian_calendar
  • Other user-visible changes
  • Change file loading message to "Loading user data..." Reading file is technically only correct for files not for databases.
  • Display the SX variables in the "Since Last Run..." dialog in ASCII order rather than ordering by hashvalue (i.e. no order at all) as was done previously. Patch by Jesse Weinstein.
  • Add bzr support to gnc-svnversion. Patch by Jesse Weinstein
  • Fix crash on opening the tax report, introduced by r18673. Patch by Alex Aycinena.
  • Revert r18881/18884/18885 (bug #610675 - Register Tabs Do Not Display Since Nightly Build r18685)
  • Fix missing color in qif-import account copy, patch by Tom Van Braeckel
  • Replace Income Tax Options with Tax Report Options. Patch by J. Alex Aycinena.
  • Patch my patch in r18884. Spotted by Herbert Thoma.
  • Regression fix: patch for colored tabs segfault in trunk, patch by Tom Van Braeckel
  • Other code/build changes
  • Remove test-load-module from tests
  • Fix Makefile.am handling of gncla-dir.h so that it will be removed so that 'make distcheck' will pass
  • Fix guint32 vs gint32 in gnc-uri-utils test.
  • Update POTFILES.in based on new source files
  • Complete unit tests for gnc-uri-utils api and fix bug found by running the tests.
  • More doxygen.log-prompted typo fixes, patch by Jesse Weinstein
  • Fix typo in previous commit
  • Add first test for the gnc-uri-utils api. This test verifies gnc_uri_get_components.
  • Implement the object reference infrastructure routines to allow a list of business objects referring to a specific other object (e.g. an account) to be determined. This will help fix bug 140400 because the account delete code can now determine a list of business (or other) objects which have references to that account, and prevent the account from being deleted while references still exist.
  • Add some new gobject-related infrastructure so that when deleting an object, it can be determined if there are other objects with references to that object (bug 140400). Some routines are normal routines, and some routines use the gobject structure to allow different implementations by different object types. Per-instance routine: gboolean qof_instance_refers_to_object(QofInstance* A, QofInstance* B) - returns TRUE/FALSE whether object A contains a reference to object B. Normal routine: GList* qof_instance_get_referring_object_list_from_collection(QofCollection* c, QofInstance* B) - Calls qof_instance_refers_to_object() for each object in the collection, and returns a list of the objects which contain a reference to B. Per-instance routine: GList* qof_instance_get_typed_referring_object_list(QofInstance* A, QofInstance* B) - returns a list of all objects of the same type as A which contain a reference to B. Being per-instance allows an object to use knowledge to avoid scanning cases where there are no references (e.g. billterms do not contain references to splits), or a scan is not needed (references from splits to an account can be determined using xaccAccountGetSplitList()). This routine can do a scan by calling qof_instnace_get_referring_object_list_from_collection(). Normal routine: qof_instance_get_referring_object_list(QofInstance* A) - For all collections in the book, gets an instance and calls its qof_instance_get_typed_referring_object_list() routine, concatenating all of the returned lists. This is the routine that external code can call to get a list of all objects with references to an object A. The list must be freed by the caller but the contents must not. Per-instance routine: gchar* qof_instance_get_display_name(QofInstance* A) - returns a string which can identify object A to the user. This could be used to display a list of the objects returned by qof_instance_get_referring_object_list() ("Invoice 0004 for customer C") so that the user can modify those objects to remove the references. Note that this is going to require internationalization, which has not been implemented yet. If not overridden by the object class, the default string is "Object " e.g. "Object gncCustomer 0x12345678".
  • Add event registration and handling from the qof_event_handlers. This way, the split view is updated correctly even on undo/redo.
  • Revert r18869, "Move gnc-ui-util.[hc] and gnc-euro.[hc] from app-utils to engine" Those files indeed belong better into app-utils; the app-utils defines several not-yet-GUI parts of gnucash, like many conversions from and to strings (more than those in these two files), so these files are well suited in here.
  • MSVC compatiblity: Fix include files in MSVC. Replace QSTRCMP by g_strcmp0 on MSVC.
  • Improve non-gnome UI compatiblity: app-utils can compile without gtk as well.
  • Add src/calculation and src/app-utils to cmake build system. app-utils is needed for the conversion from and to string for gnc_numeric, date, and other values.
  • Fix failing core-utils tests I simply removed the obsolete test cases. More work is still needed to add new valid tests.
  • Remove some unused variables.
  • Win32/MSVC compatiblity - Replace trunc() by floor() - Provide a round() workaround implementation for MSVC - Use g_strcasecmp instead of the libc one - Add include for libc replacements
  • Some more const-correctness in engine functions.
  • Update POTFILES.in for the moved dialog-userpass.c and the newely added gnc-jalali.c
  • Move gnc-ui-util.[hc] and gnc-euro.[hc] from app-utils to engine because they don't depend on gtk but are important additions for the engine types. In particular, the formatting of a gnc_numeric is defined there.
  • Fix circular dependency between gnome and gnome-utils introduced in r18842
  • MSVC compatiblity: snprintf is required to have a prefixing underscore. Also, more symbols of libguile/gc.h need explicit declspec on MSVC.
  • Add variant of gnc_engine_init which is suitable for statically the linked-in library.
  • Only use long long format specifiers if available - avoids error message when compiler thinks they're not available.
  • Fix parent/child relationships in billterms in case the parent hasn't been loaded yet. Remove child column from billterm table because it duplicates info in the parent column and just complicates loading objects.
  • Fix parent/child links for tax tables. If a tax table's parent table has not been loaded yet, remember the relationship, and after all tables have been loaded, fix up the rest of the parent/child links.
  • Handle NULL string pointer as a NULL guid
  • Add a mechanism so that the business sql backend module can provide the main sql backend with the order in which objects should be loaded. This will allow billterms and taxtables to be loaded before objects which contain references to those objects.
  • MSVC compatiblity: Replace QOF_BOOK_LOOKUP_ENTITY macro by a RETURN_ENTITY macro and add inline functions for lookup. MSVC doesn't accept the syntax with an inlined block, x = ({ foo; bar; value;}). Hence, this is being replaced by actual function definitions, and the body of those functions is defined by the new macro.
  • Delete unused variables.
  • Use a normalized uri format internally to refer to data stores. Data stores for GC can be a file (xml or sqlite3) or a database one some server (mysql or postgres). Wherever it makes sense internally, data stores will be referred to via a normalized uri: protocol://user:password@host:port/path Depending on the context and story type some of these parts are optional or unused. To achieve this, a new utility interface has been setup: gnc_uri__ that can be used to manipulate the uris or convert from non-normalized formats to normalized and back. For example, when the user selects a file in the Open or Save As dialog, gnc_uri_get_normalized_uri will convert the file into a normalized uri. Or when the actual filename is needed this can be extracted with gnc_uri_get_path. You can also test if a uri defines a file or something else with gnc_uri_is_file_uri. For the complete documentation, see src/core-utils/gnc-uri-uitls.h This commit installs gnc-uri-utils and modifies the source where it makes sense to use its convenience functions. This concerns all functions that had to deal with file access in some way or another, the history module and the functions that generate the history menu list and the window titles. Note that gnc-uri-utils replaces xaccResolveFilePath and xaccResolveUrl in all cases. xaccResolveUrl has been removed, because gnc-uri-utils fully replaces its functionality. xaccResolveFilePath is used internally in gnc-uri-utils to ensure an absolute path is always returned (in case of a file uri, not for db uris). But it has been renamed to gnc_resolve_file_path to be more consistent with the other functions. Lastly, this commit also adds a first implementation to work with a keyring to store and retrieve passwords, althoug
  • Make business backend initialization functions accessible when statically linking
  • MSVC compatibility: Disable "C99 designated initializers" by a compiler-dependent macro Same as r18755.
  • Make the backend initialization functions accessible when statically linking
  • Change the definition of QOF_STDOUT The old definition file: conflicts with normal uris that can start with file: as well. I have chosen > instead, which is never a valid filename and on unixlike systems associated with standard out operations.
  • Use proper qof CFLAGS/LDFLAGS since core-utils now uses qof
  • The webkit used on win32 has webkit_web_frame_print_full() defined in include files, so we don't need a potentially conflicting extern declaration.
  • If gmtime_r is defined as a macro, undef it
  • Add svn:ignore to src/core-utils/test
  • Remove invalid target (got copied from src/engine/test)
  • Build test-core before core-utils
  • Add the core-utils tests in the automake system
  • Move filepath related tests to core-utils/test
  • Undefine localtime_r as a macro (new mingw pthreads package defines it)
  • Add braces to make if-if-then-else structure clear and avoid GCC 4.4.0 error message
  • Remove gncmod-test from test-core It's not used and prevents test-core from being included in core-utils tests
  • Add missing NULL sentinel at end of g_strconcat() function call
  • Removed erroneously re-created src/engine/gnc-filepath-utils.c
  • Move binreloc library include
  • Note the moved files in POTFILES.in.
  • Remove C executable from cmake as it is no longer necessary.
  • Add missing link library after r18811.
  • Adapt cmake to the file move in r18811.
  • Add src/engine/test/test-resolve-url
  • Win32: Add download of cmake, disabled by default.
  • MSVC compatibility: strftime() doesn't know "%T" here. Also, g_fopen doesn't work, but fopen does.
  • Move gnc-filepath-utils and dependencies from engine to core-utils
  • Typo fixes, as found by doxygen.log, patch by Jesse Weinstein
  • Tweak to gnc-svnversion's bzr section, patch by Jesse Weinstein
  • Use "template-account" property to get/set template account.
  • Add "template-account" to schedxaction as a gobject property.
  • Simplify handling of sx template_acct column.
  • Rename GNCBook into QofBook everywhere and remove separate header gnc-book.h. The former was already #define'd on the latter, so its removal gets rid of one level of indirection which makes function lookup easier. Also, the macro (!) qof_book_get_slots was turned into a normal function again because that's what functions are for (and otherwise the additional declaration in engine.i would break).
  • Decrease compiler warnings by removing unused variables.
  • Reduce compiler warnings by replacing strerror() with g_strerror() and similar glib replacements.
  • Win32: Add more header includes where necessary to avoid using undeclared functions.
  • Comment out unimplemented function. Improve const-correctness.
  • Include gtk/gtk.h instead of gtk/gtkclist.h as recommended by Gtk
  • Fix make dist r18765 introduced test target test-resolve-url, but no source file test-resolve-url.c Removed the target.
  • Re-indentation of source code, next batch: src/gnome-utils/* This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Re-indentation of source code, next batch: src/register/* This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Re-indentation of source code, next batch: src/business/* This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Re-indentation of source code, next batch: src/engine/* This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Re-indentation of source code, next batch. This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Replace and-let* in scheme script so that srfi-2 isn't needed.
  • Replace one more g_list_append by g_list_prepend.
  • MSVC compatibility: Somehow fdopen() doesn't work during the trace file initialization. Use fopen() instead.
  • Win32 build: libguile needs minor tweaking for MSVC compatibility.
  • MSVC compatibility: Fix r18748, r18761 by replacing strncasecmp() with strnicmp().
  • MSVC C++ compatibility: Rename the internal name of union _GUID because _GUID is a builtin keyword here. This does not concern the typedef name, only the internal union name, so it doesn't harm us.
  • C++ compatibility: namespace is a keyword, so don't use it as variable name.
  • C++ compatibility: export is a keyword, so don't use it as a member name.
  • Add support for passing a Timespec as a boxed GValue
  • Fix test makefiles. Many tests now need to include other libraries because files have changed directories.
  • Add more gobject property definitions to GNCPrice, Transaction, SchedXaction and Split.
  • Win32: Create the MSVC import library for libguile during install.sh.
  • Remove static current_session variable of libqof - we keep one in gnc-session.c already.
  • Doxygen improvements, patch by Jesse Weinstein
  • More changes where SQL backend uses gobject properties to load/save objects.
  • More conversion to read/write objects from sql backend using gobject parameters
  • Start to add properties to business objects. Currently only 1 property per object, but this infrastructure will allow more generic importing of objects.
  • Take advantage of the initial property definition for Transaction, Split, GNCPrice and SchedXaction by replacing custom access routines with gobject properties.
  • Add a few gobject properties to some engine object types. This adds more of the gobject infrastructure to Transaction, Split, SchedXaction and GNCPrice. Gobject properties provides a standardized interface to the engine objects which should allow standard and simplified read/write mechanisms. For the sql backend, for example, db columns can be mapped to properties. In a generalized csv importer, csv columns can be mapped to properties.
  • Partly revert r18748, "Win32 compatibility": lib/libc directory doesn't have glib available.
  • Add a "make indent" target, but watch out with using its result. The "astyle" indent tool unfortunately behaves significantly different in its different versions (1.22, 1.23, 1.24) even with identical options. That is, the basic indentation is the same, but in a large project such as ours, there are just too many special cases which astyle doesn't get identical due to its bugfixes and new features. Hence, please use the result of this target with great care, and if in doubt, just use it for your own amusement but don't commit the resulting changes. Thanks!
  • Fix up some doxygen comments
  • Don't include gnc-lot-p.h where not needed
  • Win32: Fix libbonoboui compiling.
  • MSVC compatibility: Microsoft doesn't have C99 "designated initializers". Those were introduced in r17724, bug#539957, but apparently this C99 is not supported by MSVC and won't be for some time to come. Hence, for MSVC we need the workaround to define a macro that will shadow the member names. However, the initialization itself works fine and non-MSVC code is unchanged, so I think we can live with that.
  • MSVC compatiblity: Struct initialization doesn't work as expected. Somehow, the struct initialization containing a gnc_numeric doesn't work. As an exception, we hand-initialize that member afterwards.
  • MSVC compatiblity: open() flags and S_ISDIR doesn't exist on MSVC.
  • MSVC compatiblity: Use a char* pointer for the memcpy() input argument. This is required by MSVC because we do some pointer arithmetic in the memcpy() argument, but in order to do this, MSVC wants to know the pointed-to type of the pointer because pointer arithmetic increases the pointer not by a number a bytes but a number of sizeof(type). MSVC thinks for void* it doesn't count bytes. We achieve the desired effect by using a char* pointer so that bytes are counted.
  • MSVC compatiblity: Add defines for functions/types which are available under different names in MSVC.
  • MSVC compatiblity: Array initialization in MSVC requires a constant, not a variable. That is, gcc accepts a constant variable in many cases now, but MSVC doesn't accept it. So it must be turned into an old preprocessor define.
  • MSVC compatibility: Remove forward declaration of static array by reordering the function that uses it.
  • Win32 compatibility: Use glib wrappers of non-usual POSIX functions.
  • More header include compatibility: Watch out for HAVE_UNISTD_H.
  • Re-indentation of source code, next batch. This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header --suffix=none
  • Convert GNCLot to use more gobject features. Removes all direct access to lot object fields, which are now accessed through functions or property names (for backend sql load).
  • Modify POTFILES.in to handle source files moved to a new directory
  • Also build backend/xml in cmake.
  • Reverted 18699
  • Clarify required steps to setup windows build environment. The mingw website has changed quite a lot since the README was written and some of the url's used in it were confusing. I have changed the url's to point to the actual packages on sourceforge (current at the time of this writing) and added some extra details where I had trouble understanding the actions to perform.
  • Doxygen fixes - Have this file show up under module "Utility Functions" - Normalize the function descriptions (some were not in doxygen format) - Add a global file description - rename parameter 'file' to 'filename' for better consistency (note this required an internal parameter to be renamed from filename to new_filename)
  • More minor MSVC code fixes. However, this code doesn't compile with MSVC9.0 for a few reasons: 1. libguile.h comes with its own scmconfig.h which contains HAVE_STDINT_H whereas MSVC doesn't have that. This is stupid guile which doesn't accept the fact that the user uses a different compiler than how they compiled guile. 2. Some initializations are not supported: Account.c:3312 etc. 3. The C99 "designated initializers" of e.g. Account.c:4661 ff. (r17724, bug#539957) are not supported by MSVC9.0 - this is the hardest problem of these all.
  • Make CMake system more complete so that it builds on win32/mingw. Also, add a test executable to check that we got all the library dependencies.
  • More CMake work: Build swig wrappers correctly. Build gnc-module.
  • Cosmetic: Remove duplicate include of gnc-engine.h
  • Remove trailing whitespace
  • Minor doxygen change and lots or trailing whitespace removed
  • Remove GNOME_PRINT_{CFLAGS,LIBS} from the Makefile templates
  • Spelling errors and trailing whitespace removal
  • Remove reference to gnome print in the comments GnuCash no longer uses gnome print. It has been replaced with gtk print.
  • Remove two more popt references in support files.
  • Remove popt requirement from configure GnuCash doesn't use it. At the same time, I removed a check that has been commented out since the beginning of the revision history (somewhere in 2007). This check tested for the presence of popt.h to then run some libtool changes. As I said this whole block has been commented out since the beginning of time, so I considered it to be obsolete, more even so now that the popt requirement has been removed.
  • Remove popt references - popt has been replaced with the GOption infrastructure. So there's no need to include the popt.h file. - Also rewritten the comment that was elaborating on popt vs GOption - Finally removed the loglevel option (which was excluded from the compile anyway) that still referred to popt.
  • Fix minor spelling errors
  • When creating lists of database objects, use g_list_prepend() rather than g_list_append(). There may be cases where the list order is significant and thus needs to be reversed, but that is not true in these cases. This provides a large improvement in database loading performance. Analysis and basis patch supplied by Donald Allen.
  • Update documentation references to Active Perl (5.8->5.10)
  • Remove redundant entries in EXTRA_DIST
  • More experimental cmake building. Except for the scheme wrappers this seems to work until at least the engine module. However, I didn't tackle the issue with the generated headers which contain some installation paths - but those we should get rid of anyway.
  • Move two gtk-dependent files from src/core-utils to src/gnome-utils. core-utils depends on glib and additionally guile and gconf, but not (yet) gtk. Those two files which do are moved to the next module which already depends on gtk, which is gnome-utils.
  • Add some experimental CMakeLists.txt which can compile the libqof part, on Linux, Windows/mingw and (no joke) Windows/MSVC. I'm interested in some tests with the cmake build system, but if it doesn't prove useful I will remove it again within a few weeks.
  • Make libqof compatible for MSVC9.0 compiler (no joke). The main change is that the syntax for variadic macros is slightly different in MSVC compared to gcc. But they exist, so offering the log macros in the different syntax is sufficient.
  • Make more header inclusions conditional on whether they exist.
  • Update .gitignore, proposed by Jeff Kletsky
  • Make sure file urls actually contain path information or are NULL
  • Remove redundant GLIB check.
  • Bump minimum required versions of gtk+, goffice and gtkhtml gtk+: 2.10 goffice: 0.5.1 gtkhtml: 3.14
  • Add a starter script for gnucash under ddd (a gui frontend for gdb)
  • Build fixes for EL5 after glib 2.12 requirement
  • Ensure that GNC_DOT_PATH and other gnc_dotgnucash_dir() logic is used for all cases, remove hard-coded references to /usr/etc, /usr/share, /usr/local/etc, and /usr/local/share while providing for xaccResolveFilePath to actually search the data and sysconfdir directories used in the build. (gnc_build_data_path): New function, just a copy of gnc_build_book_path. Needed for rewrite of xaccResolveFilePath. (xaccResolveFilePath): Cleaned out the hard-coded paths and weird file path contruction functions and rewrote the function to use gnc_path_get_foo and gnc_build_data_path without all of the silly indirection. Removed superfluous URI checks (which are correctly perfomed by xaccResolveURL()). (MakeHomeDir, xaccPathGenerator, xaccDataPathGenerator) (xaccUserPathGenerator): Deleted; their functionality is replaced as noted above. (check_file_return_if_true): Renamed check_file_return_if_valid, a more descriptive name.
  • Bump glib2 minimum requirement to 2.12. At the same time, remove all the conditional code and workarounds that were in the code to cater for glib < 2.12. Note: this commit will require a rerun of autogen.sh and configure.
  • README referred to a non-existent file So per a suggestion on IRC, I took the reference out. Patch by Jesse Weinstein.
  • Win32: Update libxslt version, but it needs its own copy of libxml2.dll. Apparently the gnome-provided libxml2 has the DLL filename libxml2-2.dll, but the binary from xmlsoft.org still has the filename libxml2.dll.
  • Win32: And one more dependency upgrade (causes missing libxml2.dll complaints otherwise)
  • More win32 dependency version updates.
  • Update libpng package dependency for win32 to 1.4.0
  • Small spelling fixes in the comments
  • Re-indentation of source code, next batch. This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.24 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper --pad-header Discussed at http://lists.gnucash.org/pipermail/gnucash-devel/2009-August/026121.html
  • Update gnome package versions.
  • GDate values weren't being properly fetched from objects to be saved in a database column if they were fetched as a gobject property.
  • Clean up account column in the lot table to specify that the guid is an account reference. Simplifies the code a bit, and makes future use of foreign keys easier.
  • If building for WIN32, use webkit_web_frame_print_full() so that a GtkPrintOperation object with the correct units can be used to prevent font size problems (see bug 591177). On other platforms, use webkit_web_frame_print() because some distros seem not to have webkit_web_frame_print_full() (and also don't have the font size problem so on those distros, we don't need to create our own GtkPrintOperation object).
  • Cutecash Some of the GnuCash developers have decided to rewrite the UI for the cross-platform Qt toolkit from TrollTech. The goal is a simpler UI which is more powerful and easier to develop. This project has gotten the name "Cutecash". It uses the same back-ends and engine as gnucash. Only the UI is different. The source for the Cutecash UI is in the same tree (and therefore, the tarballs) as GnuCash, but at this point, no MAC or Win32 builds are being produced.
  • Cutecash: Add Commodity wrapper. Use gnc-exp-parser for numbers. - Allow amounts to be edited. - Let the date column be handled by the QDate delegate with a QDateEdit widget
  • Cutecash: Enable entering of more cells in register. Some code cleanup. Add class documentation.
  • Enable editing of the "Description" column in the split list view - WITH UNDO! The Qt Undo framework is almost like magic. We just have to create a command object instead of directly manipulating the value, and suddenly the undo/redo just works. This is fun!
  • Cutecash: Add QUndoStack to implement all editing through the Command pattern and make it undoable.
  • Cutecash: Enable closing and re-opening the different tab views. Also, change many main window slots to make use of the auto-connection feature because it makes the slot intention much easier to read. Also, note how we store the Tab position, title, isEnabled state in dynamically allocated properties in the Tab widget itself - this is a rather cool feature of QObject here (see reallyRemoveTab() and viewOrHideTab()).
  • Cutecash: Add Recent-File menu.
  • Cutecash: Enable tab moving and other UI features of Qt.
  • Cutecash: Add Timespec conversion to QDateTime. Add display of transaction date in register tabs.
  • Cutecash: Display account balance in tree and split amount in account register.
  • Cutecash: Add gnc::Numeric wrapper for gnc_numeric.
  • Implement a table widget with the list of the splits of one account, and open this if an account in the tree is double-clicked. Date and values/amounts can follow next, once those types are suitably wrapped into C++ as well.
  • Cutecash: Add progress bar during loading the file.
  • Implement the account list data model as a specialization of the account tree model. This is helpful in order to understand Qt's Model/View structure, so both (list and tree) are still available.
  • Cutecash: Fix guile version number query. Patch by Herbert Thoma.
  • Cutecash: Add a tree view of the accounts.
  • Cutecash: Fix CMakeLists for change in guile lookup, r18846
  • Cutecash: Remove QSharedPointer because manual delete is sufficient. Also, the QSharedPointer cannot be used for bookkeeping of a C pointer to any gnucash object because it refuses to work if it doesn't know the actual struct definition, which in gnucash is always private. The boost::shared_ptr would work without (by the custom deleter argument in the constructor), but QSharedPointer doesn't (the custom deleter is accepted only in addition to the known storage size, not alternatively), so it is pointless here.
  • Cutecash: Add version check for guile and define HAVE_GUILE18 if appropriate.
  • Adapt cutecash to r18842.
  • Cutecash: Fix extern "C" usage: Must not enclose system includes, supposedly.
  • Cutecash: Allow older glib versions as well.
  • Cutecash: Add business-core including business-core/xml into the executable.
  • Add copyright notices in cutecash source code files.
  • Cutecash: Copy some more icons into the program. Add a clickable hyperlink.
  • More C++/Qt4 frontend work.
  • Add example main window in C++ and Qt that links against gnucash-engine. The example was based on Qt4's "application" example, but the main window layout is done through the .ui file already.
  • Finish cmake build system for the C++ experiment. To build this: mkdir build-cpp cd build-cpp cmake .. make ./src/gnc/cutecash
  • C++ experiment: Extend the AccountModel into a table with name and description. Use QString everywhere as well.
  • C++ experiment: Add first simple model/view widget for the loaded account list.
  • Some more C++ work. Opening an existing file works, even though nothing is visible so far. The implementation of a scoped_ptr wrapper around a C object uses the boost library, though, because writing our own implementation of a scoped_ptr with custom deletion function is too non-trivial and I rather re-use the boost::shared_ptr here instead of making our own mistakes.

New in GnuCash 2.3.10 (Apr 22, 2010)

  • Revert r18654. Current GtkHtml implementation crashes the windows build whenever a report is opened.
  • Better fix for segfault at startup caused by bug 608329's patch and a renamed Accounts tab. Patch by Tom Van Braeckel
  • Fix crash at startup on renamed Accounts tab, bug#608329. Patch by Tom Van Braeckel.

New in GnuCash 2.3.9 (Apr 22, 2010)

  • Bugs fixed
  • Bug #608436: Add auto-clear feature Patch by Cristian KLEIN: = Usage scenario = John keeps his personal accounting in GnuCash and writes all credit card expenses therein. On weekends, we checks his Internet Banking and sees that some transactions have been recorded. He would like to clear those transactions in GnuCash, but it is tiresome to go through each Internet Banking transaction and do manual comparison with GnuCash records, especially since Internet Banking transactions might be in a different order than in GnuCash. John would prefer having an "auto-clear" feature. Given the "current amount" from the Internet Banking, he would like GnuCash to clear the transactions for him, if and only if, there is a unique combination of transactions that could achieve this. If there is no solution, or if the solution is not unique, GnuCash should warn him and John must manually clear the transactions.
  • Bug #590332: New eguile-based Tax Invoice report Patch by Chris Dennis.
  • Bug #606053: Add stylesheet with footer Patch by [email protected] and Frank H. Ellenberger.
  • Bug 586122 - The AqBanking Wizard can't be loaded: plugins\20 folder to be renamed into plugins\16 The patch evaluates and configures the proper paths at build time, retrieving the required info directly from the aqbanking source
  • Bug #608329: Add Color to Account tabs Patch by "Bob": I wanted a way to select an account easily when I have several accounts open in the main window. I decided to add a color option to the account so that the tab can be set to a specific color and so easily identifiable. This could also be used to link like minded accounts together. This patch also fixes the account tooltip not being updated when the name changes.
  • Bug #534210: Add individual check item types. Patch by Thomas Troesch: The proposed patch does: 1. Changes the chk file key to Blocking_Chars as described in 607522 ( this had been dropped by mistake ). 2. Add several fields to the Custom tab in the print check dialog. Locations for: a. split memos fields. b. split accounts ( e.g. Expenses:Auto ) c. split amounts ( e.g. GBP 21.40 ) The splits do not include the last split in the transaction. The keys in the chk format file are: SPLITS_AMOUNT SPLITS_MEMO SPLITS_ACCOUNTS 3. Memo was added to the custom tab. This is the memo from the split that matches the account from the register.
  • Bug #608306: check amount_word should print the fraction correctly. Patch by Thomas Troesch: Checks printed the wrong string for the amount_words. The utility number_to_words had produced e.g. from 100.04 -> One Hundred and 4/100. The word string should be One Hundred and 04/100.
  • Bug #608874: Spelling fix for Emoluments Patch by Adrian Bridgett.
  • Bug #589320 Price Editor - Currency Namespace does not show up This bug was introduced by r18062 (applying a patch from bug #580281 Entering multiple pices with price editor is tedious) For some unknown reason, r18062 assumed exchange rates are not supposed to be edited via the Price Editor dialog.
  • Bug #105669: Improve error handling in gz_thread_func. Honor errors when reading/writing from/to a compressed file or the pipe to the main thread.
  • Bug #606728: Catch errors when opening saved-reports-2.4 for write.
  • Bug #105669: Add checks to detect errors on write, especially if there no space left on the disk. Check the return value of fprintf and use ferror where libraries as libxml do the write. The change may not be perfect yet and a review would be nice. Still, it detects quite a few errors that, without it, slip through and may destroy valuable data.
  • Bug #607522: Add ADDRESS to check printing Patch by Thomas Troesch: The patch does three things: 1. Adds the ability to print an address on checks. The Print Check dialog is changed to have 5 address lines. The first field is filled in with the same data as the PAYEE check item. The other lines are blank. The check format keys have a new check-item type 'ADDRESS'. It behaves like other text check-item types. The address fields on the dialog are set 'not-sensitive' if the current format does not have an ADDRESS check item defined. The Custom Field tab has a new line for the address location. 2. Added new check format key - Blocking_Chars. This is to put the blocking character feature into the check format file. It is currently only in the preferences dialog in the printing tab, and therefore currently applies (or not) to all text fields in th_e check format. By adding the key Blocking_Chars_n to the check format, the blocking characters can be applied to text type check-items individually. Its really useful when printing stubs and so on. (NOTE: blocking characters are printed around a field to protect against alteration e.g. ***$100.00*** vs $100.00) 3. Included a Voucher check template. This is a full page check with the check on top and which has two stubs below. There are other voucher formats ( middle and bottom ) , but the check printing functionality would require separate templates for the different formats. Also changed the Quicken/Quickbooks US-Letter check format to include the ADDRESS check item and blocking around the AMOUNT_NUMBER field. I made a change to the Quicken-wallet check to add blocking characters around the AMOUNT_NUMBER field, and I added a clipping rectangle definition to the NOTES and PAYEE fields the were placed in the check stub area ( if the fields were too long, they would print into the check area ).
  • Bug #607517: Migrate print.glade from glade-2 to glade-3 format. Patch by Thomas Troesch.
  • Bug #607246: In qof_string_number_compare_func, use base 10 and do not allow octals to sneak in. Otherwise, transaction number 0108 (octal 010=8) will sort before 0107 (octal 0107=71).
  • Bug #607255: Repair Hungarian report main menu, by Attila Nagy.
  • Bug #607185: Add f-q workaround for missing date. Patch by "meo": If for whatever reason finance-quote is unable to get a date for a quote or to convert it to the standardized form, gnucash is unable to use the otherwise correct quote. With web pages being updated definitively more frequently than finance-quote, this is quite a nuisance. Up to now, gnc-fq-helper emits an error message + the quote, a combination gnucash is unable to process. This patch presents a workaround. I would prefer using the current date + 12 hours rather than current date + time, but this is open for discussion.
  • Bug #606077: Fix uncommon configure option --program-suffix. Patch by Peter Selinger: OK, the attached patch fixes part of this problem. Specifically, it applies the specified transform (from ./configure option --program-suffix, --program-prefix, or --program-transform-name) to the files src/bin/gnucash-valgrind src/bin/gnucash-gdb src/bin/gnucash This is done in the Makefile at compile time. In the end, I am not sure why the GnuCash configure.in provides the --program-suffix mechanism at all, since apparently it hasn't been used in 10 years. According to info autoconf, these are supposed to be enabled by the macro AC_ARG_PROGRAM, but I don't see this in configure.in. So perhaps it has been enabled by accident and shouldn't really be there.
  • Bug #511606: Fix ipmt() and ppmt() functions in scheduled transactions. Patch by Jean-Baptiste: " The instance counter is now incremented into increment_sx_state function."
  • Bug #538902: Moves the "New Accounts Page" menu option to the "View" menu Patch by Steven N. Severinghaus.
  • Bug #348701 Wrong currency symbol when currency is set to DKK This fix reverts changeset r7200, which caused some currency symbols to be replaced with the EURO sign. This replacement was a workaround for gtkhtml1 and no longer needed.
  • Bug #606626: Change wording from Druid to Assistant
  • Bug #589032: Replace some strcmp() by safe_strcmp() to fix crashes on NULL strings.
  • Bug #602051: Replace the word "string" in GUI messages by non-developer wordings. Same for dialog -> window.
  • Bug #602091: Fix broken Due Bill Reminder in all non-C locales The Due Bill Reminder used the translated form of "Invoice" as query string predicate, which can't work because the untranslated string must be searched for.
  • Bug #582325: Refactor some deprecated guile functions: SCM_BOOLP -> scm_is_bool SCM_NULLP -> scm_is_null SCM_FALSEP -> scm_is_false SCM_NFALSEP -> scm_is_true SCM_VECTORP -> scm_is_vector SCM_NUMBERP -> scm_is_number SCM_CONSP -> scm_is_pair SCM_STRING_CHARS -> scm_to_locale_string Specifically the replacement of SCM_STRING_CHARS with scm_to_locale_string fixes Bug #582325 Additionally, I have renamed these internal functions for global consistency: SCM_PROCEDUREP -> scm_is_procedure SCM_LISTP -> scm_is_list SCM_EXACTP -> scm_is_exact SCM_EQUALP -> scm_is_equal
  • Bug #605414: Clarify Quick-fill tip of the day Patch by James Raehl: Patch adds Tab key step to the Quick Fill tip. New users do not know about this step.
  • Bug #605415: Relax limit on scheduled days in the future Patch by James Raehl: Expand scheduled transaction date limit by 366 days Usually, scheduled transactions are limited to 365 days in the future. This patch doubles that limit plus adds a day for leap years. The patch supports a method for separating transactions that are not yet posted at the bank, by assigning an initial date one year in the future. Under this method, scheduled transactions and their reminders are one year in the future, since they have not happened yet.
  • Fix bug #603215 - Custom report from Budget Report does not save selected Budget Problem was how budget option tried to create the lambda function to restore the value.
  • Bug #479581 gnucash --nofile hasn't application name in window title When no file is selected, the title now becomes "Unsaved Book - GnuCash". The first part is following Gnome HIG guidelines, the latter part is a preference of several GnuCash developers. Furthermore, the "- GnuCash" suffix will always be appended, not only when no file is open.
  • Fix #586122 (follow-up to r18488) by using aqbanking/version.h from its installation path. Also look up the gwenhywfar so-name accordingly.
  • Bug #609402 Add Japanese resource to Windows (inno) setup
  • Updated translations or translation-related changes
  • Updated Dutch translation, by Mark Haanen and Jos, copied from the Translation Project.
  • Updated Japanese translation, by Yasuaki Taniguchi, copied from the Translation Project.
  • I18n fix of concatenated expression. We must not concatenate a word expression from different strings. Instead, we must translate each expression separately. Pointed out by Mark Haanen.
  • I18n improvement: Translate plural-dependent string correctly by ngettext().
  • Minor updates to British English translation by Mike Evans. Copied from bug#602051.
  • Fix translation issues caused by r18474.
  • Update Chinese (simplified) translation, copied from the Translation Project.
  • Update British English translation by Mike E.
  • Remove de_CH translation because it ceased to be maintained. The normal German translation will appear for de_CH locales, just as in 2.2.x.
  • Fix typo: accouting -> accounting
  • Update German translation
  • Add initial Persian translation (Farsi) by Mehdi Alidoost.
  • Fix translation error in r18550, bug#602051.
  • Update Japanese translation, copied from the Translation Project.
  • Fix missing header information about Farsi plural forms in fa.po, according to what has been explained to me.
  • Add disambiguation prefix to the word Split where it is the action of a Stock Split.
  • Add new source files to POTFILES.in
  • Updated Dutch translation, copied from the Translation Project.
  • Update German translation.
  • Update the translations with the latest string template.
  • I18n improvement: The account name of the other account in multi-split transaction is extended to conform to the name in the register. Otherwise, the string Split from here has the ambiguity with the button labeles Split, which is the verb, whereas here we need the noun.
  • I18n improvement: Add disambiguation prefix to the account code of the other account in a multi-split txn. Without the disambiguation, the string here is identical to the button labeled Split, but that one is for sure something different from here, namely the old verb vs. noun issue.
  • Other user-visible changes
  • Small UI string corrections related to the recent tax enhancements. Patch by J. Alex Aycinena.
  • Payment dialog layout improvements - Rearrange the frames so that the Transfer Account frame gets more space - Add tooltips to (owner), (invoice) and amount related widgets. - Properly align the invoice_label widget
  • Watch out for a missing pricing transaction when looking for price data.
  • Add a comment about GNC_COMMODITY_NS_ISO and GNC_COMMODITY_NS_CURRENCY.
  • Add new columns for the name of the lot each split is part of and for the value of the split. Both are optional and default to off.
  • Call gnc_{suspend|resume}_gui_refresh while closing accounts and scrubbing lots to make them go much faster and avoid flicker.
  • Watch out for a null account in render-corresponding-account-subheading, it happened to me once.
  • Pass the correct report name to income-statement-renderer-internal when rendering a profit and loss report.
  • Don't leak a file port when saving reports.
  • Reset found_trans_split when the transaction being considered in gnc_split_register_find_split turns out to be the wrong one.
  • Fix an off by one error in gnc_ui_sx_loan_druid_create.
  • Increase the size of the Guile stack to avoid stack overflow errors.
  • Some usability improvements to the Save As.../Open dialog (part 2) Forgot to add the changes in c code...
  • Some usability improvements to the Save As.../Open dialog * The dialog gets a proper title * Only show the File frame or the Database frame, as relevant to the chosen data format * Set a minimum width. Without it the dialog comes up too narrow. * Some minor layout changes (spacing, justification,...) to harmonize with other GnuCash dialogs.
  • Don't show hidden accounts in the transfer dialog. This should be connected to the UI, but my ubuntu has glade 3 which mucks up the .glade files.
  • Add a Select Children button to the widget used for account selection in report options dialogs.
  • Load gnc-build-url from the correct file so the accounts list option works again.
  • Speed up the balance sheet report by a factor of 5 or so by using C functions instead of Scheme functions to get account commodity balances. This idea is borrowed from the EGuile version of the balance sheet report.
  • Avoid a bunch of assertion failures when the general ledger is open. The general ledger has no account so attempts to get the balance of the register's account pass a null account pointer to functions that won't accept that. Also stop leaking a GList in the functions that get account balances.
  • Remove the "Compute unrealized gains and losses" option from the balance sheet report. Instead compute unrealized gains and losses only if the current book does not use trading accounts.
  • Change 'Int' to 'Interest' and 'Div' to 'Dividend' in action strings
  • Use string saved-reports-2.4 in the description of the save report action.
  • Use gtkhtml as html render in the Windows build
  • [Patch] Corrections to taxtxf.scm Patch by J. Alex Aycinena: I attach a patchfile that corrects two problems with taxtxf.scm: the report would not gracefully handle the cases where, 1, a datafile from an earlier version of gnucash might have tax codes assigned to accounts and no tax-entity-type code assigned to the file, and, 2, some cases where accounts had no tax code assigned and the tax-related flag not set.
  • Have the Post date widget grab the focus by default when opening the post invoice dialog.
  • Updated txf.scm for 2009 US tax form changes by J. Alex Aycinena.
  • Fix crash when copying a currently edited transaction in the register.
  • Other code/build changes
  • Remove gnucash.lsm from EXTRA_DIST
  • Fix doxygen markup
  • Small documentation improvements for better doxygen docs
  • Move splint-defs.h to src/debug. It's only used for debugging. Note that the current splint-defs.h causes compilation errors due to redefinition of function declarations. These should be fixed when splint is to be run again.
  • Win32: Fix building of libgoffice. Required libgsf to not remove the build directory, hence part of r18559 need to be reverted.
  • Fix null-pointer dereference from r18612
  • Remove Linux Software Map description. It's unmaintained for years now.
  • Move count.* to util Also I made a first attempt at improving the line count. The old script missed a number of files in the directories it counted. The script is still not in line with the current code base though. A number of directories are still not counted (like gnome, engine, ledger, ...)
  • Moved svnlog2ul from contrib to util It makes more sense in util as it is by and for the devs, not contributed by an external user for external use.
  • Add svnlog2ul.sh, and accompanying xslt sheets. svnlog2ul.sh is a script to extract the commit messages from svn between two releases and converts them into a simple html unordered list. This is a useful aid to create the news pages on the website.
  • Move valgrind suppression rules to debug subdirectory This will require a new run of configure as some makefiles have changed
  • Set svn:ignore on pl accounts like the other account directories (Meaning: ignore Makefile and Makefile.in)
  • Remove the old, obsolete postgres backend and its tools I also changed some of the documentation that referred to it, but there are still some references left in the (unmaintained ?) design documents.
  • Win32: Hopefully fix goffice installation.
  • Free sort_keys as allocated by g_utf8_collate_key in ExtensionInfos.
  • Fix script to check for > 2.8 entries to remove The minimal Gtk+ requirement has been set to 2.8 recently. This script still removed glade parameters that are valid in 2.8. This patch fixes that.
  • Corrections to r18610 to permit compiling against older versions of glib
  • Remove more executable bits from data files
  • Remove executable flag from data files
  • Fix URL of ActivePerl.
  • Minor changes to global project files 1. Fix spelling errors in HACKING - appearenet -> apparent (patch by Tom Van Braeckel) - supressions -> suppressions 2. Keep the contributer list sorted alphabetically in AUTHORS
  • Fix "make distcheck". Patch by Jan Arne Petersen
  • Reverse r18597
  • Create routines qof_book_get_string_option() and qof_book_set_string_option() to get/set a kvp string, respectively. qof_book_set_string_option() also handles saving the book so that the kvp is updated in the db. In the future, qof_book_set__option() and qof_book_get__option() should be created, where type is boolean, int, double, ... In addition, other places which handle options in the book should use these routines.
  • Create qof_book_begin_edit()/qof_book_commit_edit() routines. These need to be added around lines which set kvp values for the book, and the dirty flag does *not* need to be set.
  • Revert 18490/18491/18527 - I'm not sure it's actually deleting the objects without affecting the database.
  • Add ChangeLog.2009 for the last year.
  • Use correct routine to add a newly loaded entry to the correct bill. r18302 fixed the entry loading problem for invoices, this extends it to bills.
  • Remove build directories of dependencies after their successful installation.
  • Remove a couple of unused local variables left over from a previous iteration of the trading account changes.
  • Fix guile-1.6 compatibility of r18541 (bug#582325). We still suppport guile-1.6, hence we can use the functions introduced in guile-1.8 only by providing our own backward compatibility macro definitions in guile-mappings.h.
  • Update gwenhywfar/aqbanking version numbers for win32 build.
  • Fix gwenhywfar version lookup by tightening the RE used
  • Need to export the variables for glib to see them
  • temporarily disable the gwenhywfar version lookup - there are multiple lines matching GWENHYWFAR_SO_EFFECTIVE
  • Really fix r18495 (#586122) to look up the so-name of gwenhywfar correctly.
  • Require gtk+ >= 2.8
  • Remove unneeded information lines about "qof" - we're using our internal code always anyway.
  • Re-indentation of source code, next batch. This also strips trailing whitespaces from lines where they existed. This re-indentation was done using astyle-1.23 using the following options: astyle --indent=spaces=4 --brackets=break --pad-oper Discussed at http://lists.gnucash.org/pipermail/gnucash-devel/2009-August/026121.html
  • Allow digits in Gtk action names created in gnc_create_extension_info. This should fix bug 447339 as long as all report names are unique considering only alphanumeric characters.
  • Free accounts/lots/splits/transactions when closing a book
  • Fix a couple of echo commands and set warnings=no-portability when running automake.
  • Make xaccSplitDump and xaccTransDump work for debugging.
  • Teach xaccSplitConvertAmount that 0*x = 0. Avoids looking up non-existant exchange rate.
  • Add some missing Leave() calls.
  • Symlink the reports to the build directory to make it easier to use them when running in place after a build without installing GnuCash.
  • Use resolve-interface instead of resolve-module when loading reports fo only the exported interface gets imported instead of everything defined in the file.
  • Make the dbi backend tests work correctly if dbd is installed in a nonstandard location. Supply a GNC_DBD_DIR environment variable to the tests so it knows where to find the database modules. This is needed if libdbi is installed via MacPorts on OS X.
  • Add flags to help with valgrind on glib
  • Free prices so that they can be deleted when the book is closed
  • Free budgets when closing a book
  • When closing the book, destroy all lots (found by valgrind)
  • Free memory leaks
  • Add qof_backend_module_finalize() routine to call dbi_shutdown() to free allocated resources.
  • Add qof_finalize_backend_libraries() which is called during shutdown. This routine checks each backend library for an exported qof_backend_module_finalize() routine, and if it exists, calls it so that the backend can free any resources which have been allocated.
  • Fix some memory leaks found by valgrinding tests
  • Remove erroneous use lib from gnc-fq-*, along with PERLINC setup in configure.in
  • Decrease verbosity during win32 packaging: Inno, gconftool-2, htmlhelp compiler (hhc) with less output.
  • Fix some incorrect ENTER() and LEAVE() calls.
  • Fix up some gnc:debug calls (and one comment).
  • Fix a couple of initialized variable warnings.
  • Add missing PORTFOLIO_LEDGER register type to switch statement in gnc_split_register_get_debcred_entry.

New in GnuCash 2.3.8 (Dec 23, 2009)

  • Disable it_IT help in the win32 binary
  • Recreate index after updating table
  • Temporarily disable currency trading accounts so that 'make check' will pass
  • Fix test-resolve-file-path - results have changed
  • Fix compilation problem in test
  • Add src/gnome-utils/gnc-tree-model-account-drag.c to po/POTFILES.in
  • Set debug level for gnc.backend.dbi automatically to DEBUG.
  • Fix memory leak: Let the pixbuf renderer for goffice plots be unreferenced
  • Add libguile CFLAGS and LIBADD to libqof build
  • Fix too-new gtk_dialog_get_content_area function of r18413: Patch by J. …
  • Transaction post date also needs to allow NULL values.
  • Temporary workaround for crash at startup after r18429.
  • Decrease verbosity of aqbanking plugin: Debug output only if preference …
  • In the "Save As" dialog, set XML as default, not sqlite3.
  • Fix compile error on current ubuntu by clashing symbol declarations in …
  • When creating an account selector and a commodity list if provider, just …
  • Remove forgotten printf in r18402 which shouldn't have been committed to …
  • Fix amount sign of imported bank transfers (e.g. from DTAUS …
  • Fix GCC pointer strictness compiler errors/warnings and remove duplicate …
  • Fix compile error related to uninitialized value. Patch by Matt Lavin …
  • Introduce disambiguation prefix for "Deposit" action to distinguish it …
  • Make one register function more const correct to avoid compiler warnings …
  • Fix typo: scm_catch_body_t -> scm_t_catch_body
  • gnc-module doesn't need to compile/link with guile
  • Add new option in register "Tab order includes Transfer field". Patch by Colin Law
  • Partly fix broken data file backward compatibility with SX recurrence
  • Win32: Allow m4 1.4.11 and 1.4.13 as well as 1.4.7.
  • Win32: Assert there is only one aqbanking plugin directory
  • Win32: Minor version update of aqbanking.
  • Bug #603186: Fix crash with txf.scm on win32 Patch by J. Alex …
  • Bug #537476: Fix currency trading account preference lookup Patch by Mike …
  • Fix the bug described in comment 19 of bug 537476, balance sheet wrong …
  • Bug #310567: Disable newly introduced "shift txn forward" feature again …
  • Fix bug 600486 - Unable to open sqllite file on Win7 64 bit Unposted …
  • Fix Bug 591573 - "File|Save As" with xml option and no file name …
  • Fix bug 602603 - State file cannot be saved with MySQL because of colon …
  • Bug #570895: Allow reporting for single budget periods in budget income …
  • Bug #602744: Fix broken tip_of_the_day list creation. Patch in r18417 …
  • Fix bug 591098 - when starting Gnucash, "Present" and all other collumns …
  • Bug #537476: Implement currency trading accounts optionally, to be enabled …
  • Bug #554394: Income Tax Enhancements Patch by J. Alex Aycinena. Patch …
  • Bug #600374: Add editable transaction field in the register for bank …
  • Bug #310567: Add menu item to shift transaction forward in sorting …
  • Bug #121695: Support account reparenting through drag and drop in the …
  • Fix bug 492865 - Add Last Reconcile Date as an Option in the Chart of …
  • Fix bug 593581 - 2.3.5: Save to MySQL still fails with date error After …
  • Bug #601861: Fix mis-captioning in button labels The keyboard shortcut …
  • Bug #602070: Fix return value in void function Patch by Halton Huo.
  • Bug #602062: Fix hard-coded gcc program name Patch by Halton Huo.
  • Bug #540452: Remove inline from function declaration/definition because it …
  • Bug #602069: Fix build on Solaris for different gmp header …
  • Revert r18396, "Bug #593906: Fix crash at account report" This change …
  • Fix bug 598213 - Selecting "Account Report" causes gnucash to …
  • Bug 600947 - Gnucash-2.3.7 crashes when doing reports with …
  • Bug 599324 - Patch: Add double click behaviour to account list in payment …
  • Bug 599322 - Patch: Minor gui tweak for invoice window Fix widget …
  • Bug #599953: Let gnc:make-[complex|simple]-boolean-option store its value …
  • Bug #593906: Fix crash at account report Patch by Mike Alexander. This …
  • Bug #582985, #585022: Add missing currencies Armenian Dram (AMD) and …
  • Bug #593070: Budget Report: Omit accounts with no budget and zero …
  • Fix 598491: Remove use of guile's deprecated GH interface
  • Bug #567090: Fix erroneous password length comparison.
  • Updated Dutch translation by Mark Haanen, copied from Translation Project.
  • Add Latvian translation by Valdis Vitolins
  • Update of Japanese translation by KUSANO Takayuki
  • Add polish account templates, contributed by Jacek Baszkiewicz …
  • Update German translation.

New in GnuCash 2.3.7 (Oct 7, 2009)

  • Revert changes which caused gnucash to crash on startup on windows
  • More recent version of gmp on win32
  • Postgresql binary package on win32 now includes msvcr71.dll
  • Fix compiler warnings. Patch by Colin Law
  • Fix for balance column displayed in template register
  • Update of Polish translation by Jacek Baszkiewicz

New in GnuCash 2.3.6 (Sep 30, 2009)

  • Fix #107929: Improved running balance implementation. Patch by Tim M
  • Fix #593906: Fix crash at creating account report Patch by Mike Alexander
  • When configuring to build, if webkit chosen as html engine, don't bother looking for gtkhtml.
  • Fix enhancement bug 101456 - 'Find' dialog cumbersome for Business functions. Patch by Geert Janssens
  • Fix enhancement bug 589787 - Multi-line up/down scroll for register transaction Notes field text. Patch by James Raehl
  • Win32 build: Add forgotten dist_ktoblzcheck step to dist creation.
  • Use GtkFunction instead of obsolete GtkDestroyNotify for argument type
  • Win32: Newer Aqbanking version
  • Win32 build: Remove gwenhywfar configure option which has been removed before gwenhywfar-3.8.2.
  • I18n fix: Markup preference tab name "Online Banking" for translation.
  • Win32 installer: Really fix path of qt3-wizard.exe.
  • Fix bug #595920: Fix missing ca-bundle.crt in windows installer.
  • Add "file://" URL type to images in invoices.
  • Latest pot template merged into all .po translation files
  • Bug #589804: Additions to register transactions Action pulldown list. Patch by James Raehl.
  • Bug #572938: Fix OFX Mutual fund buys that are imported as sells. Patch by Matt Lavin, signed-off by Benoit Grégoire.
  • Bug #585784: Fix wrong fractional precision in stock/mutual fund registers. Patch by Daniel Harding.
  • Source of src/libqof/qof run through astyle to be re-indented
  • Add GNC_DBD_DIR definition for libdbi on mac
  • Fix bug 590386 - Add option to always use today for reconciliation statement date Patch by Simon Arlott
  • Fix bug 591117 - Cash Flow Report's "Depth: All" Option is Broken. Patch by David Eisner
  • Fix bug 595014 - MacOSX 10.6 (Snow Leopard) fails configure.in check. Patch by David Reiser
  • Fix bug 595015 - compiler warnings for missing printf format specs, gcc 4.2.1. Patch by David Reiser
  • Fix bug 595017 - compiler complaints about incompatible pointer types in gnc-gwen-gui.c. Patch by David Reiser
  • Fix bug 589673 - need to patch libdbi source for win32 problem.
  • Fix bug 594048 - gnucash will not compile with most recent goffice versions. Patch by Jean Brefort
  • Remove trailing whitespace from lines. Patch by Geert Janssens.
  • Move gnc_account_get_full_name() from app-utils to engine and remove xaccAccountGetFullName in engine.
  • If an object is loaded with a reference to an invoice, order, tax table or bill term which has not been loaded yet, print a warning message into the trace file.
  • If an object is being loaded that has a reference to a transaction, and the transaction hasn't been loaded yet, load it. If an object has a reference to an account, commodity, budget or lot that hasn't been loaded yet, print a warning message in the trace file. The difference in handling is that these object types are always loaded at init time, whereas transactions are not.
  • Replace some calls to (deprecated) xaccAccountGetGUID() with calls to qof_entity_get_guid()
  • Fix svn:ignore property to ignore Makefile/Makefile.in in accounts/ko
  • Minor updates to HACKING, by Geert Janssens.
  • Use SWIG properly to wrap functions to free strings which need to be freed by the caller.
  • Fix Bug 590458 - Invoices are incomplete or miss specifications Replace call to gncEntrySetInvoice() with gncInvoiceAddEntry() which is the real function.
  • Fix Bug 590900 - "Unable to save to DB" dialog from Business -> Customer -> New Job Allow owner id to be NULL
  • Fix bug 593865 - Unable to save to database error when scheduling transactions Allow scheduled transaction to have NULL start date. Will require db to be deleted and recreated.
  • Fix index-out-of-range compilation error
  • Fix typo in message as pointed out by Joe Dalton.
  • Fix some memory leaks
  • Add some dbi backend tests to test db save/load. In order to test the mysql backend, the --with-test-mysql-url=URL option must be supplied to configure where URL is the full url (mysql://host[:port]:db:user:password) to access a mysql db. The same is true for postgres, with the --with-test-pgsql-url=URL option.
  • Python bindings patches by Mark Jenkins. python_GetNthChild_remove.patch remove the redundant GetNthChild code, gnc_account_nth_child supported python_more_GUID.patch Improve support for GUID python_better_commodity.patch * Removed custom __init__ from GncCommodity, not only is it wrong but the one from GnuCashCoreClass is just fine. * Supported the get_table method For Book * Removed support for direct instantiation of GncCommodityTable. (via gnc_commodity_table_new() ). Only methods and not the constructor function are added to the class now. Python binding users can access a GncCommodityTable instance via Book.get_table() and have no need to use gnc_commodity_table_new(), which the apis advise is for internal use only. python_GncLot.patch * included gnc-lot.h in gnucash_core.i again * Made GncLot class use superclass __init__, it doesn't need its own. python_more_documentation.patch Documentation strings for many classes, which can be viewed in source and with python's help() mechanism. python_business_module_load.patch load the business module, not the business module specific backend python_example_scripts.py example scripts improved, new one added. This new script originally came from this post: http://lists.gnucash.org/pipermail/gnucash-devel/2008-July/023618.html python_authors_update.patch added Legal Aid Manitoba to credit line for Mark Jenkins
  • Use "float8" instead of "real" for double field in slots table so that we get an 8 byte float rather than only 4 byte.
  • Doubles weren't being loaded properly from sqlite3. Fix that problem by examine more closely the type information returned by libdbi.
  • Fix bug where NULL dates on sqlite cause sigsegv
  • Updated Slovak translation, copied from the Translation Project.
  • Updated Danish translation by Joe Hansen, copied from the Translation Project.
  • Updated German translation, inspired by Raffael Luthiger's contribution on 2008-12-31.
  • Update of Polish translation by Jacek Baszkiewicz
  • Update of Lithuanian translation by Tadas Masiulionis
  • Updated Danish glossary by Joe Hansen.
  • Updated Danish translation by Joe Hansen, copied from the TP.
  • Updated Dutch translation by Erwin Poeze, copied from the Translation Project.

New in GnuCash 2.3.5 (Aug 31, 2009)

  • Partly revert r18246: disable writing of "hidden" and "placeholder" so that XML files written by 2.3.5 can be read by 2.2.9
  • Avoid CRIT messages when loading root account which has NULL commodity
  • Fix compilation problem - add GPOINTER_TO_UINT() cast
  • Fix bug 592357: Cannot specify port for database connection. You can now add a port number using ":" (e.g. ":100") to the end of the host specification in the Open and Save As dialog for databases.
  • Fix bug 592021: Budget Report: Options to show actual, budgeted and diff don't work
  • Fix minor i18n issues.
  • Don't translate gtk stock button labels.
  • Don't split sentences when translating.
  • Exclude formatting from translatable messages when possible
  • Updated German translation
  • Fix bug 592719 - postgres backend aborts with date problems
  • Merge latest pot tempate into all .po translation files
  • Add win32 version of gmtime_r
  • Fix bug 575778: QIF import: fix crash when a security list omits the "T" (type) line

New in GnuCash 2.3.4 (Aug 25, 2009)

  • Changes in database schema. The "helper" tables (slots, recurrences, taxtable_entries) which can have multiple entries per object now have a unique, auto-increment integer primary key. Dates and date/times stored in the database are now stored in DATE and TIMESTAMP columns (mysql and pgsql). The "hidden" and "placeholder" account flags are now stored in individual fields in the accounts table. A new budget_amounts table contains 1 record per budget per account per period and contains the budget amount for that account/period. The scheduled transaction end date is now being stored. The versions table now has the table name as the primary key, and NULL values are disallowed for all fields.
  • Because of these changes, you will need to delete and recreate your database. If you want to save your data, save it to XML before upgrading to 2.3.4, upgrade, then load the XML file and save to a new database or over your existing database.
  • The standard report .scm files are now in / share / gnucash / guile-modules / gnucash / report / standard-reports. When gnucash is started, it will scan this directory and load each .scm file into the report menu system. This means that if you want to add a new report to gnucash, you only need to copy it into this directory.
  • Updated Japanese translation
  • Updated Dutch translation
  • Updated Danish translation
  • Fixed bug 591614: Saving to postgresql causes zombie scheduled transactions.
  • Ensure template root account (used for scheduled transactions) is stored even if there are no scheduled transactions
  • Accounts can be stored even if commodity=NULL
  • Fix bug 589418: commodities were not being stored properly. This should solve the problem of the disappearing commodities.
  • Improvements in the budget report:
  • For income accounts, the sign of the "difference" column is reversed so that positive values are good (more than budget).
  • Fix wrapping problems in budget cells (account labels, negative values, values in certain currencies)
  • Budget report can now display negative values in red. This requires use of the Default-CSS stylesheet
  • Period dates are now centered properly over the columns for that period
  • Add an option to the budget report. If enabled, and an account does not have a budget value for the period, the budget values for all child accounts are added. If the chart of accounts is set up so that only leaf accounts have transactions, this allows budget values to be assigned either to all children and not the parent (they will be summed) or the parent.
  • Changed --enable-webkit configure option to --with-html-engine=XXX where XXX is "gtkhtml" (default) or "webkit".
  • Merged latest pot template into all .po translation files.
  • Fixed signed vs unsigned char pointer type conflicts.

New in GnuCash 2.3.3 (Jul 24, 2009)

  • Fix crash for "save as" if sqlite3 backend not available.
  • Updated Korean translation by yongdoria.
  • If a report defines style-text, that text will be added to the report header
  • Add new stylesheet to provide css information. Allows users to specify report fonts
  • Update CSS style sheet to use font buttons rather than strings.
  • Patch by Jim Raehl Fix bug 587853/585939. When parsing file: or xml: handle file: or file://, xml: or xml://
  • Patch by John Ralls. Adjust configure.in for Mac compilation with Quartz.
  • Patch by John Ralls. Provides (and installs when appropriate) a special gnucash-setup-env for OSX.
  • Patch by John Ralls. Permits binreloc to work from inside a MacOSX application bundle
  • Patch by John Ralls. Integrates the gnucash menus into the MacOSX menubar.
  • Fix bug 588212 – PgSql: Pop-up dialog for overwriting db contents even for new database
  • Fix bug 587436 – Make Bayesian Matching ON by default
  • Fix bug 363339 – Exclude hidden accounts from reports. New check box added
  • Fix up some more reports to use cell tags which allow CSS style font usage
  • Add Korean translation of account charts by Jin-Hwan Jeong.
  • Fix bug 585899 - environment variable GNC_DEFAULT_DATABASE can be used to set the default database name in the Save As dialog

New in GnuCash 2.3.2 (Jul 10, 2009)

  • Major changes in the 2.3.x release include;
  • In addition to the XML backend, Gnucash can now use a SQLite3, MySQL or PostgreSQL database to store the data. This is a new implementation using libdbi. It supports all features including the business features. In order to build with this, add --enable-dbi to the configure command. In addition to the libdbi-dev package for your distribution, you will also need the appropriate DBD (libdbi driver) package for sqlite3, mysql or postgresql.
  • In addition to the current GtkHTML HTML engine used to display reports and graphs, Gnucash can use WebKit. WebKit is the engine used by Google Chrome on Windows and Safari on Apple. In order to build with this, add --enable-webkit to the configure command. You will need an appropriate webkit-dev package. On win32, you will need to download the webkit-1.1.5-win32.zip file from the source repository and put it into the downloads directory of your gnucash build area.
  • Updated to AqBanking 3 on Win32.
  • Changes between 2.3.1 and 2.3.2 include:
  • Daily win32 builds can be found in http://code.gnucash.org/builds/win32/trunk
  • Win32 builds now include mysql and postgresql client libraries and libdbi drivers
  • Bug #567709: Register: Don't assume that cells outside the cursor are valid
  • Bug 563598: QSF XML Export: Remove the tooltip from the GtkCalendar?.
  • Fix bug 586558 – When a scheduled transaction is deleted, the objects aren't cleaned up properly
  • Fix bug 586901: Price editor creates price before all information is available
  • Bug #582048: Fix missing GUI callbacks for online transfer.
  • Bug #580968: Register: Keep track of the account when an exchange rate is set
  • Fix bug 339726 – Cannot set fractional discount rates in Billing Terms
  • Fix bug 586296/586419/585785 – Fix win32 install script problems
  • Fix bug 586425 - update version of gnutls for win32
  • Fix bug #586295 - when building win32 version, use those versions of executables, not installed ones
  • Fix bug #415127 - updating address doesn't mark object as dirty
  • Fix bug 585789/586121: Files not opened correctly
  • Bug 587913 – "Edit exchange rate" marks account cell as changed
  • Add initial support for eguile template-based reports
  • Rework split queries to improve performance
  • When opening a file, "sqlite3" and "xml" dropdown list items are replaced by "file"
  • Add Korean translation by Jin-Hwan Jeong.
  • Updated Korean translation by yongdoria
  • Mark transaction dirty when setting enter-date
  • Decrease verbosity of libgwenhywfar debugging output.
  • Some memory leaks fixed
  • Add AqB 3.8.3 patch for Win32
  • Handle BUILD_FROM_TARBALL special for tag builds.
  • Separate environment variable setup into common file
  • Use pwd instead of assuming $0 is a full path. Set URL in a variable
  • QIF Import: Documentation .txt file patch by Daniel Convissor.

New in GnuCash 2.3.1 (Jun 11, 2009)

  • Bug #582976 - install.sh - webkit-1.1.5-win32.zip is not available
  • Bug #583535 - Problem with mysql database
  • Bug #583883 - Customer report produces error
  • Bug #584564: Patch by Chris Dennis to allow a report to be either a string or html-doc
  • Fix all business exports to force file type QSF
  • Fix SQL statement which calculates account balances
  • Fix port number, especially for postgresql
  • Clean up include files and code related to goffice.
  • Add qsf:// as a valid URI type
  • Fix handling of GObjects when deleting a report
  • Update aqbanking version to 3.8.3, which means one patch isn't needed
  • Fix WEBKIT path so that correct DLLs will be copied to output directory
  • Register: Add some header comments for a confusing function.
  • Create and upload the WIN32 daily builds
  • If postgres database does not exist, create it.
  • Update German translation.
  • Minor i18n string improvements
  • Remove obsolete glade file.
  • Modify packing on URI type combo box to fix its size
  • Patch by Mike Alexander to speed up price db loading in sql backend.
  • Add Lithuanian translation

New in GnuCash 2.3.0 (Jun 11, 2009)

  • In addition to the XML backend, Gnucash can now use a SQLite3, MySQL or PostgreSQL database to store the data. This is a new implementation using libdbi. It supports all features including the business features. In order to build with this, add --enable-dbi to the configure command. In addition to the libdbi-dev package for your distribution, you will also need the appropriate DBD (libdbi driver) package for sqlite3, mysql or postgresql.
  • In addition to the current GtkHTML HTML engine used to display reports and graphs, Gnucash can use WebKit. WebKit is the engine used by Google Chrome on Windows and Safari on Apple. In order to build with this, add --enable-webkit to the configure command. You will need an appropriate webkit-dev package. On win32, you will need to download the webkit-1.1.5-win32.zip file from the source repository and put it into the downloads directory of your gnucash build area.
  • Updated to AqBanking 3 on Win32.

New in GnuCash 2.2.9 (Feb 24, 2009)

  • Fixed Bugs:
  • #339027: Reconcile window should display the date
  • #435642: Crash editing results of a find
  • #438132: Warning about commodity being NULL for root account on save
  • #462148: Report output is vertically inverted and bottom up printed (mirror, reverse, &c.)
  • #514455: Dutch (Netherlands) translation of account templates
  • #526775: Win32: Crashes when importing brokerage account data
  • #542382: Assign GnuCash to file name extension .gnucash
  • #564209: Improved debuggability for module loading
  • #564450: HUF currency handling incorrect as 1HUF divided into 100FILLERs
  • #564928: Segfault when closing a invoice tab
  • #565421: gnc-date-edit.c did not compile with Gtk < 2.10
  • #565721: Multicolumn report options: Report names are not translated
  • #566198: Slovakia joined the Euro
  • #566352: Crash during OFX import under Win 2000 / SP4
  • #566567: Scheme modifications are not built on windows
  • #567174: Files with NIS stocks fail to open
  • #568327: Using most "budget" reports, without a budget defined crashes gnucash
  • #568653: Add SKR49 template
  • #568945: The gnc_pricedb_convert_balance_... methods should look for the reciprocal of the exchange rate
  • #569734: Give the template root account a name
  • #570166: Weird text entry box when typing on Account Tree page
  • #570894: Use of symbol t, which is not defined in all guile versions
  • #571220: Program won't start if SCHEME_LIBRARY_PATH is set
  • Other Changes:
  • Added German account template for a Wohnungswirtschaft business
  • Fixed french business account templates
  • Updated translations: Catalan, Chinese, German, Italian

New in GnuCash 2.2.8 (Dec 20, 2008)

  • Fixed Bugs:
  • #115066: "Search For" dialog shows all when criteria is left as default
  • #128774: "Edit exchange rate" context menu item disfunctional often
  • #137017: date of transaction change with time zone change
  • #339433: TiaaCref price quote dates off by one day
  • #340041: 0 as an amount should be allowed in Exchange Editor
  • #345980: changing Stylesheet doesn't commit
  • #347274: to track the difference between budgeted and actual amounts in the budget report
  • #348860: Error with saved multicolumn reports
  • #405472: Unable to save changes on files opened over FUSE and sshfs
  • #432457: Security/stock import should follow tutorial regarding Account Name
  • #435427: "Generic import transaction matcher" dialog does not sort by date
  • #436342: Currency exchange druid does not show on changed
  • #436920: crash on loading OFX data for a commodity that exists without cusip field
  • #492417: currency mapping of New Israeli Shekel
  • #529494: Wrong fractional precision in register with multi-currency transactions
  • #532889: Monthly scheduled payments preview shows wrong dates
  • #536299: Fix two underlinking issues
  • #539947: OpenSolaris:__FUNCTION__ not defined in sun cc
  • #543332: Severe performance regression in Average Balance report
  • #548218: OpenSolaris: $(expression) cause configure error on solaris
  • #554042: OpenSolaris: configure fail on checking 'unsigned long is at least as big as guint32'
  • #557604: date-utilities.scm typos
  • #557374: MT940 import does not work
  • #563160: Multicolumn report: Confusing order of "Column span" and "Row span"
  • #563273: crash in GnuCash Finance Management: Starting GnuCash
  • #564033: aqbanking plugin: g_module_open failed: WEXITSTATUS undefined
  • Other Changes:
  • Fix account defaulting for posting vendor bill
  • Fix tax-related inconsistency in UI
  • Fix the average cost price source computation for a certain case
  • Add account templates: Dutch, Finnish
  • Update account templates: Italian, Slovak
  • Update translations: Finnish, German, Hebrew, Italian, Japanese, Russian, Slovak, Simplified Chinese