GnuCash 3.0 Released

2018-04-02 Thread John Ralls
GnuCash 3.0 released

The GnuCash development team proudly announces GnuCash 3.0, the first release 
in our new 3.x stable series.
New Features for Users:

The headline item for this release is that GnuCash now uses the Gtk+-3.0 
Toolkit and the WebKit2Gtk API. This change was forced on us by some major 
Linux distributions dropping support for the WebKit1 API. Unfortunately the 
Webkit project doesn't support Microsoft Windows so that platform will continue 
to use the WebKit1 API, though with Gtk3. We've selected Gtk+-3.14.0 as the 
minimum version because it fully supports CSS theming.
New editors to remove outdated or incorrect match data from the import 
maps, a new user interfacs for managing files associated with transactions, an 
improved facility for removing old prices from the price database, and a way to 
remove deleted files from the history list in the file menu.
New Reports: A Reconciliation Report based on the Transaction Report,a 
Income GST Report, and a Cashflow Barchart report.
A new CSV importer largely rewritten in C++, adding new features including 
the ability to re-import CSV files exported from GnuCash, along with a separate 
CSV price importer.
A new preference panel for the Alphavantage API key so that Finance::Quote 
users need not edit /etc/gnucash/environment. We've removed all references to 
the various Yahoo! quote sources and made Alphavantage the default.
Data file directories are now located appropriately to the operating 
system's conventions by default:
Windows: CSIDL_APPDATA/Gnucash
MacOS: $HOME/Application Support/Gnucash
Linux: $XDG_CONFIG_HOME/gnucash (or the default $HOME/.config/gnucash)
It's still possible to overried with the environment variable GNC_DOC_PATH, 
which replaces GNC_DOT_DIR in earlier versions of GnuCash.
Accounts in the Bayes import map are now linked by GUID instead of names so 
that the matcher won't have to be retrained if you rename an account. The 
Bayesian import maps are also stored in a flatter structure to allow faster 
access, especially in SQL. These changes mean that if you have Bayesian mapping 
data, once converted your database will be loadable only by GnuCash 2.6.20 and 
later.
MySQL and SQLite3 date storage has changed a bit. Once converted, MySQL and 
SQLite3 database will be loadable only by GnuCash 2.6.19 and later.
Numerics are rewritten to allow for more significant digits. The old 
6-digit-maximum fraction is now 9-digits, and prices may have up to 18 digit 
precision.
Chart Reports appearance is improved, including more modern chart colours 
as suggested by http://clrs.cc/.
Transaction Report improvements, including regular expression filtering and 
many more options and features including a "Subtotal Summary Grid" The subtotal 
summary-grid will tabulate subtotals - prime-sortkey vertically, sec-sortkey 
horizontally. For example, with prime-sortkey = accounts, sec-sortkey = date, 
sec-subtotal = monthly will produce a monthly time series table.
The About dialog box layout is improved and now includes the detected 
Finance::Quote version.
GnuCash will always build the locale-specific tax modules. This was 
optional when building with autotools and never enabled when building with 
cmake. Note that the only supported tax locales are en_US and de_DE.
On Macs the Reconcile Window's menu moved to the menubar.
GnuCash no longer supports Guile-1.8 and now does support Guile-2.2

New Features for Developers:

Several parts of the engine and the SQL backend are rewritten in C++, an 
effort that will continue in the next development cycle. KVP is now private to 
libgncmod-engine and accessible outside via qof_instance_set and 
qof_instance_get. KVP and GUID are reimplemnted in C++ using boost::variant and 
boost::UUID respectively.
C++ unit tests require GoogleTest. While it's possible to use prebuilt 
libgtest and libgmock on some distros, building static libraries for GnuCash is 
preferred. It may be necessary to provide the paths to the googletest and 
googlemock source with CMake parameters GTEST_ROOT and GMOCK_ROOT respectively.
The date implementation is migrated to boost::date-time, replacing a Glib 
GDateTime implementation. This makes the earliest date recordable 1 January 
1400CE instead of 1 January 1CE. We doubt any users will be affected.
We've reorganized the code into a core library directory, libgnucash, and 
application-specific directory, gnucash. The python bindings are now in a 
top-level directory, bindings; code pinched from other projects is in borrowed, 
the account templates, check templates, and pixmaps are consolidated in data, 
and common holds the cmake modules and test framework code. The bin directory's 
contents have moved to the top level gnucash directory and bin is removed. 
There are now directories for gschema, gtkbuilder and ui files directly in 
gnucash. In principle all files of each type 

Documentation Branches

2018-04-02 Thread John Ralls
Devs,

I've completed the release process for Documentation and have shuffled the 
branches: The old maint is renamed to 2.6 and should receive no more commits. 
master has been merged to maint, so maint is now ready to receive commits for 
3.x documentation and master is ready for new feature documentation for 4.0.

Regards,
John Ralls

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


Re: Feedback about 2.7.8

2018-04-02 Thread Frank H. Ellenberger
Am 02.04.2018 um 15:46 schrieb John Ralls:
> 
> 
>> On Apr 2, 2018, at 4:22 AM, Christoph R  
>> wrote:
>>
>>
>> But it is possible without any error or warning to create dates like this in 
>> the price editor of 2.6.
> 
> But not in GnuCash 3, where the earliest supported year (thanks to 
> Boost::date_time) is 1400.

It is bad to hear, archeologists can no longer use Gnucash to digitalize
invoices like
https://commons.wikimedia.org/wiki/File:Abrechnung_Babylon.JPG
;-)

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


Re: Feedback about 2.7.8

2018-04-02 Thread John Ralls


> On Apr 2, 2018, at 4:22 AM, Christoph R  
> wrote:
> 
> 
> But it is possible without any error or warning to create dates like this in 
> the price editor of 2.6.

But not in GnuCash 3, where the earliest supported year (thanks to 
Boost::date_time) is 1400.

Regards,
John Ralls
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Feedback about 2.7.8

2018-04-02 Thread Christoph R
Hi,

> Am 01.04.2018 um 19:11 schrieb Wm :
> 
> Do you feel this was an anomaly or a general case that needs to be coded for 
> ?  Maybe we should just drop prices far in the past or future ? The price db 
> really isn't that important, it doesn't contain anything real for a person's 
> actual accounts as I very much doubt anyone using gnc gets wholesale market 
> prices on stocks or currencies, etc.

In best case we would do a pop-up to give the user the choice to drop or cancel.


>> Date was 1301-09-13 00:05:08 +0053
>> and it shows up absolutely correct as 13.9.1301 :-)
> 
> You're older than I thought :)

Doing some genealogy accounting ;-)

> Have you had your data in and out of a mysql db ?  I think there was a date 
> thing there (almost no one use postgres and sqlite would have been noticed by 
> too many).

No, never used the sql backend.

But it is possible without any error or warning to create dates like this in 
the price editor of 2.6.

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