ANNOUNCE: Gnucash 2.3.15 released

Phil Longstaff plongstaff at
Fri Aug 20 20:42:22 EDT 2010

Announcement: GnuCash 2.3.15 (Unstable) Release 2010-08-20 
GnuCash 2.3.15 (Unstable) released
The GnuCash development team proudly announces GnuCash 2.3.15, the
sixteenth of several unstable 2.3.x releases of the GnuCash Free
Accounting Software which will eventually lead to the stable version
2.4.0. 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: This is an *UNSTABLE* version of Gnucash.

This release is intended for developers and testers who want to help
tracking down all those bugs that are still in there.

Make sure you make backups of any files used in testing versions of
GnuCash in the 2.3.x series. Although the developers go to great lengths
to ensure that no data will be lost we cannot guarantee that your data
will not be affected if for some reason GnuCash crashes in testing these

NOTE: The latest stable version is 2.2.9.

PLEASE TEST TEST AND TEST SOME MORE any and all features important to
you. Then post any bugs you find to bugzilla

Major changes in the 2.3.x 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
      * 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 --enable-webkit to the
        configure command. You will need an appropriate webkit-dev
        package. On win32, you will need to download the file from the source repository and put
        it into the downloads directory of your gnucash build area.
      * Updated to AqBanking 3 on Win32.

Strings are frozen. This means no new changes will be introduced which
change any text displayed by Gnucash. Therefore, final translations for
2.4.0 release may begin.

Changes between 2.3.14 and 2.3.15 include: 
      * Bugs fixed
              * Bug #626459: Change Transaction Report default account
                selection to none I think in the specific case of the
                "Transaction Report" this is the better choice. The
                error message will be clear enough ("No accounts
                selected. Click here to Edit report options"), and it
                will probably meet the user expectation that some
                account needs to be selected anyway before something can
                be seen.
              * Bug #625193: Added 'search by ID' in python binding for
                invoices, customers and bills. Patch by Mike E and Mark
                Jenkins: When creating or appending to invoices,
                customers and bills, searching by ID is likely more
                useful than by GUID. I've added this functionality to
                the Python bindings. Search by ID using the python code:
                tmp =
                gnucash.gnucash_core_c.search_invoice_on_id(ID,book.instance) if tmp: invoice = gnucash.gnucash_business.Invoice(instance=tmp) Use the invoice object as in sample_scripts/ I support this patch, but I've made a few improvments of my own. I switched up the arguments in search_customer_on_id, search_invoice_on_id, search_bill_on_id to have Book first and ID second. The reason for this was to make these functions more consistent with the other functions where a search is done through a book on a particular attribute. Also added some specific python bindings support to allow this to be used as methods of Book: Book.CustomerLookupByID, Book.InvoiceLookupByID, Book.BillLoookupByID.
              * Bug #624721: Show backtrace for errors in eguile
                templates Patch by Matthijs Kooijman: The current eguile
                template implementation catches errors that occur while
                evaluating an eguile template. However, only the error
                is shown, not a backtrace (so no location of the error
                either). The attached patch modifies the error handling
                to also capture the stack backtrace, using a lazy
                exception handler (e.g., capture the stack before
                unwinding the stack to the real exception handler). To
                extract only the relevant part of the stack (e.g., the
                part inside the eguile template, not the tens of stack
                frames leading up to the report rendering), a stack dump
                is made just before evaluating the eguile template (so a
                sort of "diff" can be made). For more details, see the
                extensive comments in the patch itself.
              * Bug #616613: Automatically append the extension if user
                forgot append them. Patch by "Bob": The enclosed patch
                simply tests for a period in the file name, if one
                exists it leaves it alone, if not, it adds one plus a
                default extension.
              * Bug #626403: Fix inconsistent formatting between
                stylesheets (Webkit vs. gtkhtml) Patch by Alex Aycinena:
                The 'default' stylesheet formats the balance sheet, cash
                flow, income statement and transaction reports properly
                under webkit but not under gtkhtml. The 'easy',
                'footer', and 'technicolor' stylesheets are the reverse;
                that is, they format the balance sheet, cash flow,
                income statement and transaction reports properly under
                gtkhtml but not under webkit, except that the 'footer'
                stylesheet also has some formatting problems with
                gtkhtml as well. The attached patch file corrects these
                problems. Specifically: - styles that are missing in the
                'footer' stylesheet (compared to 'easy') are added - the
                function 'gnc-html-engine-supports-css' is used in the
                'default', 'easy', 'footer' and 'technicolor'
                stylesheets to provide styles for either webkit or
                gtkhtml - the taxtxf.scm report file is simplified to
                take advantage of these changes
              * Bug #625697: Prior patch, Changeset 19376, broke reports
                for non-default stylesheets Patch by Frank Ellenberger
              * Bug 623801 - gnucash file is not saved
              * Bug 625845 - Exporting Accounts results in 0 byte file.
              * Bug 625977 - Python Bindings, enhanced examples showing
                the use of Transaction.BeginEdit(), patch by Mark
              * Bug 625976 - Python Bindings Patch for
                Transaction.GetImbalance(), patch by Mark Jenkins
              * FIx bug 596124: don't crash if someone adds a split to a
                capital gains transaction created by the lot scrubber.
              * Double clicking on the balance column in a register
                doesn't resize the column because there is a zero width
                column to the right of it. This may fix all or part of
                bugs 563588, 345711, or 506261.
              * Bug 612337: Add file save to hierarchy druid when the
                new file druid completes. Patch by "Bob": I thought I
                would give this a try and come up with a patch to use
                the file save as function after the after pressing the
                apply button. Not sure if it is the best way but seems
                to work on my linux box and on windows without any
                errors. I have changed the text in the
                file to reflect the firing of the save as and also
                increased the size of the window to give more room for
                the 'Category Description' to stop scroll bars.
              * Bug #624623 - Patch: US Tax Report for webkit and
              * Bug #556713 - inconsistency in report options Use "Reset
                defaults" instead of "Use defaults, as suggested by
              * Bug #556713 - inconsistency in report options Final
                additions to this bug.
              * Bug #621016: Print multiple checks at the same time The
                print checks operation should be able to print more than
                one check with a single invocation of the "Print
                Check..." command. The attached patch does this. If the
                active register is an account register, then the
                selected transaction is printed (as before). If it is a
                search results register where all the splits are from
                the same account, then it prints a check for each of
                them. Anything else is an error. Patch by Mike
              * Bug #118391: This patch add isocodes support for Windows
                build. It automatically download, build, install and
                packaging the isocodes. Currently, the patch will not
                make Windows build show the locale long currencies name.
                But it make the isocode available on Windows. Since the
                long currencies names are already shown on Linux, I
                think it should not far to make it happen on Windows
                too, especially the isocode will be available after this
              * Bug #620763: Fix permuted "Retained Earnings/Losses" in
              * Bug #620763: remove trailing whitespace from
              * Bug #556713: Fix inconsistency in report options The
                attached patch should fix the remaining outstanding
                issues of this bug. Applying this patch now would break
                string freeze.
              * #616606 - Get default report font from top level widget
                Patch by Tao Wang 
              * Bug #623844 - CRITICAL gnc.backend Error message in
                trace file.
              * Bug #623842 - Reseting of Color Tabs to default color
              * Bug #556713 - inconsistency in report options, partial
                fix This commit aligns all occurences of
                "Current/Previous Year Start/End" to "Start/End of this
              * Bug #556713 - inconsistency in report options, partial
                fix This commit aligns all occurences of "Report
                Accounts" and "Accounts to include" to "Accounts"
              * Bug #447339 - custom reports with similar names
              * Bug #556713 - inconsistency in report options, partial
                fix This commit aligns all occurences of "Report
                Currency" and variants to "Report's currency"
              * Bug #556713 - inconsistency in report options, partial
                fix This commit replaces "From/To" with "Start Date/End
                Date" in all standard reports.
              * Bug #389841: Wrong translation of Tax Amount and update
                of Italian translation by Cristian Marchi
              * Bug #622953 - Enable comment for date format string
                again in gnucash.pot, patch by Frank H. Ellenberger.
              * Bug #622637 - The classical invoices should use the more
                specific strings from taxinvoice, part 2, by Frank H.
              * Bug #622637 - The classical invoices should use the more
                specific strings from taxinvoice, part 1: whitespace
                cleanups, patch by Frank H. Ellenberger.
              * Bug #617797 - Win32 need to downgrade to gtk-2.16
                (Default theme not working under Windows), second patch
                adding custom themes, by Tao Wang
              * Bug #622523 - Python bindings are crash prone when
                linked to guile
              * Bug #622520 - gnucash business objects disapear on save,
                patch by Mark Jenkins
              * Bug #622271 - Category 'Gas' under 'Auto' should be
                translated to Petrol in en_GB and en_AU
              * Bug #617797 - Win32 need to downgrade to gtk-2.16
                (Default theme not working under Windows), patch by Tao
              * Bug #616606: Add gnc-get-default-report-font-family
                function callable from scm. Currently returns "Arial"
                but can be modified to get default GtkWindow font. 
              * Bug #600574 - Would like to disable creation of log
                files and backup files entirely
              * Bug #621744 - Prompt for password is not hidden
              * Bug #619709 - Upgrade Inno Setup to 5.3.x to use utf-8
                in .iss script, patch by Tao Wang
              * Bug #621602 - Upgrade svn on Windows building
                environment to 1.6.x, patch by Tao Wang.
              * Bug #378638 - log replay creates two transactions from a
                single logged transaction
              * Bug #615347 - Use enforced, consistent data file
                extension across supported platforms The choice has
                fallen on ".gnucash". This extension will be added to
                all filenames that don't have it already when a user
                chooses "Save As...". Obviously this is only done for
                files, not for database storage. The backup files will
                from now on also end in ".gnucash" instead of the
                previous ".xac". The code that removes old backup files
                scans for both extensions to ensure that backup files
                still available with the ".xac" extension are rotated as
      * Updated translations or translation-related changes
              * Update po files with up-to-date pot template.
              * Remove unused file from both SVN and
              * de.po: correction of "Income Tax Identity" This term is
                used in the first dialog of "Ta_x Report Options".
              * Updated Italian translation by Cristian Marchi.
              * Updated Japanese translation by Yasuaki Taniguchi,
                copied from the Translation Project.
              * Updated Latvian translation by Valdis Vītoliņš.
              * New Latvian translation of the business account chart,
                thanks to Valdis Vītoliņš <valdis.vitolins at>
              * Updated simplified Chinese translation by Tao Wang.
              * Updated Dutch translation by Mark Haanen, copied from
                the TP.
              * Updated German translation.
              * Add initial Bulgarian translation, by Rosi Dimova, by
                Bulgarian Gnome translation team.
              * Fix missing translation of buttons in invoice reminder
              * Updated Dutch translation, copied from the Translation
              * Update of Italian translation by Cristian Marchi
              * Merge most recent pot template into all language po
              * Update German translation.
              * Merge most recent translation template into de.po.
              * Update after recent file move.
              * I18n improvements in invoice reports: Mark last
                untranslated strings for translation.
              * Update de.po after invoice review. There were some
                equivocalnesses between invoice and balance. After using
                the strings from tax-invoice in the other invoice forms,
                the de translations should switch back. Patch by Frank
                H. Ellenberger.
              * Improve i18n comments: Comment for gnucash.pot must
                appear immediately before the marked string.
              * Improve name consistency. Use "GnuCash" (or more
                precisely PACKAGE_NAME), wherever the name is visible to
                the user, and "gnucash" (or more precisely PACKAGE)
                everywhere else.
              * Add utf-8 prefix, so the Windows installer interprets
                the file properly
              * Fix Latvian language support for Windows installer
                (should have used lv instead of lv_LV)
              * Add Latvian translation for the Windows Installer, patch
                by Valdis Vītoliņš
              * Fix encoding issues in Windows README file and translate
                last sentence.
              * Add Latvian readme file for Windows
              * Update Dutch translation from the TP
              * Update Chinese (simplified) translation, from the TP
              * Set user visible application name as part of the gui
                initialization. This defines which name is used in the
                about dialog and is used by gnome-keyring to determine
                where to store passwords.
              * Add simple checkbook account chart in Dutch, by Mark
              * Move language dependent files lv_LV to lv
              * Move language dependent files lv_LV to lv, one more
              * Move language dependent files lv_LV to lv
              * Updated Italian translation by Cristian Marchi.
      * Other user-visible changes
              * Allow negative tax percentages. This allows to model
                some tax rules for trade between European countries.
              * Add error message if the unimplemented aqbanking setup
                button is pressed. Please see
              * Bug 616612 - Remember last location of File Open/Save
                dialog, partial solution This commit remembers the last
                directory for * Open * Save * Export chart of accounts *
                Save Report This only stores file based paths, not db
                based paths.
              * Modify the osx_accel_map to reflect the different
                keybinding in Gtk+-2.20
              * Fix crash when run with the --add-price-quotes
              * Follow-up of r19358: Need to use AB_SetupDialog_new
                instead as replacement of the previous wizard.
              * Adapt to newest (unstable) aqbanking: No external
                application needed anymore for user setup.
              * Re-enable colored tabs on Windows. This works fine with
              * Add averaging option (but currently deactivated) for
                monthly or weekly average in account piechart. Will be
                activated once we're out of string freeze in order not
                to have untranslated strings show up for the user.
              * Explain proximo concept.
      * Other code/build changes
              * Get library from correct directory - fixes "make check" 
              * Dummy commit to test mailing list hooks.
              * Fix typo in comment.
              * Convert glade files to gtk+2.10, last batch.
              * Fix stupid compiler error. (Should compile first, then
                commit, not the other way round.)
              * Copy python macro for import of the
                gnucash file to here because its original download
                location is hard to reach.
              * Fix compiler warning
              * Fix compiler error reported by Herbert Thoma
              * Replace a gkt+2.18 function to be gtk+2.10 compatible
              * Fix gtk critical warning, patch by Bob.
              * Fix problem with "t" unbound in cond expression. Use
                "else" instead.
              * Add missing return value specification of
                lookup_by_code() in python bindings. Patch by Daniele
              * Remove now empty business directories
              * Fix r19364: Remove last reference to removed
              * Merge the sql parsers of the business objects into the
                main sql module. Also, completely remove the
                business-core/sql module because it is no longer needed.
                The tests of this module have been moved into
                backend/dbi because they depend on sql+dbi, but not more
                than that.
              * Completely remove the business-core/xml module as it is
                no longer needed.
              * Remove the separate business xml backend from cutecash
                and python as well.
              * Merge the xml parsers of business objects into the main
                xml backend module.
              * Remove separate object initialization in
                engine/gncBusiness.c and move this into one common
                initialization function cashobjects_register in
              * Convert glade files to Gtk+2.10: remaining business
              * Convert glade files to Gtk+2.10: business dialogs except
              * Convert glade files to Gtk+2.10, next batch: gnome-utils
              * Convert dialogs to Gtk+2.10 Removed one unused dialog as
                well, as it contained many deprecated widgets causing
              * Remove unused dialog
              * Fix GtkSpinButton with non-zero page_size warnings.
              * Move the business object implementations from separate
                module into the main gnucash engine.
              * Move initialization of business objects into
                gncBusiness.c so that this fits to the header where the
                function was declared.
              * Remove header gncBusinessP.h which is unused anyway.
              * Convert glade files to glade3/gtk+2.10, next batch.
              * Remove obsolete code.
              * Some changes to align the README files with the current
                state of gnucash.
              * Convert glade files to gtk+2.10, next batch.
              * Convert to glade-3 target gtk+2.10
              * Fix binary test.
              * More path fixes.
              * Fix paths. On Mandriva the original code resulted in two
                absolute path being appended, resulting in file not
                found errors.
              * Python bindings, gncnumeric and accounttype constants,
                patch by Mark Jenkins.
              * Nice example python scripts, patch by Mark Jenkins.
              * Future default file extension is .gnucash, so - rename
                example files to this extension - replace references to
                the old extension where appropriate
              * Fix erroneous quotation in scheme string of last commit
              * Improve the initial report loading code so that it loads
                only files ending with .scm. This should avoid
                accidentally loading .scm~ backup files etc. The code
                matches the filenames against the regexp "\.scm$", so
                the previous hand- written comparison against "." and
                ".." is no longer necessary as those don't match that
                regexp anyway.
              * Fix build failure introduced by r19285 on systems with
                guile 1.6.
              * Properly check for SWIG version 2.0.0 and later.
              * Revert part of R19263. DYLD_LIBRARY_PATH must be set on
                MacOSX (running under X11, not Quartz) in order for
                GnuCash to find its dynamic libraries.
              * Change gnucash-bin to gnucash on OS X (the other
                platforms had been changed already)
              * After learning the scheme case syntax, implement it
                correctly this time. Fixes r19281, r19280, r19253,
              * Add missing UTF-8 BOM
              * Some more disabling of the new deactivated option in the
                piechart. Forgotten in r19280, sorry for that.
              * Disable new option of piechart report even more.
              * Check properly for svn availability
              * 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
              * Document what to do if svn isn't found. This only
                applies to the scripts used to setup an automated build
              * Cleanup use of constants
              * Finish direct binary execution on Windows and linux and
                cleanup bin Makefile/targets - Windows * binary name
                becomes GnuCash.exe * gnucash.cmd is renamed to
                gnucash-launcer.cmd (consistent with OS X). This file is
                only needed to run GnuCash straight from the source
                installation. It is not used (or distributed) with the
                Windows Installer version. * gnucash-valgrind,
                gnucash-gdb and the override extra's have been removed
                as they are meant for a UNIX like environment -
                Linux/others * binary name becomes gnucash * the gnucash
                launch script has been removed together with
                gnucash-gdb. They no longer add value on linux. *
                gnucash-valgrind has been retained because it contains
                useful presets - OS X (Quartz) * binary name remains
                gnucash-bin for now (requires synchronous changes in the
                externally hosted OS X build system) * gnucash launcher
                script has been renamed to gnucash-launcher. This file
                is only needed to run GnuCash straight from the source
                installation. It is not used (or distributed) in the OS
                X bundle version. * gnucash-gdb and gnucash-valgrind
                remain and can be used for debugging the source
              * Undo debug modification introduced in r19100. It
                bypassed the Abort and was never intended to be
              * Use enum value QOF_LOG_MESSAGE (newly defined in r19257)
                instead of the generic G_LOG_LEVEL_MESSAGE
              * OSX: Use the language list instead of the locale
                Language list is better than locale: * Locale is only
                one choice, language list gives user several chances
                before defaulting to english. * Locale is set on the
                Formats page in System Preferences>Language & Text and
                labelled "Region", which makes one think that it's
                separate from language choices. * This new code looks at
                only the first two letters, so any time (e.g.) German is
                selected as the language it will use the de_DE
                localization. This will have to be elaborated if we ever
                get regional language translations.
              * OSX: Set locale and languages from User Defaults. This
                was handled in the bundle launcher script and completely
                ignored when gnucash is launched from the command line.
                Should offer better performance than the scripted
                version, which had some odd workarounds.
              * Add missing enum value
              * Fix report error in piechart due to the temporary
                deactivation of the new option.
              * Make business sql backend initialization functions
                accessible when statically linking. Same change as what
                r18841 added in business-core/xml.
              * Delegate transaction log enabling/disabling to the
                backends. Let only the xml backend enable logging.
              * Add getter function for mapping a {year,month,day}
                symbol to the conversion function of a date to a
                fractional number.
              * Fix a comment to reflect the actual code.
              * Remove command line parameter that is ignored anyway.
              * Fix typo in which broke creating new
              * Improve handling of unknown access methods (protocols).
                Avoid mangling of such urls, so that a clean error
                message can be displayed.
              * Disable enviroment_overide() when MAC_INTEGRATION is
                defined: It doesn't play well with App Bundles.
              * Don't look for dbi drivers if dbi_initialize failed.
              * Fix dbi drivers not found when --with-dbi-dbd-dir is set
                at configure time.
              * Default key accelerator map for OSX, using Command
                instead of Control
Caveats for Testers
Any 2.3.x version might crash unexpectedly at any point during runtime.
If you test some serious work in a 2.3.x release and are using the XML
file backend for data storage, make sure you hit "Save" after every
non-trivial workstep. If you are using the SQL backend, this is not
required as every change is saved immediately to the database.

The documentation has had screenshots updated, however, many help texts
usually only refers to the 1.8.x series. Everyone is invited to help
improve the documentation; see
on how to get involved.

How can you help?
Testing: Test it and help us discover all bugs that might show up in
there. Please enter each and every bug into bugzilla.

Translating: The new release comes with some new translation strings. If
you consider contributing a translation, we invite you to test this
release already. A string freeze will be announced in one of the later
2.3.x releases. Please check for updates on this.

We would like to encourage people to test this and any further releases
as much as possible and submit bug reports in order that we can polish
GnuCash to be as stable as possible for the 2.4.0 release in a few
weeks. Then post any bugs you find to bugzilla

Getting GnuCash
Source code for GnuCash 2.3.15 can be downloaded from multiple
      * The GnuCash website
      * Sourceforge: bzip2, gzip, all files.
      * You can also checkout the sources directly from the subversion
        repository with this command:
        svn co 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.3.15 Win32 setup executable can be downloaded from
Sourceforge as well. 

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.

More information about the gnucash-announce mailing list