Skip to content

Commit

Permalink
Release GnuCash 3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jralls committed Apr 1, 2018
1 parent 042476f commit c6858e3
Show file tree
Hide file tree
Showing 2 changed files with 196 additions and 4 deletions.
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ PROJECT (gnucash)
ENABLE_TESTING()

# Version number of gnucash
SET (GNUCASH_MAJOR_VERSION 2)
SET (GNUCASH_MINOR_VERSION 99)
SET (GNUCASH_MAJOR_VERSION 3)
SET (GNUCASH_MINOR_VERSION 0)
SET (VERSION "${GNUCASH_MAJOR_VERSION}.${GNUCASH_MINOR_VERSION}.${GNUCASH_MICRO_VERSION}")
SET (GNUCASH_LATEST_STABLE_SERIES 2.6)
SET (GNUCASH_LATEST_STABLE_SERIES 3.0)

SET (PACKAGE gnucash)
SET (PACKAGE_NAME GnuCash)
SET (PACKAGE_VERSION 2.99)
SET (PACKAGE_VERSION 3.0)
SET (PACKAGE_BUGREPORT [email protected])
SET (PACKAGE_TARNAME ${PACKAGE})
SET (PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
Expand Down
192 changes: 192 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,196 @@
Version history:
------- -------
3.0 - 1 April 2018
The first release of the 3.0 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
- OS X: $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.
Distribution tarballs can now be built with CMake as well as
Autotools. (Rob Gowin)
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 should go into these
global directories. The only exception is if such a file belongs
to an optional module. In that case the file remains located inside
that module's directory. Currently we have ui, glade and gschema file
exceptions in aqb and ofx importers.
The build system is changed from Autotools to CMake. All options except
python bindings and the python console demo are enabled by default.
Highly parallel builds with Ninja are possible and recommended,
except on Microsoft Windows.
The Windows build system is rewritten to use MSYS2, Mingw-w64, Powershell,
and jhbuild.
Add a "pot" target to the build system so that translators can easily
generate a new gnucash.pot from a git repository.
Detect presence or absence of libxml2 and makeinfo during configuration;
abort if the first is missing and don't build the (mostly
obsolete) texinfo documentation if the latter is. Document
both in README.dependencies.
Replaced Timespec with time64 in the Scheme and Python bindings,
introducing many new C time64 functions to accomodate the
replacement. Timespec will eventually be removed from the C API
as well.
Some cruft removal in libgnucash/scm plus moving some code to its
only use location. "main.scm" is renamed to "utilities.scm".
The "printf" family of Scheme custom functions is replaced with
the built-in "format" facility.
Change a generally unnecessary warning about being unable to open
a module (usually because the file is still being created) to a
debug message. It appears mostly during highly parallel builds and
was distracting.
Appstream configuration is updated to the latest spec.
Added two functions to the Scheme option API:
* gnc:option-make-internal! will hide an existing option. e.g. a
derived report can set the value for a Display/* option and hide
it from the user.
* gnc:unregister-option will unregister option. This is primarily
useful for derived options e.g. another report copies from
transaction.scm and removes some options and recreates them with
different parameters.
For example, unregister existing option from section "Accounts"
name "Accounts", and recreate with different parameters
e.g. limited account types.
Drop intltool in favour or using modern gettext.
By default we require gettext 0.19.6 as this is needed to generate a
translated version of gnucash.desktop and gnucash.appdata.xml.
For platforms where this isn't available, setting ALLOW_OLD_GETTEXT=ON
will allow building but some strings will not be extracted to
gnucash.pot
Pass GTEST_ROOT and GMOCK_ROOT through to distcheck.
So that they don't have to be exported in the environment if they're
needed.
The Python Bindings and Console are now for Python 3, and enahanced to
expose more GnuCash API.
Compilation of GLib Schemas during build and installation can be
disabled by setting -DCOMPILE_GSCHEMAS=OFF. This is intended
*only* for distribution packaging scripts that run
glib-compile-schemas themselves. Otherwise note that if you install
to a DESTDIR you'll need to re-run glib-compile-scemas after moving
the contents of $DESTDIR$PREFIX/share/glib-2.0/schemas to $PREFIX.
The CuteCash front end has been removed. The code we need from
GOffice has been brought into the GnuCash code base so GOffice
is no longer a dependency. The register drawing code has been
upgraded to draw directly on a cairo surface, removing the dependency
on libgnomecanvas.
GnuCash 3.0 adds the following dependencies: Boost, ICU, Googletest.

Known Problems:
It is not possible to overwrite SQL Databases from within GnuCash, even
though GnuCash will ask if you want to. Bug 789594
There is no theming tool for Windows or Macs so users of those platforms
must apply theming by hand. Bug 791823
Accounting Period dates are subject to change with time zone and
daylight-time changes. Bug 791825
Opening a large SQL database on Windows is very slow on some machines,
merely slow on others. Bugs 792105, 794482.
Some HBCI information is not loaded correctly so the first transaction
download will re-retrieve transactions unless the beginning date is
set explicitly. Bug 792397.
The new CSV importer's Price of Shares column doesn't work. Bug 793306
Importing an OFX file on Windows fails with an empty matcher window.
Bug 793461.
The Bayes account matcher can take a long time to convert the accounts
from name string to guids. This is a one-off, happening only the
first time one imports into an account on GnuCash 3.0. Bug 794334.
The new CSV importer's numeric parser can't parse numbers of the form
x + y/z. Bug 793556.
Python bindings may not work in some installations because the bindings
are unable to find the backend modules (libgncmod-backend-dbi and
libgncmod-backend-xml). Bug 794526
Get Quotes can be slow if one has a large number of saved prices.
Bug 794644.
Some users see 1 January 1970 instead of the default date in the New
Invoice or New Bill dialog and on the unposted bill and invoice.
Bug 794767.
The Mac localization code can set the wrong encoding for strftime causing
the register's date picker to label months "Null" in some locales.
Bug 794807
On Mac, the File Open dialog will crash if one types anything. Bug 794809
An open register is not immediately updated when the Since Last Run
dialog creates transaction splits in the register's account. Bug 794854
GnuCash asks if one wants to save changes when quitting or opening a file
even if there's no book open. Bug 794870
The Online Actions menu includes some obsolete and non-functional
selections. Bug 794880.

2.6.20 - 1 April 2018
This is the final release in the 2.6 stable series.
The following bugs are fixed:
Expand Down Expand Up @@ -1044,6 +1235,7 @@ KNOWN PROBLEMS:

test-import-bayes built with autotools intermittently fails at
line 381, where the returned value is 1 instead of the expected 6.

2.6.18 - 24 September 2017

The following bugs are fixed:
Expand Down

0 comments on commit c6858e3

Please sign in to comment.