GnuCash Changelog

New in version 2.6.6

March 31st, 2015
  • Bug #619899 - Use normal gettext or intltool toolchain also for scm files
  • Bug #649933 - Creating cash flow report takes a long time
  • Bug #672760 - Postponed transaction applied invalid date
  • Bug #721196 - CSV. Cannot import lines with empty fields for deposit or withdrawal in bank transaction download.
  • Bug #723409 - Incorrect symbol for Turkish lira
  • Bug #727466 - The symbol of CNY changed to 元
  • Bug #727647 - "gncInvoiceGetTotal" is not read-only function?
  • Bug #731889 - guile 2 exports different autoconf macros than what is expected
  • Bug #733685 - Fancy Date Format doesn't stick
  • Bug #738749 - Broken account template en_GB/uk-vat.gnucash-xea.
  • Bug #739228 - Advanced Portfolio report: wrong calculation of Value Correctly convert the value into the report's currency.
  • Bug #739584 - gnucash-2.6.4 segfaults regularly on transfer .
  • Bug #740471 - Applying payment to invoice Segmentation fault
  • Bug #741228 - "Red line" threshold applies to Template scheduled transactions
  • Bug - Compilation fails because of creating .gnucash
  • Bug #742089 - Decimal places. Set the debit and credit cells' print_info to the account so that the decimal places are correct for the commodity.
  • Bug #742332 - German tax report uses US tax quarters and not real quarters.
  • Bug #742624 - Scheduled Transaction Editor results in immediate segfault
  • Bug #743609 - Add configure options to disable libsecret detection
  • Bug #743807 - Stops critical error messages.
  • Bug #745265 - Segfault in generate_statusbar_lastmodified_message on Windows. Actually change the default date format without AM/PM
  • Bug #745354 - Enhance the Find Transactions dialog. Make it possible to define search criteria that consist of multiple terms anded or ored together. Use this to define a new criterion to look for specified text in any of the Description, Notes, or Memo fields
  • Bug #746517 - gnc-sql-backend.c compile fails with -Werror=format-nonliteral. Use GCC pragma to disable the warning in the one place that trips it
  • Bug #746977 - scm ccache files should be in pkglibdir not pkgdatadir.

New in version 2.6.5 (December 20th, 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 dimstar@opensuse.org.
  • 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). Thanks to The Centre for Development of Advanced Computing (C-DAC), Pune, India. Translation Team Leader: Chandrakant Dhutadmal

New in version 2.6.4 (September 29th, 2014)

  • Between 2.6.3 and 2.6.4, the following bugfixes were accomplished:
  • 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 version 2.6.3 (April 2nd, 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 version 2.6.2 (March 11th, 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 version 2.4.15 (January 13th, 2014)

  • Bug #721434: OFX import broken in release 2.4.14
  • Bug #721436: Account Report fails in release 2.4.14

New in version 2.4.14 (January 4th, 2014)

  • Bug #584869: Net change line in general journal report broken
  • Bug #589685: In the report "Budget flow" period it doesn't work ok change the report head line to show the period date for (- period 1). Author : Carsten Rinke
  • Bug #627575: Stylesheet names with non-alphanumeric characters and saved-reports -- addendum
  • Bug #632362: Unable to create "reversing transaction" again after it is removed
  • Bug #632588: Scrub doesn't fix missing currency
  • Bug #644044: Lots: SQL backend loses link to Gain/Loss Txn
  • Bug #653594: related to check printing.
  • Bug #674862: 2038 bug in libdbi
  • Bug #684670: Interest amount calculation is wrong in Sqlite3 format
  • Bug #699686: Startup dialog windows should be top level windows Author: Simon Arlott
  • Bug #701670: Command-V in reconcile window pastes data in register
  • Bug #704183: OFX file import tries to match online_id against ACCTID[space]ACCTKEY even when ACCTKEY is empty.
  • Bug #705123: qofbookmerge.c: bad if statement
  • Bug #710055: advanced portfolio report counts capital gains split as dividend
  • Bug #710311: Missing ChangeLogs
  • Bug #711317: Indian Rupee Symbol appears as "?" marks
  • Bug #712528: Decompress zipped XML files ourself instead of letting libxml2 do it. As of version 2.9.1 it has a bug that causes it to fail to decompress certain files.

New in version 2.5.10 (December 16th, 2013)

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

New in version 2.5.9 (December 2nd, 2013)

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

New in version 2.5.8 (November 19th, 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 version 2.5.7 (November 4th, 2013)

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

New in version 2.3.11 (March 22nd, 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 version 2.3.5 (August 31st, 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. 1) Don't translate gtk stock button labels. 2) Don't split sentences when translating. 3) 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 version 2.3.1 (June 8th, 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.0 and 2.3.1 include:
  • 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 by Tadas Masiulionis

New in version 2.3.0 (May 20th, 2009)

  • Major changes in this 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.
  • Caveats for Testers:
  • Any 2.3.x version might crash unexpectedly at any point during runtime. If you test some serious work in a 2.3.x release and are using the XML file backend for data storage, make sure you hit "Save" after every non-trivial workstep. If you are using the SQL backend, this is not required as every change is saved immediately to the database.
  • The documentation has had screenshots updated, however, many help texts usually only refers to the 1.8.x series. Everyone is invited to help improve the documentation; see http://wiki.gnucash.org/wiki/Development on how to get involved.

New in version 2.2.9 (February 24th, 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 version 2.2.8 (December 14th, 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