Re: [GNC-dev] More need for speed improvement around XML

2018-12-30 Thread John Ralls


> On Dec 30, 2018, at 1:25 PM, Christian Stimming  
> wrote:
> 
> Am Sonntag, 30. Dezember 2018, 00:44:40 CET schrieb John Ralls:
>>> On Dec 29, 2018, at 2:16 PM, Christian Stimming 
>>> wrote:> 
>>> Am Samstag, 29. Dezember 2018, 01:45:32 CET schrieb John Ralls:
> When saving to XML file, for each transaction the call stack with the
> expensive code walks down like this:
> 
> gnc_transaction_dom_tree_create
> add_time64
> time64_to_dom_tree
> gnc_print_time64
> GncDateTime::format
> GncDateTimeImpl::format
 
 Christian,
 
 I don't have time to fully test it out right now, but give
 https://github.com/jralls/gnucash/tree/maint a go.
 
 As noted in the HEAD commit it has a side effect of recording times in
 XML
 files in UTC, no timezones. Users who want to keep their files in version
 control will like that, but it needs to be checked for backward
 compatibility with 2.6 before it can be merged into maint.
>>> 
>>> Thanks for working at this. Indeed the main issue is that we don't need a
>>> user-visible format conversion (which must respect the locale) but instead
>>> a serialization to a fixed iso8601 format. Fixing this issue also means
>>> that the XML files will no longer depend on the local timezone, which is
>>> an issue that has been asked for a long time.
>>> 
>>> Thanks for your patch - this fixes performance issues with
>>> gnc_time64_to_iso8601_buff() and all of its callers. However, the
>>> Save-to-XML function calls gnc_print_time64() instead (from
>>> time64_to_dom_tree), which is a different code path. Consequently, your
>>> patch alone does not modify the saved XML (just verified). Your call to
>>> GncDateTime::format_iso8601 needs to be used in gnc_print_time64, too,
>>> like so:
>>> 
>>> xmlNodePtr
>>> time64_to_dom_tree (const char* tag, const time64 time)
>>> {
>>> 
>>>xmlNodePtr ret;
>>>g_return_val_if_fail (time != INT64_MAX, NULL);
>>> 
>>> -auto date_str = gnc_print_time64 (time, "%Y-%m-%d %H:%M:%S %q");
>>> -if (!date_str)
>>> -return NULL;
>>> +GncDateTime gncdt(time);
>>> +auto sstr = gncdt.format_iso8601();
>>> +gchar* date_str = g_strdup(sstr.c_str());
>>> 
>>> 
>>> However, with this patch, all time64 timestamps in the XML file will then
>>> change from time+timezone to UTC time only. To my surprise, although we
>>> knew about this issue for such a long time and changed most timestamps
>>> appropriately, there are still timestamps that will change date due to
>>> this
>>> change. With a quick glance, the "reconciled-date" timestamp contains
>>> beginning-of-day in a local timezone. Also maybe user-entered commodity
>>> prices. Others might still show up, oh well.
>>> 
>>> I haven't checked for backward compatibility with 2.6, but will do during
>>> the next days.
>> 
>> Rats, I got the two functions scrambled.
>> 
>> Geert and I discussed a month or two ago expanding the use of time-neutral
>> to everywhere that we currently use day-begin and day-end except searches,
>> but neither of us has gotten to it yet.
> 
> For completeness: I checked loading such a file with gnucash-2.6, and as far 
> as I can tell, this runs just fine. All transactions and their dates show up 
> as usual even though the timestamps are now read as UTC instead of localtime.

The timestamps have always been UTC, they've just been written oddly. It's 
explained in comments somewhere, I'll summarize: We've historically written 
timestamps as an ISO8607-like string, i.e. -MM-DD HH:MM:SS with an offset 
representing a timezone, ±HHMM. For example my TZ offset is -0800, so the 
date-time right now is 2018-12-30 14:26:24 -0800. The parser adds back the 8 
hours and stores whatever 2018-12-30 22:26:24 is in seconds since the epoch. 
Losing the offset doesn't change anything except to make less work for
the parser and reducing the diff of two files written with different offsets.

It's good news that the 2.6 parser reads them correctly.

Since SQL doesn't understand offsets we've always used plain UTC date times in 
the SQL backend.

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] More need for speed improvement around XML

2018-12-30 Thread Christian Stimming
Am Sonntag, 30. Dezember 2018, 00:44:40 CET schrieb John Ralls:
> > On Dec 29, 2018, at 2:16 PM, Christian Stimming 
> > wrote:> 
> > Am Samstag, 29. Dezember 2018, 01:45:32 CET schrieb John Ralls:
> >>> When saving to XML file, for each transaction the call stack with the
> >>> expensive code walks down like this:
> >>> 
> >>> gnc_transaction_dom_tree_create
> >>> add_time64
> >>> time64_to_dom_tree
> >>> gnc_print_time64
> >>> GncDateTime::format
> >>> GncDateTimeImpl::format
> >> 
> >> Christian,
> >> 
> >> I don't have time to fully test it out right now, but give
> >> https://github.com/jralls/gnucash/tree/maint a go.
> >> 
> >> As noted in the HEAD commit it has a side effect of recording times in
> >> XML
> >> files in UTC, no timezones. Users who want to keep their files in version
> >> control will like that, but it needs to be checked for backward
> >> compatibility with 2.6 before it can be merged into maint.
> > 
> > Thanks for working at this. Indeed the main issue is that we don't need a
> > user-visible format conversion (which must respect the locale) but instead
> > a serialization to a fixed iso8601 format. Fixing this issue also means
> > that the XML files will no longer depend on the local timezone, which is
> > an issue that has been asked for a long time.
> > 
> > Thanks for your patch - this fixes performance issues with
> > gnc_time64_to_iso8601_buff() and all of its callers. However, the
> > Save-to-XML function calls gnc_print_time64() instead (from
> > time64_to_dom_tree), which is a different code path. Consequently, your
> > patch alone does not modify the saved XML (just verified). Your call to
> > GncDateTime::format_iso8601 needs to be used in gnc_print_time64, too,
> > like so:
> > 
> > xmlNodePtr
> > time64_to_dom_tree (const char* tag, const time64 time)
> > {
> > 
> > xmlNodePtr ret;
> > g_return_val_if_fail (time != INT64_MAX, NULL);
> > 
> > -auto date_str = gnc_print_time64 (time, "%Y-%m-%d %H:%M:%S %q");
> > -if (!date_str)
> > -return NULL;
> > +GncDateTime gncdt(time);
> > +auto sstr = gncdt.format_iso8601();
> > +gchar* date_str = g_strdup(sstr.c_str());
> > 
> > 
> > However, with this patch, all time64 timestamps in the XML file will then
> > change from time+timezone to UTC time only. To my surprise, although we
> > knew about this issue for such a long time and changed most timestamps
> > appropriately, there are still timestamps that will change date due to
> > this
> > change. With a quick glance, the "reconciled-date" timestamp contains
> > beginning-of-day in a local timezone. Also maybe user-entered commodity
> > prices. Others might still show up, oh well.
> > 
> > I haven't checked for backward compatibility with 2.6, but will do during
> > the next days.
> 
> Rats, I got the two functions scrambled.
> 
> Geert and I discussed a month or two ago expanding the use of time-neutral
> to everywhere that we currently use day-begin and day-end except searches,
> but neither of us has gotten to it yet.

For completeness: I checked loading such a file with gnucash-2.6, and as far 
as I can tell, this runs just fine. All transactions and their dates show up 
as usual even though the timestamps are now read as UTC instead of localtime.

Regards,
Christian


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] [GNC] GnuCash 3.4 Released

2018-12-30 Thread John Ralls



> On Dec 30, 2018, at 1:09 PM, Dave H  wrote:
> 
> I'll second that :-)
> 
> Just a note that your github download links are bad - the extraneous 3.3 
> gives a 404 error.  Seems they should be 
> https://github.com/Gnucash/gnucash/releases/download/3.4/gnucash-3.4.setup.exe
>  and not
> https://github.com/Gnucash/gnucash/releases/download/3.3/gnucash-3.4.setup.exe
>  ?

Yes, missed that when making the email. The correct links are:

Download GnuCash for Win32: 
https://github.com/Gnucash/gnucash/releases/download/3.4/gnucash-3.4.setup.exe
Download GnuCash for Mac-Intel: 
https://github.com/Gnucash/gnucash/releases/download/3.4/Gnucash-Intel-3.4-1.dmg

The URLs for the tarballs are correct.

Regards,
John Ralls


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] [GNC] GnuCash 3.4 Released

2018-12-30 Thread Adrien Monteleone
Awesome! Thanks to the devs for their hard work.

FYI, the GitHub download links for the installers should point to 
/downloads/3.4 instead of /downloads/3.3 or you’ll get a 404.

Regards,
Adrien

> On Dec 30, 2018, at 2:15 PM, David Carlson  
> wrote:
> 
> Wow, that looks like a lot of progress has been made!  Thanks to the
> developers for their hard work!
> 
> David C
> 
> On Sun, Dec 30, 2018 at 2:03 PM John Ralls  wrote:
> 
>> The GnuCash development team announces GnuCash 3.4, the fifth release of
>> the 3.x stable release series.
>> 
>> Changes
>> 
>> Between 3.3 and 3.4, the following bugfixes were accomplished:
>> 
>>• 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
>> The following fixes and improvements were not associated with bug reports:
>> 
>>• 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 

Re: [GNC-dev] [GNC] *.deb package for GnuCash 3.4 Released

2018-12-30 Thread Stephen M. Butler

On 12/30/18 12:51 PM, Roger Miskowicz wrote:

Thank you very much, worked perfectly.



Thank you.  That is good to know.  Are you also on Ubuntu 18.04 or some 
other debian based box?


--Steve



On Sun, Dec 30, 2018 at 3:34 PM Stephen M. Butler > wrote:


For those interested in a deb file but not willing to compile
yourself:
https://drive.google.com/open?id=172BMIvLgD7twcGEWkR5GcddoZ_A4QWfY
-->
gnucash_3.4-0-1_amd64.deb

The zero after 3.4 is the commit number after the tag (there are
currently none) and the one after that is the first attempt to build
that on my box.

I have removed the interim 3.3 versions from Google drive and now
only
have the base 3.3 version also available:
https://drive.google.com/open?id=1PUEq8qE4yzq_HrBfJZQ376QbdTmJdYsP
-->
gnucash_3.3-0-1_amd64.deb

These were built on Ubuntu 18.04 based on a git pull of the maint
branch.

--Steve


On 12/30/18 12:01 PM, John Ralls wrote:
> The GnuCash development team announces GnuCash 3.4, the fifth
release of the 3.x stable release series.



--
Stephen M Butler, PMP, PSM
stephen.m.butle...@gmail.com
kg...@arrl.net
253-350-0166
---
GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] *.deb package for GnuCash 3.4 Released

2018-12-30 Thread Stephen M. Butler
I saw your note earlier this morning about releasing in a few hours.  So 
I did a git pull while having the maint branch checked out.  Did the 
cmake and make earlier and then waited for your release announcement.  
Did a quick git pull on maint again just to be sure nothing had changed 
and did the final make install (via sudo checkinstall --install=no).  
That does do the sudo make install on my system so it gets me the latest 
version up and running with the side benefit of having a debian file 
ready to copy up to my Google drive.


So, a little pre-planing and I was waiting to jump on the announcement.

Thanks for all the hard work you and the other developers do.  This was 
the easy step.


--Steve



On 12/30/18 12:34 PM, John Ralls wrote:

That was fast! Thanks!

Regards,
John Ralls



On Dec 30, 2018, at 12:25 PM, Stephen M. Butler  wrote:

For those interested in a deb file but not willing to compile yourself:
https://drive.google.com/open?id=172BMIvLgD7twcGEWkR5GcddoZ_A4QWfY --> 
gnucash_3.4-0-1_amd64.deb

The zero after 3.4 is the commit number after the tag (there are currently 
none) and the one after that is the first attempt to build that on my box.

I have removed the interim 3.3 versions from Google drive and now only have the 
base 3.3 version also available:
https://drive.google.com/open?id=1PUEq8qE4yzq_HrBfJZQ376QbdTmJdYsP --> 
gnucash_3.3-0-1_amd64.deb

These were built on Ubuntu 18.04 based on a git pull of the maint branch.

--Steve


On 12/30/18 12:01 PM, John Ralls wrote:

The GnuCash development team announces GnuCash 3.4, the fifth release of the 
3.x stable release series.




--
Stephen M Butler, PMP, PSM
stephen.m.butle...@gmail.com
kg...@arrl.net
253-350-0166
---
GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] *.deb package for GnuCash 3.4 Released

2018-12-30 Thread John Ralls
That was fast! Thanks!

Regards,
John Ralls


> On Dec 30, 2018, at 12:25 PM, Stephen M. Butler  wrote:
> 
> For those interested in a deb file but not willing to compile yourself:
> https://drive.google.com/open?id=172BMIvLgD7twcGEWkR5GcddoZ_A4QWfY --> 
> gnucash_3.4-0-1_amd64.deb
> 
> The zero after 3.4 is the commit number after the tag (there are currently 
> none) and the one after that is the first attempt to build that on my box.
> 
> I have removed the interim 3.3 versions from Google drive and now only have 
> the base 3.3 version also available:
> https://drive.google.com/open?id=1PUEq8qE4yzq_HrBfJZQ376QbdTmJdYsP --> 
> gnucash_3.3-0-1_amd64.deb
> 
> These were built on Ubuntu 18.04 based on a git pull of the maint branch.
> 
> --Steve
> 
> 
> On 12/30/18 12:01 PM, John Ralls wrote:
>> The GnuCash development team announces GnuCash 3.4, the fifth release of the 
>> 3.x stable release series.

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


[GNC-dev] *.deb package for GnuCash 3.4 Released

2018-12-30 Thread Stephen M. Butler

For those interested in a deb file but not willing to compile yourself:
https://drive.google.com/open?id=172BMIvLgD7twcGEWkR5GcddoZ_A4QWfY --> 
gnucash_3.4-0-1_amd64.deb


The zero after 3.4 is the commit number after the tag (there are 
currently none) and the one after that is the first attempt to build 
that on my box.


I have removed the interim 3.3 versions from Google drive and now only 
have the base 3.3 version also available:
https://drive.google.com/open?id=1PUEq8qE4yzq_HrBfJZQ376QbdTmJdYsP --> 
gnucash_3.3-0-1_amd64.deb


These were built on Ubuntu 18.04 based on a git pull of the maint branch.

--Steve


On 12/30/18 12:01 PM, John Ralls wrote:

The GnuCash development team announces GnuCash 3.4, the fifth release of the 
3.x stable release series.

Changes

Between 3.3 and 3.4, the following bugfixes were accomplished:

• 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
The following fixes and improvements were not associated with bug reports:

• 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)
   

Re: [GNC-dev] [GNC] GnuCash 3.4 Released

2018-12-30 Thread David Carlson
Wow, that looks like a lot of progress has been made!  Thanks to the
developers for their hard work!

David C

On Sun, Dec 30, 2018 at 2:03 PM John Ralls  wrote:

> The GnuCash development team announces GnuCash 3.4, the fifth release of
> the 3.x stable release series.
>
> Changes
>
> Between 3.3 and 3.4, the following bugfixes were accomplished:
>
> • 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
> The following fixes and improvements were not associated with bug reports:
>
> • 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
> 

[GNC-dev] GnuCash 3.4 Released

2018-12-30 Thread John Ralls
The GnuCash development team announces GnuCash 3.4, the fifth release of the 
3.x stable release series.

Changes

Between 3.3 and 3.4, the following bugfixes were accomplished:

• 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
The following fixes and improvements were not associated with bug reports:

• 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: