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)
|
Log message:
gnucash: update to 3.4.
3.4 - 30 December 2018
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.
|