Gnucash 2.4.0 released

Donald Allen donaldcallen at gmail.com
Wed Dec 22 12:36:25 EST 2010


Congratulations to all of you who have worked so hard on this release.

/Don

On Wed, Dec 22, 2010 at 12:05 PM, Phil Longstaff <plongstaff at rogers.com>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