Path to this page:
Subject: CVS commit: pkgsrc/finance/gnucash
From: Thomas Klausner
Date: 2019-03-31 22:46:52
Message id: 20190331204652.78C6AFB16@cvs.NetBSD.org
Log Message:
gnucash: update to 3.5.
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)
Files: