Version history: ------- ------- 4.7 - 7 March 2021 The seventh release of the 4.x stable series. 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 'Sinse 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 4.5 - 28 March 2021 The sixth release of the 4.x stable series. Between 4.4 and 4.5, the following bugfixes were accomplished: Bug 783283 - Multi-Currency payments use wrong date Also properly handles the user clicking the cancel button on the transfer dialog. It will now just return to the payment window, waiting for further user input. Bug 797621 - GnuCash freezes temporarily and sometimes crashes when selecting Sales Tax Table in Invoices Bug 797630 - Check for missing dependencies of 'Get Quotes' to avoid Gnucash crash. Bug 797906 - GnuCash data file is locked after a "save-as" to mysql database. It's more general, any save-as to a different backend type, i.e. xml->sql or sql->xml, left the previous book locked. Bug 797924 - Crash when searching for customer to process payment. Bug 797997 - File gnucash could note be found On Microsoft Windows when run from a CMD shell and passing a path that contains non-ASCII characters. Bug 798019 - Currency rates in OFX file are ignored Use currency_rate information from OFX file if available. Requires LibOFX v 0.10.0 or later. Bug 798044 - Adding splits to a lot is extremely slow Bug 798060 - Invoices are missing on Customer report after upgrade Bug 798070 - Opening balance does not update when creating account from Account Hierarchy Bug 798078 - Report 'Income Chart' prints stacktrace when end date before start date Bug 798085 - Incorrect transactions import of entires with large number amount Quicken 2005 introduces U amount which sometimes differs from T amount. U amount has larger range, and must override T amount whenever they're not equal. Bug 798093 - Changing the symbol/abbreviation of a security after the trading account was created breaks GnuCash. Makes it possible for the user to rename trading accounts or securities independent of each other. Bug 798096 - can't duplicate TX previous to red line threshold Bug 798098 - Crash popup show when have 3 Windows in OSX Bug 798100 - Equity totals calculating incorrectly Prevents creation of non-currency opening balance accounts. Bug 798101 - Do not #undef __STRICT_ANSI__ Remove defines and undefines for Windows, they were needed with MinGW classic but are not with MinGW-w64. Bug 798104 - Menu item for "Import Account" is wrong in danish Bug 798112 - An error occurred while processing mysql ... A "Feature" of MYSQL is that it allows C-style backslash escapes in string constants and replaces them with the actual character (e.g. \n is converted to 0x0a). This causes round trip problems if the escape is one of the allowed ones and a MYSQL error if it isn't. Disable the feature so that MYSQL follows the SQL standard. Bug 798132 - Invoice Importing crashes when importing low quantity values. Bug 798135 - GtkEntry text with search list: shows selected entry again for no reason Bug 798147 - Notes entry crashes program Bug 798149 - CSV transaction Import setting loses account name if it is changed after setting is memorized Account guid is saved as well as the full account name and when recalled the account is looked up first by guid, if this fails the full account name is checked which if successful immediately updates the saved base account setting with the account guid for future use. If unsuccessful the account combo is blank with a error message as before. When save CSV settings button is used, both the Guid and full paths are saved so previous versions can still use the full path as before. Bug 798150 - Error on report over time Caused by incorrect handling of Daylight Savings beginning at midnight. Bug 798154 - Tooltips wrong when multiple charts in one report The following fixes and improvements were not associated with bug reports: Fix building based on unix makefiles Make the chart on the report page icon larger to align better with the account page icon. Allow the context menu when GncCellRendererTextView is in edit mode. Restructure early locale initialization * Move macOS specific bits to its own source file. As this is objective-c use .mm extension * Use common function signature for macOS and Windows init function and include via common header file Fix GncDateTime::format_zulu to emit the UTC timezone instead of the GncDateTime's timezone with the UTC timestamp. Fix the implementations of gnc_foo_get_day_neutral. As implemented these returned 10:59 AM local on the day but neutral time is 10:59 UTC. gnc_invoice_window_print_invoice return NULL if invoice is NULL. [dialog-invoice] invoice editor reuses invoice report tab. Allow for Header Bar use in CSV transaction Assistant There are a couple of action buttons that are added to the CSV transaction assistant with added alignment based on the action area being a GtkBox which causes errors if the header bar is used so test for the action area type and use appropriate specific functions. Drop default locale currency special case for euro The condition mentioned in the comment no longer applies. All European locales on Windows (MingW64) properly present EUR as currency these days. Fix fencepost error in calculating the week_num for POSIX timezone rules. Include the contents of PROJECT_DESCRIPTION in the PACKAGE_PREFIX. If it's defined. PACKAGE_PREFIX is used to name tarballs and set their base directory. The translation project has requested that we name freeze-string tarballs with a pre1 suffix; this makes that possible. Update python/gnucash_business.py to reflect rename of gncOwnerApplyPayment. I18N: don't mark "<<", ">>" translatable They get properly reversed for RTL writing From Budget editor, add toolbar and Edit menu to run budget report This parallels the invoice editor "Print Invoice" functionality. Runs the budget report using current budget. [gnc-plugin-page-budget] change note icon to a note page Allow the find account dialog position to be saved when using 'X' Update price database for imported transactions. Replace g_memdup by memcpy GLib is deprecating g_memdup and will immediately remove it in the next micro-release because of a CVE. [html-fonts] Prevent sup/sub from affecting baseline Source: https://css-tricks.com/snippets/css/prevent-superscripts-and-subscripts-from-affecting-line-height/ Previously and would cause the baseline to move vertically. Replace stat calls with GFile to retrieve last modified info Avoids code-page problems with non-ASCII characters on Microsoft Windows. [gnc-tree-model-split-reg.c] use xaccSplitListGetUniqueTransactionsReversed which is then reversed if required. this removes the need for double reversal. [Split.c]New function xaccSplitListGetUniqueTransactionsReversed Same as xaccSplitListGetUniqueTransactions but doesn't reverse the list prior to returning. To be used by gnc-tree-model-split-reg.c Several optimizations * doesn't call g_list_find and g_list_append for every iteration * uses g_hash_table to cache list of txns already added instead of g_list_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 854c11782 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 and Updated Translations: Bodo, Croatian, Danish, Dutch, English (United Kingdom), Finnish, French, German, Greek, Hebrew, Hindi, Indonesian, Italian, Japanese, Lithuanian, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Russian, Spanish, Turkish, Ukrainian, Urdu, Vietnamese 4.4 - 28 December 2020 The fifth release of the 4.x stable series, a snap release to fix bug 798063. Between 4.3 and 4.4, the following bugfixes were accomplished: Bug 798038 - Incorrect spelling in german account templates 'common' and 'full' part 2: AT Bug 798063 - Crash when opening SX Editor No other improvements were made. Deprecations xaccAccountCountSplits: use gnc_account_has_child_splits gnc:html-table-append-column!: Build a new table with all of the columns and copy in the rows. Updated Translations: German, Italian, Japanese 4.3 - 27 December 2020 The fourth release of the 4.x stable series. Between 4.2 and 4.3, the following bugfixes were accomplished: Bug 106746 - In Mort. Repay. druid, creating New acct should also select it. Bug 128772 - Account Help Button does not work Bug 309943 - When unable to obtain a lock, no option to open another database. Bug 330930 - Financial Calculator resets payment period to zero if automatic decimal places used Bug 343647 - [rfe] save tab/report location Bug 345924 - RFE: don't disable "OK" button after using "Apply" to modify chart options Bug 355496 - Mark placeholder accounts in account tree window visibly. Bug 355498 - When there is only one result from a 'Find', select it. Bug 571697 - Transaction Status in Since Last Run needs to look clickable. Bug 644242 - Window Panning Oddity. Bug 645379 - When duplicating a transaction, any non-numeric value entered in the "Number" field is discarded. Bug 667490 - Support image-based TAN methods QR, photoTAN, and chipTAN optical "Flicker code" Partial: Implements the display of flashing optical TAN challenges (aka flicker) in the "Enter TAN" dialog box. Bug 688917 - Help button not working when editing style sheets. Bug 720564 - Search in General Ledger cannot be cleared. Bug 794807 - Calendar widget current month shown as (null). Bug 797901 - List of Recently Used Files not updated until GnuCash is closed and reopened. Bug 797944 - Crash on use of File-Open Bug 797953 - RFE: provide access to filter-by on right-mouse-click in Accounts register. Bug 797956 - dialog-report-style-sheet.c stylesheet editor does not set transient_for correctly. Bug 797959 - "Exception" when value greater than one million with commas and periods is pasted to register. Bug 797967 - minor ui niggles - some dialogs don't respond to GDK_KEY_Escape Bug 797971 - odd cursor behaviour in register Description. Bug 797972 - Crash on export report CSV Bug 797982 - exchange rates' decimal places (bis) Bug 797983 - v4.2 report numbers change over gnucash restarts; Price Database dropping user:price-editor entries. Bug 797984 - Infinite loop while Check&Repair AR and AP accounts Bug 797989 - Sorting columns by alphabet with non-ASCII characters Bug 797993 - Reverse balance option does not apply to an Account Report Bug 797994 - Account type-ahead search doesn't match accented characters. Bug 798005 - Import of QIF file sets expenses to zero, deposits are fine Bug 798008 - Option '--log' cannot be specified more than once. Bug 798015 - cash flow numerical-overflow Bug 798031 - Date goes to prior year with mm/dd entry to transaction duplicate. Bug 798036 - Transaction Report should offer price source Bug 798038 - Incorrect spelling in german account templates 'common' and 'full' Bug 798039 - Using 'Consolidate Transactions' option on Consolidate Transaction Report returns Error Bug 798041 - Open invoices in new window. Bug 798047 - Crash on delete account. Bug 798050 - error using Reports->Experimental->Income Statement (Multicolumn) The following fixes and improvements were not associated with bug reports: Add custom unbound-variable exception reporter in guile that identifies what module provides the missing symbol. Balsheet-pnl report: show most recent period first by default Change register page icon to a padlock if read only When a resister is read only make whole sheet insensitive. Add account name to the read-only-register dialog box because under some circumstances it may be unclear to which register the message applies. Strictly use use-modules to import Scheme symbols: Guile 3.0 doesn't like the alternatives. This can cause problems resolving symbols if the source of those symbols isn't yet compiled and hasn't been symlinked into the builddir. Don't try to reload report if the first attempt raised an html error. Barcharts: Limit account drill-down depth to 6. I18N:glossary: add mortgage terms ARM, APR, FRM Change the icons used for the file locked dialog box. Add support for the opening balance accounts flag Up to now, opening balance accounts have been identified by means of fixed names and their translations. Support Replacing this with a consistent non-translated tag. The actual replacement will be added to Gnucash 4.4; this change is to ensure a migration path. Replace TravisCI with Github actions for CI testing. TravisCI sharply restricted their free support of Free Software projects. Use LTDL_LIBRARY_PATH instead of (DY)LD_LIBRARY_PATH in environment file. Add a few more CSS classes for labels Add GoogleMocks of some engine objects and refine Import-export unit tests using them. Add auto-clear to register page Change source files dialog-dup-trans.* for space and tabs Fix exception when converting to decimal values that reduce to N/1. Add confirmation of Main Window close when more than one window is displayed Add keyboard shortcuts for the notebook page selection menu and A to jump to the Accounts page. Allow using the Ctrl+Alt+PgUp/Down to scroll the report view. Fix report page keyboard focus in the scroll window. Fix some incorrect links to the help file Fix section help on windows not working. Set the visibility of the account column in import-main-matcher depending upon the nubmer of accounts being displayed. Add option to hide memo column on import-main-matcher Fix pressing help button in OFX importer causing main-import-matcher to disappear Preferences dialog: Display the invalid account separator message box only when the user closes the Preferences Dialog instead of after every change to any control. Expose ngettext as gnc:ngettext Add tooltip in import matcher window for description and memo column. Put Macs back on WebKit2. CMake: Mute guile-2.2 again Fix several report stylesheet font-handling issues especially on macOS. Fix price-renderer not converting to decimal. Add some additional places where Check&Repair can be aborted Make the price database list obey the force-prices-to-decimal preference. Several improvements to the auto-clear dialog. Fix some errors found by i18nspector in po files Tax Report Options appeared twice on menu for Chart of Accounts General Journal Report: Allow Report Options>General Title to render document title. [options.scm] rename new-owner-report "Links" to "Transaction Links" [new-owner-report] enable doclink links [html-utilities][API] add function gnc:html-invoice-doclink-anchor Disable chart animation that prevented visual comparison of state before and after reload Select the register account if Tax Options dialog opened from a register tab. Deprecations xaccAccountCountSplits. gnc:html-make-exchangerates 4.2 - 27 September 2020 The third release of the 4.x stable series. Between 4.1 and 4.2, the following bugfixes were accomplished: Bug 102787 - Currency selection should do autocompletion Bug 476114 - Goto register by date feature req Adds ability to jump to arbitrary date. Bug 554391 - Tax Options dialog - can only assign one TXF category at a time If the Tax options dialog is opened from the Chart of Accounts and an account is selected then the tax dialog will preselect that account. Bug 787295 - Allow UI jump from Business accounts to their relevant invoice/bill/voucher Bug 797514 - Changing transaction unreconciles a split inconsistently Partial: This make sure that the split's reconcile status gets updated before the transaction is committed. Bug 797730 - Transaction matching can match multiple imported transactions to the same existing one Bug 797839 - Auto-complete prevents entering non-ASCII transaction descriptions Bug 797852 - Error in Accounts Payable Aging re cut off dates Bug 797857 - Edit->Preferences: Help/Close buttons unreachable Bug 797874 - Errors in register and new-account UI Bug 797878 - Pie chart displays fractions and long decimal representations Ensure amounts rendering is rounded to report-currency SCU Bug 797880 - [gnucash-cli] encoding and font differing from manually exported reports (Win10, German locale). Bug 797883 - [Transaction Report] non-localized string Bug 797889 - editing amounts in dr / cr behaving oddly Bug 797893 - Unable to change font size in charts Use the stylesheet font values instead of hard-coded ones. Bug 797895 - Hang for a long time (9 minutes per account) importing a QFX file. Bug 797896 - [HBCI] crash when downloading transactions. Bug 797897 - Cannot select multiple accounts in Tax Report Options Bug 797898 - [reconciliation] calculated balance amount per reconcilation date depending on actual time. Bug 797900 - Crash caused by Quitting while Check and Repair All is running Bug 797923 - Running employee report results in "Unbound variable: txn" Bug 797924 - Crash when searching for customer to process payment. Bug 797935 - Strange formal register headers In languages other than English because of poorly constructed translatable strings. Bug 797936 - Lot viewer notes field too narrow Bug 797945 - Tools -> Import Map Editor causes GnuCash to lock up The following fixes and improvements were not associated with bug reports: Update version in README, add Boost::program_options to dependencies. [report-utilities] compact functions Small fixes for various translation issues: Deduplicate translatable strings Add context to one-letter strings in guile code Fix typo in linked document gui Align translatable strings Expose C_ function (gettext with context string) to guile code, first use is for the document link short code (L) Improve and repair progress bar display on a variety of reports and windows, improving performance on several by reducing the number of progressbar calls. [gnc-main-window] enable show_text for progressbar, allowing gtk_progress_bar_set_text to actually display the progress text. Fix help_label of dialog-doclink.glade, remove question mark from Available, and insert missing spaces into the Business Item variant. Rename all Transaction and Invoice Association identifiers to DocLink to better reflect the purpose and for consistency with other software (e.g. Libre Office). Rename Transaction and Invoice Associations to Document Links. More clearly describes the actions and is more consistent with other software (e.g. Libre Office). Remove the Remove Linked Document context menu item because that can be done in the Manage dialog box. Fix the horizontal scrollbar in the linked docs window. I18n - deduplicate translatable strings macOS: Give GnuCash time to shut down gracefully instead of letting macOS pull the rug out. I18N: Align glossary to gnucash.pot. Create a similar copyright header. Add missing Report-Msgid-Bugs-To. [report-utilities] More dump data functions: gnc:dump-book - splits grouped by account gnc:dump-all-transactions - splits grouped by transaction gnc:dump-split - dumps single split [business-urls] link to owner report with enddate [dialog-invoice] gnc_business_call_owner_report_with_enddate [new-owner-report][api] owner-report-create-with-enddate; accepts enddate argument like owner-report-create. Enable exporting the tables in charts and some reports as CSV. Tweak a few strings to reuse translations Exported gnc:cmdline-template-export and gnc:cmdline-get-report-id. Handle ambiguous reportnames by returning #f. [price-quotes.scm] ensure missing-alphavantage message can show on console [budget.scm] Fix report crash on books with unreversed budgets [gnucash-cli] -R show should accept & try to load datafile Speed up computation of import match lists by running query only once, committing accounts only once, and doing a bulk insert into the GtkTreeview. Add Python example export_account_totals.py. Exports acount totals of all accounts into a CSV file. Updated Translations: Dutch, German, Italian, Ukrainian New Translations: Estonian, Indonesian 4.1 - 26 July 2020 The second release of the 4.x stable series. Between 4.0 and 4.1, the following bugfixes were accomplished: Bug 775582 - Change "Petrol" (or Gas if seen in USA) to "Fuel". Bug 797759 - Some transactions are not highlighted in the matching window Bug 797787 - Feature request: preference setting to open new tabs adjacent to currently active tab (as opposed to at the end of the tab list). Bug 797825 - OFX import crashes on import of investment transaction Bug 797827 - 4.0.1 gnucash-cli seg faults on macOS Catalina Bug 797828 - Budget Barchart was not upgraded Upgrade to html-chart: Use period start/end instead of date start/end 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 doesn't match 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-builderand use scheme division which is more accurate than gnc_numeric_div. tests need to change slightly. [git-release-notes.pl] html-escape strings in the html output. Updated Translations: Croatian, Hebrew, Italian, Japanese, Romanian, Ukrainian 4.0 - 28 June 2020 The first release of the 4.x stable series. Between 3.906 and 4.0 the following bugfixes were accomplished: Bug 787295 - Allow UI jump from Business accounts to their relevant invoice/bill/voucher Bug 797815 - Obsolete gnucash-launcher.cmd still shipped Other fixes and improvements were not associated with bug reports: Revert the changes made to save Register default layouts as discussed in PR #743 Setting a sheet column width to 1 when resizing by dragging Column widths of 0 are not saved by the table and so revert back to calculated widths when reloaded. Disable showing glyphs for associations on MacOS i18n: Fix missing context in single-character translated strings [advanced-portfolio] move helper functions to toplevel for testing [html-utilities] use ice-9 match deprecations: remove functions deprecated in 3.x deprecations: clarify functions deprecated in 4.x. Updated Translations: Dutch, German 3.11 - 28 June 2020 The twelfth and final release of the 3.x stable series. Between 3.10 and 3.11, the following bugfixes were accomplished: Bug 782455 - Modify Add Reversing Transaction feature. Bug 797114 - Fixing an SX due to deleted account stuck in an error loop Bug 797351 - General ledger register transaction becomes "zombie" after deletion. 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. Restores budget-3.7 behaviour for current budgets. Fixes future budget behaviour. Restore budget-3.7 headings "Income/Expense/Transfer" Renamed budget-3.7 heading Total to "Remaining". Bug 797670 - scheduled transaction editor can remain open when switching file, which causes seg fault when later closed Bug 797677 - Price Database Saving Wrong Price for Foreign Currency. Bug 797684 - GTK_DEBUG=interactive - Bail out - gdk_window_set_cursor_internal. Bug 797697 - Enable DEP and ASLR for the Windows build. 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 797748 - missing header "algorithm". Bug 797750 - SIGSEV in swig-engine.c Bug 797761 - Customer report beta: opening balance tax column shows garbage string. Bug 797799 - Add Tip of the Day for "Notes" field Bug 797811 - GnuCash crashes with segfault when saving to mysql when database already exists. Other fixes and improvements were not associated with bug reports: [eguile-utilities] fmtnumeric displays decimal instead of fraction. L12N: merge recent messages into all po files. Add missing std c++ #includes into gnc-imp-settings-csv-price.cpp. I18N: Improve tooltip about double-line-mode. Update description of gnc_gnome_help and gnc_launch_assoc Remove obsolete documentation files. Move the Windows README files to gnucash-on-windows where they belong. I18N: Fix several issuse with 'Help not found' strings. 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 to match the paramter. Invoices were setting the transaction post date to midnight local instead of 10:59 UTC normalized time. Add a tip about announcements and other mailing lists to the Tip of the Day list. Fix three problems with setting dates in the Scheduled Transaction editor: * If the recurrence date is before the start date in the current month the SX summary dialog would show the next occurrence in the current month, before the start date. * If the recurrence date is one day before the start date the calendar control would incorrectly mark the first instance in the starting month. * Set a monthly recurrence on the 18th, with a start date on the 20th and an end date on the 17 of the following month. The calendar should show no mark, but fails to erase the marks that were present. Improve python shell output and explanatory comments. Ensure that python help displays help. [fin.scm] return #f instead of -1 if n is out of range Add a "Delete Budget" menu item to Actions>Budgets. [gnc-exp-parser] If gnc:fn returns anything other than a number, abort rather than crash. [window-reconcile] Refactor common actions into WidgetSetAmount. Force WITH_PYTHON=YES for distcheck to ensure that it works from the tarball. Updated Translations: Croatian, Finnish, German, Hebrew, Ukrainian 3.906 - 21 June 2020 The fifth unstable release leading to the new 4.x stable series. This is the release-candidate: Barring any serious bugs it's what we'll release as 4.0. Between 3.905 and 3.906, the following bugfixes were accomplished. Some of these will also be fixed in GnuCash 3.11, some are for 4.0 only. Bug 797808 - Caps Lock Breaks Almost Everything Bug 797811 - GnuCash crashes with segfault when saving to mysql when database already exists. The following fixes and improvements were not associated with bug reports or new features: Add missing #includes into gnc-imp-settings-csv-price.cpp Found in failed win maint nightlies. [business-core] string-hash doesn't guarantee unique hash, use guid string instead. Updated Translations: Ukrainian 3.905 - 14 June 2020 The fourth unstable release leading to the new 4.x stable series. See 3.902 and 3.903 below for additional requirements and features. Between 3.904 and 3.905, the following bugfixes were accomplished. Some of these will also be fixed in GnuCash 3.11, some are for 4.0 only. Bug 796993 - Gnucash should warn the user in case of missing Alphavantage API key instead of silently failing Bug 797531 - Improve behaviour when following a hyperlink to a split that's filtered in the register. Currently if a jump to a filtered register is made, this could be from a report, other register, reconcile window and transaction associations and the destination split is not shown the jump will end up at the last active cell. This could be confusing so add a test for the destination split being visible and warn the user with an option to temporarily clear the filter. Bug 797746 - [reports] German umlauts not escaped Bug 797790 - [Transaction Association] Change dialogue: use existing information to determine the default folder. When there is no association set, if the file option is chosen set the default folder for the file chooser to that of the path head preference. Bug 797791 - [Windows] list of command line options after 'gnucash.exe --help'? Make gnucash-cli a console application on Windows so that its output will be redirected to the connected console. Bug 797799 - Add Tip of the Day for "Notes" field Bug 797804 - Date entry field is glitchy (v3.904 regression) The following fixes and improvements were not associated with bug reports or new features: Ensure balance-sheet balances do not ignore closing entries, including them in closing balances from profit&loss. [balsheet-pnl] value-collector doesn't need to ignore closing. The value-collector is only used to tally account balances for asset&liability accounts. These accounts never have closing entries. No need to test closing property. [trep-engine] don't create intermediate cells object. From cell-calculators (a list of column-info), the cells object (list of column-data) was created unnecessarily. use cell-calculators directly. [gnucash-cli] --report show/list outputs to stdout and their error messages output to stderr. I18N: Improve tooltip about double-line-mode. Suggestion by Adrien Monteleone. Drop unused boost::locale::generator instantiations. We now have one single case in gnc-locale-utils and all code uses gnc_get_boost_locale to get the proper locale. Fix translations using boost::locale::translate Fix report dependencies that caused Xcode build failure. Update Schedule Transaction Template dialog status bar. Copy the functions from gnc_main_window that updates the status bar with the action tooltips to gnc_window so that both GncMainWindow and GncEmbeddedWindow can use without duplicating code. Add the Register width menu options to the Scheduled Transaction Template dialog. [balance-sheet] hide trading-accounts if use-trading-accts? is unset. Fix a null parent error in the New Account Hierarchy Assistant. Updated Translations: German 3.904 - 7 June 2020 The third unstable release leading to the new 4.x stable series. See 3.902 and 3.903 below for additional requirements and features. 3.903 was the feature-freeze release. However, the command-line arguments for both gnucash and gnucash-cli have been adjusted as follows: --add-price-quotes is changed to --quotes get --run-reports is changed to --report run --name Added --report list to produce a list of available reports. Added --report show --name to describe the options changed from the default values in the named report. The intent is to have command categories with subcommands to better enable a richer command line capability as illustrated with the new report commands list and show. Between 3.903 and 3.904, the following bugfixes were accomplished. Some of these will also be fixed in GnuCash 3.11, some are for 4.0 only. Bug 797739 - Tweak Transaction Report Column Defaults Bug 797774 - Add tooltips to abreviated header columns for all table like GUI elements The Bill/Invoice due reminder has a column header of 'CN?' which was unclear of meaning which is 'Is this xxx a Credit Note'. A tooltip was suggested but a better fix is to change the column to display the 'Type' so you would see Bill, Invoice or 'Credit Note' just like you see in the find dialog. Bug 797775 - Rate/Price displayed as fractional in CSV Export Change the CSV transaction exporter to follow the Preference setting of 'General->Force Prices to display as decimals'. Bug 797781 - Num Field Regression - characters in wrong order when typed. The following fixes and improvements were not associated with bug reports or new features: Add a tooltip for the 'C' column in the Chart of Accounts To match existing one character headings for 'Place Holder' and 'Hidden' columns. Add first version of gnucash-cli manpage Rework command line option parsing to store values directly in class member variables [cli-reports] modify to open session readonly 3.903 - 1 June 2020 The second unstable release leading to the new 4.x stable series. See 3.902 below for additional requirements and features. New Dependency: Boost program_options. 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. Report Synopsis: 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 unhidded 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. When no file is open don't ask to save it when opening another file or quitting GnuCash. 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. Newly Revised Reports Income GST 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 auxiliarty 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 itemsAdd 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 there column widths to the page section so these could can temporarily have different widths. 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. Input Method handling in the register is moved to the GtkEntry where it belongs. Between 3.10 and 3.901, the following bugfixes were accomplished: 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 paymentssorts 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: 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 columns 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 values in the lot viewer to be right aligned so the numbers line up. [new-aging] speed up split->ownerseveral speed ups 1. split->owner will now cache results, bypassing gncOwnerGetOwnerFromLot and gncInvoiceGetInvoiceFromLot for repeated calls to the same split. 2. 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 to-free list of gncOwners anymore. 3. 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. widgets. 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. [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. 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 frozen. Fix LIBDBI_DRIVERS_DIR generation. L10N:de: "Für" klein in "Ergebnisrechnung für Periode" etc. I18N: Msgmerge recent changes I18N: Hotfix for bug 797725Add 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 Known Problems: Bug 797708 - Reconcile Dialog on Import Bug 797746 - [reports] German umlauts not escaped 3.902 - 27 April 2020 The first unstable release leading to the new 4.x stable series. 3.901 should have been the first release but it had build problems after tagging. Baseline requirements Operating Systems: Linux: Ubuntu 18.04LTS MacOS: 10.13 Windows: 8.1 Software Dependencies: C++ standard is now C++17, requires gcc 8.0 or clang 6.0. Cmake 3.10 boost 1.67.0 gettext 0.19.6 for general use, 0.20 to generate gnucash.pot. glib-2.0 2.56.1, gtk 3.22.30 googletest 1.8.0 ICU, any version. libdbi 0.8.3 libxml2 2.9.4 swig 3.0.12 Now required for building from tarballs as well as from git. Webkit 2.4.11 Mac & Win32, 2.14.1 Linux/BSD New Features The matcher window columns are changed from R to C and from U+R to U+C, reflecting that the matcher marks transactions cleared but doesn't reconcile them. OFX imports having balance information will now offer to immediately reconcile, passing the balance information in the file to the reconcile info. Improve quickfill in the account pickers to filter the choices based on any part of the name. The GnuCash widget hierarchy for CSS has been revised to be more consistent with Gtk practice. You may need to spend some time with the GtkInspector to get your custom CSS back the way you like it. New Account - Online Account match list to the Import Map Editor. New invalid maps dialog in the Import Map Editor Optionally include the account code option in budget view. Account matcher will decline to match accounts with a different commodity from the imported split if the import information includes the commodity. Ellipsize the Description and Memo fields in the account matcher. Enable adding notes to budgets. (Bug 693180) Support for AQBanking Version 6. This is required to support new FinTS protocols and the European Privacy Directive. GnuCash 4.x will not migrate old gconf settings from GnuCash 2.4.x. New/Revised Reports Owner Report Significant Code Changes The source directories have been rearranged and most of the loadable modules (e.g. libgncmod-engine.so) are now normal dynamic libraries (libgnc-engine.so), shorn of their gnc-module adapters. Make sure that you clean and rebuild your build directory. All functions marked as deprecated in 3.x are now removed. If you have custom reports be sure to examine gnucash.trace for deprecation warnings and update your reports before trying them in GnuCash 3.91. libgncmod-generic-import is now libgnc-generic-import. Scheme no longer uses libgncmodule, always do (use-modules (gnucash foo)) Autocompletion improvements for the transfer-account field. New test for invalid mappings for online accounts and a dialog to fix them. jqplot is replaced by chartjs. Separate most Guile binding code from the code that it wraps. It's now located in bindings/guile. Improve Google test integration in cmake. CMake now requires only GTEST_ROOT and only when cmake isn't able to find Google test without help.Unit tests for Scheme code with SRFI64. Deprecations (will be removed in GnuCash 5.0) gnc:substring-replace-from-to Between 3.10 and 3.901, the following bugfixes were accomplished: Bug 693180 - Add notes to budgeting values Bug 773198 - Move several reports to Example directory/menu Bug 773199 - Rename and rebuild Welcome to GnuCash Report Bug 773200 - Rename Sample & Custom Report Group Bug 782455 - Modify Add Reversing Transaction feature Bug 797114 - Fixing an SX due to deleted account stuck in an error loop Bug 797270 - Budget Chart report - translation of header and dates Bug 797338 - Change "U+R" and "R" labels to "U+C" and "C" in Import matcher Bug 797351 - General ledger register transaction becomes "zombie" after deletion Bug 797415 - cannot build without libsecret-1-dev Bug 797472 - Add option to choose account templates Bug 797485 - Show account hidden column on CoA. Bug 797486 - Add dialog to cascade placeholder and hidden Make changes to the existing cascade colour dialog to allow the selection of cascading colour, placeholder and hidden account properties Bug 797489 - No option to use account codes in Budget View - Part2 Add option to allow the account code column to be shown in the budget tree view and as such the account tree view can be sorted by this column Bug 797605 - RFE: Customer/Vendor/Employee Overview should also have "Process Payment" toolbar Bug 797612 - Add a dialog to the imap_dialog to show invalid maps Bug 797670 - scheduled transaction editor can remain open when switching file, which causes seg fault when later closed Bug 797677 - Price Database Saving Wrong Price for Foreign Currency Bug 797684 - GTK_DEBUG=interactive - Bail out - gdk_window_set_cursor_internal Bug 797697 - Enable DEP and ASLR for the Windows build Added hardening flags. The following fixes and improvements were not associated with bug reports: Fix 3 problems with the scheduled transactions calculations * Set a monthly recurrence on the 10th with a start date on the 20th of this month. The editor correctly shows the next occurrence to be on the 10th of the following month. The schedule transaction summary dialog incorrectly shows the next occurrence to be on the 10th of this month (before the start date!) * Set a monthly recurrence on the 19th, with a start date on the 20th of this month. The editor's calendar marks incorrectly show the next occurrence to be on the 19th of this month (before the start date). * Set a monthly recurrence on the 18th, with a start date on the 20th and an end date on the 17 of the following month. The calendar should show no mark, but fails to erase the marks that were present. Fix issue when editing the account tree view notes field When you try to edit a multiline account notes field in the account tree view you end up with just one line with control characters as it is being edited with a GtkCellRenderText cell. To fix this I have added a new cell renderer based on a text view. Fix failed build of python tests and failed test in 3.10 tarball. Updated Translations: Croatian, Hebrew, Ukrainian 3.10 - 10 April 2020 The eleventh release of the 3.x stable series. This is a snap release to reverse the changes to the reconcile window's filtering reconciled transactions with a reconcile date after the current statement date when computing the starting balance. It seems that many users' books have accounts with reconcile dates in the future that were suddenly filtered out, creating an incorrect starting balance and making it impossible to reconcile the book. The following bugs have been fixed: 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. Other repairs or enhancements not marked as bugs: [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 in python bindings. 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 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. Translations Updated: Ukrainian. 3.8 - 29 December 2019 The ninth release of the 3.x stable series. Note for German FinTS users: This release includes the latest fixes in support of the PSD2 changes. The Mac and Windows bundles include the current beta releases of AQBanking and its support library needed to work with most German banks' implementations of FinTS. Translators, Note Well: The obsolete "disambiguation prefix" translator comments are removed in favor of three-parameter gettext(). See https://lists.gnucash.org/pipermail/gnucash-devel/2019-September/044199.html The following bugs have been fixed: 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. 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 - Find Transaction Split Search Search Criteria window does not scroll when added criteria exceed a certain amount 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 - Deletion not limited by current filter. Bug 797401 - Invoice Reports need an overall page width set Bug 797405 - HBCI Import PIN entry window is hidden behind log window, program stuck 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 797430 - SEPA transfers are not executed Avoid double init of gui Patch by Mike Pieper. Thanks! 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 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): include earliest split Bug 797521 - Receivable Aging (beta): prepayments logic doesn't work, appears to use incorrect absolute value logic Bug 797532 - Crash/Coredump Lots Other repairs or enhancements not marked as bugs: 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. Update to modern API calls. Show the culprit split details. Fixed example output: IGNORING TRANSACTION! Invoice Owner: [None:] Transaction:Txn Splits are: Split Split Transaction Currency:GBP Client Currency:AUD 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 Implements 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- New Deprecations: gnc:html-table-append-ruler/at! gnc:html-table-remove-last-row! Translations Updated: Chinese(Simplified), Croatian, German, Hebrew, Ukrainian 3.7 - 8 September 2019 The eighth release of the 3.x stable series. Note for German FinTS users: This release in concert with AQBanking 5.8.0 is the first release to support the new product registration requirement that goes into effect 15 September 2019. The following bugs have been fixed: 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 Previous 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 797171 - Allow multiple credit/debit columns to be selected Bug 797279 - Reports RTL do not support RTL - fix reports Bug 797279 - Reports RTL do not support RTL - fix string 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 sub-accounts' 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. Note to translators: This is about msgids of the form "Associate:A". The correct msgstr includes the part up to the ':' verbatim with only the part to the right of it tranlated, e.g. "Associate:П" from uk.po. Each such msgstr has a comment explaining this. 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 are 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. Other repairs or enhancements not marked as bugs: 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. Reworking of many translatable strings with context to use the modern gettext three-parameter function instead of the ':' hack noted in bug 797349. 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. Deprecated API: gnc:html-acct-table-cell - Unused. gnc:make-general-journal-report - Unused. gnc:easy-invoice-report-create-internal - Unused. gnc:fancy-invoice-report-create-internal - Unused. make-simple-class - Use make-record-type simple-obj-getter - Use record-accessor simple-obj-setter - Use record-modifier simple-obj-print - Use write simple-obj-to-list - Use record-type->list simple=obj-from-list-obj - Use list-record-type make-simple-obj - Use construct gnc:time64-le-date - Unused gnc:time64-ge-date - Unused gnc:make-reldate-hash - Unused gnc:get-relative-date-strings - Unused gnc:entry-type-percent-p gnc:make-customer-option - Unused gnc:make-vendor-option - Unused gnc:make-employee-option - Unused gnc:html-build-acct-table - Unused gnc:html-acct-table-comm-row-helper - Unused gnc:sum-collector-stocks - Unreachable Updated Translations: German, Hebrew, Ukrainian, New Account Templates: Hebrew-Israel 3.6 - 30 June 2019 The seventh release of the 3.x stable series. The following bugs have been fixed: Bug 397927 - QIF Import: Usability: Remember window position and size Bug 577968 - Values are not stored by pressing in budget page Bug 583277 - Cancel button closes QIF importer without confirmation Bug 624176 - budget report - option for showing sum is ignored Bug 642824 - Different actions like QIF import, other imports and... closing book allow to assign transactions to placeholder... accounts Placeholder accounts do not allow transactions so when the account picker dialog is presented, add an error dialog for placeholder selection and a column to display that the account is a placeholder. Bug 646361 - Estimate budget should give option to have same amount... in each budget period Bug 668349 - Select Account does not return user to correct location... in "Match payee/memos to GNUCash Accounts" screen Bug 676810 - Wrong accounting in multi-currency budget report Bug 679800 - Shortcut to allow population of all budgeting periods Bug 689753 - Budget Report: Negative Numbers Not Colored Red Bug 728873 - Account name does not focus automatically in QIF import... assistant Bug 751290 - Rethinking the invoice ledger view Bug 754710 - Add column sorting to Qif import Match views Bug 781345 - Equity disregarded by budget totals Bug 788157 - Open Budget Menu Item Doesn't Select Default Budget Bug 796949 - Incorrect conversion of 0,01 USD to EUR Bug 797051 - Price Database Add Overwrites Data Without Confirmation Bug 797089 - In the main Account Register window, the value shown... under 'Total (Period)' excludes any transaction with date... equal to the end date of the reporting period. Bug 797104 - Translations not showing in receipt options Bug 797123 - File->Export Transactions to CSV doesn't output... transaction data Bug 797126 - It is annoying to run cmake to get an updated mo file Bug 797127 - Company name and address in reports not display properly Bug 797134 - Decimal separator: Windows configured as dot,... Gnucash shows comma. Bug 797165 - Deleting an old quote from Price Database Core Dumps Gnucash Bug 797169 - GnuCash hangs loading XML file Bug 797170 - gnucash-3.5 fails to compile with GTK+3-3.20.x Bug 797175 - Gnucash will not open from UNC paths. Bug 797175 - Opening a file from a gvfs mount point fails Bug 797183 - association head path with spaces displayed wrong Bug 797185 - Correct the sorting for the Transaction Association Dialog Bug 797186 - gtk crash closing parent window edit->stylesheets Bug 797188 - Default invoice prints credit note as invoice Bug 797196 - Allow for per-payment rounding in amortization calculations. Bug 797197 - Transaction report: Error message when sorting on month Bug 797204 - qif import: commodities throw blocking dialog in symbol... field on every commodity Bug 797207 - Chart reports show blank when run from the build directory Bug 797215 - qif import: review duplicates - allow sorting candidates... on all columns Bug 797223 - Missing Tooltip on Edit->Preferences->Register:Actions:Tab... order includes Transfer on Memorised Transaction Bug 797230 - Use after free in gnucash_sheet_style_destroy. Bug 797232 - dialog-ab.glade was written for gtk 2.16. Bug 797233 - Balance Sheet, Chart of Accounts, and other reports... crash when involving foreign currency stocks. Bug 797240 - Multicolumn report not showing each report name reportname was not correctly applied as the chart-title Bug 797241 - Some reports skip transactions of the last day of the selected period Bug 797244 - Remove the invert prices for less than 1 Bug 797246 - Cleared Balance Remains Red After Turning Positive Bug 797249 - Cutting home account causes transaction to disappear Bug 797262 - Change "Today date format" Bug 797266 - Missing translation settings Bug 797277 - Assets over time ignores nested liabilities Bug 797278 - Create an option for type of commodity for Price import Currently when you use the 'Commodity From' column for Price imports it can match against the wrong commodity like COP (Conoco Philips) would match against the currency COP (Columbian Peso). To fix this add a new column type 'From Namespace' and rename 'Commodity From' to 'From Symbol' so they match the Security Editor. Bug 797281 - Gnucash crashes when attempting to match online accounts Other repairs or enhancements not marked as bugs: Rewrite the Customer Summary Report to correctly handle multiple currencies. Improve the Owner Report's find-first function to consider currency when selecting the account. Prevent cutting the "anchor" split or pasting another split on top of it in account registers so that the transaction won't suddenly disappear from the register page. Displays an explanatory dialog just like trying to delete the anchor split does. Allow deleting, cutting, and pasting over all splits in Journal View registers which don't have anchor splits because they're not associated with any account. Disable editing the "blank split" (the new split at the bottom of a transaction in split view) if the transaction itself is read-only. Use the customer and vendor currency instead of the default currency from preferences when generating bills, invoices, or credit notes. Allow assigning a single target account to more than one transaction in the import matcher. To do this select the new transactions and right-click to open a single-item context menu. Click the menu item to open the account selection dialog box. Note that imported transactions that match transactions already in the eriger, i.e. those marked "update" or "reconcile and update" are not eligible for inclusion. This feature still has some rough edges that are being addressed for the next release. Use the default currency from Properties>Accounts for the summary bar currency to make it configurable. Allow CSV export of grand total amounts from reports using the trep-engine. Fix XML file import failures into GnuCash for Android. Raise minimum CMake version to 3.5 for all platforms. Prevent crash in Aging Report when the book has no AP or AR accounts. Fix operation of the "default budget" option. Change the account-picker dialog to disable the OK button instead of raising a warning dialog if the selected account is a placeholder. Fix crash after unloading all files from the QIF import assistant. Disable the Next button in the QIF import assistant if no files are selected for import. New report "Balance Sheet-PNL" combines a Balance Sheet and an Income Statement in a single report. Rework localization in C++ on Win32 builds, fixing several crashes and speeding up file loading by 10x. Create a console window for displaying stdout/stderr. Define __MSWIN_CONSOLE__ and recompile to enable. Keep the selection in the Securities Editor on the commodity after editing it. Allow the Securities Editor to stack separately from the main window. Much more Scheme cleanup and refactoring. Python console improvements, including switching to Python3 and not killing GnuCash when quitting the console. New API: The following functions can now be used in scheduled transaction credit/debit calculations: gnc:amort_pmt gnc:amort_ppmt gnc:amort_ipmt API Deprecations: gnc:html-table-prepend-column! gnc:html-acct-table-num-cols gnc:html-acct-table-append-row! gnc:html-acct-table-prepend-row! gnc:html-acct-table-append-col! gnc:html-acct-table-prepend-col! gnc:html-acct-table-remove-last-row! gnc:html-acct-table-render gnc:second-html-build-acct-table Updated Translations: Croatian, Farsi, German, Romanian, and Ukrainian Known Issues: Bug 787813 - Regression: Price database should allow multiple buy/sell prices on the same date Bug 791825 - Accounting Period dates (among others) stored with a TZ-sensitive time. Bug 792975 - missing hellip in menus Bug 792986 - Connecting with Bank server is very slow Bug 793306 - Price is not imported from CSV 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 795251 - googletest detection cannot be overridden 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 795393 - Do not create .log files when using sqlite backend Bug 795614 - Unicode handling in amount fields [resubmission] Bug 795753 - Initial save into MySQL should use bulk inserts Bug 796100 - Autosave Doesn't Work if Preferences Changed During Data Entry 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 796688 - "Next" Button Moves Repeatedly During New File Wizard 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 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 796764 - make check: hardcoded filenames in /tmp, vulnerable to symlink attacks Bug 796767 - The importer shows read-only and placeholder accounts Bug 796769 - Exposing new variables via swig sometimes results in an error "Undefined variable : " while building 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 796783 - handling invalid date range in "get transaction..." Bug 796787 - report options - default plot size too big Bug 796788 - strange behavior in options of multicolumn report Bug 796799 - After Deleting Transaction Price, Enter Required 2x 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 796836 - Credit note wrong, database inconsistency Bug 796844 - Amount column of Customer Report should net Credits and Debits Bug 796850 - Auto-decimal-point causes incorrect price to display when amount is edited. Bug 796852 - Context sensitive Help broken Bug 796857 - Import of QIF duplicates transfer transactions Bug 796861 - Report HTML Pie Chart - default value #f for colors makes the pie chart renderer crash Bug 796862 - Report HTML Scatter Chart - default value #f for makercolor makes the scatter chart renderer crash Bug 796870 - Cannot (occasionally) undo invoice billing Bug 796878 - test-qofsession fails on x86_32 Bug 796882 - Entering an amount as a calculation fails the first time in bills Bug 796885 - SX Editor Calendar Sometimes Shows Wrong Year, Wrong Next Date Bug 796890 - CSV import of multi-split transactions marks reconciliation status of first line as cleared Bug 796892 - Startup warning: undefined symbol PyOS_getsig Bug 796894 - Edit -> Preferences results in gnucash.exe- No Disk error box Bug 796895 - Report end and start dates not obeyed Bug 796896 - Button to complete an export not intuitively placed or discoverable Bug 796899 - FTBFS on [mips]: segfault; test-backend-dbi; endianness Bug 796900 - Problems in Description Editing. Select all implemented with the Caps Key (plus no Ctrl Z Undo, grrr) Bug 796905 - GNUcash does not start after windows 10 update Bug 796907 - After a series of actions to the window of GnuCash, some of or all of the contents will dispear and could not get them back Bug 796909 - Can't enter different notes and memos for an AR payment transaction Bug 796911 - Minimum window width is too large, so it may not be possible to maximise the window Bug 796925 - Database connections not closed by session.end()/session.destroy() when is_new=True Bug 796933 - Backspace key doesn't work, sometimes. Bug 796934 - Menu and message characters display as boxes Bug 796935 - Scrollbar indicator does not move while scrolling Bug 796936 - Saving XML-formatted file to CryFS volume crashes GNUCash Bug 796942 - Make Auto-Split Optional or Undo-Able for Data Entry Bug 796945 - Find Transaction Split 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 796954 - No scroll in invoice/billing and all columns not visible. Column resizing is disastrous Bug 796955 - Import CSV - Single-line two-currency transactions can't be imported Bug 796958 - GnuCash tries to lock the database even when opened read-only. Bug 796959 - GnuCash complains about saving on close when read-only. Bug 796966 - Underscore showing in german translation strings in the gui - business - search invoice Bug 796970 - Disable editing of currency retrieval settings for currencies. Bug 796974 - Feature Request - Headings for the Matcher column Deposit/Withdrawal do not change to Debit/Credit when formal accounting labels are preferenced Bug 796977 - No amounts displaying after upgrade from 2.6.19 to 3.3 Bug 796979 - GnuCash segfaults on first startup when run from remote X session Bug 796983 - fails when importing QIF exported by Quicken 2015 Deluxe Bug 796984 - Import Bills & Invoices: date of line item is not validated; can lead to unexpected results Bug 796985 - Import Bills & Invoices: option 'open not yet posted docs in tab' does not open tab if invoice could not be posted Bug 796986 - Import Bills & Invoices: in case of invalid posting date in import file, invoice is posted with unexpected date Bug 796987 - Import Bills & Invoices: fixing import items only works in special case Bug 796992 - gnucash --add-price-quotes always fails Bug 796995 - Income and GST Statement: wrong grouping of invoices with multiple tax rates Bug 796997 - Currency Conversion Dialog appears when recording transactions between same currency accounts. Bug 797003 - Number widget changes values by more than one Bug 797006 - Balance is misleading in "open subaccounts" when different currencies are involved Bug 797009 - Database error on split transaction Bug 797010 - Install v3.4 failure Bug 797016 - modifying existing entry don't allow to input zero price or zero stocks Bug 797022 - Import Bills & Invoices: expense/income account is not validated - leads to one-sided posting if account is invalid Bug 797023 - Import Bills & Invoices: no user confirmation requested for update of invoices, if new invoices is created first. Bug 797024 - Import Bills & Invoices: import matches csv data rows with too few separators, messing up the import data Bug 797025 - Import Bills & Invoices: the type of the post to account is not validated - enabling A/P and A/R postings on regular accounts Bug 797026 - Reimport of account structure not working Bug 797033 - The CSV Importer should not obey with the "automatic digital point" setting Bug 797035 - Date selection via calender Bug 797036 - Runtime Error During 3.4 Upgrade Bug 797037 - Counter formats not saving Bug 797038 - GnuCash hangs loading under XWindows Bug 797043 - Rouble Symbol missing in Windows. Bug 797045 - Improve error reporting for bad credentials with MySQL backend ("bad or corrupt data" => "access denied") Bug 797048 - GnuCash in English doesn't show dates in register when book contains Polish characters Bug 797049 - Typing in lists does no longer initiate text search Bug 797050 - Encoding problem at MT940 Import Bug 797052 - Unable to Use Shift Key After Autofill or Paste Bug 797053 - Window state isn't saved Bug 797054 - Reports are rendered in Greek glyphs Bug 797057 - gnc-gwen-gui.c is still based on the deprecated GtkTable Bug 797060 - When importing QFX transactions all dates are current date Bug 797063 - gncEntryGetDocValue is modifying the invoice or entry Bug 797064 - crash when try print report Bug 797065 - character is broken when display report Bug 797070 - With multiple monitors, menus only open in one monitor, regardless of which monitor GnuCash window is located Bug 797073 - Tax Schedule Report off by one year Bug 797076 - Net worth, Assets and Liabilities report wrong period Bug 797077 - Wrong Balance Displayed in Related Registers Bug 797078 - "Automatic decimal point" Should Not Cause 2 Different Behaviors Bug 797080 - "Rate of Gain" and "Rate of Return" Seem to be Mislabeled Bug 797083 - Gnucash crashes when trying to rename budget Bug 797084 - Provide an option to leave edited transactions reconciled Bug 797085 - Import Bills & Invoices – headers not translated Bug 797088 - Encoding problem with CSV-formated account tree import Bug 797092 - Save As fails: tries to save to reserved directory if path contains spaces Bug 797093 - Miscalculation in cashflow reports Bug 797096 - Bad display in dialog window Bug 797101 - repeated pop-up "confirm creation of" some mangled account name Bug 797102 - Advanced Portfolio Ignores Capital Gain Splits Bug 797106 - Advanced Portfolio Report shows too many decimals in security unit prices newly imported from Finance::Quote Bug 797110 - Column alignment on Trial Balance using a Stylesheet Bug 797112 - Unable to Close Period due to reconcile_date falling before 1970-01-01 00:00:00 UTC Bug 797113 - Scrubbing crashes when creating small splits that round to value 0. Bug 797114 - Fixing an SX due to deleted account stuck in an error loop Bug 797115 - Can't 're-activate' an expired SX Bug 797116 - request for review: gnc doesn't understand the chars it allows to be stored in a file and should Bug 797118 - Date entered incorrectly if entered as yyyy with some Date Time Local Settings Bug 797119 - Duplicating transaction produces blocked edit Bug 797121 - Unable to save to database Bug 797124 - Request for Enhancement: Preferences and Saved Reports should be per-book not per-user Bug 797133 - CSV Import of multicurrency transaction export in multiline form Bug 797137 - Advanced portfolio for currency accounts Bug 797142 - txf export report outputs incorrect values in schedule c Bug 797145 - QIF Importer CP1252->UTF-8 transcoding fails Bug 797147 - invoice.GetDatePosted() returns 1970-01-01 for unposted invoices in MySQL backend rather than Null Bug 797158 - gnc:make-account-sel-limited-option is not working Bug 797161 - first transaction with trn:date-posted on 1st day of month counted to previous month by graphs (due to timezone) Bug 797163 - qof_book_get_option segfaults when retrieving a non-leaf frame Bug 797164 - QFX import dialog creates Floppy Drive Not Ready error on a computer with no floppy drive Bug 797166 - Stock scrubbing does not handle Return of Capital Transactions Bug 797167 - Paste from clipboard to invoice editing window fails Bug 797171 - Allow multiple credit/debit columns to be selected Bug 797172 - Allow accounting terms in drop down list. Bug 797173 - Allow user to specify a debit/credit column needs to be negated. Bug 797182 - Doesn't respond correctly when using Windows Snap feature Bug 797184 - chargeback customer invoicing Bug 797187 - Payment processing falsely initialized with order list in the customer entry field (workaround described) Bug 797188 - Default invoice prints credit note as invoice Bug 797190 - When Translations Not Selected, 75 MB of Help Files Installed Bug 797191 - Gnu Cash does not save certificates permanently Bug 797194 - Hebrew fonts are not shown correctly Bug 797199 - AqBanking HBCI import Visa Card (comdirect bank) without line result: from to dates switched Bug 797200 - closing window in python console should trigger regular shutdown or none at all Bug 797201 - ipython shell broken Bug 797203 - autofill value is incorrect in split tx across currencies with trading accounts enabled Bug 797205 - Python Shell startup message: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated Bug 797206 - qif import: investment accounts with cash transactions that are transfers cause import to fail with bug detected Bug 797211 - Very slow UI - dependent on window size Bug 797213 - import map editor shows no maps, takes ~22 seconds to display nothing, yet QIF importer remembers maps somehow Bug 797214 - enhancement: gnucash file anonymizer, great for providing sample errant data to dev/test Bug 797216 - The order of multi-split journal entries in the CSV-importfile is blocking a valid import Bug 797218 - qif import: Quicken exported QIF files do not import diacritic extended characters, they are replaced with ? Bug 797220 - delete account allows move of all transactions to account having non-matching currency Bug 797222 - Resetting the "change reconciled split" warning doesn't take effect until GnuCash is restarted. Bug 797226 - Minor Issues in GnuCash Export Format Bug 797227 - Feature Request: Use trading accounts only for currency conversion Bug 797229 - Two Finger Horizontal Scroll in Register Broken Bug 797231 - Split transaction doesn't complete in future Bug 797232 - dialog-ab.glade was written for gtk 2.16. Bug 797234 - gnucash closes when trying to open new file Bug 797235 - 'Memorised' is british English Bug 797236 - Regression: Reconcile window transaction list resets to top when new transaction created in account Bug 797237 - Default currency is USD no matter what you choose Bug 797243 - Slow XML load/save on OS X 10.11 Bug 797244 - Commodity categories are inconsistent Bug 797245 - Smallest fraction of Vietnam Dong VND should be 1 Bug 797251 - File choosers have lost the ability to type file names and paths Bug 797256 - AR/AP: placeholder accounts are selectable in the Posting menu for invoices and bills Bug 797260 - msys2 setup incomplete with current setup-mingw64.ps1 bootstrap Bug 797263 - Tax Schedule Report fails to generate Bug 797264 - 3.5 can't use Chinese IME input Bug 797268 - Stock Split Assistant can create nonsense transactions Bug 797270 - Budget Chart report - translation of header and dates Bug 797275 - Multiselection contains matched transactions Bug 797276 - Hitting the cancel button when editing a scheduled transaction does not undo changes Bug 797279 - Reports RTL do not support RTL Bug 797280 - Balance Sheet and P&L Reports use different rounding. Bug 797282 - Bills Due Reminder does not update document count message after processing payment Bug 797283 - Permanent hang on clicking on report tabs Bug 797284 - A column of an account can be too small (width 1), so that it is not possible to get it back with a double-click on it Bug 797285 - QIF import fails and then crashes Bug 797287 - summary bar is wonky Bug 797290 - out-of-memory during register dropdown for income account Bug 797292 - Amounts are displayed and stored with fractions smaller than the commodity's SCU Bug 797293 - Crash when import "U+R" or "R" Bug 797294 - Billing functions freezing Bug 797295 - problems with entering swedish åäö in company address 3.5 - 31 March 2019 The sixth release of the 3.x stable series. Note for Windows and MacOS users: The Gtk GUI framework has fixed several substantial bugs in the Windows and MacOS backends, some of which are so recent that they are not included in the latest release. In order to ensure that the GnuCash all-in-one bundles have those important fixes we are departing from normal practice and shipping builds from the Gtk repository instead of from release tarballs. The following bugs have been fixed: 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. Other repairs or enhancements not marked as bugs: 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. Updated Translations: Arabic, Croatian (New!), Farsi, French, German, Spanis, Ukrainian Updated Account Templates: Belgium (French) (New!), Frsnce, Croatia (New!), Germany. Switzerland (French) Known Issues: Bug 795384 - GnuCash 3 is tremendously memory hungry on macOs Bug 795393 - Do not create .log files when using sqlite backend Bug 795614 - Unicode handling in amount fields [resubmission] 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 796688 - "Next" Button Moves Repeatedly During New File Wizard Bug 796728 - GnuCash 3.0-3.4 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 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 796799 - After Deleting Transaction Price, Enter Required 2x 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 796844 - Amount column of Customer Report should net Credits and Debits Bug 796850 - Auto-decimal-point causes incorrect price to display when amount is edited. Bug 796852 - Context sensitive Help broken Bug 796857 - Import of QIF duplicates transfer transactions Bug 796871 - GtkFileChooser Name Field and Sidebar Ignore UNC Paths Bug 796880 - Menu Tooltips Interfere with All Dialogs Bug 796885 - SX Editor Calendar Sometimes Shows Wrong Year, Wrong Next Date Bug 796890 - CSV import of multi-split transactions marks reconciliation status of first line as cleared Bug 796892 - Startup warning: undefined symbol PyOS_getsig Bug 796894 - Edit -> Preferences results in gnucash.exe- No Disk error box Bug 796895 - Report end and start dates not obeyed Bug 796896 - Button to complete an export not intuitively placed or discoverable Bug 796899 - FTBFS on [mips]: segfault; test-backend-dbi; endianness Bug 796905 - GNUcash does not start after windows 10 update Bug 796909 - Can't enter different notes and memos for an AR payment transaction Bug 796911 - Minimum window width is too large, so it may not be possible to maximise the window Bug 796935 - Scrollbar indicator does not move while scrolling Bug 796942 - Make Auto-Split Optional or Undo-Able for Data Entry Bug 796954 - No scroll in invoice/billing and all columns not visible. Column resizing is disastrous Bug 796955 - Import CSV - Single-line two-currency transactions can't be imported Bug 796970 - Disable editing of currency retrieval settings for currencies. Bug 796973 - Blocking problem when importing QIF - trading commodities enter Information Bug 796974 - Feature Request - Headings for the Matcher column Deposit/Withdrawal do not change to Debit/Credit when formal accounting labels are preferenced Bug 796979 - GnuCash segfaults on first startup when run from remote X session Bug 796983 - fails when importing QIF exported by Quicken 2015 Deluxe Bug 796995 - Income and GST Statement: wrong grouping of invoices with multiple tax rates Bug 796997 - Currency Conversion Dialog appears when recording transactions between same currency accounts. Bug 797003 - Number widget changes values by more than one Bug 797006 - Balance is misleading in "open subaccounts" when different currencies are involved Bug 797009 - Database error on split transaction Bug 797010 - Install v3.4 failure Bug 797016 - modifying existing entry don't allow to input zero price or zero stocks Bug 797022 - Import Bills & Invoices: expense/income account is not validated - leads to one-sided posting if account is invalid Bug 797023 - Import Bills & Invoices: no user confirmation requested for update of invoices, if new invoices is created first. Bug 797024 - Import Bills & Invoices: import matches csv data rows with too few separators, messing up the import data Bug 797025 - Import Bills & Invoices: the type of the post to account is not validated - enabling A/P and A/R postings on regular accounts Bug 797026 - Reimport of account structure not working Bug 797027 - After Upgrade to 3.4, File is Always Unsaved Bug 797033 - The CSV Importer should not obey with the "automatic digital point" setting Bug 797035 - Date selection via calender Bug 797036 - Runtime Error During 3.4 Upgrade Bug 797037 - Counter formats not saving Bug 797038 - GnuCash hangs loading under XWindows Bug 797043 - Rouble Symbol missing in Windows. Bug 797045 - Improve error reporting for bad credentials with MySQL backend ("bad or corrupt data" => "access denied") Bug 797048 - GnuCash in English doesn't show dates in register when book contains Polish characters Bug 797049 - Typing in lists does no longer initiate text search Bug 797050 - Encoding problem at MT940 Import Bug 797051 - Price Database Add Overwrites Data Without Confirmation Bug 797052 - Unable to Use Shift Key After Pasting Text Bug 797053 - Window state isn't saved Bug 797054 - Reports are rendered in Greek glyphs Bug 797057 - gnc-gwen-gui.c is still based on the deprecated GtkTable Bug 797060 - When importing QFX transactions all dates are current date Bug 797063 - gncEntryGetDocValue is modifying the invoice or entry Bug 797069 - Unicode symbols are treated as ASCII / Latin-1 in some fields Bug 797070 - With multiple monitors, menus only open in one monitor, regardless of which monitor GnuCash window is located Bug 797073 - Tax Schedule Report off by one year Bug 797077 - Wrong Balance Displayed in Related Registers Bug 797078 - "Automatic decimal point" Should Not Cause 2 Different Behaviors Bug 797080 - "Rate of Gain" and "Rate of Return" Seem to be Mislabeled Bug 797083 - Gnucash crashes when trying to rename budget Bug 797084 - Provide an option to leave edited transactions reconciled Bug 797088 - Encoding problem with CSV-formated account tree import Bug 797092 - Save As fails: tries to save to reserved directory if path contains spaces Bug 797093 - Miscalculation in cashflow reports Bug 797096 - Bad display in dialog window Bug 797101 - repeated pop-up "confirm creation of" some mangled account name Bug 797102 - Advanced Portfolio Ignores Capital Gain Splits Bug 797106 - Advanced Portfolio Report shows too many decimals in security unit prices newly imported from Finance::Quote Bug 797107 - off-by-1 error in gnc_pricedb_nth_price Bug 797110 - Column alignment on Trial Balance using a Stylesheet Bug 797112 - Unable to Close Period due to reconcile_date falling before 1970-01-01 00:00:00 UTC Bug 797113 - Scrubbing crashes when creating small splits that round to value 0. Bug 797114 - Fixing an SX due to deleted account stuck in an error loop Bug 797115 - Can't 're-activate' an expired SX Bug 797116 - request for review: gnc doesn't understand the chars it allows to be stored in a file and should Bug 797118 - Date entered incorrectly if entered as yyyy with some Date Time Local Settings Bug 797119 - Duplicating transaction produces blocked edit Bug 797121 - Unable to save to database Bug 797123 - File->Export Transactions to CSV doesn't output transaction data Bug 797124 - Request for Enhancement: Preferences and Saved Reports should be per-book not per-user Bug 797127 - Company name and address in reports not display properly, all Traditional Chinese (zh_tw) characters will GARBLED Bug 797133 - CSV Import of multicurrency transaction export in multiline form Bug 797137 - Advanced portfolio for currency accounts Bug 797139 - test-report-utilities failure after 10-march in travis Bug 797142 - txf export report outputs incorrect values in schedule c Bug 797145 - QIF Importer CP1252->UTF-8 transcoding fails Bug 797147 - invoice.GetDatePosted() returns 1970-01-01 for unposted invoices in MySQL backend rather than Null Bug 797148 - Custom Count fields won't save Bug 797157 - Crash on Start Bug 797158 - gnc:make-account-sel-limited-option is not working 3.4 - 30 December 2018 The fifth release of the 3.x stable series. The following bugs have been fixed: Bug 498072 - GnuCash show taxes on invoice when individual taxes is not checked Bug 760825 - On duplicating a bill, the entry dates should be set to the bill date, not to the current date - followup: Use neutral time on entry post dates instead of canonical time Bug 767772 - Associated file with transaction is lost when moving entry between accounts Bug 775580 - Inaccurate information provided for "Common Accounts" when using "New Account Hierarchy Setup" Bug 779565 - Treeview header combos do not work at first load Bug 788332 - Last Reconcile Date column sorts by day of month not date Bug 789674 - Close Book tool regression Bug 793156 - Incorrect date sort order in Generic import matcher window Bug 795080 - Some dates reset to 01/01/1970 Bug 795237 - Update of "wohnungsw" template Bug 795425 - Version 2018 of german account template SKR49 Bug 796772 - Receivable Ageing Report invalid URL for Totals column Bug 796806 - Crash after OFX import if line item dragged Bug 796842 - Add new employee window may not fit on screen Bug 796849 - Load another QIF file causes "that file already loaded" dialog Bug 796875 - Unable to use arrow keys to advance past pre-filled text in register Bug 796878 - test-qofsession fails on x86_32. Bug 796883 - Register text oddities HOME and END need to be treated like right and left arrow keys. Bug 796886 - OFX Import does not show source account in the transaction matching window Bug 796887 - Remove account slot key color if there is no valid color Bug 796893 - invoice.GetDatePosted() and other date related functions returns strange values for uninitalised dates. Bug 796896 - Button to complete an export not intuitively placed or discoverable Bug 796903 - Crash when searching invoice by Invoice Owner Bug 796914 - Customer Summary is giving error Bug 796915 - Update Account colour background Bug 796940 - Invalid transaction date-posted KVP causes date-posted to not be saved. Bug 796944 - Tab navigation From Company Address field in New Book Options Bug 796945 - Search Search Criteria window does not scroll when added criteria exceed a certain amount Bug 796948 - Scheduled Transactions Entered Since Last Run Are not Visible Bug 796949 - Incorrect conversion of 0,01 USD to EUR Bug 796960 - Incorrect amount sort order in Generic import matcher window Bug 796961 - Can't overwrite existing MYSQL database, V3.3. Bug 796967 - gnclock table not removed when using PostgreSQL. Bug 796978 - Deleting a split of same account as register cancels the transaction without warning Bug 796981 - Gnucash crashes with critical error when selecting another file Bug 796982 - Import Bills & Invoices: change in un_escape() routine causes description and notes fields to be mangled. Bug 796988 - Untranslated string in CSV transaction importer Bug 796989 - some date/time does not honor user locale Bug 796994 - Unable to generate Tax Report because of pricedb error Other repairs or enhancements not marked as bugs: 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. Updated Translations: Chinese (Simplified), Farsi, German, Japanese, Portuguese (Portugal), Ukrainian Updated Account Templates: English (US), English (UK), German (Austria), German (Germany), Portuguese (Portugal) Known Issues: Bug 795251 - googletest detection cannot be overridden Bug 795614 - Unicode handling in amount fields [resubmission] Bug 795729 - Advanced Portfolio Report - Percentage rates not displaying leadinga zeroes Bug 795071 - new account entry screen keeps on disappearing and coming back Bug 796122 - Poor Performance Scanning Old Files During Autosave Bug 796492 - Wrong calculation of the first occurrence Bug 796520 - Layout overlapping in Income & Expense Chart Bug 795362 - Special variable "i" not parsed in function calls Bug 796687 - Tax Entity name and type for an account won't work under "Tax Reporting Options" in Gnucash 3.2 Bug 796728 - GnuCash 3.0-3.2 crashes when starting up under Windows Bug 796740 - Selecting register value with mouse fails Bug 796746 - Cannot copy and paste anything into the amount field (both credit and debit) Bug 796496 - CSV Importer: Column Selectors invisible on Windows. Bug 796767 - The importer shows read-only and placeholder accounts Bug 796779 - Window size in SEPA transaction 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 796656 - GnuCash frequently crashes, usually involving unsaved transactions. Bug 796799 - After Deleting Transaction Price, Enter Required 2x Bug 796774 - Investment account QIF Import does not import transaction Bug 796758 - Improve error messages, why one can not remove a tax table Bug 796773 - Display of Negative numbers Bug 796782 - Cannot import OFX file in new 3.2 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 796844 - Amount column of Customer Report should net Credits and Debits Bug 796750 - qof_query_search_for stores pointer of type string argument Bug 795393 - Do not create .log files when using sqlite backend Bug 796857 - Import of QIF duplicates transfer transactions Bug 796852 - Context sensitive Help broken Bug 796850 - Auto-decimal-point causes incorrect price to display when amount is edited. Bug 796100 - Autosave Doesn't Always Work Bug 796754 - Guile encoding certain strings not as UTF-8 Bug 796847 - Error trying to do CSV import doesn't recognize account specification Bug 796877 - test-stress-options fails Bug 796871 - GtkFileChooser Name Field and Sidebar Ignore UNC Paths Bug 796736 - Column Widths calculator need to allow more padding Bug 796885 - SX Editor Calendar Sometimes Shows Wrong Year, Wrong Next Date Bug 796909 - Can't enter different notes and memos for an AR payment transaction Bug 796880 - Menu Tooltips Interfere with All Dialogs Bug 796688 - "Next" Button Moves Repeatedly During New File Wizard Bug 796911 - Minimum window width is too large, so it may not be possible to maximise the window Bug 796892 - Startup warning: undefined symbol PyOS_getsig Bug 796907 - After a series of actions to the window of GnuCash, some of or all of the contents will dispear and could not get them back Bug 796896 - Button to complete an export not intuitively placed or discoverable Bug 775368 - "Average cost" price source problem Bug 796926 - Scrolling Fails if Mouse Leaves Window Bug 796900 - Problems in Description Editing. Select all implemented with the Caps Key (plus no Ctrl Z Undo, grrr) Bug 796500 - Scalability issue - importing large CSV to large book won't finish Bug 796775 - Auto fill not working correctly (only match the first char you type ...) Bug 796899 - FTBFS on [mips]: segfault; test-backend-dbi; endianness Bug 796933 - Backspace key doesn't work, sometimes. Bug 796934 - Menu and message characters display as boxes Bug 796895 - Report end and start dates not obeyed Bug 796935 - Scrollbar indicator does not move while scrolling Bug 796938 - Typing account name no longer navigates to account Bug 796942 - Make Auto-Split Optional or Undo-Able for Data Entry Bug 796890 - CSV import of multi-split transactions marks reconciliation status of first line as cleared Bug 796882 - Entering an amount as a calculation fails the first time in bills Bug 796867 - GNUCash crashes on startup with Mac Mojave 10.14 in Dark mode. Bug 796953 - Attempting to enter loan causes 3.3 to crash Bug 796870 - Cannot (occasionally) undo invoice billing Bug 796954 - No scroll in invoice/billing and all columns not visible. Column resizing is disastrous Bug 796955 - Import CSV - Single-line two-currency transactions can't be imported Bug 795804 - Extremely slow save Bug 795383 - Gnucash crashes on import of a 1400-transaction (or more) CSV file Bug 796946 - Mortgage and Loan Repayment Setup tool crashes when exiting "Loan Repayment Options" page Bug 796970 - Disable editing of currency retrieval settings for currencies. Bug 796973 - Blocking problem when importing QIF - trading commodities enter Information Bug 796968 - Screen display gets corrupted in some circumstances when multiple windows stacked on top of each other Bug 796971 - Keys "Home" and "End" do not work after popup is displayed Bug 796879 - GnuCash crashes on startup Bug 796894 - Edit -> Preferences results in gnucash.exe- No Disk error box Bug 796979 - GnuCash segfaults on first startup when run from remote X session Bug 796983 - fails when importing QIF exported by Quicken 2015 Deluxe Bug 796905 - GNUcash does not start after windows 10 update Bug 796976 - saving file with scheduled transaction hangs: copy of scheduled transactions missing in tmp file? Bug 796974 - Feature Request - Headings for the Matcher column Deposit/Withdrawal do not change to Debit/Credit when formal accounting labels are preferenced Bug 796990 - Budget : Newly created account and account with zero transaction cannot be shown in Budget Bug 796989 - some date/time does not honor user locale Bug 796936 - Saving XML-formatted file to CryFS volume crashes GNUCash Bug 796965 - Show Unused Accounts Bug 796977 - No amounts displaying after upgrade from 2.6.19 to 3.3 Bug 795384 - GnuCash 3 is tremendously memory hungry on macOs Bug 796878 - test-qofsession fails on x86_32 Bug 796992 - gnucash --add-price-quotes always fails 3.3 - 30 September 2018 The fourth release of the 3.x stable series. The following bugs have been fixed: 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:\Users\username\Documents\GnuCash\2.6.21\xxxx\xxxx.gnucash Bug 796054 - Unposting and reposting invoice doubles amounts. Add scrub function to unblock the double post transaction 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. Other repairs or enhancements not marked as bugs: Set toolbar buttons to show both icon and text. And make the icon small to recover some vertical screen estate. The motivation for this is that Gtk has dropped the ability for users to change a toolbar's appearance. And as our icons are often less than descriptive many users benefit from having textual descriptions as well. This is the best compromise we can make until the gui gets an in-depth redesign. Add preference for forcing prices to decimal display. Anticipating that some users might prefer to see exact prices, add a preference to General>Numbers to configure whether prices are rounded to decimals or are displayed as exact fractions. Revert the "Average Cost" pricing changes made in 2.6.17. These changes broke trial balances in many books. Allow saving to xml over an existing sqlite3 file and the other way around. Add customer/vendor ID in client section of invoices. Partly fixes bugs 430259 and 742086; full fixes would require not-backward-compatible data model changes. Change the default filter for General Ledger. The General Ledger default for the number of days shown is 30 but for the Register it is 0, meaning show all. So change the default filter based on ledger type and use this when determining if the setting should be saved or removed. Fix gtk accelerator mixups by explicitly disabling actions that are not relevant. For example, File->Print and its variants for various page types all use the same 'p' as global accelerator. It was possible to have gnucash invoke the 'Print Report...' action instead of the 'Print Invoice...' action when hitting p on an invoice page. If no report page was open at this point, gnucash would crash. If a report was open, gnucash would invoke the print action on that report instead of opening an invoice report for the invoice. [job-report] Prevent Crash if there is no AR account Add the ability to cascade account colours in account tree. The colour on an account that has sub-accounts can be applied to its sub-accounts; by default only those sub-accounts that don't have a colour set are affected, but there's a preference to override that. Speed up loading the preference dialog by blocking register updates until the dialog is fully loaded. Update change_tax_code.py, add basic test for python query. Simplify GNCQueryView's data model: It was managing a number of redudant parameters which were leaking memory all over the place. The information that was tracked could easily be extracted from the underlying GtkTreeView, GtkTreeModel or GtkTreeSelection when needed. Open customer/vendor/employee report when double-clicking an the respective owner the cust/vend/empl overview page. Update Overview of README based on https://lists.gnucash.org/pipermail/gnucash-devel/2018-September/042748.html Many new tests for reports. Some substantial speedups when loading large amounts of business transactions from a SQL backend. Clean up a lot of memory leaks. Remove all use of Timespec in the program. Provide deprecated wrapper functions supporting timespecs for custom reports; users should update the reports as soonas possible. Updated Translations: Farsi, Ukrainian 3.2 - 25 June 2018 The third release of the 3.x stable series. The following bugs have been fixed: 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. Other repairs or enhancements not marked as bugs: 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. Updated Translations: Dutch 3.1 - 29 April 2018 The second release of the 3.x stable series. The following bugs have been fixed: Bug 118391 - Long currency names untranslated Bug 769686 - Notes not imported when using update and reconcile in import transactions from CSV Bug 772776 - VERY large queries (over 11000 fields in IN clause) slow down GnuCash Bug 782144 - git-master - Save Corrupts Data File / Not Open Data File Bug 792105 - Startup takes several minutes Bug 793461 - Transaction matcher window blank when importing QFX Bug 794767 - Dates default to 01/01/1970 Bug 794916 - Fails to find environment file at startup when installation prefix is '/opt' Bug 794936 - 3.0 does not open previously saved sqlite3 files properly - corrupted business data Bug 794941 - Both print icons export to pdf Bug 794953 - Ellipsize on short tab labels Correct error on when to ellipsize tab labels. Also as this is used in two places separate out this to new function so it is not duplicated. Bug 794990 - Double click does not work on saved reports When you double click on the saved report description nothing happens. This was down to a conflict on a couple of call backs and one of them was incorrectly setup. Bug 794994 - Display Alphavantage key in full Set the entry to expand so all the space is used to display. Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file Bug 795039 - Crash on startup using Technicolor Style sheet in report Bug 795040 - GnuCash crashes when searching for a newly created bill Bug 795049 - GnuCash 2.6.20-1 (Fedora Linux package) is unable to open MariaDB. Bug 795064 - Enable subtotal-only if either sortkeys are dates This will allow 'show subtotals only' if sortkeys are date-types. This allows, for example, prime-sortkey=date, yearly. sec-sortkey=date, monthly. Bug 795068 - src/optional/python-bindings missing several files Bug 795080 - Some dates reset to 01/01/1970 An odd corner case: BST apparently came off of DST at 23:00 26 Oct 2014, so midnight that day was ambiguous about being DST or not; that causes the local_date_time constructor to throw in spite of the tm.is_dst element being 0 (meaning pick standard time). Instead of just failing in that case, try constructing a local_date_time three hours later then adjust it back three hours. If *that* doesn't work then throw a std::invalid argument. Bug 795082 - CSV import crashes if a transaction's 'Account' field is empty and no default Account set Bug 795101 - Scrollbar floats and covers toggle buttons When the scrollbar appears for the reconcile windows it can float above the reconcile toggle button which make it difficult to toggle. Move this column to the start which has the advantage of aligning the amount column above the Total value. Bug 795142 - Unable to enter account codes in business sheets In Bills, Invoices and Expense vouchers you can not enter an account code in an account field like you can on a normal register, enable this. Bug 795155 - CSV import does not distinguish between deposit and withdrawal Bug 795347 - Australian (GMT+10) OFX transactions imported have previous days date Bug 795377 - Reads and saves Gnucash 2.6.19 XML file, then can't reread it, due to bad date in old file Bug 795389 - Hard to see figures in the budget window The budget view had hard coded black for normal values and dark grey for other values. Changed this so normal values are reset to default color and adjusted the grey based on default color for theme. Bug 795405 - All Dates in Price Database Off-By-One After 3.0 Upgrade Bug 795446 - On Windows there is a blank tip of the day When the tip_of_the_day.list is created a new line is appended to the list file and on Windows this causes a blank tip so remove the adding of the extra line. Bug 795471 - Budget window scrolls edited cell out of site When editing cells that have been revealed on the right by scrolling the window snaps back to the left hiding the cell being edited. This may be due to an underlying gtk issue but these changes fix the issue visually. Other repairs or enhancements not marked as bugs: On Windows the tooltip for saved reports was incorrect When the mouse was placed over a saved report description on Windows an empty tooltip was displayed. Setup the query tooltip callback so it does not display a tooltip for description column. Fix crash when loading sql book with posted transactions Add ability to recognize and use a pre-compiled libgmock.so. html-font: add default font family Windows ships with GTK2 in which the default font styles are named "Sans" "Sans Bold" "Sans Normal" etc. There is no "Sans" font in Windows; I vote to add a default "Sans-Serif" font-family which is valid CSS. This ensures exported reports are shown as intended. Several improvements to the Transaction and GST reports. csv-impport - Allow empty amount fields Treat empty amount fields as 0. This is necessary for example in the case the csv import file has both a deposit and a withdrawal column. Remove the set transient parent setting for Reconcile window The Reconcile option is already a window so it is not necessary to set this value which allows the jump to transaction to work properly. Date Format dialog flashes up when file/properties used When you select the File/Properties dialog, in the construction of that a 'Date Format' dialog flashes up while the date component is moved to the properties dialog. Can mainly be seen on Windows so remove the visible setting in glade file. Prevent throw in gnc-pricedb. If a price lookup is given an invalid time64/timespec (i.e. INT64_MAX) then just return NULL instead of trying to find the nearest price. Set GNC_VCS at build time instead of when making the tarball. Because the tarball is always made from a VCS repo. If there are no prices in the db, critical errors are flagged When dialog transfer is used between two commodities and there are no prices in the db a critical error is logged. Test for price object being NULL before retrieving the price for the error message. The following translations are updated: Slovak, Spanish Known Problems: It is not possible to overwrite SQL Databases from within GnuCash, even though GnuCash will ask if you want to. Bug 789594 Several dates, including Accounting Period, are subject to change with time zone and daylight-time changes. Bug 791825 Some HBCI information is not loaded correctly so the first transaction download will re-retrieve transactions unless the beginning date is set explicitly. Bug 792397. The new CSV importer's Price of Shares column doesn't work. Bug 793306 The new CSV importer's numeric parser can't parse numbers of the form x + y/z. Bug 793556. Python bindings may not work in some installations because the bindings are unable to find the backend modules (libgncmod-backend-dbi and libgncmod-backend-xml). Bug 794526 Get Quotes can be slow if one has a large number of saved prices. Bug 794644. The Mac localization code can set the wrong encoding for strftime causing the register's date picker to label months "Null" in some locales. Bug 794807 On Mac, the File Open dialog will crash if one types anything. (This is a Gtk+ bug). Bug 794809 An open register is not immediately updated when the Since Last Run dialog creates transaction splits in the register's account. Bug 794854 GnuCash asks if one wants to save changes when quitting or opening a file even if there's no book open. Bug 794870 Windows Defender falsly identifies the GnuCash installer as a Trojan. Bug 794967 Some Windows users have trouble using Chinese input methods on the Register; other controls work. Bug 795253 On Microsoft Windows the Tab key does not work in the register if the caps-lock key is on. Bug 795294 GnuCash will crash if one attempts to import a CSV file with more than 1400 transactions. Bug 795383 Invalid input into a formula (Debit/Credit) field is inconsistent depending on the input. Bug 795614. 3.0 - 1 April 2018 The first release of the 3.x stable series. New Features for Users: The headline item for this release is that GnuCash now uses the Gtk+-3.0 Toolkit and the WebKit2Gtk API. This change was forced on us by some major Linux distributions dropping support for the WebKit1 API. Unfortunately the Webkit project doesn't support Microsoft Windows so that platform will continue to use the WebKit1 API, though with Gtk3. We've selected Gtk+-3.14.0 as the minimum version because it fully supports CSS theming. New editors to remove outdated or incorrect match data from the import maps, a new user interfacs for managing files associated with transactions, an improved facility for removing old prices from the price database, and a way to remove deleted files from the history list in the file menu. New Reports: A Reconciliation Report based on the Transaction Report,a Income GST Report, and a Cashflow Barchart report. A new CSV importer largely rewritten in C++, adding new features including the ability to re-import CSV files exported from GnuCash, along with a separate CSV price importer. A new preference panel for the Alphavantage API key so that Finance::Quote users need not edit /etc/gnucash/environment. We've removed all references to the various Yahoo! quote sources and made Alphavantage the default. Data file directories are now located appropriately to the operating system's conventions by default: - Windows: CSIDL_APPDATA/Gnucash - OS X: $HOME/Application Support/Gnucash - Linux: $XDG_CONFIG_HOME/gnucash (or the default $HOME/.config/gnucash) It's still possible to overried with the environment variable GNC_DOC_PATH, which replaces GNC_DOT_DIR in earlier versions of GnuCash. Accounts in the Bayes import map are now linked by GUID instead of names so that the matcher won't have to be retrained if you rename an account. The Bayesian import maps are also stored in a flatter structure to allow faster access, especially in SQL. These changes mean that if you have Bayesian mapping data, once converted your database will be loadable only by GnuCash 2.6.20 and later. MySQL and SQLite3 date storage has changed a bit. Once converted, MySQL and SQLite3 database will be loadable only by GnuCash 2.6.19 and later. Numerics are rewritten to allow for more significant digits. The old 6-digit-maximum fraction is now 9-digits, and prices may have up to 18 digit precision. Chart Reports appearance is improved, including more modern chart colours as suggested by https://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. Distribution tarballs can now be built with CMake as well as Autotools. (Rob Gowin) We've reorganized the code into a core library directory, libgnucash, and application-specific directory, gnucash. The python bindings are now in a top-level directory, bindings; code pinched from other projects is in borrowed, the account templates, check templates, and pixmaps are consolidated in data, and common holds the cmake modules and test framework code. The bin directory's contents have moved to the top level gnucash directory and bin is removed. There are now directories for gschema, gtkbuilder and ui files directly in gnucash. In principle all files of each type should go into these global directories. The only exception is if such a file belongs to an optional module. In that case the file remains located inside that module's directory. Currently we have ui, glade and gschema file exceptions in aqb and ofx importers. The build system is changed from Autotools to CMake. All options except python bindings and the python console demo are enabled by default. Highly parallel builds with Ninja are possible and recommended, except on Microsoft Windows. The Windows build system is rewritten to use MSYS2, Mingw-w64, Powershell, and jhbuild. Add a "pot" target to the build system so that translators can easily generate a new gnucash.pot from a git repository. Detect presence or absence of libxml2 and makeinfo during configuration; abort if the first is missing and don't build the (mostly obsolete) texinfo documentation if the latter is. Document both in README.dependencies. Replaced Timespec with time64 in the Scheme and Python bindings, introducing many new C time64 functions to accomodate the replacement. Timespec will eventually be removed from the C API as well. Some cruft removal in libgnucash/scm plus moving some code to its only use location. "main.scm" is renamed to "utilities.scm". The "printf" family of Scheme custom functions is replaced with the built-in "format" facility. Change a generally unnecessary warning about being unable to open a module (usually because the file is still being created) to a debug message. It appears mostly during highly parallel builds and was distracting. Appstream configuration is updated to the latest spec. Added two functions to the Scheme option API: * gnc:option-make-internal! will hide an existing option. e.g. a derived report can set the value for a Display/* option and hide it from the user. * gnc:unregister-option will unregister option. This is primarily useful for derived options e.g. another report copies from transaction.scm and removes some options and recreates them with different parameters. For example, unregister existing option from section "Accounts" name "Accounts", and recreate with different parameters e.g. limited account types. Drop intltool in favour or using modern gettext. By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml. For platforms where this isn't available, setting ALLOW_OLD_GETTEXT=ON will allow building but some strings will not be extracted to gnucash.pot Pass GTEST_ROOT and GMOCK_ROOT through to distcheck. So that they don't have to be exported in the environment if they're needed. The Python Bindings and Console are now for Python 3, and enahanced to expose more GnuCash API. Compilation of GLib Schemas during build and installation can be disabled by setting -DCOMPILE_GSCHEMAS=OFF. This is intended *only* for distribution packaging scripts that run glib-compile-schemas themselves. Otherwise note that if you install to a DESTDIR you'll need to re-run glib-compile-scemas after moving the contents of $DESTDIR$PREFIX/share/glib-2.0/schemas to $PREFIX. The CuteCash front end has been removed. The code we need from GOffice has been brought into the GnuCash code base so GOffice is no longer a dependency. The register drawing code has been upgraded to draw directly on a cairo surface, removing the dependency on libgnomecanvas. GnuCash 3.0 adds the following dependencies: Boost, ICU, Googletest. Known Problems: It is not possible to overwrite SQL Databases from within GnuCash, even though GnuCash will ask if you want to. Bug 789594 There is no theming tool for Windows or Macs so users of those platforms must apply theming by hand. Bug 791823 Accounting Period dates are subject to change with time zone and daylight-time changes. Bug 791825 Opening a large SQL database on Windows is very slow on some machines, merely slow on others. Bugs 792105, 794482. Some HBCI information is not loaded correctly so the first transaction download will re-retrieve transactions unless the beginning date is set explicitly. Bug 792397. The new CSV importer's Price of Shares column doesn't work. Bug 793306 Importing an OFX file on Windows fails with an empty matcher window. Bug 793461. The Bayes account matcher can take a long time to convert the accounts from name string to guids. This is a one-off, happening only the first time one imports into an account on GnuCash 3.0. Bug 794334. The new CSV importer's numeric parser can't parse numbers of the form x + y/z. Bug 793556. Python bindings may not work in some installations because the bindings are unable to find the backend modules (libgncmod-backend-dbi and libgncmod-backend-xml). Bug 794526 Get Quotes can be slow if one has a large number of saved prices. Bug 794644. Some users see 1 January 1970 instead of the default date in the New Invoice or New Bill dialog and on the unposted bill and invoice. Bug 794767. The Mac localization code can set the wrong encoding for strftime causing the register's date picker to label months "Null" in some locales. Bug 794807 On Mac, the File Open dialog will crash if one types anything. Bug 794809 An open register is not immediately updated when the Since Last Run dialog creates transaction splits in the register's account. Bug 794854 GnuCash asks if one wants to save changes when quitting or opening a file even if there's no book open. Bug 794870 The Online Actions menu includes some obsolete and non-functional selections. Bug 794880. 2.6.20 - 1 April 2018 This is the final release in the 2.6 stable series. The following bugs are fixed: Bug 765846 - Expense Over Time for subaccounts: An error occurred while running the report: Fix crash if acc-depth too low. Bug 791848 - GC 2.6.x does not handle ISO dates introduced with GC 2.7 Enable reading ISO-formatted dates, recognize GNC_FEATURE_SQLITE3_ISO_DATES. Bug 792008 - gnucash 2.6.19 fails to build Replace g_assert_true with g_assert for now Bug 793278 - wrong data in charts with accumulated values (like "net-linechart", "net-barchart" and "liabilities barchart") Bug 794030 - relative date functions compute wrong day of month Bug 790526 - Mathematical bug This change will fix 'num-of-weeks-since-1/jan/1970' which formerly used quotient to remove the fractional part of the division. For negative values of num-of-weeks, the number is truncated in the wrong direction (i.e. towards 0). This change uses floor instead to ensure the num-of-weeks found is the nearest integer LESS than the fractional number. Other repairs or enhancements not marked as bugs: Online HBCI actions: Remove outdated non-SEPA menu items. Add XML namespaces for all Account Hierarchy Templates. General cleanup of Account Hierarchy Templates. Fix auto-selection of splits in reconcile Really use all splits of any given day. Up to now usually the splits of the given date were not or not all included, as the time comparison didn't correctly ignore any given time-of-day of the splits. Instead, all possible time-of-days should be included. Properly detect git in case of linked worktree Account Hierarchy for India: Set LANGUAGE=hi and LANG=en_IN to access it. Improve Import menu entries Customer & vendors... use same menu label as others, replace template by tooltip, add ellipsis to entry, add comments to distinguish "Import" as verb and substantive. Provide preference panel to set the Alpha Vantage API key needed for Finance::Quote. Correct the appstream definition to match the current spec. Fix collectors and min-date handling in reports. Updated Translations: Dutch, German, Spanish, Russian 2.7.8 - 25 March 2018 The Gnucash Development Team is pleased to release Gnucash 2.7.8, the ninth release of an unstable series leading to Gnucash 3.0. This release is a Release Candidate: If no bugs requiring major work are reported the next release will be 3.0. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. The following bugs are fixed only in unstable/master: Bug 787439 - Segmentation Fault in Transfer dialog after clearing Date field and pressing escape. Bug 794242 - Remove keep above setting for assistant hierarchy Other repairs not marked as bugs in git: When doing a file save from the a new start we have no key file Test for Key_file not being NULL before trying to free it. Stop critical error due to testing null filename g_filename_from_uri returns NULL if it is not a file uri so test for the file:// prefix before doing g_file_test More transient-parent fixes. Add missing response section to the account picker dialog. Glade 3.20 adds surplus padding option to action area When glade files are saved which have GtkAssistants defined a packing section is added to the assistant action area which then causes a warning so remove them. Add XML namespaces for all Account Hierarchy Templates. Increase default options dialog size: The old 400x400 was woefully inadequate for most options especially options involving account trees. Updated Translations: None. 2.7.7 - 18 March 2018 The Gnucash Development Team is pleased to release Gnucash 2.7.7, the eighth release of an unstable series leading to Gnucash 3.0. Notice that we've decided that beginning with the upcoming major release we will use two-digit release numbers and that the next stable release will be 3.0. Mainenance releases will be 3.1, 3.2, etc. The next unstable release will be 3.900 and will lead to 4.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. New Features For Users: For Developers and Distro packagers: The Python Bindings and Console are now for Python 3. It's now possible to create a GncPrice from the Python bindings with "gnc_price_create(book)", removing the need to clone an existing GncPrice object and modify it. Compilation of GLib Schemas during build and installation can be disabled by setting -DCOMPILE_GSCHEMAS=OFF. This is intended *only* for distribution packaging scripts that run glib-compile-schemas themselves. The following bugs are fixed only in unstable/master: Bug 787439 - Segmentation Fault in Transfer dialog after clearing Date field and pressing escape. Bug 791831 - Add python3 support. Bug 794242 - Remove keep above setting for assistant hierarchy Other repairs not marked as bugs in git: Fix date corruption in SQL load. Four date elements were affected: GncEntry::date, GncEntry::date_entered, GncInvoice::opened, and GncInvoice::posted. This does not affect the stored values of the dates. Fix lost Bayesian matches in SQL backend. The import-map-bayes uses a three-part key that uses the same delimiter as a path and the SQL backend was throwing away everything except the account guid. More transient-window fixes and other Gtk3 cleanups. Add xmlns namespace declarations to all of the accounts templates that lacked it and remove the emacs mode-setting comments at the end of them. Updated Translations: Spanish 2.7.6 - 12 March 2018 The Gnucash Development Team is pleased to release Gnucash 2.7.6, the seventh release of an unstable series leading to Gnucash 3.0. Notice that we've decided that beginning with the upcoming major release we will use two-digit release numbers and that the next stable release will be 3.0. Mainenance releases will be 3.1, 3.2, etc. The next unstable release will be 3.900 and will lead to 4.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. New Features For Users: Modernise chart colours from the dated CSS defaults to modern colours as suggested by https://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 /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. The following bugs are fixed only in unstable/master: 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. Other repairs not marked as bugs in git: 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 KNOWN PROBLEMS: Bug 789594 - Unable to overwrite splite3 database file Bug 791823 - There is no Gtk3 theme-setting tool for Windows. Bug 791825 - Accounting period dates off-by-1 2.7.5 - 25 February 2018 The Gnucash Development Team is pleased to release Gnucash 2.7.5, the sixth release of an unstable series leading to Gnucash 3.0. Notice that we've decided that beginning with the upcoming major release we will use two-digit release numbers and that the next stable release will be 3.0. Mainenance releases will be 3.1, 3.2, etc. The next unstable release will be 3.900 and will lead to 4.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. New Features For Users: Locate all user data and configuration files to platform-dependent standard locations: - Windows: CSIDL_APPDATA/Gnucash - OS X: $HOME/Application Support/Gnucash - Linux: $XDG_CONFIG_HOME/gnucash (or the default $HOME/.config/gnucash) 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 packagers: Some cruft removal in libgnucash/scm plus moving some code to its only use location. "main.scm" is renamed to "utilities.scm". The "printf" family of Scheme custom functions is replaced with the built-in "format" facility. Change a generally unnecessary warning about being unable to open a module (usually because the file is still being created) to a debug message. It appears mostly during highly parallel builds and was distracting. Added dependency information to all CMake targets, replacing a dependency on build order that was carried over from autotools. Highly parallel builds in ninja now complete without interuption. Ensure that all GtkBuilder and GtkUIManager files are correctly installed and that no configuration of build products in those directories are.. Appstream configuration is updated to the latest spec. Fix installation of a gnucash-only gschemas.compiled overwriting the system one. Note that if you install to a DESTDIR you'll need to re-run glib-compile-scemas after moving the contents of $DESTDIR$PREFIX/share/glib-2.0/schemas to $PREFIX. Added two functions to the Scheme option API: * gnc:option-make-internal! will hide an existing option. e.g. a derived report can set the value for a Display/* option and hide it from the user. * gnc:unregister-option will unregister option. This is primarily useful for derived options e.g. another report copies from transaction.scm and removes some options and recreates them with different parameters. For example, unregister existing option from section "Accounts" name "Accounts", and recreate with different parameters e.g. limited account types. The following bugs are fixed only in unstable/master: 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 Other repairs not marked as bugs in git: 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. KNOWN PROBLEMS: Bug 789594 - Unable to overwrite splite3 database file Bug 791823 - There is no Gtk3 theme-setting tool for Windows. Bug 791825 - Accounting period dates off-by-1 2.7.3 - 31 December 2017 The Gnucash Development Team is pleased to release Gnucash 2.7.3, the fourth release of an unstable series leading to Gnucash 3.0. Notice that we've decided that beginning with the upcoming major release we will use two-digit release numbers and that the next stable release will be 3.0. Mainenance releases will be 3.1, 3.2, etc. The next unstable release will be 3.900 and will lead to 4.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. 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 The following bugs are fixed only in unstable/master: Bug 616709 - Pressing delete key while editing account name offers to delete account. 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 790526 - Mathematical bug 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. Other repairs not marked as bugs in git: 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. KNOWN PROBLEMS: On Microsoft Windows starting the AQBanking Setup Wizard crashes GnuCash. Bug 789594 - Unable to overwrite splite3 database file Bug 791823 - There is no Gtk3 theme-setting tool for Windows. Bug 791825 - Accounting period dates off-by-1 2.7.4 - 3 February 2018 The Gnucash Development Team is pleased to release Gnucash 2.7.4, the fifth release of an unstable series leading to Gnucash 3.0. Notice that we've decided that beginning with the upcoming major release we will use two-digit release numbers and that the next stable release will be 3.0. Mainenance releases will be 3.1, 3.2, etc. The next unstable release will be 3.900 and will lead to 4.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. 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. The following bugs are fixed only in unstable/master: 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 Other repairs not marked as bugs in git: 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 mor 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. Updated Translations: Dutch, German, Russian, Spanish, and Turkish. The translations from goffice for the small piece of it that we use have been copied into the corresponding gnucash translations. KNOWN PROBLEMS: Bug 789594 - Unable to overwrite splite3 database file Bug 791823 - There is no Gtk3 theme-setting tool for Windows. Bug 791825 - Accounting period dates off-by-1I was 2.7.3 - 31 December 2017 The Gnucash Development Team is pleased to release Gnucash 2.7.3, the fourth release of an unstable series leading to Gnucash 3.0. Notice that we've decided that beginning with the upcoming major release we will use two-digit release numbers and that the next stable release will be 3.0. Mainenance releases will be 3.1, 3.2, etc. The next unstable release will be 3.900 and will lead to 4.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. 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 The following bugs are fixed only in unstable/master: Bug 616709 - Pressing delete key while editing account name offers to delete account. 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 790526 - Mathematical bug 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. Other repairs not marked as bugs in git: 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. 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. Bug 789594 - Unable to overwrite splite3 database file Bug 791823 - There is no Gtk3 theme-setting tool for Windows. Bug 791825 - Accounting period dates off-by-1 2.6.19 - 16 December 2017 The following bugs are fixed: 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 790620 - Failed to create file "/usr/share/glib-2.0/schemas/gschemas.compiled.XY789Y". Other repairs not marked as bugs in git: Adapter for new flat KVP scheme for bayes import maps to be introduced in 2.8.0. A better way to handle MySQL's 0000-00-00 invalid date indicator. Fix python build and test errors on Mac. Don't try to unref a NULL GDateTime*. Add translator hint comments to C and glade files. Improve type of bank accounts in SKR03 Stop testing GObject's handling of invalid parameters Updated Translations: Dutch, German, Russian, Serbian 2.7.2 - 26 November 2017 The Gnucash Development Team is pleased to release Gnucash 2.7.2, the third release of an unstable series leading to Gnucash 2.8.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. This release changes file locations, binding APIs, report options, and can make your data file no longer compatible with previous versions. See https://wiki.gnucash.org/wiki/UpdateNotes for details. New Features For Users: No new features this time, but a raft of fixes and improvements! The following bugs are fixed only in unstable/master: 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. This one required handling a new error condition. Bug 790550 - FTBFS: missing __init__.py Other repairs not marked as bugs in git: SQL parameter quoting is corrected in the backend so that only string parameters are quoted. This caused trouble when trying to store SQL NULL; the string 'NULL' is different from the value NULL. SQL table versions weren't set consistently and a bogus version test could cause some tables to be not loaded. Better, more targeted handling of MySQL's penchant for setting date-time fields to "0000-00-00 00:00:00" if it doesn't like the input. This should be much less common thanks to fixing Bug 784623. Major repairs to the "Dense Calendar" date selector. Fix colors on graph reports so that the selections work and the defaults are no longer transparent. Two large batches of styling fixes for Gtk3 from Bob Fewell. Fix the guile-compiled path in the environment file so that GnuCash can start on Windows. Convert the graphical reports to use GnuCash's rational numbers instead of doubles for better accuracy. KNOWN PROBLEMS: 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. 2.7.1 - 29 October 2017 The Gnucash Development Team is pleased to release Gnucash 2.7.1, the second release of an unstable series leading to Gnucash 2.8.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. New Features For Users: A new Cashflow Barchart report from Jose Marino Transaction Report improvements, including regular expression filtering, from Chrostopher Lam. The About dialog box layout is improved. 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. The following bugs are fixed only in unstable/master: Bug 789298 - Prompt for file history update leads to crash during startup. Other repairs not marked as bugs in git: 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. 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. 2.7.0 - 17 October 2017 The Gnucash Development Team is pleased to release Gnucash 2.7.0, the first release of an unstable series leading to Gnucash 2.8.0. This release is UNSTABLE and SHOULD NOT BE USED in production. See the KNOWN PROBLEMS list at the bottom of the announcement. Note: Version information in the splash screen and About dialog will now reflect the date of the last commit used to build GnuCash rather than the date it was compiled. This is to assist quality assurance and debugging efforts by Linux distribution maintainers. 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. (Geert Janssens and Robert Fewell) 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) 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. (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. We doubt any users will be affected. (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. Of interest mostly to developers, we've reorganized the code into a core library directory, libgnucash, and applications-specific directory, gnucash. 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. The following bugs are fixed only in unstable/master: Bug 87652 - KVP modification does not change 'dirty' flag. Bug 120250 - KVP XML loader ignores '0' timestamps? Bug 122895 - general ledger should be named journal Bug 343227 - Summary bar alignment patch. Bug 388500 - Add option to remove deleted files from the history list. Allows removing files from the MRU list if they no longer exist. Bug 541541 - RFE: auto-hide unused accounts Bug 608098 - Option is hard to find: Change Transaction Report to show account names in multirow txn On the Transaction report the General->Style option has been replaced with a similar Display->Detail Level option. This was done in order to make the display of some columns dependent on the value of this option. When upgrading from 2.6.x or earlier to 2.8.x and you had saved or open reports that had set General->Style to 'Multi-line' you will have to update these reports to set 'Multi-line' on the Display->Detail Level option instead and optionally resave your report. Bug 639401 - Invoices Due Reminder Bug 645786 - Fancy invoice report still doesn't use fancy date format preference Bug 647230 - Display the blank split after the "now" line instead of at the end Bug 679791 - Import Template for importing CSV files - part2 Bug 684719 - Man pages for gnc-fq-* perl scripts Bug 689489 - Be able to show file location The file location is now visible in the status bar while hovering over the recent file list of the File menu. The currently open file is the top-most file in this list so its location can be seen by hovering over it with the mouse. Bug 695610 - GnuCash Tax Invoice for Australia Bug 706021 - Test match text for valid account path Bug 726535 - Budget BarChart Report - add option to change to a line chart Bug 728136 - Rate in Job Bug 729001 - Fix a minor typo affecting the profile option in the previous commit Bug 731589 - Add account level selection on accounts option tab Bug 733186 - [PATCH] Extend account tree view search function Bug 734168 - Tax invoice can be a bill too. Bug 737171 - After account creation wizard and saving, empty account window is shown Bug 738462 - CSV Transaction Import should be able to import CSV files generated by GnuCash export Bug 738477 - WebKit is broken on Win32. Bug 741810 - Compilation fails because of creating .gnucash Bug 747377 - Fix overly restrictive input validation for IBAN of SEPA transfer. Bug 752686 - Initialize temp GValues in xaccAccountGetReconcileLastInterval. Bug 754530 - Add CSV Export Simple Layout Bug 754533 - Add the option to do a CSV export of a Register view Bug 756373 - Typos in Transaction Rpt options mouse-over text Bug 757532 - [PATCH] Make start and end rows editable by keyboard Bug 759674 - GNUCash crashes when importing invoices or bills with delimited import Bug 760107 - Change default date completion to sliding window The default date completion when entering partial dates has been changed from "always complete in current calendar year" to "complete to a sliding window starting 11 months before current month". For example if you enter "1/23" (January 23rd) while today is December 10th 2015, the date will be expanded to January 23rd 2016 rather than 2015. If you prefer to keep the old behaviour, you can restore to it via Edit->Preferences->Date/Time->Date Completion. In addition if you were already using the sliding window before, but didn't change the previous 6 months before default, you will now also get the new default 11 months before. Again if you prefer the old behaviour it can be restored via the same Preference. Bug 764268 - MT940 import select account based on transaction info Bug 769115 - db name isn't escaped well Bug 769576 - Seg Fault on Editing Scheduled Transaction's Amount Bug 778042 - These are the script changes for jqplot reports. Adds resize function to graphical reports. Bug 780845 - link in github repo README file needs correction/editing 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. 2.6.18 - 24 September 2017 The following bugs are fixed: 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. Other repairs not marked as bugs in git: 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. Updated Translations: Farsi, German, Japanese, Latvian, Serbian, Spanish 2.6.17 - 2 July 2017 The following bugs are fixed: Bug 603379 - Prevent changing some Account Options if it has transactions Followup: Relax the account type change restrictions again. In the new implementation account types can'tz be changed for an account with splits: - if the change woud force a commodity change (to/from normal accounts from/to stock related accounts) - 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 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 Other repairs not marked as bugs in git: 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. Updated Translations: Arabic, Turkish 2.6.16 - 26 March 2017 The following bugs are fixed: 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 Other repairs not marked as bugs in git: 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 Localize the word “CURRENCY” used in the commodity namespace selectors. The following translations have been updated: Catalan, Dutch, Finnish, German. Portuguese, Russian, Serbian. 2.6.15 - 18 December 2016 The following bugs are fixed: 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. Other repairs that weren't marked as bugs in git: 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). Translation Updates: Danish, German, Serbian 2.6.14 - 17 September 2016 The following bugs are fixed: 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 - 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. Other repairs that weren't marked as bugs in git: 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). Translation Updates: Dutch, German, Serbian, Spanish 2.6.13 - 28 June 2016 The following bugs are fixed: 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 Other repairs that weren't marked as bugs in git: 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. 2.6.12 - 26 March 2016 The following bugs are fixed: 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.11 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. Other repairs that weren't marked as bugs in git: 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 Robert Fewell has contributed changes needed to allow the 2.6 series to read files from future major versions which use GUIDs instead of names to identify matched accounts with the Bayesian import matcher. Translation Updates: Azeri, Basque, Catalan, Chinese (Simplified), Czech, Danish, Dutch, Farsi, Japanese, Kinyarwandan, Portuguese, Slovak, Serbian, Swedish, Turkish, Ukrainian. 2.6.11 - 11 January 2016 This is a snap release to correct a QIF import regression. The following bugs are fixed: 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 Other repairs that weren't marked as bugs in git: 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. Updated Translations: German 2.6.10 - 20 December 2015 The following bugs are fixed: 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. Other repairs that weren't marked as bugs in git: 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 Translations: Portugal Portuguese Updated Translations: Arabic, German 2.6.9 - 5 October 2015 The following bugs are fixed: 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. Updated Translations: German 2.6.8 - 27 September 2015 The following bugs are fixed: 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. Other repairs that weren't marked as bugs in git: 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. Updated Translations: Danish, Dutch, French, German 2.6.7 - 28 June 2015 The following bugs are fixed: 681225 - income statement displays blank base currency entries when trading account transactions are present during the report period. 734183 - Set value to zero before calling gnc_exp_parser_parse. 739271 - pt_BR translation wrong word "limpesa". Should be "limpeza". 740955 - Correct general journal and general ledger reports to properly. handle Use-Split-Action-For-Num option in File->Properties. 744858 - Update exchange rate on bill only possible once per session (after unpost/repost). 746163 - Custom register colors (table rows) not recognized from .gtkrc-2.0.gnucash file. 746792 - process payment in foreign currency leads to broken equation. 746873 - Gnucash asks sql passwords before wallet password. 746977 - scm ccache files should be in pkglibdir not pkgdatadir. 747300 - SQL backend missing from most recent DMG? 747377 - Fix overly restrictive input validation for IBAN of SEPA transfer. 747812 - unset LDFLAGS when unsetting CFLAGS. Other repairs that weren't marked with bugs in git: 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. Updated Translations: Azerbaijani, Basque, Catalan, Chinese (Simplified), Czech, Danish, Dutch, German, Kinyarwanda, Persian (Farsi), Portuguese, Slovak, Swedish, Turkish, Ukrainian. New Translations: Serbian 2.6.6 - 29 March 2015 The following bugs are fixed: 619899 - Use normal gettext or intltool toolchain also for scm files 649933 - Creating cash flow report takes a long tim 672760 - Postponed transaction applied invalid date 721196 - CSV. Cannot import lines with empty fields for deposit or withdrawal in bank transaction download. 723409 - Incorrect symbol for Turkish lira 727466 - The symbol of CNY changed to 元 727647 - "gncInvoiceGetTotal" is not read-only function? 731889 - guile 2 exports different autoconf macros than what is expected 733685 - Fancy Date Format doesn't stick 738749 - Broken account template en_GB/uk-vat.gnucash-xea. 739228 - Advanced Portfolio report: wrong calculation of Value Correctly convert the value into the report's currency. 739584 - gnucash-2.6.4 segfaults regularly on transfer . 740471 - Applying payment to invoice Segmentation fault 741228 - "Red line" threshold applies to Template scheduled transactions 741810 - Compilation fails because of creating .gnucash 742089 - Decimal places. Set the debit and credit cells' print_info to the account so that the decimal places are correct for the commodity. 742332 - German tax report uses US tax quarters and not real quarters. 742624 - Scheduled Transaction Editor results in immediate segfault 743609 - Add configure options to disable libsecret detection 743807 - Stops critical error messages. 745265 - Segfault in generate_statusbar_lastmodified_message on Windows. Actually change the default date format without AM/PM 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 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 746977 - scm ccache files should be in pkglibdir not pkgdatadir. Other repairs that weren't reported in bugs: 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 Updated Translations: Danish, Dutch, German, Spanish New Translations: Maithili, Manipuri-Bengali Script, Manipuri-Meetei Mayek Script. 2.6.5 - 16 December 2014 The primary reason for this release is that the problems which plagued 2.6.4 on Microsoft Windows have been resolved. We've also fixed the following bugs: 736359 - Date of 0000-00-00 in MySQL backend crashes GnuCash. 737815 - Graphs Cannot Be Generated Correctly. 738113 - Crash on reload budget report. 738477 - WebKit is broken on Win32. 741418 - Freeze unposting bill, 100% cpu usage. Other fixes that weren't reported as bugs: Pre-compile scm files when building with guile 2. Fix build-time hard-coded path introduced by the guile2 compile changes Prevent crash when standards-report dir doesn't exist. QIF Import crashes when closing via the 'X' button on the last page Omit extension on calls to load-extension. Use one common base directory to store all scheme files and modules. Guile module structure cleanup. Harmonize variable names used to refer to guile modules in all makefiles. Add missing comma in call to gtk_tree_store_set(). Thanks to Frédéric Bière for finding and fixing the problem. Revert to using numerical indexes for the x-axis on bar charts. Aqbanking: Add display of aqbanking subaccountid in initial correspondence setup. Aqbanking online SEPA transfer: Allow transfers without BIC, only IBAN. Also add IBAN checking. Aqbanking transfer: Make IBAN and BIC text entry fields filter digits or alphas correctly as needed. Adapt german SKR03 account template to updated tax rate. Allow GUILE1_PROGS as m4 name. Patch by dimstar@opensuse.org. Add sv_AX, sv_FI, zh_HK, and zh_TW to Makefiles & configure. Updated Translations: Assamese Indic, Danish, German, Gujarati Indic, Italian, Kannada Indic, Konkani Latin, 2.6.4 - 28 September 2014 Between 2.6.3 and 2.6.4, the following bugfixes were accomplished: 120199 - Incorrect sort order in "Sort by Statement Date". 434462 - register color don't work correct with system theme color. 509263 - Since Last Run dialog won't allow resizing of Status column. 610202 - gnucash silently closes when no X11/$DISPLAY is present. 630638 - 'Process payment' should allow to select equity accounts for payment 671615 - French: 'New Customer' button in Find Customer dialog is translated to 'Nouvel onglet' 688965 - Page Up, Page Down keys cause GnuCash to hang. 692249 - Add Help button in Custom Reports dialog box, 695240 - mortgage wizard empty table. 707243 - Hard-coded font colors in account tree? 711440 - Tab labels have different background colour than containing gui element. 711567 - Cannot save a custom report if a path contain diacritic chars 719457 - Template for Home Mortgage Loan isn't properly nested. 719457 - Template for Home Mortgage Loan isn't properly nested. 720427 - Review of french account templates 720934 - Barcharts with many data points have overlapping x-axis labels. 722140 - Add option to control inclusion of trading accounts in cash flow report. 722200 - configure script does not pick the correct am_cv_scanf version. 723145 - Currency display does not respect locale. 723442 - Report Options - Report Name too short. 725054 - Re-numbering sub accounts crashes the program. 725366 - Formula Parsing Error with Scheduled Mortgage Transactions 726449 - Budget Barchart does not show up if running sum is selected. 726888 - cancel button is available on all pages of assistant. 727130 - Crash when newline in Report Title 727338 - Translation and Account file updates for Latvian. 728103 - Invoice opened does not contain the Job under circumstances. 728717 - Ubuntu 14.04 - GNUcash crashes on close. 728841 - XML backend does not always store KVP slots. 729157 - Bill Term discount days are allowed to be more than due days. 729497 - Saved Report Configuration selection window resize. 730255 - Python bindings: Assigns bill entries to non-existant invoice. 731519 - The fix sets the upper limit before it sets the value of the end row spin button. 733107 - Search for reconcile status doesn't work right. 733283 - [PATCH] Loss of fractions when importing OFX investment transactions. 733506 - (ForwadDisableQIF) The forward button is not active even though a file is selected. 734183 - Set all of the denominators correctly on the currency values. 736703 - Scheduled transaction are registered without credit/debit. 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 Documentation Concurrent with the release of Gnucash 2.6.4 we're pleased to also release a new version 2.6.4 of the companion Help and Tutorial and Concepts Guide. 2.6.3 - 30 March 2014 Bugs Fixed: 721196 - Cannot import lines with empty fields for deposit or withdrawal in bank transaction download. 721654 - Style sheet preference is not saved for a Preconfigured Report 723975 - Dialog box displayed during QIF import has placeholder text 724995 - Gnucash crashes due to assertion failed when opening sqlite file 711567 - Cannot save a custom report if a path contain diacritic chars 726430 - Python: account.getName() raises TypeError 726891 - segmentation fault on session.end() Other Changes: Fix resizing of columns in budget view Fix guile 2 stack overflow errors for large reports Fix basis calculation for FIFO or LIFO when less than one lot is sold. 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. Translations Updated: Catalan, Danish, Italian 2.6.2 - 2 March 2014 This is a maintenance release; there are no new features, but Mike Alexander has extensively reworked the Advanced Portfolio Report. Bugs Fixed: 497831 - Can't change the date of a transaction with certain locales 721472 - Fix Reconcile description column. 721677 - Customer Summary does not include inactive customers 722123 - Zero price entry added to price database on stock purchase 722903 - Poor performance of account hierarchy, budgets, reconcile window,... 723051 Implement gncCustomerNextID in Python bindings. 723373 - Don't create any sx in the since-last-run dialog if this is a read-only file 723644 - Make sure that gnc_search_invoice_on_id() returns the correct type of object. 724211 - Can't select march 6 date on register 724426 - Errors in account plan 724427 - New account plan for Sweden 724578 - Problems clearing incompletely paid invoices 724753 - Saved Multicolumn Report Error 725131 - Adding Payments to Fancy Invoice Translations Updated: Catalan, Italian 2.6.1 - 1 January 2014 Bugs Fixed: 454827 - Reports: Incorrect share value of stocks in foreign currency 553020 - Reports: Incorrect share value of stocks in foreign currency 555182 - Security Type template hidden 605991 - Help button on New and Edit Job dialogs brings up wrong help page. 677489 - Critical error reported when initializing an Invoice 721211 - Reconciliation checkboxes fail to sync for split transactions across sub-accounts 721251 - Incorrect Transaction Dates 721260 - Crash on startup: gnucash cannot handle default locale 721290 - SX Editor: Pressing "Enter" too soon hides transaction 721306 - Account hierarchy column widths are reset when restarting a second time without changing the widths 721447 - Entries with values of ,50 are imported as ,51 721464 - Program won’t open the website link 721576 - Gnucash can not work with files, that have russian symbols in path. 721600 - Segmentation fault on startup if report Income/Expense Chart was opened since last running 721607 - fix GnuCash version numbers and remove/update links. 721667 - Accelerator key map loaded from one file and saved 721770 - "Choose accounts to create" has no effect 721791 - Segmentation fault when correcting invalid date 721825 - Online prices displayed as unreadable fractions in 2.6.0 721913 - Fetch Rate crashes application 721929 - Importing a customer list causes a crash. 721954 - Multiple Scheduled Transaction Editors 721966 - --add-price-quotes ignoring compress files preference 722035 - Missing space in the Spanish translation of msgid "Total For " 722123 - Zero price entry added to price database on stock purchase Translations updated: Catalan, Danish, German, Italian 2.6.0 - 29 Dec 2013 The GnuCash development team proudly announces GnuCash 2.6.0, the latest stable release of the GnuCash Free Accounting Software. GnuCash Users can experience the following new features: * 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. * Cutsom 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; only libgnomecanvas 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. For those keeping score, the following changes have occurred since 2.5.10: Bug Fixes: 157247 - Asset account's "total" value should use most recent transaction prices 710823 - libofx can supply broken UTF-8 for account id 710824 - GnuCash should sanitise UTF-8 before serialising files to avoid writing broken unparseable XML. 720555 - General Ledger - Can't Enter Transaction Amounts 720556 - The Tip of the Day preference isn't getting saved 720646 - New Book Tabs on Windows Other Changes: * Don't create a second account hierarchy page when cancelling the Hierarchy Assistant or when using Actions->New Account Hierarchy on an already open book. * Reset Warnings dialog: show translated warnings * The locale-names for Help and the Tutorial and Concepts Guide have been renamed to language-only so that, for example, someone using the Swiss-German locale will be shown help in German instead of English. Translations Updated: British, Dutch, French, Italian, Lithuanian. 2.5.10 - 15 December 2013 This is the eleventh and final release in the UNSTABLE 2.5 series. It is the second beta release. Barring any surprises, we will release a STABLE 2.6.0 on 29 December. Changes since the last release have been entirely bug fixes and translation updates, though not all bug fixes had associated bug reports. Note that WebKit 1.2 is now tested for in configure; it had been 1.0, but GnuCash wouldn't actually compile with versions earlier than 1.1.5. Bug Fixes: 336843 - Attach images/files/urls to transactions: Disable the "show attachment" menu item if the transaction has no attached file. 619478 - Build warning in html/gnc-html-webkit.c 627575 - Stylesheet names with non-alphanumeric characters and saved-reports 630578 - current date instead of posting date in exchange rate, when posting a bill 632588 - Scrub doesn't fix missing currency 639371 - Welcome Sample Report reports wrong version and has a broken report 653594 - wrong amount printed on checks 705714 - QIF Import - File selection pop-up is not on top during qif import 708526 - GnuCash Crashes when opening About page: Downgrade the error to a critical warning. 711317 - Indian Rupee Symbol appears as "?" marks 715123 - Post invoice problem, cannot unpost 719481 - GnuCash report crashes with Guile2 719521 - Missing radio button in "Edit security" dialog 719726 - Click on File -> Open seg-faults 720235 - Python bindings should load environment file just like gnucash does Fix Python tests to no longer require gsettings schemas installed. Fix the CuteCash (Qt GUI based) build Multi-currency "Post invoice" improvements Protect gnc_mktime against bad dates. Protect against null account pointers in a couple of place to avoid asserts. Qif Import Assistant: Don't disable the whole dialog, just the Forward button QifImport: Fix crash from attempting to import an empty file. Add the ability to search for transactions that are, or are not, book closing entries. Move customer, bill, and invoice importers form the business menu to the file menu. Rename some directories in src/import-export so that the gschema.xml.in.in files within them don't have pathnames that are too long for tar when the GnuCash version exceeds 5 digits (e.g., 2.5.10). Translation Updates: Italian, German, French New Translations: Arabic! 2.5.9 - 1 December 2013 This is the tenth release in the UNSTABLE 2.5 series. It is the first beta release. Barring any surprises, there will be one more beta release in two weeks, followed by the release of 2.6.0 on 29 December. Changes since the last release have principally been code cleanup, including KVP storage in the SQL Backend, Python testing in out-of-source builds, test failures when using Guile-2, ensure that saved state (especially KVP) is deleted along with the primary object, use the progress bar when loading the PriceDB. Translator note: We found it advisable to correct some typos and to add two translatable strings "Bill Information" and "Voucher Information". Bug Fixes: 644044 - Lots: SQL backend loses link to Gain/Loss Txn 704506 - Connection loss to mysql after resume from hibernation 707311 - Tax Invoice fails to open when using guile 2 710871 - Python site-packages not found when not installed to default location using --prefix 710905 - Column withs, visibility, order and sort order not saved and restored 711289 - time zone handling is inconsistent between 2.4 and 2.5 712299 - Tax Invoice with guile 2 doesn't display currency symbols 715041 - Crash opening a file when a file is already open. 715184 - Bill or Invoice; a new Bill gives a new Invoice 719471 - Unused commodities saved to XML file Translations updated: German, Italian 2.5.8 - 17 November 2013 This is the ninth release in the UNSTABLE 2.5 series. This release is the last alpha release. String and feature freeze are now in effect: Only bug fixes which have no effect on UI, API, or translatable strings should be committed to trunk until after the release of GnuCash 2.6, currently scheduled for 29 December 2013. Translators: Please use the tarballs from this release to prepare your translations. New contributor Patrick has provided a beginning implementation of linking attachments to transactions. This is accessed through the Transaction menu and the transaction context menu. In this initial version, linked files are displayed in the default viewer for the file type. E.g., html files will open in a browser and jpegs will open in the default picture viewer. Bug Fixes: 707311 - Tax Invoice fails to open when using guile 2 709589 - make check fails with guile 2 711289 - Time Zone Handling is Inconsistent between 2.4 and 2.5 Partial fix that may also correct 699997 711294 - Gnucash repeatedly ask associated income account when import qfx file. Patch by Kuang-che Wu 711493 - Fix unselected account that is NULL Translations Updated: German 2.5.7 - 3 November 2013 This is the eighth release in the UNSTABLE 2.5 series. 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. Contributed by Robert Ratliff. Bug Fixes: 668530 - In budget flow report options, change the maximum value for period to 60 (Note the FIXMEs) Author: Robert Ratliff 687478 - Bills due reminder doesn't work well with credit notes 687479 - Automatic invoice/payment matching on posting an invoice should be an optional feature 693244 - View Lots window enhancements 708659 - Totals column moves to right hand side when periods are added Remove unneeded gnc_plugin_page_budget_refresh_cb Author: R Ratliff 710055 - advanced portfolio report counts capital gains split as dividend. Author: Jason McCarty 710311 - Missing ChangeLogs 710739 - Fill in field for remote bank account information also for SEPA transfers. 710871 - Fix for Python site-packages not found when not installed to default location 710979 - Crash in gnc_plugin_page_invoice_summarybar_position_changed Translations Updated: None 2.5.6 - 7 October 2013 This is the seventh release in the UNSTABLE 2.5 series. Geert Janssens has rewritten the preferences system to use GSettings from GIO (GLib) instead of GConf. 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. WARNING: the saved settings in gconf are not (yet) migrated to gsettings ! running gnucash as of this commit will start you with default values for all preferences ! You can of course change your preferences, your changes will be saved properly in gsettings and restored when you restart gnucash. But what has been set in GConf before will basically be ignored. Bug Fixes: Bug 632362 - Unable to create "reversing transaction" again after it is removed Bug 654196 - "make check" fails when built with --enable-dbi Bug 674862 - 2038 bug in libdbi Bug 682280 - bill/invoice importer fails to save imported bills/invoice Bug 684670 - Interest amount calculation is wrong in Sqlite3 format Bug 699450- New budgets cause Account Name column to expand until display bigger than screen. -- Robert Ratliff Bug 708700 - "make check" fails (missing glib bits)-- Frédéric Perrin Bug 704039 - time zone is not respected in Windows -- Thanks to Kuang-che Wu Translations Updated: Dutch 2.5.5 - 10 September 2013 This is the sixth release in the UNSTABLE 2.5 series. No new features are added in this release. Bug Fixes: 334939 - Account Report and Account Transaction Report are apparently the same, but different. Change menu entry for the single transaction Account Report from "Accout Transaction Report" to "Account Report - Single Transaction" Author: Carsten Rinke 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 629136 - Move the code that updates the sensitivity of immutable page actions from gnc_main_window_switch_page to gnc_main_window_generate_title. Patch by Guilherme Salgado. 696492 - Change report name in menu or in report output to be consistent Change the register name to "Accout Transaction Report" when the register type is GENERAL_LEDGER, INCOME_LEDGER, or default in function gnc_reg_get_name(). Patch by Carsten Rinke. 704039 - time zone is not respected on windows Author: Kuang-che Wu 704056 - Online Banking (Online Actions) does not appear in Action menu Ensure that all functions are exported to the dll. 704525 - When you have a mix of chart types (bar charts and pie charts). Add new procedure gnc:substring-replace-from-to Similar to gnc:substring-replace, but offers the possibility to replace substrings in a range of occurances. 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: Lithuatnian 2.5.4 - 4 August 2013 This is the fifth release in the UNSTABLE 2.5 series. New Features: Register2 work: Restore the delete-transaction-up/down feature, replace the filter-and-sort model with a qof query which loads only a subset of transactions to improve speed, and some date and cursor changes. Aurimas Fišeras contribued patches to make CSV Account import table header translatable, to fix translation of table headers, fix dash marker usage, and some other translation issues. Revert the Bitcoin support until the patch is rewritten with a better UI. Bug Fixes: 703897: Functions which can return null always return a Python object, Tom Lofts. 704183: ofx file import tries to match online_id against ACCTID[space]ACCTKEY even when ACCTKEY is empty, G. Paul Ziemba 704185: GnuCash 2.5 doesn't build on FreeBSD Translations Updated: Catalan, Danish, Italian, and Lithuanian 2.5.3 - 7 July 2013 This is the fourth release in the UNSTABLE 2.5 series. New Features: Save and Save As for custom report templates (Geert Jansens) Customized report settings can now be saved without renaming the report, and updates saved directly replacing the previously saved report or "saved as" to a new name. 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. Register2 work: Better commodity/currency handling, sanity checks when converting TreePaths, Posted Dates now work like the old Register, PostedDate is now recorded only as a date, with no time. Peter Broadberry contributed faster versions of several reports. Bug Fixes: 703272: list of windows in OSX Windows menu 699686: Startup dialog windows should be top level (Simon Arlot) 701670: (OSX)Command-V in reconcile window pastes data in register 702899: Fix crash in scrubbing code 703305: Fix crash on entering a non-valid date The crash that occurs when duplicating multiple invoices from Find results. 691587: Catch scheme exceptions when converting error messages 669964: Fix txn creation that forgot to set a txn currency. 672595: After creation of a new book, make sure to set it to dirty 700582: Enable online actions in Register2 Now works with automake 1.13 Translations Updated: Catalan, Italian, Lithuanian 2.5.2 - 27 May 2013 This is the third release in the UNSTABLE 2.5 series. Robert Fewell continues his work on the GtkTreeModel register, including better transaction editing without using the mouse and some display issues. Sam Morris contributed a patch supporting retrieving Bitcoin and Litecoin exchange rates from Mt. Gox with Finance::Quote Fix Bug 700197, backend errors when creating Customers with the Python bindings. Patch by Tom Lofts Carsten Rinke provided several patches: 682800 Generated balances on Report different than calculated balances on Ledger when using "open subaccounts" 622778 Miscalculation in cashflow reports 584869 net change line in general journal report 589865 - Budget flow period doesn't work. Patches by Carsten Rinke and Mikhail Tsaplin The translation files have been copied from the 2.4 branch. Translators may start working on the new strings, though string freeze is scheduled for 2.5.5 in early September. Translations Updated: Danish, German, Italian 2.5.1 - 5 May 2013 This is the second release in the UNSTABLE 2.5 series. Robert Fewell has continued his work on the GtkTreeModel register. It is now the default for account registers. Geert Janssens has begun work on replacing the GConf configuration management tool with the newer GSettings API from recent versions of GLib. Tom Lofts contributed the beginning of a RESTful Python API to enable access to minimal account, invoice, and customer information in a JSON format. Christian Stimming fixed the very long wait time for the UI to become responsive when running the import matcher. Also some bug fixes, package upgrades, and minor improvements. 2.5.0 - 30 Mar 2013 The Gnucash Development Team is pleased to release Gnucash 2.5.0, the first release of an unstable series leading to Gnucash 2.6.0. This release is UNSTABLE and SHOULD NOT BE USED in production. Robert Fewell has contributed a rewrite of the ledger (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. 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 a new feature, Credit Notes. It is now possible to import customers and vendors from a CSV file as well. The "Num" field is now optionally per-split rather than per-transaction. 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. 2.4.12 30 Mar 2013 2.4.12 is a bugfix release. Please see the Changelog for details 2.4.11 14 Jul 2012 2.4.11 is a bugfix release. Please see the Changelog for details 2.4.10 10 Feb 2012 2.4.10 is a bugfix release. Please see the Changelog for details 2.4.9 - 10 Jan 2012 2.4.9 is a bugfix release. Please see the Changelog for details 2.4.8 - 20 Oct 2011 2.4.8 is a bugfix release. Please see the Changelog for details 2.4.7 - 01 Jul 2011 2.4.7 is a bugfix release. Please see the Changelog for details 2.4.6 - 28 May 2011 2.4.6 is a bugfix release. Please see the Changelog for details 2.4.5 - 04 Apr 2011 2.4.5 is a bugfix release. Please see the Changelog for details 2.4.4 - 13 Mar 2011 2.4.4 is a bugfix release. Please see the Changelog for details 2.4.3 - 26 Feb 2011 2.4.3 is a bugfix release. Please see the Changelog for details 2.4.2 - 06 Feb 2011 2.4.2 is a bugfix release. Please see the Changelog for details 2.4.1 - 04 Feb 2011 2.4.1 Had to be pulled before the release was completed because some critical problems would have resulted in severe data loss for users. 2.4.0 - 20 Dec 2010 The GnuCash development team proudly announces GnuCash 2.4.0, the latest stable release of the GnuCash Free Accounting Software. With this new release series, GnuCash can use an SQL database using SQLite3, MySQL or PostgreSQL. It runs on GNU/Linux, *BSD, Solaris, Microsoft Windows and Mac OSX. Major changes in the 2.4.0 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. * As a replacement for 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 --with-html-engine=webkit to the configure command. You will need an appropriate webkit-dev package. On win32, you will need to download the webkit-1.1.90-win32.zip file from the source repository and put it into the downloads directory of your gnucash build area. * Updated AqBanking on Win32. 2.3.0 - 14 May 2009 o Welcome to GnuCash 2.3.0 the first of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.4.0. This release is the very first to use an SQLite3 database as the default data store. It is intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 2.3.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o If you have the urge to help beyond testing please get involved in the discussions on the GnuCash mailing lists which you will find at https://www.gnucash.org. Please see https://wiki.gnucash.org/wiki/Development on how to get involved. o Major new features: * All features, including business features, are supported by a new SQL datastore, which can use SQLite3 (default), MySQL or PostgreSQL. The legacy XML data format is still supported * Replacement of the aging GtkHTML engine used for reports/charts with the WebKit engine used by Apple's Safari and Google's Chrome web browsers. o PS I'm not going to list the many minor features changed or updated in this release because obviously there is so much that has changed. 2.2.9 - 23 February 2009 Welcome to the GnuCash 2.2.9 Release. Fixed Bugs: o #339027: Reconcile window should display the date o #435642: Crash editing results of a find o #438132: Warning about commodity being NULL for root account on save o #462148: Report output is vertically inverted and bottom up printed (mirror, reverse, &c.) o #514455: Dutch (Netherlands) translation of account templates o #526775: Win32: Crashes when importing brokerage account data o #542382: Assign GnuCash to file name extension .gnucash o #564209: Improved debuggability for module loading o #564450: HUF currency handling incorrect as 1HUF divided into 100FILLERs o #564928: Segfault when closing a invoice tab o #565421: gnc-date-edit.c did not compile with Gtk < 2.10 o #565721: Multicolumn report options: Report names are not translated o #566198: Slovakia joined the Euro o #566352: Crash during OFX import under Win 2000 / SP4 o #566567: Scheme modifications are not built on windows o #567174: Files with NIS stocks fail to open o #568327: Using most "budget" reports, without a budget defined crashes gnucash o #568653: Add SKR49 template o #568945: The gnc_pricedb_convert_balance_... methods should look for the reciprocal of the exchange rate o #569734: Give the template root account a name o #570166: Weird text entry box when typing on Account Tree page o #570894: Use of symbol t, which is not defined in all guile versions o #571220: Program won't start if SCHEME_LIBRARY_PATH is set Other Changes: o Added German account template for a Wohnungswirtschaft business o Fixed french business account templates o Updated translations: Catalan, Chinese, German, Italian 2.2.8 - 14 December 2008 Welcome to the GnuCash 2.2.8 Release. Fixed Bugs: o #115066: "Search For" dialog shows all when criteria is left as default o #128774: "Edit exchange rate" context menu item disfunctional often o #137017: date of transaction change with time zone change o #339433: TiaaCref price quote dates off by one day o #340041: 0 as an amount should be allowed in Exchange Editor o #345980: changing Stylesheet doesn't commit o #347274: to track the difference between budgeted and actual amounts in the budget report o #348860: Error with saved multicolumn reports o #405472: Unable to save changes on files opened over FUSE and sshfs o #432457: Security/stock import should follow tutorial regarding Account Name o #435427: "Generic import transaction matcher" dialog does not sort by date o #436342: Currency exchange druid does not show on changed o #436920: crash on loading OFX data for a commodity that exists without cusip field o #492417: currency mapping of New Israeli Shekel o #529494: Wrong fractional precision in register with multi-currency transactions o #532889: Monthly scheduled payments preview shows wrong dates o #536299: Fix two underlinking issues o #539947: OpenSolaris:__FUNCTION__ not defined in sun cc o #543332: Severe performance regression in Average Balance report o #548218: OpenSolaris: $(expression) cause configure error on solaris o #554042: OpenSolaris: configure fail on checking 'unsigned long is at least as big as guint32' o #557604: date-utilities.scm typos o #557374: MT940 import does not work o #563160: Multicolumn report: Confusing order of "Column span" and "Row span" o #563273: crash in GnuCash Finance Management: Starting GnuCash o #564033: aqbanking plugin: g_module_open failed: WEXITSTATUS undefined Other Changes: o Fix account defaulting for posting vendor bill o Fix tax-related inconsistency in UI o Fix the average cost price source computation for a certain case o Add account templates: Dutch, Finnish o Update account templates: Italian, Slovak o Update translations: Finnish, German, Hebrew, Italian, Japanese, Russian, Slovak, Simplified Chinese 2.2.7 - 26 September 2008 Welcome to the GnuCash 2.2.7 Release. Fixed Bugs: o #139651: Register: Split transaction with multiple currencies fails o #309863: Balance Sheet: Rounding errors with prices from pricedb o #341362: Price Editor: Price is displayed as fraction instead of decimal o #376298: Price Editor: Window Contents Corrupted After Manually Adding a Price o #378734: Drop down calendar only works once o #430121: Incorrect Sign Symbol for Fractional Commodity/Security Sale o #454340: Security Editor: duplicate rows after editing a security o #454827: Reports: Incorrect share value of stocks in foreign currency o #464771: Investment Portfolio: Report crashes without price data o #483393: Reports: Allow mixed denominators in numeric collectors o #504935: Add currencies XDR and XXX o #506873: Win32: Cannot install online price retrieval with ActivePerl 5.10 o #520570: Drop-down calendar for "reconcile information" non-responsive o #522095: Updating stock prices does not update totals shown in windows o #526313: GnuCash does not support the new currency in Venezuela o #529816: Supplement "CUSIP" by "ISIN", to give people outside USA a hint o #539640: Price Editor: Security disappears from price list o #539962: Void function cannot return value with sun cc o #540148: GnuCash cannot be built with libgoffice-0.8 o #541970: Balance Sheet: "Nearest in time" exchange rate not correct o #543061: Fractional not working in IDR (rupiah) currency o #543780: Transfer Dialog: CRIT messages in gnucash.trace from exchange rate dialog o #545316: Drop-down calendar is not clickable when posting invoice o #545722: Can't change date in dialog boxes o #546064: gnucash.desktop file does not comply with desktop-file-validate o #548601: AqBanking Import: Obscuring zero balance windows after getting transactions o #548891: QIF Import: GnuCash crashes when .gnucash/qif-accounts-map is readonly o #549115: Popup calendar unresponsive in modal dialogs o #549595: Silently removes main files while trying to save without lock o #549738: Reports: Default date on aging and customer reports is too far in the future o #551038: Reports: Alt-O shortcut in report options dialog crashes app o #552306: Fails to save file when using a network filesystem on Mac Other Changes: o New Finnish translation o Complete Romanian translation o Usability improvements in the price and the security editor o Lower number of false positives when checking aqbanking results for failures o Correct import of remote names, zero balances from aqbanking3 o Update translations: Catalan, Dutch, German, Italian, Polish 2.2.6 - 27 July 2008 Welcome to the GnuCash 2.2.6 Release. Fixed Bugs: o #129099: Register: Optionally show leaf names instead of full names o #144669: Register: Shortcut to filter accounts by account number o #313660: QIF Import: Can't stop progress on long importing process o #336192: QIF Import: Allow new namespaces when defining new securities o #353880: Reports: Options dialog violates HIG, add borders. o #309359: QIF Import: "unknown Action '..'" shown many times o #452354: Average Balance Report: Translate account type option names o #454305: Trial Balance Report: Wrong after negative Stock Split o #460721: Balance Sheet: Should have a "value at cost" option o #463320: Trial Balance Report: Does not add up correctly o #470656: Preferences, Win32: Crash when setting accounting period o #475980: QIF Import: Forward and Back don't follow same path o #489502: Register: Account autocompletion ignores new separator until restart o #501490: Balance Sheet: Incorrect in presence of stock sale o #502646: Win32: Crash entering dates before 1/1/1970 in dialogs o #506499: Win32: Crash after online banking transfer o #512991: Invoices: Do not allow posting to placeholder accounts o #514210: QIF Import: Allow multiple selections for account mapping o #515163: QIF Import: Eliminate pointless mappings o #521403: Reports: One more option in "Price Source" in Stock Value Reports o #526883: Transaction Report: Question marks instead of month in cyrillic locale o #528835: Crash when creating SKR04 accounts with German locale o #530924: Customer Report: Honor the used column list o #531662: Budget report: Crash on #f in budget->guid o #532405: Win32: Guile crashes on strftime formats containing %e o #535407: QIF Import: Crash on invalid or unsupported date format o #538800: Balance Sheet: Gives wrong results o #539654: Reports: html-table-append-column! in html-table.scm crashes o #539829: Build Process: qofsession.c compile warning o #540207: Reports: Show a table of data beneath barcharts o #542472: Reports: Period does not default to Accounting Period o #542967: Reports: Options dialog title shows GUID Other Changes: o New Hebrew translation o Add support for aqbanking3 o Correct quickfill directions in transfer dialogs o Add QIF importer support for importing to A/R and A/P account types o QIF importer loading speedup and visual feedback, further improvements o Avoid crashing if a report's option generating procedure causes a Scheme exception o Make the new option Average Cost the default for several reports o Make weighted average price source computations ignore zero amount splits o Support calculation of unrealized gains/losses on liabilities in balance sheet o Allow creating new accounts from the general ledger o Fix some compiler warnings, minor build system improvements o Update translations: Catalan, German, Russian, Traditional Chinese 2.2.5 - 27 April 2008 Welcome to the GnuCash 2.2.5 Release. Fixed Bugs: o #166101: Register: Topmost splits' accounts are rewritten confusingly o #341414: QIF Import: Changing account separator breaks saved account mappings o #341608: Transaction Report: Filtering void/non-void doesn't work o #347474: Register: Tab goes to wrong split o #396665: QIF Import: Detect and convert non-ascii character encoding of QIF files o #450354: QIF Import, Win32: Can only load files from ascii paths o #475960: Reconciliation: Postponed balances of liability accounts are not reversed correctly o #467529: Check Printing: Align_n not working in custom check definitions o #509089: QIF Import: Duplicates windows shown after Scheme error o #511182: QIF Import: Saved commodity mappings lost after import to new GnuCash file o #511231: QIF Import: Use QIF security type to provide better default namespace o #512208: QIF Import: New commodities remain if import canceled o #512841: Register: Crash in expression parser on nullary functions, like pmt() o #514027: QIF Import: Commodities page is skipped if you go back to currency page o #519988: QIF Import: Error reporting doesn't follow GnuCash guidelines o #520606: QIF import: Memo mappings for non-split, non-investment transactions are ignored o #521957: Auto-save not canceled on opening other files o #522795: QIF Import: Does not support "ShtSell" or "CvrShrt" transactions o #523194: QIF Import: Existing commodities can cause import failure o #523922: GnuCash ships the wrong scalable icon and no small (22², 24²) sizes o #527459: QIF Import: Support voided transactions o #527886: QIF Import: Support QIF numeric formats of 12'345.67 as produced by Quicken 4 o #529232: Average Balance Report: Reversing the starting balance distorts the numbers Other Changes: o Add a new Liberty(tm) check format o Show QIF import documentation by default o Improve cancel behavior in reconciliation window o Fix a few memory leaks o Update translations: Brazilian Portuguese, German, Romanian, Russian, Swiss German 2.2.4 - 02 March 2008 Welcome to the GnuCash 2.2.4 Release. Fixed Bugs: o #106242: qif Importer should warn users about dates before 1970 o #106383: feature request: close year end o #123312: QIF Import: Autoselection of Stock Exchange during import o #336211: QIF Import generates spurious duplicate transactions o #360058: GnuCash crashes on QIF-import after changing account's separator to * (asterisk) o #373584: Rounding error in QIF import of commodity transactions o #454834: Memo Incorrect or missing in Transaction Report o #457591: QIF import does not handle tabs at top of file o #481528: QIF importer should show imported transaction as possible duplicate if original transaction is split o #503166: QIF Import Druid Flow incorrect o #506798: Custom Reports don't allow sorting by Account Code o #506873: 'Install Online Price Retrieval' fails with ActivePerl 5.10 o #506810: QIF Import can mismatch account transfers o #510221: Include Mexican Accounts o #510630: typo in description of BUYMF transaction (OFX import) o #510725: crash importing a .OFX file o #510940: Unrecognized date format causes crash o #510962: QIF transactions without dates are silently ignored o #511006: Commodity creation skipped due to saved mappings o #512166: doesn't build with glib-2.15.3 o #512173: Empty "match payees/memos" druid step shown o #512497: Investment transactions ignore payee/memo mappings o #513088: "Find" immediately unmaps window o #513829: Investment account may be created with Stock account type o #516178: Scheme error during progress dialog causes freeze Other Changes: o Recognize 401k/403b in QIF import o Remove superfluous trailing colons of de_DE SKR04 account names o Add russian account templates o Add Swiss German translation o Update translations: Brazilian Portugese, German, Greek, Russian, Simplified Chinese, Slovak, Spanish 2.2.3 - 06 January 2008 Welcome to the GnuCash 2.2.3 Release. Fixed Bugs: o #114724: QIF importer drops split details for transfers with identical amount o #463678: xfer dialog from CC auto-payment from reconcile doesn't display accounts o #495219: QIF-Importer handles memo from transactions wrong o #497517: Transactions set to 'c' in the R(econciled) field of the register are incorrectly set to 'n' when postponing a reconciliation o #503889: Should install icons into expected locations o #504007: QIF Import Druid does not allow selecting currency o #504257: Need to replace old Afghanistan Afghani (AFA) with new Afghanistan Afghani (AFN) o #504261: Start on W2K fails with Entry Point Not Found (KERNEL32.dll) o #505386: Gnucash looses transactions if the file contains special characters o #505972: SX-related segfaults in 2.2.2 o #506074: Fractional timezone offsets not always handled correctly o #506429: "Last Day of Month" SXes saved on wrong day of week o #506671: Add cyprus, maltese and slovenian currencies to EURO support o #506714: progress bar during launching Other Changes: o New Vietnamese translation o Improve several minor strings o Update translations: Dutch, German o Some business report improvements regarding date parameters o Fix gcc 4.2.x compiler warnings o Use aqbanking pkg-config file and require < v2.9, allow goffice v0.6 2.2.2 - 16 December 2007 Welcome to the GnuCash 2.2.2 Release. Fixed Bugs: o #336240: advanced portfolio - the basis calculation is not working properly in funds o #343245: Advanced Portfolio gets basis wrong with stock split o #343448: Hide unused horizontal scrollbar o #344566: Advance Portfolio has wrong Realized Gain o #347739: Advanced Portfolio calculates values incorrectly when it involves a capital loss o #438360: Case-insensitive search for non-ascii characters broken o #460232: advanced portfolio report fails o #467521: Persistent splash screen blocks "could not obtain lock" warning o #467532: Clipping check fields in gtkprint is not consistent with clipping in gnomeprint o #468681: RFE: Customizable summary bar position o #470750: src/design/*.texinfo refers to non-existent GncBooks API o #470801: Tip Of The Day says 2.2.1 is development version o #473827: chinese translate for gnucash account o #475666: Missing national currency CUC o #476189: Configure script should fail when gettext is not installed o #481110: Win32: Crash when opening SX Editor o #482177: Customer report shows no invoices or detail with 2nd A/Receivable o #483796: Fancy Invoice - Report Error o #484576: Configuration error with goffice 0.5 o #487317: QIF import druid crash when stepping back and forth from the "loaded files page" without selection o #487326: Preferences dialog does not remove all its gconf callbacks o #487572: advanced portfolio breaks on "Most Recent to Report" o #488001: speed up several reports that rely on html-acct-table.scm o #488004: provide a two-column income-statement o #490679: GnuCash doesn't honor the GNOME toolbar settings o #491581: Import 'Cash' Action (in Investment Accounts) o #492137: Lot scrubber doesn't add splits to existing lots correctly o #496023: Pressing ESC Cancels modifications whether you choose yes or no. o #496178: gnucash segfaults with troublesome automatic transactions o #499360: Crash when editing a commodity whose quote source timezone is set to local time o #499788: gnucash-make-guids does not work, fails with "Unbound variable: gnc:guid-new" o #500026: [PATCH] Report correct package for qt3-wizard o #500427: SX creation doesn't include template transaction "Notes" o #501059: GnuCash leaks since last run dialogs o #502755: GnuCash hangs after modifying SX o #503579: win32 packaging fails installing mingw Other Changes: o Many changes to the german SKR03 and SKR04 account templates o Include updated GNOME libraries and a patched ORBit2 in Win32 build o Improve resizing of search and invoice posting dialogs o Add MimeType directive for GnuCash data files o Fix some new compiler warnings o Add AZN [Azerbaijani Manat] o Add COU [Colombian Unidad de Valor Real] o Add MZN [Mozambique Metical] o Some occurrences of "Open Source" were changed to "Free" o Update translations: Brazilian Portugese, Czech, German, Japanese, Traditional Chinese 2.2.1 - 19 August 2007 Welcome to the GnuCash 2.2.1 Release. Fixed Bugs: o #170729: locale-specific delimiters in scheduled transactions templates and mortgage druid o #339260: Right-click doesn't select txn but works on the previously selected in the register o #361604: Balance sheet report shows incorrect prices for commodities when using "nearest in time" option o #445917: Dialog says, Click "Next"..., Button says "Forward" o #452496: Dirtying a split does not dirty the parent txn or book o #457027: About dialog shows wrong year in Copyright string o #457213: Resizing SLR window causes it to show up as blank next time o #457228: AqBanking Wizard QtCore4.dll error on WinXP, procedure entry point not found o #457944: startup delay, keep splash screen during file loading o #458080: RPM .spec file still depends on g-wrap o #458567: Ship with windows gtkrc o #458783: Doesn't start if installed into a directory with an "umlaut" o #459259: Unshortened column-title in Scheduled Transactions editor for some locales o #460432: Crash when running Account Report or Account Transaction Report against A/R account o #460924: Fox for warning: the address of '*' will always evaluate as 'true' o #462567: win32: GnuCash improperly interprets filenames as URLs and fails o #465338: hbci module init fails on FreeBSD due to change 15799 o #468115: Save Account Tree Sort Preference Other Changes: o Fix XPF [CFP Franc Pacifique] to not use cents, add YER [Yemeni Riyal] o Update gnome libraries in Win32 build o Avoid a few critical warnings and improve logging o Completely remove FreqSpec o Disable Close books and QSF Import again o Update translations: British English, Catalan, French, German, Hungarian, Japanese, Ukrainian 2.2.0 - 14 July 2007 o Welcome to the GnuCash 2.2.0 Release. o With this new release series, GnuCash is available on Microsoft Windows for the first time, and it also runs on GNU/Linux, *BSD, Solaris and Mac OSX. o This release has only a few user-visible new features, except for the completed port to the Microsoft Windows operating system. In summary, the following features are new, compared to the older 2.0.x series: o Port to Microsoft Windows completed. Note that Windows 2000, XP, or Vista is required; GnuCash does not run on Windows 98 or 95. o Data file notice: In version 2.1.2 the format for scheduled transactions in the data file was changed. Files using the old format will be read without problems by this new version, but the new version of GnuCash only writes the new format. The new file format cannot be loaded by older versions of GnuCash. (If you try, the file will fail to be loaded with an error message.) As a result, if you begin using the new Gnucash, and you have data files with scheduled transactions, then these files will not be readable by older versions. If you have to make a new data file readable by older versions of GnuCash, this can be achived by deleting all records of scheduled transactions in the scheduled transaction editor. o SWIG is now used instead of g-wrap for providing language bindings. o The Scheduled Transaction list view is now improved and summarized more compactly. The Since-Last-Run dialog has been simplified. o Check printing has been improved, with new formats and simpler format descriptions. o Automatic saving of the data file was added. o Bugfixes and improvements since the last version 2.1.5 include: o Updated translations. o Improved handling of Online Banking wizard on Windows. 2.1.5 - 02 July 2007 o Welcome to GnuCash 2.1.5 aka "Release Candidate 2", the fifth of several unstable 2.1.x releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.2.0. With this new release series, GnuCash is available on Microsoft Windows for the first time, and it also runs on GNU/Linux, *BSD, Solaris and Mac OSX. This release is intended for developers and testers who want to help tracking down bugs. o WARNING: Make sure you make backups of any files used in testing versions of GnuCash in the 2.1.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarantee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o Please test any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Compared to the 2.0.x series, there are only very few user-visible new features, except for the completed port to the Microsoft Windows operating system. Minor new features compared to the 2.0.x series are; o Port to Microsoft Windows completed. Note that Windows 2000 or newer is required; GnuCash does not run on Windows 98 or 95. o The Scheduled Transaction list view is now improved and summarized more compactly. The Since-Last-Run dialog has been simplified. o SWIG is now used instead of g-wrap for providing language bindings. o Check printing has been improved, with new formats and simpler format descriptions. o Automatic saving of the data file was added. o DATA FILE NOTICE: In version 2.1.2 the format for scheduled transactions in the data file was changed. Files using the old format will be read without problems by this new version, but the new version of GnuCash only writes the new format. The new file format cannot be loaded by older versions of GnuCash. (If you try, the file will fail to be loaded with an error message.) As a result, if you begin using the new Gnucash, and you have data files with scheduled transactions, then these files will not be readable by older versions. If you have to make a new data file readable by older versions of GnuCash, this can be achived by deleting all records of scheduled transactions in the scheduled transaction editor. o Bugfixes and improvements since the last version 2.1.4 include: o Updated translations. o German translation of Online Banking wizard is activated on Windows. o Improvements to Windows packaging. o When adding custom reports to the menu, appropriate user feedback will be given. o Automatic saving of the data file was added. 2.1.4 - 16 June 2007 o Welcome to GnuCash 2.1.4 aka "Release Candidate 1", the fourth of several unstable 2.1.x releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.2.0. With this new release series, GnuCash is available on Microsoft Windows for the first time, and it also runs on GNU/Linux, *BSD, Solaris and Mac OSX. This release is intended for developers and testers who want to help tracking down bugs. o WARNING: Make sure you make backups of any files used in testing versions of GnuCash in the 2.1.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarantee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o Please test any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Compared to the 2.0.x series, there are only very few user-visible new features, except for the completed port to the Microsoft Windows operating system. Minor new features compared to the 2.0.x series are; o Port to Microsoft Windows completed. Note that Windows 2000 or newer is required; GnuCash does not run on Windows 98 or 95. o The Scheduled Transaction code has been refactored. The Scheduled Transaction list view is now integrated into the main window, the Editor has been re-designed for compactness, and the Since-Last-Run dialog has been simplified. o SWIG is now used instead of g-wrap for providing language bindings. o Check printing has been improved, with new formats and simpler format descriptions. o DATA FILE NOTICE If you are using Scheduled Transactions, the data file saved by GnuCash 2.1.2 and higher is NOT backward-compatible with GnuCash 2.0 anymore because of extensions in the file format. Please make a safe backup of your 2.0 data before upgrading to 2.1.4. o Bugfixes and improvements since the last version 2.1.3 include: o Bugfixes with the graphical reports o Fixing the Online Banking wizard o Updated translations o Improvements to Windows packaging 2.1.3 - 02 June 2007 o Welcome to GnuCash 2.1.3 aka "at last!", the fourth of several unstable 2.1.x releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.2.0. With this new release series, GnuCash is available on Microsoft Windows for the first time, and it also runs on GNU/Linux, *BSD, Solaris and Mac OSX. This release is intended for developers and testers who want to help tracking down bugs. o WARNING: Make sure you make backups of any files used in testing versions of GnuCash in the 2.1.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarantee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o Please test any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Compared to the 2.0.x series, there are only very few user-visible new features, except for the completed port to the Microsoft Windows operating system. Minor new features compared to the 2.0.x series are; o The Scheduled Transaction code has been refactored. The Scheduled Transaction list view is now integrated into the main window, the Editor has been re-designed for compactness, and the Since-Last-Run dialog has been simplified. o SWIG is now used instead of g-wrap for providing language bindings. o Check printing has been improved, with new formats and simpler format descriptions. o DATA FILE NOTICE If you are using Scheduled Transactions, the data file saved by GnuCash 2.1.2 and higher is NOT backward-compatible with GnuCash 2.0 anymore because of extensions in the file format. Please make a safe backup of your 2.0 data before upgrading to 2.1.3. o Bugfixes and improvements since the last version 2.1.2 include: o Fixes to crashes and slowness in Scheduled Transaction Editor. o Fix to crash when editing style sheets and selecting images using Windows version. o Fix crash on QIF import with german umlaut. o Updated translations. o Improvements to Windows packaging. 2.1.2 - 19 May 2007 o Welcome to GnuCash 2.1.2 aka "Financially secure yet?"the third of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.2.0. With this new release series, GnuCash is available on Microsoft Windows for the first time, and it also runs on GNU/Linux, *BSD, Solaris and Mac OSX. This release is intended for developers and testers who want to help tracking down bugs. o WARNING: Make sure you make backups of any files used in testing versions of GnuCash in the 2.1.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarantee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o Please test any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Compared to the 2.0.x series, there are only very few user-visible new features, except for the completed port to the Microsoft Windows operating system. Minor new features compared to the 2.0.x series are; o The Scheduled Transaction Editor and Management dialogs have been integrated into the overall GnuCash User Interface to give the user a more consistent experience in creating scheduled transactions. o Internally, the programming language wrappers are no longer being generated by the not-so-well-maintained package "g-wrap" but instead by the well-established wrapper generator "SWIG". In effect, gnucash does no longer depend on g-wrap anymore but uses SWIG now. o New printing formats for check printing o Bugfixes and improvements since the last version 2.1.0 include: o Internal GObject integration is much more advanced by now o Crash on OFX import crashing has been fixed o Windows timezone problems fixed o Some memory leaks have been fixed 2.1.1 - 28 Apr 2007 o Welcome to GnuCash 2.1.1 aka "Bug-begone" the second of several unstable releasese releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.2.0. With this new release series, GnuCash is available on Microsoft Windows for the first time, and it also runs on GNU/Linux, *BSD, Solaris and Mac OSX. This release is intended for developers and testers who want to help tracking down bugs. o WARNING: Make sure you make backups of any files used in testing versions of GnuCash in the 2.1.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarantee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o Please test any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Compared to the 2.0.x series, there are only very few user-visible new features, except for the completed port to the Microsoft Windows operating system. Minor new features compared to the 2.0.x series are; o The Scheduled Transaction Editor and Management dialogs have been integrated into the overall GnuCash User Interface to give the user a more consistent experience in creating scheduled transactions. o Internally, the programming language wrappers are no longer being generated by the not-so-well-maintained package "g-wrap" but instead by the well-established wrapper generator "SWIG". In effect, gnucash does no longer depend on g-wrap anymore but uses SWIG now. o New printing formats for check printing o Bugfixes and improvements since the last version 2.1.0 include: o Start-up behaviour has been improved: Windows size is better, splash screen can be clicked away o OFX DirectConnect import uses correct ID fields for transaction matching o More Scheduled Transactions bugs have been fixed o Windows: Reading/writing to compressed data files has been tested more thoroughly and fixed in various places o Windows: Crash on changing default currencies fixed 2.1.0 - 14 Apr 2007 o Welcome to GnuCash 2.1.0 aka "Opening Windows" the first of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.2.0. This release is the very first of to support Windows as a platform and is intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 2.1.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o If you have the urge to help beyond testing please get involved in the discussions on the GnuCash mailing lists which you will find at https://www.gnucash.org. We especially need people to help with updating the documentation as all texts refer currently to the 1.8.x series. Please see https://wiki.gnucash.org/wiki/Development on how to get involved. o PS I'm not going to list the many features changed or updated in this release because obviously there is so much that has changed. 2.0.5 - 18 February 2007 o Release of new stable version 2.0.5. o Fix some strings not being translated. o Use guiles native sort and record. o Adjust how payment dialog resizes. o Don't abort when F::Q fails to return a quote. o Change Russian Ruble from RUR to RUB. o Fix security problem with tmp filesystem and symlink attack. o Add French and Canadian French translation updates. o Do not crash on delete_event in new user dialog. o Add sanity checks when accessing GncPluginPage. o Make new windows the same size as the active one. o The New Turkish Lira changed from TRL to TRY in 2005. 2.0.4 - 1 January 2007 o Release of new stable version 2.0.4. o Correct account compatibility check with top level account. o Check for potentially failed utf8 conversion of locale strings. o Fix crash when accessing the File Properties Menu. o Avoid crash when renaming page in a page-less window. o Save and restore the visibility of the toolbar, statusbar, and summarybar. 2.0.3 - 10 December 2006 o Release of new stable version 2.0.3. o Core changes; - Fix for crashes on Solaris and Windows. - Fix for crash on quit during save. - Fix a bug so that blank transactions are marked as pending. - When progress bar is showing, do not make menus and toolbars insensitive, but rather the underlying action groups. - Save window size and position of the transfer dialog. o Scheduled Transactions changes; - Fix for UTF-8 bug in month name. o Import changes; - Fix missing date when reconciling from HBCI. o Reports changes; - Fix some scheme inexact errors. o Help changes; - Inform the user about 'gnucash-docs' package when Help is selected with no content. o Translations; - Updated British English, French, German translation. 2.0.2 - 08 October 2006 o Release of new stable version 2.0.2 o Configure changes; - Find absolute path of gconftool-2 during configure. Make gconftool rules to fail if gconftool-2 could not be found. - Fix Makefiles for .schemas file installation. o Core changes; - various: String fixes that have been delayed due to the string freeze. - Update so that bug-buddy 2.16 will still allow you to file bugs against gnucash. - Add a tip for raising the accounts menu in a register page. - Maintain the accounthierarchy when reparenting the descendants of a deleted account. - If the file type wasn't recognized, check whether this failed because of no read permission and give appropriate user feedback. - Avoid crash from opening transaction in more than one register. - Add the ability to override the default sort. o Import Changes; - Improve wording for XML data file import druid. - Replace exact comparison of doubles by checking for a small enough difference. - Double-check really every string from aqbanking for valid utf-8 characters. o Translations; - Updated Hungarian translation - Updated complete Nepali translation - Updated French translation 2.0.1 - 30 July 2006 o Release of new stable version 2.0.1 o Configure changes; - Check for (g-wrap) module, apparently some distributions ship g-wrap-config separately from the g-wrap.scm guile module. - Check for SLIB. o Core changes; - Correctly set column sort orders from gconf. - Allow proper compile/install from tarball using separate builddir. o Import Changes; - Fixed bug where OFX/HBCI imports loose spaces in descriptions - Ignore any unknown !Option in QIF files that are being imported. - Allow comma-radix numbers without a radix. I.e., allow "17.500" to be parsed either as "seventeen and a half" or as "seventeen thousand five hundred". Note that numbers STILL default to decimal-radix instead of asking the user to choose. - Replace the hbox separating debits from credits in the reconciliation window by a homogeneous table. - Remove obsolete buttons for aqbanking/hbci setup that are unneeded. o Business changes; - Fixed problem when booking an invoice with account name using account separator character. - Set the summary bar values when the invoice window is first opened. - Properly round invoice entries and totals. o Scheduled Transactions changes; - Changed Since-Last-Run default to automatically run at GnuCash start. o Reports changes; - Change cmdline warning into an actual user's error dialog when user attempts to save a report with the same name as an existing report. 2.0.0 - 9 July 2006 o Release of new stable version 2.0.0. o GnuCash 2.0 is based on state-of-the-art gtk2 GUI technology. o GnuCash 2.0 follows the Gnome Human Interface Guidelines (HIG) for a consistent behaviour and look-and-feel for the whole Desktop. o New tabbed window. o New importing feature: OFX DirectConnect can directly retrieve and import account statements over the Internet. o Implemented a "Hide account" feature to keep a better overview of your current accounts. o Implemented the ability to create budgets within GnuCash using your account data. o New importing feature: MT940 files can be imported (in addition to QIF files and OFX files). o The data file format has been improved with respect to international characters. Data files with international characters can be transferred to other countries flawlessly. o Support for Accounting Periods. o GnuCash Help and Guide are now fully integrated with the GNOME Help system (Yelp). o New releases of Finance::Quote and LibOFX will be coming soon to update support for GnuCash 2.0.0. 1.9.8 - 18 June 2006 o Welcome to GnuCash 1.9.8 aka "Grab that cash with both hands and make a stash" the first release candidate of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the second beta release. o PLEASE TEST any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o We would like to encourage people to test this and any further releases as much as possible and submit bug reports in order that we can polish GnuCash to be as stable as possible for the 2.0.0 release in a few weeks. o Major bugfixes include - o More Register fixes. o Restore the business reports menu. o QIF import and HBCI fixes. o Fixes for currencies. o Fixes to business invoices. o General UI fixes. 1.9.7 - 04 June 2006 o Welcome to GnuCash 1.9.7 aka "Banking on Gnu Cash!" the second beta release of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the first beta release. o PLEASE TEST any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o We would like to encourage people to test this and any further releases as much as possible and submit bug reports in order that we can polish GnuCash to be as stable as possible for the 2.0.0 release in a few weeks. o Major bugfixes include - o Hide not finished funtionality for the 2.0 release o Fixes to lots functionality o Fixes to XML import o Patches to work with guile 1.8 o HBCI fixes o Many updated translations. o New splash screen from Joshua Facemyer / Impressus Art o Fix the help file names now the docs are xml instead of html. o Fixes for MacOS and Windows builds o Fixes to progress bar. o UTF8 fixes o Fixes for glib 2.6 1.9.6 - 14 May 2006 o Welcome to GnuCash 1.9.6 aka "Time to make a difference" the first beta release of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the sixth unstable release. o PLEASE TEST any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o We would like to encourage people to test this and any further releases as much as possible and submit bug reports in order that we can polish GnuCash to be as stable as possible for the 2.0.0 release in a few weeks. o Major bugfixes include - o More Register fixes. o Fixes to Scheduled Transactions. o Many Report fixes. o Many updated translations. o New icons o Fixes to lots functionality o Fixes to logging o Many Qof fixes o Fixes to budgeting o HBCI fixes 1.9.5 - 16 Apr 2006 o Welcome to GnuCash 1.9.5 aka "The final countdown begins" the sixth of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the fifth release but is still only intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 1.9.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Major bugfixes include - o More Register fixes. o Fixes to Scheduled Transactions. o Report fixes. o Make the entire UI insensitive when the progress bar is showing. o Fixes for currencies and currency quote retrievals. o Lots of Qof fixes. o Profiling fixes to improve speed and response. o Memory leak fixes. o Fixes for 64-bit compiles. o Add a per-account "hidden" flag. o Fixes to compile with gcc4. o Fixes to xml file format. 1.9.4 - 05 Apr 2006 o Welcome to GnuCash 1.9.4 aka "Better late than never" the fifth of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the fourth release but is still only intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 1.9.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Major bugfixes include - o More Register fixes. o Fixes to Scheduled Transactions. o Report fixes. o Add support for renumbering the account codes for all the children of a given account. o Fixes to the hierarchy druid. o Regularize capitalization of the word 'GnuCash' where its user visible. o Fixes for Scheduled Transactions. o Added new toolbar icons and buttons. o Fix the lack of action strings in the popup menu. o Add a context menu to the reconcile window. o Fix the dialog so that the 'Cancel' button cancels all changes made since the dialog was opened. o Fixes for currencies and currency quote retrievals. 1.9.3 - 19 Mar 2006 o Welcome to GnuCash 1.9.3 aka "Mo money, mo problems" the fourth of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the third release but is still only intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 1.9.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Major bugfixes include - o More Register fixes. o Fixes for OFX importer. o Add printing support for the graphs. o Add multi-commodity SX support. o Fixes for windows/mingw32 porting. o Fixes for currency settings. o Add support for XSL. o Recode all po files into UTF-8 character encoding. o Lots of Qof fixes. o Fix the build-order (and install order) of the engine libs. o Fix a problem where account cell contents disappear when focusing in/out of an account cell. o Report fixes o More Qof fixes o More fixes for UTF-8 support o Fixes to Scheduled Transactions 1.9.2 - 05 Mar 2006 o Welcome to GnuCash 1.9.2 aka "With extra flavor enhancements" the third of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the second release but is still only intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 1.9.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Major bugfixes include - o More Register fixes. o HIGify the scheduled transaction dialogs. o Fix the qof configure test for OSX. o Compile cleanly with when _FORTIFY_SOURCE is defined. This definition is forced when building RPMs on FC4. o Catch and defer the quit command if a file save is in progress. o Disable quote related functionality when F::Q isn't installed. o Lots of Qof fixes. o Add ebuild for gnucash 1.9/2.0 series. o Fix x-axis labeling and other barchart improvements. o Get MT940 importer to compile again (experimental; requires aqbanking-1.9.7). It is not yet tested with actual files. o Menu and toolbar fixes. o Remember the order in which the notebook tabs are referenced. o Updates to business invoicing functionality. o Fix Chart of Accounts export so it works again. o Add support for using multi-byte unicode thousands separator and decimal point characters when printing numbers. o Lots of fixes to splits and transaction editing. o Added new icons. 1.9.1 - 19 Feb 2006 o Welcome to GnuCash 1.9.1 aka "So we meet again" the second of several unstable releases of the GnuCash Open Source Accounting Software which will eventually lead to the stable version 2.0.0. This release contains many bugfixes since the first release but is still only intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 1.9.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o Major bugfixes include - o Register fixes o Finance::Quote issues o Correctly open an account and its sub-accounts. o Change the reports from using a hard-coded fiscal year to using the global accounting period set in the preferences. Both the start date and the end date are used, so the user is free to choose any arbitrary period. o Use the price nearest to midday to get the value in the default currency. o Make the desktop more HIG-compliant. o Patch to prevent crash when voiding a transaction. o Aqbanking updates o Report fixes o Autodetect OFX and use it if we find it. o Qof fixes 1.9.0 - 08 Feb 2006 o Welcome to GnuCash 1.9.0 aka "We're gonna make it!" the first of several unstable releases of the GnuCash Open Source Accounting Software which will eventuall lead to the stable version 2.0.0. This release is the very first of the gtk2-based GnuCash series and is intended for developers and adventurous testers who want to help tracking down bugs. o WARNING WARNING WARNING - Make sure you make backups of any files used in testing versions of GnuCash in the 1.9.x series. Although the developers go to great lengths to ensure that no data will be lost we cannot guarentee that your data will not be affected if for some reason GnuCash crashes in testing these releases. o PLEASE TEST TEST AND TEST SOME MORE any and all features important to you. Then post any bugs you find to bugzilla https://bugs.gnucash.org/enter_bug.cgi o If you have the urge to help beyond testing please get involved in the discussions on the GnuCash mailing lists which you will find at https://www.gnucash.org. We especially need people to help with updating the documentation as all texts refer currently to the 1.8.x series. Please see https://wiki.gnucash.org/wiki/Development on how to get involved. o PS I'm not going to list the many features changed or updated in this release because obviously there is so much that has changed. 1.8.12 - 19 Oct 2005 o Online Banking/HBCI improvements: Debit notes are fixed again; Bank-internal money transfers are now supported, if the HBCI bank offers them; Setup wizard can now works with HBCI, OFX-Connect, and other AqBanking backends; Fix character encoding issues in utf-8 locales; Fix date interval in the import transaction matcher for OFX and HBCI import; Fix PIN entry bug. o New currencies added: Romanian Leu, Bulgarian Lev, Malagasy Ariary o Fix problem with long date formats in some locales (bug#170444) o Add configure macros for mips, mipsel, arm, and m68k; Fix compilation on OpenBSD 64bit architectures o Updated translations: German, Italian, Kinyarwanda 1.8.11 - 06 Feb 2005 o Add extra sanity checks and verbose error message if the setup wizard of aqhbci cannot be found. o Fix potentially missing initialization of gwenhywfar library, as reported by Peter O'Gorman on Max OS X. o Properly accumulate splits (bug #165053). Also fixes a (related) memory leak o Add explicit dependency on business-utils. o Adapt to latest changes in aqbanking; external wizard name is no longer hard-coded here but is asked from aqbanking. o Enable debit notes again in HBCI. o Update German translation. o Thomas Bushnell's patch to protect non-backup pruning (#164875) o Add the transaction guid to some error warning messages. o Fix HBCI date range for statement download. o Fix the last-day-of-month computation for leap years. 1.8.10 - 11 Dec 2004 o Don't use C++/C99 declarations. Declare variables at the top of the function. o Updated British English, Czech, Italian, Russian, German, Brazilian Portugese, Dutch, French, Spanish, translations. o Fabien COELHO's zero-balance patch to remove accounts of zero balance from the report. o Fix a broken recursion problem. Don't call show-acct? from use-acct? so we don't recurse ad flictum. This recursive call isn't necessary, just have use-acct? recurse unto itself. o look in ${srcdir} for build-config.scm.in o Work around problems with libltdl3. o don't automatically try to (require 'format), so gnucash will build on an slib-3 system. o Added quote sources for Indian Mutual Funds. o Skip the case when a token is the empty string. This caused many warnings about a NULL kvp_frame lookup. o Luigi Ballabio's automake patch to gnucash.m4 o guile-1.6 complains about string->symbol when passed a symbol. o applied Vasil's patch to improve the transaction report for HTML export purposes. o Backport of CVS-head changes to improve register open performance when working with large account trees (>500 accounts). The new code caches the quickfill tree so that it is shared by all register windows. o create gnc:current-saved-reports, as the file to store saved reports from cstim. Autoload the saved-reports file at startup (after config.user/config.auto is loaded). o Added gnc:report-generate-saved-forms that will generate the scheme code necessary to create a new report from the saved options of an old report. o Added example Menu item "File -> Save all reports" that will call the new report saving function for all reports. This would need more work so that not all reports are saved but only the currently selected one -- any volunteer may feel free to add that. o Fix saving of report: It now appends to ~/.gnucash/saved-reports-1.8 Statusbar tip is now more verbose. o Add toolbar element for saving the current report. o Add function for saving one particular report to the ~/.gnucash/saved-reports-1.8 file. Add extra menu only for customized reports. o Remove the previous function for saving all reports since it is no longer necessary. o Apply David Reiser's patch for Quicken(tm) cheques with stub. o Apply David Grant's patch to add TD Efunds. o make the desktop file HIG compliant. o change the gtkhtml order to search for >= 1.1 before < 1.1, in order to try to fix #84707 on systems with multiple versions of gtkhtml. o Perry Smith's Null Account Patch. Make sure the security is a real string before appending an account separator, so we don't try to create a "null" account. o Add option to include zero-amount splits in computations. o fix xaccAccountGetBalanceAsOfDate() to properly compute the balance at the end of the split list. o Major change for HBCI, back-ported from HEAD. The HBCI online banking is no longer based on the openhbci library but instead on the aqbanking library https://sf.net/projects/aqbanking which is Martin Preuss' successor of openhbci. This means that now aqbanking-0.9.5 is required instead of any openhbci package. o Fixes for x86_64 o Update for new LibOfx, this among other things, gives gnucash Microsoft OFC support. o Duplicate match tweaks in import code o Andreas Rottmann's patch to support g-wrap 1.9. o provide a default account name so we don't crash when someone imports a broken QIF that has a !Account without an account name. o Daniel Lindenaar's patch to implement a check-box in the Invoice Post Dialog (with a default in the File Preferences) to choose to accumulate splits when posting an invoice, or post a 1:1 mapping. o Phil Longstaff's patch to prevent duplicate pricedb entries. o Heath Martin's x86_64 patch o Mark search criteria for translation -- somehow this had been missed all the time. o Change currency mnemonic for "New Israeli Shekel" from "ILS" to "NIS". o Identified and fixed several places with untranslated strings. o Add configure check for libofx version 0.7.0 and respective error message. Update docs. o Improve importer performance by matching imported transactions only against transactions in the proper time interval. o send an event when a payment is processed so the invoice gets updated as "paid" in the search window. o Make sure we set the proper search-type when we create the query, otherwise the search will fail later. 1.8.9 - 11 Apr 2004 o Updated Polish translation by GNOME PL Team, updated French, Czech, Spanish, Russian, Dutch, German and Italian translations. o dump-finance-quote - Be more explicit when a lookup fails. o log-replay - Increase read buffer size. o Make sure to verify that the items in the reconcile hash are still around after a refresh. o When the commodity is changed, then set the currency to the currency of the last price entered for this commodity. o Add Hungarian account templates by Sulyok Peter o Patch by Geoff Kassel to work on OpenBSD (allow user to set diffcmd). o Don't test double KVPs, on the theory that they will soon be deprecated. o When computing the aging report, ignore splits that belong to closed lots. This way we wont get the wrong values when the invoice falls outside the 360-day window but its payment falls inside the window. o Add gnc_getline() function to read an unlimited line-length from a file (so you're not limited to a buffer size with fgets() and the like). It is similar to the getline(3) on Linux except the API is different and it will always set the return string. o Add workaround code for openhbci/chipcard problem. o Add gnc_lookup_date_option() function. o Add gnc_ui_account_get_balance_in_currency() function. o Add preferences for summarybar. o Add xaccAccountConvertBalanceToCurrencyAsOfDate() function o Summarybar can now display a grand total of all commodities, profits of a period of time and net assets at the end of the period; summarybar can be configured with some options under edit->preferences. o Create two new functions to centralize date-selection option creation. o Export the new scheme functions. o Modify Herbert's patch to centralize the date-selection option code. o Use the new centralized date-selection option-creation code. o Fix a typo in the help (was --diable-gui). o Add db-4.2 to the list of databases we search. o Fix a problem with opt style installs. o Rename from_xxx and to_xxx account tree widgets to left_xxx and right_xxx. o If in "accountant mode" call "transfer from" "credit account" and "transfer to" "debit account" and interchange account trees. o Remove the RECN cell from payable/receivable to stop confusing people. o Change Ukrainian "UAG" into "UAH" o Commented out setting the memo always to "Auto-created split" due to popular request. o Fix for part of bug only allow auto-create SXes which have splits to be created. o HBCI transfer template management GUI added by Bernd Wagner. o Added instructions about running under valgrind. o Added a large set of valgrind suppressions for both guile and gnucash. o Change the reg_type to SEARCH_LEDGER so all the 'action' types appear. o Remove unused 'ledger_status' widget. o At least be consistent about the background coloring of the month labels, even if we're still not using GTK themeage correctly. o Destroy the transient window when the widget is destroyed. o Make the advance and remind spin-buttons editable. o Change the upper bound on the advance and remind spins to 365 [days], with a page-size of 30 [days]. o Disallow the Scheduling of being-editing transactions in the Register, preventing a class of unbalacned SX template transactions from being entered and propogated through the system. o Fix nasty memory-corruption issue; insufficent bounds checking on array index. o Better handling of various error cases in transaction-creation. o When we have a problem parsing a credit/debit cell, indicate to the user what occurred. o Use the account-list filtering capability of the GncAccountSel to only show/allow-creation-of valid account-types in the loan-druid. o Add ':' to the token list of allowable characters in the formula cell. o Fix precedence bug screwing up loan review page. o Don't need to require format; main.scm handles it, and the default "format" (simple-format) is sufficient to handle everything we need. This allows gnucash to work with slib3. o Add code to remove "intl/Makefile po/Makefile" from AC_OUTPUT in configure.in prior to calling gettextize to make sure that you can build from CVS with recent versions of gettextize. Tested with both RH9 and RH7.3 to make sure it works with both old and new. o Move variable declaration to the top of the block. o Make sure we always have intl and po Makefiles in the configure script. Sometimes it was ripped out without being replaced. 1.8.8 - 17 Nov 2003 o HBCI - Improve error message when receiving zero balance from bank. o Add account template for Swiss German businesses "KMU" by Tom Winterhalder o Add *big* account template for German businesses "SKR04" by Betina Schmidt o Add Catalan and Turkish translation, Updated German, Italian, Czech, Greek and Dutch translations. o Add Turkish account template. Updated Greek account templates. o Remove debian scripts o Add a comment about minimum string length o Fix the ISO_DATELEN to be "long enough" o Fix handling of HBCI direct debits (fix wrong textkey). Fix and initially implement handling of multiple banks/users/customers. o Fixed extremly stupid, old bug that causes weird HBCI errors. Improved user messages. o Refactor some GUI code. Improve user messages. o BillTermDecRef should have been BillTermIncRef when setting new bill term. o Applied Frank Pavageau's patch regarding capital gains to handle split transactions. o Don't make a timespec with tv_sec == 0. Fixes some tests on the alpha platform. 1.8.7 - 14 Sept 2003 o Use instead of "libofx/libofx.h" as it's not part of our system. Fixes a dependency problem in 1.8.6 release. o Small fix from hawkfan to get tests to work when building outside srcdir. o Fix a bug introduced by Matthew -- ANSI C does not allow you to declare a variable in the middle of an expression. Move the declaration to the top of the function. o We don't need the trailing semi-colon because the #include adds one. The double semi-colon causes build failures in some cases. 1.8.6 - 11 Sept 2003 o Updated Spanish, Greek, French, Czech, Slovak translations o Fixed extremely stupid bug in the import value setting workaround. o Fixed problem with SX formula_cell calls o Merge missing part of 2003-05-28 commit. The log format changes didn't get commited for some reason, making the log replayer completely unusable. o Fixed crash during dialog startup on Solaris. o Turn off scheme garbage collection during query->scm and scm->query conversion. It shaves about 50% off the test-scm-query-string tests. o Make test-scm-query-string test deterministic by seeding the RNG with a known value. o Add a "slots" parameter to allow for future expansion. Right now this is completely ignored. 1.8.5 - 17 Aug 2003 o Add IS_PAID column and the ability to search for paid/not-paid invoices. o Add HBCI online transfer templates and make usable o Fix a bug where if you unpost an invoice and don't bring the TaxTables up to date, the total value shown in the register is different depending on whether the cursor is on the current line or not. o Don't constantly resize the invoice window every time we update ourselves. o Updated Italian, Brazilian Portugese, German, Czech, Dutch and British English translation. o Add Subtotal and Tax labels in the summary bar to print the Invoice's total amounts. o Change the log format to use GUID instead of C pointers, use ISO8601 instead of proprietary form and log the Notes field. o Port new log replay module from HEAD. o Re-enable reversed legend in stacked barcharts. Needs Guppi 0.40.4 a.k.a. Guppi CVS, though, to actually work. o Update the Polish Zloty for its new ISO currency code. o Add ability to sort by Action and Notes. o Fix the vendor window title to use the company name, not the contact name. Change the message when the company name is left blank. o Create a new "date format" widget to let the user choose a date format (and see the results of what the date would look like). o Add "Deluxe Personal Check" type. Add support for printing to "deluxe" personal checks. This prints the check "sideways" on a US-Letter configuration. o Backport the QueryList widget and associated usage (this allows more places to have sortable column displays for query results) o Improve HBCI error handling. Add more user feedback functions. o Add support for KtoBlzCheck, a small checking package for destination account numbers for German banks. Very small, very useful https://sourceforge.net/projects/ktoblzcheck o TRANSLATION_HOWTO: Added, by Jon Lapham o Add API to the plugin modules to allow post-processing (scrubbing) of the book after it is loaded from XML. This allows a plug-in to post-process the complete book. o Create a scrub function to clear up bogus tax tables due to a bug which could cause tax tables to get created ad-nausium if you post and then unpost an invoice. o Create a scrub function to clear up bogus bill terms due to a bug which could cause bill terms to get created due to post/unpost of invoices. o Enable the exchange-rate dialog on "search ledger" registers. o Raise the import window after choosing a file. o Change dialog statements to allow for embedded percent signs in the messages. In other words, don't allow user input into the format string of a printf. o Change how the billterms option menu is used so it will change properly if you change the invoice's owner. o Don't use gnc:reverse-account-balance? to determine whether to reverse the balance -- base it purely on the report type. o Fix gncBillTermCopy() so it PROPERLY copies the bill term. o Tolerate some HBCI banks failure of the GetSystemId-job. o Don't allow selection of directory for save file. o Add fancy-invoice report, to show what else is possible. It's not really useful per se, but it is another example for users. To be useful it requires some custom editing. o Limit the commodity choices based upon the current account type. o Add a new argument to the dialog creation functions to specify what types of commodities should be presented.Also tweak the title of the dialog based upon this argument. Remove the "new" button when the dialog is limited strictly to currencies. o Show the running balance column by default in the register report. o Annotate the window title to indicate whether a register is for a single account or it includes all subaccounts. o Change the register close dialog to include a cancel option. o Don't close the register if the user cancelled. o If the user has manually entered an amount, then stop automatically updated the amount when the date is changed. o Refactor many HBCI functions to eventually enable queued processing of several HBCI jobs. o Add a "retained earnings" item under equity, and change the title to include the start date (Balance Sheet report). o Don't print the "handling-request" messages when getting stock quotes. o Display selected pixmap when opening an options window. o Fix 'Save As' so it can write to non-existing files. o New data file should have same uid/gids original file. o Added Italian account templates by Lorenzo Cappelletti o Change HBCI online transfer action so that first the gnucash Transaction is created and only after that the HBCI connection is started. Necessary for later implementation of offline queueing and multi-job execution. o Clarify the part of the HBCI setup about potentially adding HBCI accounts manually. o Add a couple of extra checks to prevent crashing if the commodity attached to a price quote has disappeared. o Provide a new warning message before deletion if a commodity has any price quotes. If the user deletes the commodity anyway, removed any quotes are based on the commodity o Enhance the get prices routine to handle a request with a NULL currency. o Fix a crash where removing items in the wrong order could cause "Bad Things" to happen o Sort the bills before displaying them, so they appear in a consistent order (by date due). o Fix a bunch more rounding errors, and add more precision to the price. o Change the description and action of Invoice and Payement Transactions/Splits, to make it easier to print a check off the posted transactions. o Add Debit and Credit totals to Register report. o Differentiate between "file is already locked" and "we can't create the lockfile" so we can let the user know. o Fix the message to be more appropriate when we hit a READONLY error. o Various Postgres backend fixes o Add button for manual adding of HBCI accounts. Requires latest OpenHBCI 0.9.13 o Add saving of the HBCI_API so that bank's status changes will now be remembered immediately. o Add "(Report)" strings to the various columns displayed in the report currency. o Set the date-entered on invoice transactions to "now" instead of the post date. Thi lets us know when an invoice was actually posted, or a payment was actually made. o Support "gain/loss" balancing splits on stocks o Apply patch to fix a number of off-by-one bugs in the loan druid. o Adapted to latest gnucash-docs changes, by Jon Lapham o Add code to read XML files with real namespace declarations. o Make sure we define PWD, as not all shells define it properly. o Workaround for multi-currency importing bug. 1.8.4 - 25 May 2003 o Fix transfer dialog to nothang if OK button is clicked w/o filling in dialog properly. o Add HTML::Parser to the list of items checked/installed. o Updated translations: Brazilian Portugese, Czech, Italian, German o Fix the "View xxxbar" menu items to track properly when a new data file is opened. Consolidate the code for manipulating the View/Statusbar and View/Summarybar menu items. Work around a Gnome MDI bug as best as possible. o The numeric test regex was broken and would fail on ALL numerics, causing all imports to be of value zero. o Fix for creating new template transactions [from Scheduling existing transactions], such that they have valid Posted dates. o Fix for existing/old data without posted dates. If we encounter the condition, fixup the transaction's Posted date to that of the Entered date. o Add LOT_IS_CLOSED and LOT_BALANCE query parameter methods o Fixes for 64-bit architectures. o Add gncQueryGetBooks() API to return list of books in a query. o Add INVOICE_POST_LOT query parameter methods o Add an api to force an event even when events are suspended. Without such an API, events can be lost if the event system is suspended when the event comes in. o Added gnucash wrappers around gnome-print's rotate, translate, gsave, and grestore APIs. All to allow sideways printing (by rotating the image). o Wrap the new print-session apis. o Modify the AC_GWRAP_CHECK_GUILE() macro to take an argument, the g-wrap module directory. Then actually test that the g-wrap module loads. This should detect systems without slib installed. o New gwrap check macro o Deal properly when there are no prices for a commodity. o Supply a start date (as well as an end date) and don't print invoices that occur prior to the start date or after the end date. The aging information ignores the start date, but not the end date. This means the aging information will always be acurate through the end date (even if all the invoices and payments are not displayed). o Limit the itemized invoices/payments to the start/end date range, but print out a "Balance" line if there is a non-zero balance as of the start date. o Nikos Charonitakis's account chart updates: added new carloan account chart, updated account chart. o Use the correct columns when printing the Gain column, don't reuse the same column as profit; we want to report different values. o Don't let the user do anything with the options dialog until Apply() finishes. o Had the wrong number of arguments in gnc:account-get-balance-at-date o Add some (commented out) code to support a start date for computing the Net Income (aka Net Profit) in the Balance Sheet. o Move the instantiation of File -> Properties into main-window.scm (out of business-gnome.scm) for future cases where we might decide to ship the business modules separately. o Fix the ofx test program to make sure it links on many weird platforms. o When we are asked to reload the report, queue the request, queue a draw event, and then return immediately. When the draw event happens, load the report then. This lets you hit Apply and then OK before the report finishes loading. o Make sure we can find libofx/libofx.h o Include split transactions in the filtering of the transaction report. o Use a 'from' date to better compute the Net Income on the report. o Change the default Search Operation for numerics from "less than" to "equals" -- so by default you would search for an exact value. o "eval" changed API on guile-1.6. Use the existing API to convert a delta symbol to a delta time. o Call eval with the right number of arguments based on early or late versions. o Change the date format string to be consistent with other places (e.g. the check print dialog) and use '%' instead of '~'. o Make the Bill Due Days option selectable based on the setting of Notify Bills Due? o Don't crash if you remove the last entry and then add another one. o Deal with the case where the first transaction found for a particular company is a payment o Also print out any overpayment in the total column. o Catch errors when running the child reports so we display the failed report backtrace but also display an error and continue with the multicolumn report. 1.8.3 - 03 May 2003 o Updated translations: Italian, Swedish, Danish, British, Traditional Chinese, French, German, Tamil, Brazilian Portugese. o Turn off the report-total by default o The Euroland currency rates were inverted in the transfer dialog. o Chris Morgan's Baysian Matching code, to match transactions based on Bayesian filtering of previously matched transactions. o Fix a bug in the account name list when you you filtered down to no accounts it would ignore the filter. o The Account Separator option was moved to the Accounts page, reference correctly. o Fix the keypress handlers so they work properly for both the text entry widget and the calendar popup widget. o Force the cursor to the first line of a transaction split before disabling "double line" mode in the register. This prevents the register refresh code from trying to update a cell that is no longer visible. o Fix HBCI close-on-finished checkbutton. o Add descriptions of new HBCI actions. o OpenBSD fixes by Todd T. Fries o New report "income vs. day of week" by Andy Wingo o Fix a couple strings to improve comments when owners and accounts are missing. Direct the user to select them in the report options. o When building the "name + address" string, check if the company name and contact name are the same and, if so, only print one of them. o Fix the glade settings so resizing the window will properly resize the widgets. o Save the entry cells before adding an it to the invoice, otherwise it wont get sorted properly. o Add support in business code for the to-charge amount. o Don't ask the user in the general case when making changes to entries. Generally the user should be allowed to make whatever changes they want without being pestered. o Guile-1.6 requires empty lists to be quoted. o Symbols are not strings in guile-1.6. o Fix "WeekDelta" and add TwoWeekDelta. o Pop up a dialog if the user tries to transfer from a non-currency account, and don't let them do it. o Evaluate the date during get_predicate() in case the user just "hit return" (and the auto-evaluate didn't happen). o Fix crash during import of investment accounts. o Fixes for GCC 3.3 warnings o Fix HBCI user messages where chip cards were confused with key files. o Adapt to latest changes in OpenHBCI CVS. o Applied Tomas Pospisek's patch to the transaction report. o Fix the description of gnc:mdi-show-progress. o Enable changing the "ID" for different business objects. o Fix the percentage calculations so we don't get GtkCritical warnings. o Disable the test-scm-query-import test, since it breaks on guile-1.6 o Move currency conversion to gnc-pricedb.c o Improve report for stocks and funds not denominated in report currency. o QIF imports don't assume that a date of the form XXXXXXXX is always YYYYMMDD. Make sure a 4-digit year "makes sense" o Fix hbci and ofx test for handling --disable correctly. o Fix openhbci macro again so that it uses a C check program. 1.8.2 - 09 March 2003 o Updated translations: German, Slovak, Spanish o Updated HBCI requirement to 0.9.6 o Postgres fix for PG-7.3.x o More fixes for guile-1.6 support o Fix QIF Import for split transactions (#105139) o Remove "display balance in Euro" columns from the main window o Add "display balance in Report Currency" columns to the main window o Fix the transfer dialog / exchange-rate dialog so it doesn't round the values input by the user. (#106332) o Fix configure so tests wont fail on GCC 3.2.2 o HBCI: avoid sending online transfers twice o Dont override the user's toolbar style (#102041) o Import: don't punish transactions with an online ID o Add engine support for employee expense vouchers 1.8.1 - 09 February 2003 o Release of new stable version 1.8.1 o Fixes for qif import crashes o Update translation po/it.po by Lorenzo Cappelletti o Remove the tip that says that this is a development version. o Remove the "development version" string when running "gnucash --version" o Add heuristic for duplicate matching by check number. o Various bug fixes, remove Finance::Quote requirement for rpms built on RH 8.0 1.8.0 - 02 February 2003 o Release of new stable version 1.8.0 o Fix problem getting quotes from trustnet. o Add new script that dumps all the data returned by F::Q for a stock. o Apply Bill Nottingham's patch to use db4/db_185.h o Updated translations, po/en_GB.po by Nigel Titley, po/it.po by Lorenzo Cappelletti o Fix HBCI problem with negative account balances. o Add preference (on advanced tab) to enable HBCI debug messages. o Fix the Recurrence-Frequency example-calendar date calculation to show upcoming instances correctly. o Add HBCI user messages about what is supported by the bank. o Fixes for gcc 3.x build problems with postgresql backend o Many more fixes for the postgresql backend o Fix the "bill reminder" so it doesn't create a query if there are no payables accounts. o Fix some of the accounts in the tree to be more accurate to the real world. o Only set ReadOnly status for Invoices, not Payments. o Fix several bugs in QIF importer o Recognize even more error codes from OpenHBCI. o No longer assume that transaction with type OFX_OTHER are investment transactions. o Don't add income accounts to bills, or expense accounts to invoices. This should help further reduce user confusion with what to do when entering invoices. 1.7.8 - 20 January 2003 o Welcome to Release Canidate 3 o Fixed build issues introduced in last release o Fix compile errors on SuSE 8.0 + 8.1 o Update translations, po/ru.po by Vitaly Lipatov, po/el.po by ta_panta_rei@flashmail.com o Ignore certain splits with an "amount" of zero. o Convert from the old to new symbols for Russian Roubles. o Invoices change a couple of columns. Enable viewing the "taxable" entry. Enable viewing all the tax accounts individually. o Scrub hbci include paths to prevent gcc 3.x compile errors. o Default the OFX import directory to the directory of the last OFX file imported, or the user's home dir for the first export. Remembered across invocations of gnucash. o Default the save directory to the directory of the last file used. Default the exports directory to the directory of the last file exported, or the user's home dir for the first export. Remembered across invocations of gnucash. o Correctly handle the case where no stocks have been defined and the user asks gnucash to get price quotes. o Work around bug in ghttp library so that intl users whose whole units/fractions separator is a comma can request web pages. o Add "Default Report Currency" preference. o Set invoice currency based on owner's currency. o Use invoice's currency for printing the invoice. o Make the progress bar argument a double instead of an int. This gets around an issue with guile 1.6. o Add a checkbox to search-for-all o Changes to make the build system work on multiple architectures and with multiple versions of the autotools suite. Make generated g-wrap sources depend on config.status. o Remove restriction on guile versions > 1.4 Provide a version dependant load path variable for the SRFI location. (Empty in 1.6 since they're bundled with guile.) o Limit QIF matches against only the accounts in the old group, so we don't match against ourselves. This should limit the matches to only "reasonable" matches. o Remove "user name" and "user address" preferences, as they are no longer used by anything. o Create a taxtable option type using the new generic optionmenu code o Create a default customer and default vendor taxtable option for the "File Properties" option menu. o Reset the search-type to "New Search" if we end up displaying no results. o Use the "New Search Limit" pref to decide when to start a new search vs. when refine the search. o Create two new global preferences: "Notify Bills Due?" and "Bills Due Days" o Added sources needed for OS X to dist. o Lots more bugfixes, see changelog. 1.7.7 - 05 January 2003 o Welcome to Release Canidate 2 o Give the user better feedback on exactly what the exchange rate means. o Better handling of corrupt XML data files. Print better error messages for unknown tags, or mismatched start/end tags. o When checking for gtkhtml-1.1, make the lack of pkg-config a fatal error. Also check for pkgconfig o Updated translations, po/de.po, o Fix HBCI reparent warnings. Make the PIN dialog a bit nicer. o Fixes to Postgresql backend. o Changed the "ALTER TABLE table ADD COLUMN..." statements to conform to the current Postgres implementation (and SQL 92) standard by putting the DEFAULT modifier in a separate ALTER statement. This was reported by Christopher B. Browne. o Implement unpost function in invoices. o Correctly open a help window when the initial URL contains a label component to it. o Make the reconciliation window respect the 'include subaccount' flag any time it opens a register. Consolidate logic for opening a new register. Enhance the reconciliation start window to update the ending value when this flag is changed. o If the amount is monetary, map the keypad decimal key to the correct decimal character for the locale. o Fix malformed URLs for bringing up a report options window. o Add new option for specifying sort critera for piecharts and barcharts. o The report title should change when the report name field is changed in the options. o Add a smart function for going "back" from the "load a file" page. If there are any files loaded it returns to the "loaded files" page instead of the initial druid page. o Add support for i18n of price source strings. o Add icons to gtk only windows. o Search on NOTES add code to prevent searching on template-txn accounts so SXes don't show up in find results. o Create a 'file compression' option and pass the data into the backend. This is an option in the preferences. o Provide a simple checkbook set of accounts o When editing an exchange rate, always change the _VALUE_ of the split, not the amount. This has the affect of keeping the visible number the same and changing the "other" account. o Add a set of business accounts to the account setup o Give a much higher importance to the date heuristics in the OFX import. o Disable skipping transactions which already have an online id during matching, untill a fix for the "transfer between two accounts" bug is properly fixed. o Large set of fixes to the build system by John H. Pierce 1.7.6 - 22 December 2002 o Welcome to Release Candidate 1 o Put the build date into the about box for development versions o Deal with broken QIF files that give broken bang-fields. In particular, handle the case where it supplies "!Type Bank" instead of "!Type:Bank" o Fix g-wrap test to fail properly if it cannot find g-wrap-config o Add "Edit Exchange Rate" menu items to the Actions menu and the context menu o Fix the amount display so that the exchange dialog always shows the "amount" in the the local (register) currency. o Add an additional module to check for (LWP aka libwww-perl) before attempting to call Finance::Quote. o Updated translations, po/nl.po by Hendrik-Jan Heins , po/uk.po by Volodymyr M. Lisivka , po/el.po, accounts/el_GR by Nikos Charonitakis o Major update to generic import architecture/transaction matcher. o Change HBCI to using new Transaction Matcher GUI o Require openhbci 0.9.4 for HBCI version choosing. o When not retrieving stock quotes for an account, dim the price source labels as well as the option menus. o Consolidate all knowledge about Finance::Quote sources into one place. Functions to record whether or not F::Q is installed properly, and if so, whether a particular source is available. o Change default new SX frequency to monthly o Filled in a long-thought of idea for a formula cell: can contain text unlike a pricecell, but doesn't really want to do auto-complete like a quickfill cell [what we had been using]. This allows us to provide the gnome formula cell which can remap the keypad '.' character based on locale o Disallow the deletion of accounts with ReadOnly Transacation in them. You must first "delete" the RO Txns before you delete the account. o NOTE: As of now you ABSOLUTELY REQUIRE G-WRAP >= 1.3.3 o Loan Druid re-written o Add menu items and code so a user can limit transactions in a register to any combination of the Reconciled/Cleared/Voided/Unreconciled states. o Give user feedback during the rendering of a report. o Remove old user docs and tools that are now in gnucash-docs o Fix for large accounts overflowing the data types used in the register code which are causing crashes. o Add support for new GnuCash icon made by Jakub Steiner o Connect up help buttons in dialog's to help files o Lots more bugfixes 1.7.5 - 02 December 2002 o Fix for a problem with multi-currency that could result in data corruption. Recommend to use this version over 1.7.4 1.7.4 - 01 December 2002 o Second beta release o Problems with importing 1.6 data files fixed o Updates to generic transaction matching o More postgres backend fixes o New progress bar when making reports o Payment schedule review page added to loan druid o Fixes to multi-currency support o Added Brazilian Portugese account templates by Lucimar Moresco o Added doxygen documentation support, and integrated it into the build system. There is a new target, make doc, that can be used to build the documentation if you have doxygen installed. o Catch the condition gracefully when OpenHBCI config file does not exist. o Compute the implicit exchange rates for ALL transactions when necessary. No longer requires the pricedb for printing split values. This will display all transactions in the currency of the current account, regardless of the number of splits in the transaction. o First pass at getting multi-currency transactions to work from the register. o Lots more bugfixes 1.7.3 - 17 November 2002 o first beta release o improved libofx configure support. Add --with-ofx-prefix so users can define where to look for libofx. o fixed missing ofx files in tarball o updated gnucash.spec file to work with rh8 o added new cashflow report contributed by Herbert Thoma o New functions to get/set read-only status on a transaction, and to print a warning message if a transaction is read-only. o Added a bunch of currencies. o MAJOR improvement to OFX investment support. All transactions created from an investment account are now already balanced. Explicitely support Dividend Reinvestment transactions which will now directly create a income account -> stock account transaction, and Income transactions which will directly create a income account -> cash account transaction. Support memorising the income account association. Several stock account can use the same income account if desired. o Updated translations (merged from 1.6 branch plus updates from the Translation Project). o Matthew Vanecek added some bug fixes for the SQL back end. o Add support for gtkhtml 1.1 o Added calculate the number of remaining payments based on the start date, loan length and current date to Mortgage druid o loads of bugfixes, keep those bugs coming! o NOTE: Report bugs to https://bugs.gnucash.org 1.7.2 - 27 October 2002 o second alpha release o you can now search by reconcile flag o ability to set posted invoices and payments read-only o New commodity matcher for OFX generic import o latest libofx is needed for OFX support o Investment transactions now create two accounts, one is for the stock, the other is the account defined by the FI, where the cash is swapped. o Updated glossary o HBCI improvements to transaction retrieval o Add Direct Debit HBCI action and add caching of the PIN to user preferences. o HBCI suport requires OpenHBCI 0.9.3 or current OpenHBCI CVS o loads of bugfixes, keep those bugs coming! o NOTE: Report bugs to https://bugs.gnucash.org 1.7.1 - 13 October 2002 o first alpha release o lots of new features, please test as much as you can o esp Scheduled Transactions, Small Business and OFX/HBCI. o please check Changelog for exact details o NOTE: Report bugs to https://bugs.gnucash.org 1.5.98 - 04 June 2001 o second beta release o updated documentation (English & Portuguese) o updated German and Portuguese translations o more work on sql backend o fixes for FreeBSD o bug fixes 1.5.97 - 27 May 2001 o first beta release o feature freeze o updated documentation o updated Norwegian and Portuguese translations o bug fixes 1.5.96 - 20 May 2001 o second alpha release o updated user documentation o updated api documentation o bug fixes 1.5.95 - 13 May 2001 o alpha release, string freeze o new user account hierarchy wizard o account hierarchy export o reporting improvements o transfer dialog auto-completion o many bug fixes 1.5.6 - 23 April 2001 o reporting improvements o many misc GUI improvements o updated German and Portuguese translations o fixes for Solaris o bug fixes 1.5.5 - 15 April 2001 o more new & improved reports o use of gnome MDI for main window o GUI improvements o bug fixes 1.5.4 - 01 April 2001 o several new & improved reports/graphs o online price quotes now work o new main window display o Spanish & Portuguese translations of the manual o many bug fixes 1.5.3 - 25 February 2001 o new XML file format o better support for importing qifs from online banks o improved checking register o support for charts & graphs o financial calculator o new user account hierarchy wizard o many UI improvements 1.5.2 - 25 September 2000 o fixes for Solaris 8 o fixes for gnome-print 0.23 o misc bug fixes 1.5.1 - 18 September 2000 o new Spanish translation o new Russion translation o improved qif importing o updated documentation o lots of bug fixes 1.5.0 - 9 July 2000 o switch to gtkhtml widget o updated French translations o improved qif importing o fix for g-wrap 0.9.4 o misc bug fixes 1.3.100 - 12 June 2000 o bug fixes o updated documentation o updated translations 1.3.99 - 05 June 2000 o transaction auto-completion o improved qif importing o fixes for 64-bit architectures o updated translations o automaked build system o bug fixes and ui improvements 1.3.8 - 25 May 2000 o transaction cut/copy/paste o new Japanese translations o user interface improvements o bug fixes 1.3.7 - 08 May 2000 o better printing of multiple currencies o user interface improvements o bug fixes 1.3.6 - 24 April 2000 o transaction finder dialog o even better qif importing o some support for the euro o bug fixes 1.3.5 - 10 April 2000 o more work on reports and check-printing o fixes to qif importing o misc bug fixes 1.3.4 - 27 March 2000 o alpha code for check printing (requires gnome-print) o more i18n of reports o auto check numbering o bug fixes and GUI improvements 1.3.3 - 20 March 2000 o new QIF importer o new Swedish and Great Britain translations o minor GUI improvements 1.3.2 - 12 March 2000 o new French and German translations o new French documentation o speed improvements in the register o more work on reports 1.3.1 - 05 March 2000 o qif fixes o French documentation 1.3.0 - 28 February 2000 o first gnome release of GnuCash o many, many, many changes 1.1.22 - 3 November 1998 o build break fixes o install break fixes 1.1.21 - 22 October 1998 o simple report generation infrastructure 1.1.19 - 5 October 1998 o fixes to QIF import incl MS-Money import o implement rollback in engine; can now commit or reject (undo) edits. 1.1.17 - 13 Sept 1998 o working auto-expand register o sort by date, num, amount, memo, descr. o list all transactions between two dates. 1.1.16 - 13 Sept 1998 o busted. 1.1.15 - 9 Aug 1998 o Everybody's doin it: make xacc into a web server. 1.1.14 - 8 Aug 1998 o First drop of Qt code o A split register that finally more or less works o guile configuration code from Rob Browning 1.1.6 - 8 March 98 o First drop of GTK code from Jeremy Collins o First stab at GTK plotting from Rob Browning o German README from Henning Spruth o Stock Ledger cleanup o fixed up configure, gnome and motif makefile targets 1.1.5 - 6 March 1998 o perl scripts for parsing stock quotes from internet from Chrostopher B. Browne 1.1.4 - 1 March 98 o gui-independent engine code moved to src/engine o main motif app code moved to src/motif o merged in bug fixes from 1.0.x branch o ofx dtd's in lib/ofx/dtd o misc raw info in raw (e.g. currency codes, country codes) 1.1.1 - 24 Jan 1998 o Alpha level code. Very broken. All new register design -- modularized. Many versin 1.0 ledger functions missing. Splits added to engine. May not compile, will probably core dump. This is alpha level code, not for general use. 1.0.18 - 14 June 98 o Fix Quicken QIF import to recognize "transaction cleared" flag. o Add RedHat RPM spec files. o Fix a bug in configure.in re. motif flags. o Enable European-style dates with --enable-eurodates o Fix core dump reading QIF files o Fix core dump closing certain windows o enable prompt to save to file when WM closes window o fix garbling to description field when cancel button hit 1.0.17 - 14 Feb 98 o Fix core dump when deleting account with open register windows. o Fix core dump when transfering money to deleted (non-existant) account. o Fix tabbing between ledger entry and record/cancel/close buttons. o MS Money QIF import fixes. o obscure fix to Xbae table widget that may fix some mystery core dumps. o add CBB, MS-Money QIF export sample files o add SCO UnixWare, OpenServer build files o precompiled SCO UnixWare 7 and OpenServer 5 binaries 1.0.16 - 7 Jan 98 o Leap year fix o Solaris compile patches o precompiled AIX 4.1 for IBM RS/6000 binary 1.0.14 - 6 Jan 98 o Debian package version o QIF File format patch for reading CBB-exported QIF's o Date bug fix 1.0.11 - 11 Dec 97 o large variety of bug fixes, patches, enhancements. 1.0b1 - 29 Nov 97 o Many, many changes by Linas Vepstas to give double entry bookkeeping, sub-accounts, income/expense account types, and the beginnings of support for the QIF data format. o All "non-standard" libraries needed for xacc (xbae, libhtmlw, and libComboBox) are now part of the xacc distribution, to make it easier to build xacc. o Applied XbaeMatrixSetCursorPosition patch (needed for quickfill) to Linas's modified xbae src. (So quickfill works again.) o configure script to make it easier to build xacc. o The environment variable XACC_HELP will tell xacc where to find the files for the hypertext help. If XACC_HELP isn't set, xacc will default to "./Docs" as the help path. 0.9 - 08 Sep 97 o Lots of code-cleanup. o Adjust Balance window. o Reconcile window! Makes it easy to reconcile your account at the end of the month when you get your new bank statement. o Hypertext, context sensitive help. A pretty nice add-on, thanks to libhtmlw, from NCSA Mosaic. (Now someone just has to write some decent help pages!) o Fixed busy cursor. Previously the code the switched cursors caused the program to crash, so it wasn't enabled. Now it works, and is enabled. 0.7 - 14 Jul 97 o Started adding support for account types other than "BANK". Still no support for Portfolio and Mutual accounts. (They are greyed out in the "New Account" window for now.) o Changed the balance field to use red/black text to denote negative/positive balance (instead of using a sign... If you define USE_NO_COLOR when compiling, it will revert to the old method of displaying a '-' in front of negative balances) o Fixed bug in automatic transfers that cause the "From" account to always be the first account, and the "To" account to possibly be incorrect. Also, added "[To: ]" "[From: ]" (with to account name, and from account name) to the start of the memo field, so you can keep track of where the money comes from/goes to. 0.6 - 28 Jun 97 o Fixed balance/reconciled field (in bottom right corner of register window. (It sorta works now, with lesstif. I don't know about motif... you have to leave the current transaction for the balances to be recalculated.) o Rearranged directory structure... the source was growing to too many files to have it all in one directory. 0.5 - 6 Jun 97 Mostly, minor bug fixes o verifyDate -- affects when accelerator keys in the register window cause the date to cross a year boundary o Fixed handling of the date in the transfer window. Before if the user pressed the "transfer" button with an incomplete date in the date field, the resulting date would be undefined. o If the user doesn't enter data in the description field, The number field, the memo field, or one of the amount fields, the the new transaction isn't added when the user leaves the new transaction, or presses "Record" o Now user is prevented from entering more than one '.' in the amount fields in the register and transfer windows. Also, the user is prevented from entering more than two '/' in the date field in the transfer window. o Fixed a (very small) memory leak in the transfer window. o Fixed a bug in the transfer window that resulted in a different amount subtracted from the "from" account as was added to the "to" account. o Fixed bug that caused a segfault when deleting the last transaction in the register window. o Now if the user is in the last transaction (the empty transaction) in the register window, the "Delete" button does not do anything. 0.4 - 3 Jun 97 o Added "Balance" and "Reconciled" balance to the bottom right corner of the register window. o The main window uses an Xbae-Matrix widget now, instead of a list, in order to line up the account names, types, and balances in nice columns. 0.2 - First (mostly) functional release. Most of the buttons, and menu bar choices actually do something now. 0.1 - First demo release. Lots of buttons, and menu bar choices Don't do anything. The register window is still pretty buggy.