Releases: Gnucash/gnucash
GnuCash 4.9 Released.
The GnuCash development team announces GnuCash 4.9, the tenth release in the stable 4.x series
Between 4.8 and 4.9, the following bugfixes were accomplished:
- Bug 797502 - (RTL) - Right edge of the reports are locked while scrolling down
Running gnucash in Hebrew, the right edge of the reports are locked while scrolling down and do not scroll with the rest of the report.
- Bug 797618 - Spanish translation of Shares and Stock
- Bug 797678 - OFX importer should supplement, not replace, existing Notes (and Description and Memo) fields
Add an "Append" checkbox to the bottom of the "Generic import transaction matcher" window to the left of the "Reconcile after match" checkbox. When ticked, this causes the imported Description/Notes to be appended to the matched transaction Description/Notes respectively. The selected ticked/unticked state of the "Append" checkbox is saved in a key value pair for the import account, so the next import for that account will automatically default it to the saved state. As these mods are limited to the code for the matcher window, this should work for all the imports that use it - ie ofx & csv file imports (both tested) & aqbanking (cannot test).
- Bug 797772 - Allow reconciliation report to double filter by both posting and reconciliation date
- Bug 798222 - Account search dialog: Pushing enter does nothing
- Bug 798266 - Dropdown picker menu for category does not appear
- Bug 798313 - "File/Import/Import Transactions From CSV" crashes Gnucash.
- Bug 798320 - Error message indicating a crash of GNUcash when closing application - MacOS 10.15.7 (19H1419)
- Bug 798325 - New Currency for Venezuela (VED)
- Bug 798327 - Ofx import stops too early for multi-account OFX and one account has no new transactions
- Bug 798335 - No longer possible to change trading account
Strip trading splits only if "Use Trading Accounts" is enabled for the book so that users who want to manage trading accounts by hand may do so.
- Bug 798341 - Right align in Hebrew - Account screen
- Bug 798346 - crashes when running check & repair
- Bug 798352 - Decimal Precision when Entering Mutual Fund Transaction
Let xaccParseAmount parse up to 12 decimal places instead of 8.
- Bug 798382 - Typo corrections in comments
The following fixes and improvements were not associated with bug reports:
- More memory leak plugging and GList efficiency improvements.
- Fix build with cmake older than 3.18
3.18 introduced 'cmake -E cat', but we still have to support versions starting from 3.14.
- [account-piecharts] don't use gnc:make-internal-option
- Several improvements to the experimental IFRS cost-basis report.
- Fix two minor issues with displaying links in the Document Link dialog.
- Fix obsolete links to bugzilla.gnome.org in translations.
- L18N: Fix glossary/es.po:906: duplicate message definition...
901: ...this is the location of the first definition
- [budget-flow] delay creating exchange-fn until a valid budget exists
because it needs budget period end-date.
- [options.scm] Addon previous commit... need to initialize with guid
- [options.scm] gnc:make-budget-option stores guid instead of object
because object may become stale if UI is used to delete it, leading to stale pointer and segfault. storing guid is safer, and will return null if budget is deleted.
- support SEPA internal transfer
- Fix issue with failure to run reconciliation with all accounts present in a multi-account OFX file. Do that by saving a GList of statements, rather than a pointer to a single one. Also freeing of info happens during the call to process_next_file.
- Import of OFX files with many securities opens too many matching dialogs Because ofx import is currently split per target account, and since each security has its own accounts, importing such OFX is a tedious process. The fix is to only split the transactions if we identify a potential transfer, currently based on amount, date and accounts. To do that, we insert transactions one by one into a list, making sure we have not already inserted one that has the same date, and the same absolute amount. If we have, we keep this potential transfer for a second phase. A naive approach would loop through added transactions for each new transaction by that ends up being O(N^2), which matters if we have many transactions. Instead, I'm using a hash to make this O(N log N).
- [date-utilities.scm] remove unused date selectors code & string
- Adjust GNC_DEFINE_TYPE_EXTENDED_END
To match new signature of g_once_init_enter and g_once_init_leave.
- Fix build with glib2 2.67.x.
glib headers should not be included with 'extern "C"'.
- Add explanatory note for gnc_add_scheme_deprecated_module test code
The immediate parent commit removes old deprecated scheme modules. Link to the old modules for example code.
- [test-engine-extras] don't create splits of opposing amt/value signs
Splits' value and amount should never be of opposite signs. Fix test book which had created this incorrect value/amount pair. Strengthen env-create-multisplit-transaction to disallow test book errors.
- [dialog-search] another QofQuery "q" must be destroyed
because qof_query_merge creates a newly allocated QofQuery, its 2 QofQuery must be freed separately.
- [trep-engine] new option "Date Filter" to specify dates to filter by
- [dialog-sx-since-last-run] don't allocate repeatedly to combine strings
- [test-transaction] "Report Currency" renamed to "Report's currency"
- Separate the warnings for "cut split/transaction" and "delete split/transaction"
- [gnc-autoclear] Move autoclear algorithm into gnome-utils
- GSettings - fix GObject warning when old prefs-version is unset
This will happen when current master (future 5.0) has been run at least once.
- [utest-gnc-pricedb] add tests for gnc_price_list_equal
Also need to change PWARN which causes test failure, to PINFO
- [reconcile-view][bug] dr/cr query tests amount instead of value
Because split->amount and split->value are generally of equal sign, EXCEPT in stock transactions whereby split->value can be zero and split->amount is non-zero. e.g. a stock split transaction. Querying the split amount instead will allow stock accounts with stock splits to be reconciled.
- [split-register-model.c] Hide price==1 for zero-amount splits
mainly of interest in zero-amount zero-value splits in the stock register eg dividend splits.
- [core-utils] introduce gnc:format
(gnc:format str [binding value]...) str will contain ${binding} which will be replaced to value.
- [import-main-matcher] show destination acct for auto-match
- GSettings - add 'deprecate' and 'obsolete' conversions for user preferences
'deprecate' is technically a noop. It serves to remind maintainers the 'deprecated' preference is to be obsoleted in the next major release. 'obsolete' goes one step further in that it will cause gnucash to reset the preference, effectively clearing the value stored in the preferences backend. This is the final phase of a preference. Following this it will be completely removed from the GSettings schema in the next major release. Notes * 'deprecate' and 'migrate' are related. Both are a reminder the preference is to be obsoleted in the next major release. 'deprecate' does only that though while 'migrate' will also trigger a copy of the old value to a new location in the databse. * This commit readds a couple of preferences that had been removed in the past to be able to properly obsolete them (and to test the obsoleting code)
New API
None
Deprecations
None
New and Updated Translations: Chinese (Simplified), Chinese (Traditional), Croatian, French, German, Hebrew, Italian, Norwegian Bokmål, Portuguese, Portuguese (Brazil), Spanish, Ukranian.
Help translate GnuCash on WeblateKnown Problems
GnuCash 4.8 Released
The GnuCash development team announces GnuCash 4.8, the ninth release in the stable 4.x series
This is a snap release to fix crashes during migration. The macOS and Win32 GnuCash bundles were not affected; if you use either of those you do not need this release.
Between 4.7 and 4.8, the following bugfixes were accomplished:
None
The following fixes and improvements were not associated with bug reports:
- [gsettings] Avoid crash from settings schema not being registered.
- Rethink how gsettings migration file is constructed
- GSettings hotfix - resolve crash due to bad schema reference
- [gnc-plugin-page-register] call invoice editor with parent window
- [assistant-stock-split] set parent window properly
New API
None
Deprecations
None
New and Updated Translations: None.
Known Problems
Complete list of all open bugs.
.Documentation
Concurrent with the release of GnuCash 4.8 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
Between 4.7 and 4.8, the following bugfixes were accomplished:
None
The following fixes and improvements were not associated with bug reports:
- Remove obsolete files.
- Remove autotools.
New and Updated Translations: None
Getting GnuCash for Windows and MacOS
GnuCash is provided for both Microsoft Windows 8.1® and later and MacOS 10.13 (High Sierra)® and later in pre-built, all-in-one packages. An installer is provided for Microsoft Windows® while the MacOS® package is a disk image containing a drag-and-drop application bundle.
The SHA256 Hashes for the downloadable files are:
15b8e4ff8336168eba88ef2faade377e5c5ff08e48b4660da1a33a8a407feb12
gnucash-4.8.tar.bz237e6fbdee7e2ac41299cdb4ffef189c160b03f992ab30e823369df90ebb0d61f
gnucash-4.8.tar.gzb8c4a4bad5a073f53ea07ad46d4c13096a5d26d906ceda8c049842a8362d0a86
gnucash-4.8.setup.exe20af888f1d1293a036b595145ad9e5338b3a92f868b6e4fca021d4cc7d9df36b
Gnucash-Intel-4.8-2.dmg988011168a3ab2c3601a5af75f5caad89fb18a4e880311f3538b8fc7c9a068d3
gnucash-docs-4.8.tar.gz
GnuCash is now available as a flatpak from Flathub.org. Instructions for installing and running.
To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.22.29, Guile 2.0, Boost 1.67, WebKitGtk 2.4, GoogleTest 1.8.0, cmake 3.10 and SWIG 2.0.12. Please consult the README.dependencies file in the sources for the exact list of dependencies and versions.
About the Program
GnuCash is a free, open source accounting program released under the GNU General Public License (GPL) and available for GNU/Linux, *BSD, Solaris, MacOS, and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.
GnuCash 4.7 Released
The GnuCash development team announces GnuCash 4.7, the eighth release in the stable 4.x series
Compatibility Notice
In order to allow flatpak users to share preferences with installations outside of the sandbox we need to change the preference path from /org/gnucash to /org/gnucash/GnuCash. This release of GnuCash does that and it will automatically migrate existing preferences. It does not, however, continue to write preferences to the old path and it runs the migration only once. If you go back and forth between GnuCash 4.7 and an older versions you'll have two sets of preferences, one for GnuCash 4.7 and later and another for GnuCash 4.6 and earlier. This includes the file history list and last-opened file.
Between 4.6 and 4.7, the following bugfixes were accomplished:
- Bug 87847 - RFE: Create a 'checkbox' cell type
- Bug 766052 - Job report payments wrong when payment contains splits
- Bug 797596 - New-owner - improved representation of payments with multiple non-APAR splits
- Bug 798142 - Tax rate appears as a fraction
- Bug 798180 - Update to macOS Big Sur 11.3 breaks Finance Quote
- Bug 798205 - Some transactions dropped with no apparent cause or warnings for credit card ofx import
Do not exclude from import a transaction that has an FITID which matches an already existing split. This is because it (1) may be a coincidence and therefore the transaction needs to be added or (2) could be on a transfer from the account being imported to another bank account which has already been imported, and so needs to be matched, not added.
- Bug 798208 - management fee transactions are ignored on OFX import
- Bug 798211 - Equity statement double calculates unrealized gain
- Bug 798219 - apply/OK truncates exchange rates from 4 to 2 decimal places; enter doesn't
- Bug 798221 - Transfer funds between accounts with different currencies crashes Gnucash on macOS
- Bug 798224 - Scheduled transactions are created with date-entered copied from the template transaction.
- Bug 798229 - GncDate::c_formats is being created and destroyed twice resulting in a double free crash on every exit.
- Bug 798234 - Cut Transaction discards the reference to the description/memo strings so that Paste Transaction will paste uninitialised data (or other strings)
- Bug 798235 - Reconciliation Ending Balance not recalculated the 2nd and subsequent times Statement Date is updated.
- Bug 798237 - Logging during XML file loading degrades performance significantly
- Bug 798238 - "New security" dialog doesn't save the "Display symbol"
- Bug 798250 - Gnucash permanent hang on save while loading report
- Bug 798256 - Crash in recnFinishCB
- Bug 798298 - Re-imported transactions no longer ignored
- Bug 798303 - account list is sorted wrong by amount
- Bug 798312 - Opening the help for dialogues in the wrong language.
The following fixes and improvements were not associated with bug reports:
- Lots of memory-leaks plugged
- Change the preferences path to org.gnucash.GnuCash to comply with flatpak requirements and migrate existing preferences to the new paths. This won't provide for automatic sync between a system-installed GnuCash and a flatpak one unless the system-installed one is GnuCash 4.7 or later. Please see the Wiki for more information and a procedure to convert your existing preferences.
- Cleanup - minimal glib=2.56.1 - drop all conditionals on older versions
- Add code to handle ofx files that include transfers between accounts
- During transaction import, ignore splits whose account is not the destination account
- Do not drop a potential match just because it has an online_id.
Now that we don't exclude from import a transaction with an FITID that matches an already existing transaction, if one accidentally re-imports a transaction, this allows it to be automatically matched against the previously imported transaction.
- Add test for Transaction GetDate() in python bindings, pursuant to Bug 798284.
- In find customer dialog, add a column for "Shipping Contact" parameter
- Prep early splash screen messages for translation
- Change text for SX preference option 'Review created transactions' to better align with existing SX text.
- Fixed an XML backend problem where trying to open a locked file would clear the lock even if one didn't ask to, so the next attempt would find the file unlocked even if still open in another instance.
- Fix 2 crashes in Generic Transaction Matcher
- Handle very large denominators from Finance::Quote's OpenExchange source
- Update file extension in man pages per mailing list post.
- Changed some option names:
- From "Show Accounts until level" to "Levels of Subaccounts"
- From "Extra notes" to "Extra Notes"
- from "Report title" to "Report Title"
- From "Invoice number" to "Invoice Number" to ensure it matches all other invoice reports.
- Fix missing mnemonic keys after changes to GNCAmountEdit
With the changes to GNCAmountEdit, the way the mnemonic keys are associated to the entry widget of the GNCAmountEdit needs to change so have created a function gnc_amount_edit_make_mnemeonic_target which does the same as GNCDateEdit.
- Fix rounding in Stock Split Assistant to correct earlier commit that rounded the share price to that of the currency.
- [Portfolio Reports] Allow share digits to 9 decimal places to match the maximum commodity fraction.
New API
- None
Deprecations
- Date options with a time of day setting.
Removing the only use, an example in hello-world.scm. GnuCash doesn't use this value in any of its own report options and the feature will be removed in GnuCash 5. Related to bug 798297 Pref "Use 24-hour clock" obsolete?.
- gnc:owner-report-create
New and Updated Translations: Chinese (Simplified), Croatian, Finnish, French, German, Hebrew, Italian, Japanese, Portuguese, Portuguese (Brazil), Swedish, Ukrainian
Known Problems
Complete list of all open bugs.
.Documentation
Concurrent with the release of GnuCash 4.7 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
Between 4.6 and 4.7, the following bugfixes were accomplished:
- Bug 798226 - minor mistakes in Tutorial and Concepts guide 2
- Bug 798226 - postprocessing: xmlformat
- Bug 798236 - Remove comment about swapped A/P & A/R terminology
The following fixes and improvements were not associated with bug reports:
- Replace COPYING file from GPL 3 to GPL 2.
- Substantial editing of the C documentation to make the meanings more understandable to translators.
- Apply dtd-locale to help/de/Help_para-assist-intro.xml.
- Add ENTITY(s) prefix guisubmenu, guimenuitem, and guilabel as gsm, gmi, and gl, respectively.
- Move untranslated entity messages from gnc-docbookx.dtd to each locale file.
- Make DTD ENTITY(s) translatable. See docbook/README. Bug 798273 - Consider a entity import system like in docbook-xsl
GnuCash 4.6 Released
The GnuCash development team announces GnuCash 4.6, the seventh release in the stable 4.x 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 'Since Last Run' dialog so that the default can be specified.
- Bug 743753 - Nearest in time security price selection is incorrect in reports
Add new price source - 'nearest before report date' will ignore prices *after* report date.
- Bug 743999 - Deleting a digit from an existing number greater than four digits in length generates an error message.
Because the grouping is off. Checking grouping on input is pointless so just ignore the grouping separator when parsing number input.
- Bug 753283 - Current Selection Highlight Lost After Transaction Edit in Scheduled Transaction Window
- Bug 787813 - Price change from editing a transaction not reflected in pricedb.
- Bug 794877 - Intro text of "Online Banking Setup" is outdated
- Bug 795804 - Extremely slow save
Only update the status bar when the percentage changes by at least 1% because running the mainloop is expensive on macOS and Microsoft Windows. This speeds up all operations that run the progress bar with overly-fine resolution.
- Bug 796761 - Newline (char(10)) is inserted into the end of the string if copy & paste text from excel into the description field of transaction
- Bug 797787 - Feature request: preference setting to open new tabs adjacent to currently active tab
tests preference; if enabled then new tab inserted after current. if disabled then new tab is at the end.
- Bug 797928 - Since last run asks for security price when no shares traded
- Bug 798093 - Changing the symbol/abbreviation of a security after the trading account was created breaks GnuCash.(Reopened)
- Bug 798133 - Gnucash crash when any custom action is entered
- Bug 798144 - Reconciliation uses different number than entered
If a number was pasted into the balance end value with a currency symbol the number would silently fail on evaluate and cause the wrong value to be used. With previous changes to the GNCAmountEdit widget a warning symbol will indicate a validation error and prevents going forward.
- Bug 798148 - "Accounts" page Present (USD) column uses future prices
- Bug 798151 - Value entry box not tied to associated transaction in Since Last Run assistant
- Bug 798156 - glib 2.68.0 breaks gnucash
- Bug 798159 - Keyboard shortcut bug in 'manage document link'
- Bug 798162 - Type Ahead Initialization Problem
- Bug 798170 - Unbound variable: gnc-budget-lookup when running saved report Budget Report via gnucash-cli
- Bug 798177 - Price of new stock transactions not saved in price database
- Bug 798186 - Incorrect result editting account in register when overtyping a part selection.
- Bug 798188 - The Invoice Editor -> Printable Invoice toolbar button crashes on Windows
- Bug 798196 - not building with Boost 1.76
- Bug 798199 - Pasting invalid value in date column crashes GnuCash
- Bug 798202 - Register input ignores theme on KDE rendering black text on black background
- Bug 798203 - g_assert fault while reversing transaction
- Bug 798204 - Creation of Imbalance Accounts
- Bug 798212 - right-click the down-arrow in the date register changes focus to first split
The following fixes and improvements were not associated with bug reports:
- Improve transaction sorting on effective num field so that alpha charachters and numbers larger than 1 billion will be ordered. Ordering is now numeric for leading numbers (so that 9 sorts before 10) and lexical beginning with the first non-numeric character. Note that if one of the values begins with an alpha character ordering will be entirely lexical. Lexical sorting is localized; as in the rest of GnuCash only standard ASCII numbers (codepoints U+0030 - U+0039) are treated as numbers.
- Add import preferences for the difference in time considered when matching an existing transaction to an imported one. A difference less than the matching-date-threshold raises the score of the match; a difference greater than match-date-not-threshold lowers the score.
- Add experimental report "IFRS weighted-average cost basis report". This is a work-in-progress to help calculate the cost basis of securities priced in a foreign currency.
- [income-gst-statement] amend headers post Brexit. UK left EU, therefore VAT headers have now changed.
- Plug a bunch of memory leaks.
- Change how the print_info is obtained for the register: Currently the register sets up some 'print_info' values using the default account but if the register is a stock register they should be obtained from a parent account with a currency.
- Change monetary value for gnc_default_share_print_info: Share values are not currencies so set the monetary value to 0 for the GNCPrintAmountInfo
- Parse the register monetary cells for a currency symbol: Add the ability to strip the currency symbol from a registry monetary cell if it is pasted with one so it can be validated.
- SKR-49 Account Template: Add codes 4500-4504, drop a duplicate, correct code 0674.
- [gnc-plugin-page-register] Disable reverse on blank split
- Make balancing transactions with trading accounts easier by removing and recalculating all trading splits. This ensures that there will be only one trading split pair per exchange and relieves the user of having to adjust the trading splits to match the accounting splits.
- Don't bother scrubbing for orphans if there's no transaction currency. If it found one it would try to create an orphan account with no currency which will crash later.
- [chartjs] upgrade chartjs to 2.9.4. Fixes CVE-2020-7746
- [report-core] disallow define-report with incomplete export info. If exporting is allowed, 'export-types and 'export-thunk must both be defined.
- [test-engine-extras] augment book data generators
- ignore .vscode folder
- Reorder and relabel price source list for better coherence
- Python Bindings: Provide a deprecated GncPriceDB.lookup_latest_before_t64 to avoid breaking user scripts.
- Update gnucash_core.py with gnc-pricedb function name change
- Change some functions to use const gnc_commodity for gnc_pricedb
- Reformat schedule transaction source files for white space
- Add depreciation warnings for the removal of individual option tool tips
- Remove individual tool tips from radio button options
Removes the function gnc_option_permissible_value_description
- ESC key was not working on load of Scheduled Transaction Editor
- [budget.scm] show correct tooltip for report option
- [html-acct-table] Remove unused 'pre-adjusting balances option
- Bugfix: export-code for category-barchart reports would fail.
This stems from trying to handle file-name when calling export code. Export code no longer require file-name, The export-code returns a string in the html-document object instead. Remove all file-name handling in reports. No backward compatibility issues because most users would not copy a GnuCash >=4.6 report code onto a <4.5 installation.
- [gnucash-cli] improve discoverability of export-type. Formerly, selecting --export-type EXT would dump the cryptic "Report REPORTNAME has no export code". Modify to hint the user on acceptable reports wit...
GnuCash 4.5 Released
The GnuCash development team announces GnuCash 4.5, the sixth release in the stable 4.x 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 <sup> and <sub> would cause the baseline to move vertically.
- Replace stat calls with GFile to retrieve last modified info
Avoids code-page problems with non-ASCII characters on Microsoft Windows.
- [gnc-tree-model-split-reg.c] use xaccSplitListGetUniqueTransactionsReversed
which is then reversed if required. this removes the need for double reversal.
- [Split.c]New function xaccSplitListGetUniqueTransactionsReversed
Same as xaccSplitListGetUniqueTransactions but doesn't reverse the list prior to returning. To be used by gnc-tree-model-split-reg.c Several optimizations
- doesn't call g_list_find and g_list_append for every iteration
- uses g_hash_table to cache list of txns already added instead of g_list_find<.
- does not reverse the result, thereby returning a reversed list.
- [gnc-recurrence.c] avoid O(N^2) children traversal
- Ensure that any GncMainWindows containing no tabs are destroyed at shutdown.
- I18N: drop translatable flag from "xxx" dummies and remove trailing spaces from translatable strings
- Update Form/Schedule line references for 2020 for the US Income Tax Report.
- Fix build with glib2 2.67.x.
glib headers should not be included with 'extern "C"'.
- [balsheet-pnl] Use last day of the month prices instead of first day of next month.
- [options.scm AP...
GnuCash 4.4 Released
The GnuCash development team announces GnuCash 4.4, the fifth release in the stable 4.x series
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
: usegnc_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
Known Problems
Complete list of all open bugs.
.Documentation
Concurrent with the release of GnuCash 4.4 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
Between 4.3 and 4.4, the following bugfixes were accomplished:
Getting GnuCash for Windows and MacOS
GnuCash is provided for both Microsoft Windows 8.1® and later and MacOS 10.13 (High Sierra)® and later in pre-built, all-in-one packages. An installer is provided for Microsoft Windows® while the MacOS® package is a disk image containing a drag-and-drop application bundle.
The SHA256 Hashes for the downloadable files are:
d91e0d126b461d71de1bc1b20d9cf142704353dec07d3e6599d138422759e67a
gnucash-4.4.tar.bz2521ad979f0d59c3568a6300644d7cf435ebd829b1c2eea88752e983b2fce08b5
gnucash-4.4.tar.gz34879ef4957a2768f96747ca4f6f8732107d23cac5132d6dc655ae8e53e3798c
gnucash-4.4.setup.exee6627feea1eb4aa6eafb05dd434fc2bc6954322152d8559f78901848c64631ca
Gnucash-Intel-4.4-1.dmg298977e7dddce83335e1f988e6977cb010e37b289c31d09b15df4af526e4ba35
gnucash-docs-4.4.tar.gz
GnuCash is now available as a flatpak from Flathub.org. Instructions for installing and running.
To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.22.29, Guile 2.0, Boost 1.67, WebKitGtk 2.4, GoogleTest 1.8.0, cmake 3.10 and SWIG 2.0.12. Please consult the README.dependencies file in the sources for the exact list of dependencies and versions.
About the Program
GnuCash is a free, open source accounting program released under the GNU General Public License (GPL) and available for GNU/Linux, *BSD, Solaris, MacOS, and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.
4.3
The GnuCash development team announces GnuCash 4.3, the fourth release in the stable 4.x 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 <Ctrl><Alt><Menu> for the notebook page selection menu and <Ctrl><Alt>A to jump to the Accounts page.
- Allow using the Ctrl+Alt+PgUp/Down to scroll the report view.
- Fix report page keyboard focus in the scroll window.
- Fix some incorrect links to the help file
- Fix section help on windows not working.
- Set the visibility of the account column in import-main-matcher depending upon the nubmer of accounts being displayed.
- Add option to hide memo column on import-main-matcher
- Fix pressing help button in OFX importer causing main-import-matcher to disappear
- Preferences dialog: Display the invalid account separator message box only when the user closes the Preferences Dialog instead of after every change to any control.
- Expose ngettext as gnc:ngettext
- Add tooltip in import matcher window for description and memo column.
- Put Macs back on WebKit2.
- CMake: Mute guile-2.2 again
- Fix several report stylesheet font-handling issues especially on macOS.
- Fix price-renderer not converting to decimal.
- Add some additional places where Check&Repair can be aborted
- Make the price database list obey the force-prices-to-decimal preference.
- Several improvements to the auto-clear dialog.
- Fix some errors found by i18nspector in po files
- Tax Report Options appeared twice on menu for Chart of Accounts
- General Journal Report: Allow Report Options>General Title to render document title. ...
GnuCash 4.2 Released
The GnuCash development team announces GnuCash 4.2, the third release in the stable 4.x 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).
- RRemove the Remove Linked Document context menu item because that can be done in the Manage dialog box.
- Fix the horizontal scrollbar in the linked docs window.
- I18n - deduplicate translatable strings
- macOS: Give GnuCash time to shut down gracefully instead of letting macOS pull the rug out.
- I18N: Align glossary to gnucash.pot. Create a similar copyright header. Add missing Report-Msgid-Bugs-To.
- [report-utilities] More dump data functions:
- gnc:dump-book - splits grouped by account
- gnc:dump-all-transactions - splits grouped by transaction
- gnc:dump-split - dumps single split
- [business-urls] link to owner report with enddate
- [dialog-invoice] gnc_business_call_owner_report_with_enddate
- [new-owner-report][api] owner-report-create-with-enddate; accepts enddate argument like owner-report-create.
- Enable exporting the tables in charts and some reports as CSV.
- Tweak a few strings to reuse translations
- Exported gnc:cmdline-template-export and gnc:cmdline-get-report-id. Handle ambiguous reportnames by returning #f.
- [price-quotes.scm] ensure missing-alphavantage message can show on console
- [budget.scm] Fix report crash on books with unreversed budgets
- [gnucash-cli] -R show should accept & try to load datafile
- Speed up computation of import match lists by running query only once, committing accounts only once, and doing a bulk insert into the GtkTreeview.
- Add Python example export_account_totals.py. Exports acount totals of all accounts into a CSV file.
Updated Translations: Dutch, German, Italian, Ukrainian
New Translations: Estonian, Indonesian
Known Problems
Complete list of all open bugs.
.Documentation
Concurrent with the release of GnuCash 4.2 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
The only changes to the documentation since 4.1 were improvements to the build system.
Getting GnuCash for Windows and MacOS
GnuCash is provided for both Microsoft Windows 8.1® and later and MacOS 10.13 (High Sierra)® and later in pre-built, all-in-one packages. An installer is provided for Microsoft Windows® while the MacOS® package is a disk image containing a drag-and-drop application bundle.
The SHA256 Hashes for the downloadable files are:
56d8ab039ef7784303ca9eab14bfc20f593f7a3f9b682a8a7eac25906a0d1308
gnucash-4.2.tar.bz2934f3432bc8d1f98223275d278f4cb2918970f50647ee6643dfb92369080dc68
gnucash-4.2.tar.gz2cb2d9c1ebe746d6d9c8da517b0bdfcca22ed10e22e4eb2ca1890df3d7559892
gnucash-4.2.setup.exe66f48acf1aa002e2de86865bb56f6a695cecf1fd3734b4a7e85fc170cf14c6f5
Gnucash-Intel-4.2-1.dmg051f6a038d2f2d9fb0bad9ac1b9597d3186e48ed63c27f0bb40744ffc05e39dc
gnucash-docs-4.2.tar.gz
To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.22.29, Guile 2.0, Boost 1.67, WebKitGtk 2.4, GoogleTest 1.8.0, cmake 3.10 and SWIG 2.0.12. Please consult the README.dependencies file in the sources for t...
GnuCash 4.1 Released
The GnuCash development team announces GnuCash 4.1, the second release in the stable 4.x 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
- Bug 797830 - Expense over time has extra empty row
- Bug 797831 - Printer not found
- Bug 797834 - Ctrl+A in account register fields chimes after any element newly focussed.
- Bug 797835 - Zero Crossing in 4.0 that wasn't in 3.10
- Bug 797842 - Windows: Insertion cursor invisible in Edit Account or New Account windows until text fields have content
- Bug 797843 - Quickfill broken with Cyrillic input language
- Bug 797844 - Typing account number to select account fails
- Bug 797845 - Backspace key produces incorrect result
- Bug 797847 - Best match probability calculation on import is too pessimistic
Lowering the minimum value for the auto-clear preference. This is to allow user to still auto clear even when date don't match quite exactly.
- Bug 797850 - Account register credit/debit column headings untranslated
- Bug 797853 - Crash on 'Save As' in MacOS Mojave and Gnucash 4
- Bug 797854 - Global Register Preference to prompt for interest payment is not being honored.
Replace the global preference item with a per-account option, enabled only on those account types where interest might be paid or charged.
- Bug 797858 - Transaction date is one day too early from SWIFT MT940 import.
- Bug 797861 - Yearly / Monthly average reporting displays zeros
- Bug 797873 - New Account Hierarchy selects en_US
The following fixes and improvements were not associated with bug reports:
- Accommodate Guile-3.0 in Scheme code.
- [html-style-info] Display fractional amounts as decimal in price-render
- Warn against using xaccTransGetSplit for iteration instead of encouraging it.
- Quickfill cells: Remove the selection after a delete.
- Accommodate AQBanking < 6 use of GWEN_TIME instead of GWEN_DATE.
- ensure averaging-multipler returns exact numbers rather than floats
- [gnucash-cli] improve "-R show" to describe report
- Don't leak the libofx contexts in gnc_file_ofx_import_process_file/
- Make the edit dialog refresh the auto-interest flag display based on pref
- Remove global preference for auto-interest-transfer
- [Reports] Use SRFI-9 records for HTML styling.
- [html-style-sheet] combine 2 similar functions
- Let environment override AppleLanguages on Macs.
- [balsheet-eg] remove unused functions
- [balsheet-eg] modernize accrec to use srfi-9 record
- [account.cpp] prevent crash in gnc_account_get_currency_or_parent.
- CMakeLists: mark deprecation of .scm files
- [eguile-utilities] Ensure that fmtnumeric renders numbers as decimals instead of exact fractions.
- [Python Bindings] Implement keyword paramters to selected functions.
- [Python Bindings] Adapt to use of sessionOpenMode in qof_session_begin
- introduce python submodule deprecation.
- Link with libm.so on those platforms that require it.
- [account-piecharts] round account->balance to report-currency SCU
- [report-utilities] ensure commodity-collector doesn't round amounts
- [advanced-portfolio] simplify basis functions
- [advanced-portfolio] simplify basis-builder and use scheme division which is more accurate than gnc_numeric_div. tests need to change slightly.
- [git-release-notes.pl] html-escape strings in the html output.
Updated Translations: Croatian, Hebrew, Italian, Japanese, Romanian, Ukrainian
Known Problems
Complete list of all open bugs.
.Documentation
Concurrent with the release of GnuCash 4.1 we're pleased to also release a new version of the companion Help and Tutorial and Concepts Guide
The only changes to the documentation since 4.1 were improvements to the build system.
Getting GnuCash for Windows and MacOS
GnuCash is provided for both Microsoft Windows 8.1® and later and MacOS 10.13 (High Sierra)® and later in pre-built, all-in-one packages. An installer is provided for Microsoft Windows® while the MacOS® package is a disk image containing a drag-and-drop application bundle.
The SHA256 Hashes for the downloadable files are:
a40fc37122e1466c8085ad2be914f0687a111065f15c5d952faede78802225aa
gnucash-4.1.tar.bz2071b4b40f5ca773ec35cee4b785da5548e82645ba57de3c4bb12a5374c19e74b
gnucash-4.1.tar.gz836b36be639caf61321c2df24dda48691e57ddeb6b7aa13db49f8eddd5b096e0
gnucash-4.1.setup.exe9c3685e79027d12b370e9fa79a569f7c532968be91ecfd3b81660d39abe50ab3
Gnucash-Intel-4.1-4.dmg6eb1504b189ed187ae19ce4a5a39adb83ebe7810c26d30f58ee10928ac4ef8f4
gnucash-docs-4.1.tar.gz
GnuCash is now available as a flatpak from Flathub.org. Instructions for installing and running.
To compile GnuCash from the source code by yourself, you will need at least Gtk+ 3.22.29, Guile 2.0, Boost 1.67, WebKitGtk 2.4, GoogleTest 1.8.0, cmake 3.10 and SWIG 2.0.12. Please consult the README.dependencies file in the sources for the exact list of dependencies and versions.
Getting the documentation
The documentation is available at Documentation page of the GnuCash website. The 4.1 documentation can be found under "GnuCash v4 (current stable release)" in multiple languages both for reading online and for download in pdf, epub, and mobi formats. The documentation is included in the MacOS and Windows application bundles.
About the Program
GnuCash is a free, open source accounting program released under the GNU General Public License (GPL) and available for GNU/Linux, *BSD, Solaris, MacOS, and Microsoft Windows. Programming on GnuCash began in 1997, and its first stable release was in 1998.
GnuCash 4.0 Released
The GnuCash development team announces GnuCash 4.0
Changes
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
- A new separate executable, gnucash-cli (gnucash-cli.exe on Microsoft Windows) for doing command-line things like updating the prices in your book. gnucash-cli gains the ability to run reports from the command line. Specify reports to run by name or guid. It also provides an export format and an output file name without which it will output the report to stdout.
gnucash-cli --report run --name=[reportname/guid] datafile.gnucash
gnucash-cli --report run --name=[reportname/guid] --output-file=x.html datafile.gnucash
gnucash-cli --report run --name=[reportname/guid] --output-file=x.html --export-type=TYPE datafile.gnucash
- Business Document Column Widths:
Entry column widths in Invoices, Bills, and Employee Vouchers may now be saved as defaults for each type of document.
Two menu items are added to the View menu when a Bill, Invoice, or Voucher tab has focus:
- Use as Default Layout for Vendor Documents
- Reset Default Layout for Vendor Documents
Vendor Documents is for Bills and is replaced by Customer or Employee Documents for Invoices or Vouchers respectively. The first saves the current document's column widths and makes them the default for all documents in the same type. The second menu item removes the customization and documents of that type will therafter use the computed default widths.
- When deleting accounts the destination accounts of moved splits will be checked to ensure that they have the same commodity as the source account. If they don't you'll get a warning and the opportunity to pick another account or to carry on regardless.
- New type-ahead search added to sequential search when selecting an account in the register: Instead of typing the first few characters of a top level account, the separator, the first few characters of the next level account and so on you may instead type a few characters of any part of a full account name and the drop-list will be filtered to contain only matching accounts. Once you have a small enough list you can use the arrow keys to select the account that you want.
- Python bindings are now localized and their strings available for translation.
- A new Transaction Association dialog, available from the Update Association for Transaction menu item that has replaced the two association items in 3.x, allows setting, changing, and deleting associations.
- Allow Associations to be added to invoices. The actual association when present is added as a link button which is shown below the notes.
- A symbol is now displayed on transactions in the register when they have an attachment and the selected font supports the symbol.
- The OFX file importer can now import more than one file at a time. This does not work on MacOS, which will continue to use a letter.
- A new report menu supbmenu Multicolumn contains the old custom-multicolumn report and a new Dashboard report containing Account reports for expenses and income, an income-expense chart, and an account summary.
- Support for UK VAT and Australian GST added to the Income-GST report. The reports options are changed from source accounts to source sales and purchase accounts to permit proper reporting of capital purchases. N.B. This is incompatible with previous versions of the report and will require regenerating saved configurations.
- The matcher window columns are changed from R to C and from U+R to U+C, reflecting that the matcher marks transactions cleared but doesn't reconcile them. (Bug 797338)
- OFX imports having balance information will now offer to immediately reconcile, passing the balance information in the file to the reconcile info.
- Improve quickfill in the account pickers to filter the choices based on any part of the name.
- The GnuCash widget hierarchy for CSS has been revised to be more consistent with Gtk practice. You may need to spend some time with the GtkInspector to get your custom CSS back the way you like it.
- When creating a new account hierarchy it's now possible to load account templates from locales other than the one set for the user interface. (Bug 797472)
- New Account - Online Account match list to the Import Map Editor.
- New invalid maps dialog in the Import Map Editor. (Bug 797612)
- Optionally include the account code option in budget view.
- Account matcher will decline to match accounts with a different commodity from the imported split if the import information includes the commodity.
- Ellipsize the Description and Memo fields in the account matcher.
- Enable adding notes to budgets. (Bug 693180)
- Support for AQBanking Version 6. This is required to support new FinTS protocols for the European Payment Services Directive (PSD2).
- GnuCash 4.x will not migrate old gconf settings from GnuCash 2.4.x.
- Reversing transactions will now pop a dialog box to request a posting date. (Bug 782455)
- The Accounts page has a new optional column for the hidden property to make it easier to toggle it. Note that in order to see hidden accounts you must still enable that in the Filter by... dialog. (Bug 797486)
- The Customer, Vendor, and Employee overviews have a process-payment toolbar. (Bug 797605).
- Account codes may now optionally be displayed in the Budget Tree View. (Bug 797489).
New/Revised Reports
- Income-GST
- Owner Report
Significant Code Changes
- The signature for
qof_session_begin()
,QofSession::begin()
, andQofBackend::begin()
are changed to use an enumSessionOpenMode
instead of three booleans. - gnucash-bin.c has been split into 4 parts, mostly C++:
- gnucash.cpp, the GUI executable.
- gnucash-cli.cpp, the command-line executable.
- gnucash-commands.cpp, implementation for the commands that can be run from the command-line.
- gnucash-app-core.cpp, common code required by both the command line and gui programs.
- There's also an auxiliary file, gnucash-windows-locale.c because the localization code proved resistant to compiling as C++. We're planning another auxiliary file for the MacOS localization.
- A new mock facility for several engine classes to permit better-isolated unit testing of components that depend on those classes.
- Register filter and sort values are saved in the book's state file (book.gcm) in the user's configdir instead of in the book.
- QofSession no longer creates its book, instead one must create a book first and pass that to
qof_session_new()
/QofSession::QofSession()
. - Input Method handling in the register is moved to the GtkEntry where it belongs.
gnc_get_current_session()
no longer creates an empty session if there isn't one already open.- The source directories have been rearranged and most of the loadable modules (e.g. libgncmod-engine.so) are now normal dynamic libraries (libgnc-engine.so), shorn of their gnc-module adapters. Make sure that you clean and rebuild your build directory.
- All functions marked as deprecated in 3.x are now removed. If you have custom reports be sure to examine gnucash.trace for deprecation warnings and update your reports before trying them in GnuCash 4.0.
- libgncmod-generic-import is now libgnc-generic-import.
- Scheme no longer uses libgncmodule, always do
(use-modules (gnucash foo))
- Autocompletion improvements for the transfer-account field.
- New test for invalid mappings for online accounts and a dialog to fix them.
- jqplot is replaced by chartjs.
- Separate most Guile binding code from the code that it wraps. It's now located in bindings/guile.
- Improve Google test integration in cmake. CMake now requires only GTEST_ROOT and only when cmake isn't able to find Google test without help.
- Unit tests for Scheme code with SRFI64.
Deprecations (will be removed in GnuCash 5.0
- gnc:substring-replace-from-to