Gnucash 2.4.0 released

Geert Janssens janssens-geert at telenet.be
Fri Dec 31 05:12:58 EST 2010


I'm very happy with the new stable release.Congrats to all developers.

I do have a note on the release announcement. It starts off with a big warning 
that any previous version should be installed, particularly on Windows.

Actually I made changes in the Windows installer (in r19528) that takes care 
of this automatically. From the commit log:

<quote>
Bug #588414 - Got "Entry Point Not Found" errors starting GnuCash?, but ran OK
The problem is caused by leftover files from a previous install.
The solution is to uninstall GnuCash? before installing a new version in such 
cases.
This commit adds a compatibility test and uninstall step to the windows 
installer
that will automatically uninstall the previous gnucash release if it is 
considered
'incompatible' with the one to be installed. The user will be warned of this, 
so
he can decide to cancel the installation if he doesn't like the idea of 
uninstalling
his working GnuCash? installation.
Currently, versions are considered 'incompatible' if their major or minor 
version
components are different, so 2.3.x is incompatible with 2.2.x and will trigger
an uninstall. Likewise, a 2.4.x install is incompatible with a 2.3.x and will
trigger an uninstall. This is a nice way to remove all testing 'cruft' from 
the
system once the new release comes out.
Note that in the future installing 2.3.16+ over 2.4.x will also trigger the 
uninstall, which is
a good thing IMO. An older release can't know about changes made in a newer 
one,
so it's safer to first uninstall the newer one to avoid leftover files. 
</quote>

So I think it would be good to improve the release announcement, particularly 
on the website. Several people have been asking about this already on the 
mailing list.

I'm not really sure how though. Is this message purely there for the Windows 
"Parse error" messages ? In that case it can simply be removed. But if it is 
also important to remove prior GnuCash versions on OS X/Linux, then it has to 
be amended.

Anyone has some insights here ?

Geert

On Wednesday 22 December 2010, Phil Longstaff wrote:
> Announcement: GnuCash 2.4.0 Release 2010-12-21
> GnuCash 2.4.0 released
> The GnuCash development team proudly announces GnuCash 2.4.0, the latest
> stable release of the GnuCash Free Accounting Software. With this new
> release series, GnuCash can use an SQL database using SQLite3, MySQL or
> PostgreSQL. It runs on GNU/Linux, *BSD, Solaris, Microsoft Windows and
> Mac OSX.
> 
> WARNING: You should uninstall any earlier GnuCash version from your
> system prior to installing 2.4.0.
> 
> Failing to do so may result in startup errors. In particular on Windows
> this may cause "Parse error: entry point not found" errors.
> 
> 
> Major changes in the 2.4.0 release include;
> 
>       * In addition to the XML backend, Gnucash can now use a SQLite3,
>         MySQL or PostgreSQL database to store the data. This is a new
>         implementation using libdbi. It supports all features including
>         the business features. In order to build with this, add
>         --enable-dbi to the configure command. In addition to the
>         libdbi-dev package for your distribution, you will also need the
>         appropriate DBD (libdbi driver) package for sqlite3, mysql or
>         postgresql.
>       * As a replacement for the current GtkHTML HTML engine used to
>         display reports and graphs, Gnucash can use WebKit. WebKit is
>         the engine used by Google Chrome on Windows and Safari on Apple.
>         In order to build with this, add --with-html-engine=webkit to
>         the configure command. You will need an appropriate webkit-dev
>         package. On win32, you will need to download the
>         webkit-1.1.90-win32.zip file from the source repository and put
>         it into the downloads directory of your gnucash build area.
>       * Updated AqBanking on Win32.
> Getting GnuCash
> Source code for GnuCash 2.4.0 can be downloaded from:
> 
>       * Sourceforge: bzip2, gzip, all files.
>       * You can also checkout the sources directly from the subversion
>         repository with this command:
> 
>         svn co http://svn.gnucash.org/repo/gnucash/tags/2.4.0 gnucash
> 
> To install GnuCash, you will need Gnome 2, guile, slib. In addition you
> will need swig if compiling from subversion.
> 
> 
> Win32 binary
> The Gnucash 2.4.0 Win32 setup executable can be downloaded from
> Sourceforge as well.
> 
> 
> Mac OSX binary
> The Gnucash 2.4.0 MacOSX package can be downloaded from Sourceforge as
> well.
> 
> Changes between 2.3.17 and 2.4.0 include:
> 
>       * User-visible changes
>               * Update copyright notice dates to include 2010
>               * Use proper decimal separator for monetary amounts
>               * If you have a parent account with a subaccount whose
>                 commodity allows more decimal places in the amount field
>                 than the parent account does things don't work right if
>                 you open a register for the parent account and all
>                 subaccounts. This situation can occur if you have a
>                 broker account with subaccounts for the securities held
>                 in that broker account. If you open a register for the
>                 top account and all subaccounts, it is impossible to
>                 enter a transaction to buy or sell a fractional share of
>                 the security where there are more digits after the
>                 decimal point than the parent account allows. This
>                 change fixes this if the subaccount allows no more than
>                 six digits after the decimal point.
>               * When creating a new style sheet, make sure the name for
>                 it is non-empty.
>               * Implement (but currently deactivated) auto-completion in
>                 the invoice ledger using all entries from the current
>                 book. Eventually, this will enable drawing the
>                 auto-completion from all entries in the previous
>                 invoices (i.e. book-wide), but in order to give the user
>                 a good enough feedback during typing we additionally
>                 need a quick-fill object over those book-wide entries.
>                 Currently, the user cannot see whether the current
>                 description would result in an auto-completion from
>                 another invoice, and that's not yet enough.
>               * Implement auto-completion in the invoice/bill entry
>                 ledger.
>               * Take a first shot at adding auto-completion in the
>                 business ledger, but currently it doesn't do anything
>                 yet.
>       * Updated translations or translation-related changes
>               * Updated POTFILES.in
>               * Mark erroneous translation as fuzzy because it doesn't
>                 have the correct c-format.
>               * Reverse inadvertent mods to po/POTFILES.in in r19904
>               * Updated Greek translation provided by Nikos
>                 Charonitakis.
>               * Updated Japanese translation, copied from the
>                 Translation Project.
>               * Add "discount" to all glossary files because some
>                 languages use different translations in billing terms
>                 and invoices. Additional the german translation is added
>                 to glossary/de.po. This change does not break the string
>                 freeze as it is not user visible.
>               * Update German translation. (This includes the 14 new
>                 strings which are already there but not yet being used.)
>               * Merge German translation with latest pot template. This
>                 is merged using msgmerge --no-location de.po gnucash.pot
>                 -o de.new.po and we use "--no-location" to make the
>                 updates actually readable. (Unfortunately this doesn't
>                 prevent the strings from changing ordering anyway. Oh
>                 well.)
>               * Remove superfluous whitespace at end of string.
>                 Incidentally, this way the string already exists and no
>                 broken translation results.
>               * When extracting the translation strings from the scheme
>                 files, sort the scheme files to obtain a stable ordering
>                 of the output.
>       * Bugs fixed
>               * Bug #637346: Adding python-bindings to doxygen
>                 documentation Patch by Christoph Holtermann.
>               * Bug #637041: Revert r19861 as the patch from bug#635439
>                 causes a crash. The patch can be re-applied after the
>                 2.4.0 release is out, but for now I prefer to defer it
>                 until after the release. To be precise, this patch
>                 reverts all parts of bug#635439: r19861, r19860, r19854,
>                 r19853.
>               * Bug #629446: TRY is now called plain Turkish Lira.
>               * Bug #454109: Online banking: grey out online actions
>                 when there is no online account Patch by Manfred
>                 Usselmann: Online actions are disabled for accounts
>                 which have no bankcode and account id assigned This fix
>                 does not require initialization of the AB_BANKING
>                 object.
>               * Bug #635926: Lower-case the name of the lock table to
>                 avoid confusing Postgres. Also abstract it to a static
>                 variable instead of repeating the string everywhere.
>               * Bug #635967: Slots didn't correctly read the path
>                 semantics stored by 2.3.15 and earlier. Corrected, but
>                 note that 2.3.15 and earlier didn't write lists to the
>                 database, so users should re-save from XML using 2.3.17
>                 or later.
>               * Bug #635355: Partly implement the correct "DTAUS import
>                 and send" feature again. Patch by Manfred Usselmann. The
>                 main part of the feature is delayed until the string
>                 freeze is lifted. This part (without adding strings)
>                 implements the infrastructure for sending only the
>                 correctly imported transactions to the bank later.
>               * Bug #636459: Recursively delete slots contained in slots
>                 of type KVP_TYPE_FRAME or KVP_TYPE_LIST.
>               * Bug #635859: Strip all trailing '/'es from kvp_slot
>                 paths when loading. This changes round-tripping slightly
>                 (because the resulting slot key won't have the trailing
>                 slash when it's re-saved as xml). It may also change the
>                 behavior of the facility using the slot, because the key
>                 is changed. So far, the only known instances which trip
>                 this bug are import-map-bayes, because descriptions may
>                 have '/'es in them (and why shouldn't they).
>                 Unfortunately, fixing this right (so that key values can
>                 have embedded '/''es and be saved/retrieved from sql
>                 databases will require changing the slot architecture in
>                 ways that impact the engine. Since we don't have
>                 adequate unit tests to be confident of not introducing a
>                 regression, I'm applying this instead.
>               * Bug #609472: Fix translation of displayed style sheet
>                 names in the style sheet editor.
>               * Bug #635911 GnuCash crashes out when trying to save-as
>                 MySQL Disclaimer: This fix attempt is purely based on
>                 the information given in the bug report and code
>                 reading. I never could reproduce this bug but the code
>                 suggests an unitialized pointer may be the the cause.
>               * Bug #635469: Add a (typemap for a) QofQueryParamList
>                 typedef. Patch by Matthijs Kooijman: This is a typedef
>                 for a GSList, that is used to identify the path from an
>                 object to one of its parameters in search queries and
>                 sorting. This typedef replaces GSList everywhere where
>                 it's applicable. This relieves the need to special case
>                 a few functions in the swig bindings and makes the
>                 bindings for a bunch of other functions work as well.
>                 Note this is (still) only an in typemap, since no useful
>                 functions that return a QofQueryParamList are exposed in
>                 the bindings right now anyway.
>               * Bug #635632: Update existing eguile reports to use new
>                 for syntax. Patch by Matthijs Kooijman
>                 <matthijs at stdin.nl>: This makes use of the new for
>                 syntax introduced in the previous commit, making these
>                 reports and templates a bit easier to read and modify.
>               * Bug #635632: Add custom for loop syntax for eguile
>                 templates Patch by Matthijs Kooijman
>                 <matthijs at stdin.nl>: The built-in for-each loop
>                 construct is a bit cumbersome: It always requires an
>                 explicit lambda and the list to loop over is the last
>                 argument. Especially the latter makes it very hard to
>                 read when the lambda is big and multiple for-each'es are
>                 nested. For hashes, this prevents the need of the
>                 cumbersome hash-fold and slightly better hash-for-each
>                 (which still suffers from the same problems as for-each
>                 and is not available in guile 1.6). This new syntax
>                 allows for three distinct syntaxes: * Looping over a
>                 single list: (for a in lst do (display a)) * Looping
>                 over multiple lists: (for (a b) in (lsta lstb) do
>                 (display (+ a b))) * Looping over a hash: (for key =>
>                 value in hash do (display (* key value)))
>               * Bug #635469: Add bindings for running a qofquery on
>                 invoices. This adds a new typedef "GncInvoiceList" with
>                 the corresponding typemap, and adds two new functions
>                 qof_query_create_for_invoices and
>                 qof_query_run_for_invoices, which are trivial wrappers
>                 around qof_query_create_for and qof_query_run
>                 respectively.
>               * Bug #635355: Add public declaration of gnc_info_dialog.
>                 Patch by Manfred Usselmann.
>               * Bug #635439: Patch to autoset owner in the payment
>                 dialog Patch by Matthijs Kooijman <matthijs at stdin.nl>
>               * Revert "Bug #635439: Patch to autoset owner in the
>                 payment dialog" This reverts commit
>                 232ae4064952cb65e9703d61778cb1531d2e4f56.
>               * Bug #635439: Fix "Pay invoice" while the invoice dialog
>                 is open. Patch by Matthijs Kooijman <matthijs at stdin.nl>:
>                 If you use "Pay invoice", normally a new payment dialog
>                 is opened which is completely filled in. However, when
>                 there was already a dialog open, it was reused but only
>                 the owner would be filled in. This patch makes sure that
>                 the invoice and amount are filled in as well.
>               * Bug #635439: Patch to autoset owner in the payment
>                 dialog Patch by Matthijs Kooijman <matthijs at stdin.nl>:
>                 In the payment dialog, set the owner when an invoice is
>                 selected Before, you would always need to select an
>                 owner manually. If you would just select an invoice
>                 (which was possible, since the invoice selection is not
>                 disabled when no owner has been selected yet), pressing
>                 OK would error out because no owner was selected. This
>                 patch makes sure that when an invoice is selected, but
>                 no owner is selected yet, the right owner is filled into
>                 the owner selection box automatically. This also happens
>                 when the wrong owner is selected, which can happen
>                 because the invoice autocompletion is not limited to
>                 invoices from the selected owner, but always completes
>                 all invoices. This could cause weird behaviour: Select
>                 an owner, then use completion to select an invoice by
>                 another owner and press ok. This would cause the amount
>                 for the invoice by the other owner to be charged against
>                 the first owner. This patch prevents that by replacing
>                 the first owner by the other owner in the dialog. This
>                 patch also changes gnc_invoice_set_owner to no longer
>                 reset the invoice selection to NULL. Instead, this is
>                 now handled by
>       * Other code/build changes
>               * Update configure.ac to 2.4.0 Update gnucash-bin.c to
>                 indicate stable version is 2.4.0, next stable version
>                 2.6 Here we go...
>               * Add gnc-backend-dbi-priv.h to list of header files so
>                 that 'make distcheck' passes
>               * Fixed date problem in MySql backend
>               * Removed accidentally created directory.
>               * Add enumeration of indexes in sql backends. This is a
>                 first step to rewriting databases in a safe way. Indexes
>                 are named entities in sql databases and so need to be
>                 renamed along with the tables before creating and
>                 populating a new set. This change also introduces a unit
>                 test of the new enumeration, and that test has to be
>                 able to see data structures which are private to
>                 gnc-backend-dbi.c, so those data structures are moved to
>                 a new file, gnc-backend-dbi-priv.h, which both
>                 gnc-backend-dbi.c and tests/test-stuff.c can include.
>               * Add debug helper function qofeventid_to_string.
>               * Support for GncCommodityNamespace, better support for
>                 GncCommodity, and example enhancements. Patch supplied
>                 my Mark Jenkins.
>               * Changes to example Script to include added namespace
>                 functionality This patch changes the example script to
>                 reflect the capability of reading all namespaces. Patch
>                 provided by Christoph Holtermann.
>               * Cutecash: Add generation of dummy gnc-version.h file.
>               * Add missing newline at end of file
>               * Replace more obsolete #define'd function names by their
>                 current names.
>               * Add gitignore for backup files from make check.
>               * Replace more obsolete #define'd function names by their
>                 current names.
>               * Make "make check" work when run from "make distcheck".
>               * Replace obsolete <QueryNew.h> #defines by the current
>                 <qof.h> function names.
>               * Follow-up to r19928: Include gnc-version.h with
>                 directory path to avoid picking the wrong file.
>               * Improve the cached quickfill for GncEntry description
>                 lines of r19941.
>               * Add APIs to get/set a flag signifying that a transaction
>                 is a book-closing txn. This is necessary for Bug #570042
>                 but doesn't completely solve it until the reports are
>                 updated to use the new API. This is backwards-compatible
>                 with the slot data inserted by the book closing since
>                 2010-03-02.
>               * Adds checking of gnc_commodity_namespace in glists In
>                 src/base-typemaps.i check for return type
>                 gnc_commodity_namespace is added so that it is returned
>                 instead of gnc_type_monetary. Thanks to Christoph
>                 Holtermann for the patch.
>               * Move price_database_example.py to the correct place and
>                 remove incorrect path/file
>               * Change indent to 4 sp
>               * Implement prerequisites for full auto-completion in the
>                 entry ledger. Added a cached quickfill for GncEntry
>                 description lines. Extend QuickFillCell interface to be
>                 able to use a common cached quickfill.
>               * Remove doubled include files. (Also, QuickFill.h doesn't
>                 depend on gdk.h)
>               * Add messages to backend errors, ensuring that
>                 qof_session_backend_get_message() will actually get a
>                 useful message, or that there will be a descriptive
>                 warning immediately before in the trace file.
>               * Move gnc-version.h and gnc-svninfo.h from gnome-utils to
>                 core-utils.
>               * If the build directory is not the source directory and
>                 the source directory is read only, the build fails. Fix
>                 by only making guile-strings.c if building from SVN.
>               * Get rid of the rest of the gnc-prices man page, r19921
>                 is incomplete
>               * Remove variable names that conflict with Python
>                 keywords. Relevent when using SWIG autodoc feature for
>                 python bindings.
>               * Add %feature("autodoc", "1"); to gnucash_core.i to pass
>                 C documentation through to python interface.
>               * New example script for prices dababase. Thanks to
>                 Christoph Holtermann for contributing to this.
>               * Remove obsolete gnc-prices man page
>               * Add Gnucash svn version to sql versions table.
>               * Insert missing space
>               * Re-enable -Werror in Makefile.am and remove %
>                 feature("autodoc", "1"); from gnucash_core.i
>               * Add commodity price functions to bindings. See Bug
>                 636457 for more details.
>               * Add PriceList to typemap for Python bindings
>               * Patch by Matthijs Kooijman. In r19863, some qofquery
>                 bindings were added. For those to compile,
>                 business-core.i now includes qofquery.h. However, this
>                 causes the bindings for qofquery.h to be generated
>                 twice: Once through engine.i and once through
>                 business-core.i. The latter generated broken versions of
>                 the bindings, breaking (at least) the receivable aging
>                 report. This commit changes the %include to an %import,
>                 so the new bindings still compile but the query bindings
>                 don't get generated twice.
>               * Re-indentation of source code. This re-indentation was
>                 done using astyle-1.24 using the following options:
>                 astyle --indent=spaces=4 --brackets=break --pad-oper
>                 --pad-header --suffix=none
>               * Make prototype for gnc_entry_ledger_get_entry public.
>                 Add documentation.
>               * Fix GtkSpinButton with page-size deprecated warning in
>                 gnucash.trace
> How can you help?
> Translating: The new release comes with some new translation strings. If
> you consider contributing a translation, we invite you to test this
> release already.
> 
> About the Program
> GnuCash is a free, open source accounting program released under the GNU
> General Public License (GPL) and available for GNU/Linux, *BSD, Solaris,
> Mac OSX and Microsoft Windows. Programming on GnuCash began in 1997, and
> its first stable release was in 1998.
> 
> 
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel



More information about the gnucash-devel mailing list