ANNOUNCE: Gnucash 2.3.13 released

Phil Longstaff plongstaff at
Thu Jun 3 13:07:33 EDT 2010

Announcement: GnuCash 2.3.13 (Unstable) Release 2010-06-02 
GnuCash 2.3.13 (Unstable) released
The GnuCash development team proudly announces GnuCash 2.3.13, the
fourteenth 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.12 and 2.3.13 include: 
      * Bugs fixed
              * Change from ige-mac-menu to GtkOSXApplication for OSX
                integration. Fixes #600590.
              * Bug #618646 - Should be able to run gnucash-bin.exe
                directly, rather than gnucash.cmd Patch by Tao Wang.
              * Fix #616100 - Incorrect character set used in MySQL
                backend Use "SET NAMES 'utf8'" so that mysql uses utf8
                for communication and all char sets. 
              * Bug #618647 - Compile .ico as resource into
                gnucash-bin.exe, patch by Tao Wang
              * Bug #618505 - Separate shell functions files from
                variables and steps files, patch by Yasuaki Taniguchi
              * Bug #618341: Additional paths to Patch by
                Yasuaki Taniguchi.
              * Bug #615168: Remove instances of (use-modules (ice-9
                slib)) except report-system.scm There are no more
                instances of (require ...), so Guile's slib support is
                no longer needed. Patch by Andy Wingo, but except
                report-system.scm because saved reports still use the
                hash-for-each -- so we will need to continue to support
                the symbol.
              * Bug #615168: Remove spurious (require 'hash-table)
                instances except report-system.scm Patch by Andy Wingo,
                but except report-system.scm. There is nothing that the
                slib hash-table module provides that was used in any of
                these files; they all used Guile's stock hash tables.
              * Fix #616554 - New stylesheets based on Fancy template
                cause BIN to crash An interface issue between libjpeg
                and webkit (incorrect type used in libjpeg) causes the
                crash. This patch replaces the normal libjpeg with a
                patched one. 
              * Bug #352058 - Invoice entries should default to opening
                date of invoice.
              * Bug #615510 - Gnucash crashes when creating new customer
              * Bug #357696 - Billable items appear in more than one
              * Bug #118391: Implement translation long currency names
                Adjust in iso-4217-currencies.scm fullnames to conform
                with iso-codes-3.3 Patch by Frank H. Ellenberger.
              * Bug #616524: Fix missing re-generating of gnucash_core.c
                code. The .c file gets outdated easily because the
                makefile doesn't contain enough of its dependencies. I
                would need to be regenerated each time any of the
                included files was changed, but currently it doesn't
                contain these dependencies in the makefile rules. Having
                it depending on config.h should at least trigger the
                generation at each version number change (so that the
                tarball contains an up-to-date version.)
              * Bug #612212: Provide a method to set the default budget
                Patch by Jeff Kletsky. (Cstim: Accepted even though
                string freeze is in effect because it was submitted
                before the freeze. Also, the string additions are very
                minor.) Summary of Changes: * Initial story related to
                providing default budget control * Add a "Budgeting" tab
                to the book-level preferences dialog * Add a "Default
                Budget" selector to the "Budgeting" tab * Modify
                gnc_budget_get_default() to * Respect the new KVP, if
                present * Fall back to 2.2.x behavior, if not present *
                Modify gnc:make-budget-option * Reformatted for
                readability with additional comments * Default is now
                "#f" so that selected value is always saved Otherwise,
                if selection happened to be the current default and the
                default was later changed, the report would change *
                getter, setter, and generate-restore-form all now
                consistent * setter now always takes a budget object *
                generate-restore-form does not rely on "hack" in setter
                that previously allowed either a budget object or a GUID
                string This is a different fix for 603215 -- see Known
                Issues * Provide translation support for "Trading
                Acccounts" (and "Budgeting") * Refactor #define names
                for consistency and extensibility * KVP_OPTION_PATH for
                consistency with Guile usage * OPTION_SECTION_blahblah *
                OPTION_NAME_blahblah * Modify qofbookslots.h to be
                "SWIG-aware" * Pick up qofbookslots.h in
       and po/ Known
                Issues: * There is no selection (yet) for "Use default
                budget" so changing the default budget and reloading a
                report does not change the budget used * setter is no
                more robust to "bad" values than in previous code *
                Budget reports created with 2.3.x after r18528 (between
                2.3.8 and 2.3.9) may not load or re-render as they
                relied on the setter taking either a budget object or a
                GUID as a string This should not impact any 2.2.x users
                as nothing was saved under 2.2.x related to the default
                budget. This can be resolved through removing the option
                restore code in ~/.gnucash/saved-reports-2.4 and, if
                affected reports were open, in
                ~/.gnucash/books/<name_of_book> * Budget reports prior
                to r18528 did not save budget selection (603215)
              * Bug #586805: Fix errorneous abs() in csv import Changes
                abs function to fabs in gnc-csv-model.c, to allow csv
                imports of values less than $1.00. Patch by James Raehl.
              * Bug #617660: Improving iso-4217-currencies Patch by
                Frank H. Ellenberger 1. improve the header of fieldnames
                with annotations 2. sort by ISO code, because a. easier
                for non english people b. most tables in the internet
                have this sort order. So maintainance becomes easier. 3.
                inserting a Column local_symbol, because some people
                like to use it, e.g.
                probably there is a better way to get this informations.
                4. Review List: a. adding: CDF, GHS, ... b. outdated:
                AON->AOR->AOA, GWP->XOF, ... c. Typos like "fening". d.
                Alway use singular instead of a mixture. 5. add
                comments: a. outdated currencies prepared as in the
                header shown. b. for abbreviations. Background is the
                thread starting with
              * Bug #617435 - webkitgtk+ cross build script, created by
                Yasuaki Taniguchi
              * Bug #617558 - Header in register doesn't clear properly
                in double-line mode when switching from transaction to
                split, patch by Alex Aycinena
              * Bug #617072 - Update, patch by
                Yasuaki Taniguchi
              * Bug #554936 - '' files should be renamed
              * Bug #616696 - Development version warning string should
                not include hardcode version. Third revision. - Stable
                Version changed into Stable Series (easier to track
                automatically) - Modified motd code to deal with
                replacement strings - Changed DEVELOPMENT release tip to
                separate the Stable Series number from the translatable
              * Bug #615168: Don't define hash-fold for guile 2.x Patch
                by Andy Wingo. * src/scm/main.scm (hash-fold): Only do
                the conditional hash-fold dance if we don't have guile
                2.0. (Definitions in expression context are actually
                invalid Scheme, but older Guiles are more permissive.)
              * Bug #615168: scm_c_string_length is the proper spelling
                now Patch by Andy Wingo. Fix up a couple uses of
                scm_i_string_length, and add a back-compat shim for
                earlier versions.
              * Bug #616696 - Development version warning string should
                not include hardcode version. * Improve on the previous
                fix: really display stable version in tooltip, not
                current version. * Also revert change of "What's new in
                GnuCash 2.0" because that's the title actually found in
                the help manual.
              * Bug #615317 - Windows installer requires Qt libraries
              * Bug #616696 - Development version warning string should
                not include hardcode version.
              * Fix #616606 - Add <meta> line indicating utf8 encoding
                so that non-latin chars show correctly. 
              * Bug #615168: Make sure that printf is available
                whereever it is used So, the right thing is for each
                file to be in its own module. Barring that it's tough to
                see what the environment is in a given module. So to be
                safe, everywhere there's a printf, make sure the
                (gnucash printf) module is duly included. Patch by Andy
                Wingo. Conflicts:
              * Bug #615168: Fix a number of scheme syntax errors This
                kind of error is detected "eagerly" in Guile 2.0. Patch
                by Andy Wingo.
              * Bug #615168: Fix bogus gnc:safe-strcmp definition Patch
                by Andy Wingo.
              * Bug #615168: Fixup one last simple-format bit
                src/engine/iso-currencies-to-c did the same
                simple-format dance that is now unnecessary. Patch by
                Andy Wingo.
              * Bug #615168: Replace calls to simple-format with calls
                to format Guile 1.6 and up always provides
                simple-format, and defines it as a restricted subset of
                the full format, so there's no harm in using the
                construct's proper name. Patch by Andy Wingo.
              * Bug #615168: Pull in printf from slib, change all code
                to use it. There is a new module, (gnucash printf).
                Patch by Andy Wingo.
              * Bug #616093: Notes are not editable in scheduled
                transaction edit window Patch by James Raehl: The Notes
                field is not visible or editable. This appears to be a
                deliberate choice, as can be seen in line 1308 of
                gnome/dialog-sx-editor.c routine
                schedXact_editor_create_ledger. I disagree. Since Notes
                are not copied to the newly-created scheduled
                transaction, there is no way for the user to copy Notes
                to the model, nor to modify the Notes. This makes the
                partial fix in r16652 for bug 500427 kind of pointless.
                This patch reverses that decision.
              * Bug #615912: Update gnc_quote_source from FQ 1.11 to
                1.17 and enhance user_name Patch by Frank H.
                Ellenberger. Because many sources were listet as
                unknown, I tried to sort them in. Because normal users
                don't know all englisch abbreviations of far continents,
                I tried to use better understandable descriptions and
                added country codes. Caveats: 1. The HU methods were not
                quite clear to me, so I added only one. 2. The
                Currencies methods seems to fetch lists of currencies,
                something what we don't need here; correct me, if I am
              * Bug #118391: Mark currency names for translation but
                using the "iso_4217" translation domain. This will make
                approx. 50% of the currency names show up in translated
                form. At least more than nothing. Eventually, we most
                probably must change our long name definitions to match
                those of iso_4217, and after this we will get 100%
              * Revert r19051, "Bug #118391: Mark the currency names for
                translation." We better don't mark the currency names
                for translation inside gnucash.pot; instead, we should
                use the "iso_4217" translation domain.
              * Bug #616615 - Request for larger size icon (96x96,
                128x128, 256x256): Properly include smaller icon sizes,
                remove duplicate size
              * Bug #616615 - Request for larger size icon (96x96,
                128x128, 256x256)
              * Bug #118391: Mark the currency names for translation.
      * Updated translations or translation-related changes
              * Update of Latvian translation by Valdis Vitolins
              * Additional fix for Simplified Chinese translation of
                windows installer
              * Add Latvian account templates by Valdis Vitoliņš.
              * Reapply Simplified Chinese patches
              * Repatch Windows installer for Simplified Chinese
              * Update German translation.
              * I18n improvements: Remove colons from translatable
                strings. Use correct capitalization. In most cases, the
                changed strings already appear somewhere else in the
                program, so only very few are unfortunately now new
                strings even though we hoped we could stick to the
                string freeze.
              * zh_CN translation for Windows Installer, patch by Tao
              * Update zh_CN account charts, patch by Tao Wang.
              * Updated Dutch translation, copied from the Translation
              * Update Chinese (simplified) Translation, copied from the
                Translation Project.
              * Fix help text, discovered by Nikos Charonitakis
              * Update of Brazilian Portuguese translation by Miguel
              * Update of Greek translation by Nikos Charonitakis
              * Updated Danish translation by Joe Hansen, copied from
                the Translation Project.
              * Update zh_CN translation, patch by Tao Wang
              * Update of Italian translation by Cristian Marchi
              * zh_CN translation of gnucash glossary file, patch by Tao
              * Updated zh_CN translation of accounts, patch by Tao Wang
              * I18n: Fix erroneous message. This (tooltip) string is
                blatantly wrong, so we need to fix it regardless of
                string freeze. Spotted by Mark Haanen.
              * I18n fix: Mark forgotten strings for translation. These
                are allowed regardless of string freeze because the
                strings are already in the program and are untranslated
                so far. So marking them for translation will only
                improve the situation but not introduce new strings into
                the program in general. Spotted by Mark Haanen.
              * Add src/gnome/ to the translation
                input files.
              * I18n: Fix typo in user message. This breaks the string
                freeze, but 1. the typo really hurts one's eyes, and 2.
                the message is only secondarily important, so I would
                accept this single string freeze breakage.
      * Other user-visible changes
              * Implement help for OSX
              * Set default webkit font from system font. 
              * Merge CSS and plain stylesheets, leaving the plain and
                remove the CSS stylesheet. Plain now has font
              * Add font support to all stylesheets 
              * Add "Pay invoice" toolbar button when invoice is open.
              * When posting an invoice, propose the invoice's opened
                date as post date.
              * A search with no search terms set by the user should
                still honor the original search constraints. For
                example: if a user does: - Find customer - Click on
                Customer's invoices - Then explicitly removes the empty
                search term - Click Find => the user should still see
                only the invoices for this customer. Previously this
                scenario would return all bills, invoices AND vouchers
                in the book. The cause was an attempt to merge two
                queries with AND while one query had no terms. The code
                already partially checked for this, but there was still
                an unhandled case.
              * Return only bills when searching for bills, return only
                invoices when searching for invoices and return only
                vouchers when searching for vouchers
              * Change default report stylesheet from "Default" to
                "Default CSS" 
      * Other code/build changes
              * Fix warning message of for python-binding.
                Patch by Tao Wang
              * Remove AC_PROG_OBJC from
              * printf with %zd is not known in mingw gcc 4.4.0 and
                prevents gnucash from being built with that compiler.
                Since this is only a debug message, I chose to replace
                it with %d which should also do the right thing.
              * Properly check for the unavailability of windows webkit.
                The logic was accidentally inverted when #ifndef got
                replaced with if HAVE(). As a side effect, this fixes a
                mingw gcc-4.4 compiler warning.
              * Fix encoding issues introduced in r19204
              * Fix gnc-module test after patch from bug #618646.
              * Win32 - Fix installation location of some files,
                reported by Tao Wang.
              * Fix 64-bit compiler error introduced in r19206
              * Split "Arial" out from font names to make it easier to
              * Update binreloc to use Cocoa-based GtkOSXApplication
                instead of ige-mac-bundle.
              * Fix gnc_dbd_dir foulup
              * Fix libdbi hardcoded driver directory usage Patch by
                Bill Nottingham, with modifications to only set
                GNC_DBD_DIR if --with-dbi-dbd-path is explicitly set.
              * Win32 use up-to-date configure parameters for aqbanking
              * Svn ignore built files
              * Make the keychain interface in MacOSX compile and work.
              * Fix windows build
              * Add rules to copy the necessary icons during build.
              * Fix windows tag build script, by Geert Janssens
              * Revert r19159, "Fix windows tag build script, by Geert
                Janssens" I thought I would get access to the build
                server immediately to perform the cleanup of the old tag
                file, but apparently the server is unreachable for me
                for now, so I cannot commit this change today. Maybe
              * Fix windows tag build script, by Geert Janssens
              * One more revert of r19148, "Bug #615168: Remove
                instances of (use-modules (ice-9 slib))..." Missed that
                one in r19154.
              * Revert r19147, "Bug #615168: Remove spurious (require
                'hash-table) instances..." Apparently guile-1.6 still
                needs all of those.
              * Partly revert r19148, "Bug #615168: Remove instances of
                (use-modules (ice-9 slib))..." Apparently guile-1.6
                needs this in more places than I thought at r19148.
              * Add support for upcoming libaqbanking-5 version.
              * Follow-up to r19099: Remove qof's backend loading
                because there is no backend anymore. Remove generated
                file qofla-dir.h. This is actually good progress because
                it gets rid of yet another compiled-in path, which are a
                nuisance and need to be replaced by runtime path lookup
                everywhere, if needed.
              * Remove qsf related code from windows installer script.
              * Rewrite assert_one_dir function to not crash on a native
                build machine 
              * Improve the cross-compilation process. - improve
      's integration in and
       - update README file
              * Remove some additional QSF references
              * Improve test_for_mingw - change test so that both tested
                programs must work, not only the exit code of the last
                one - make it cross-compile compatible
              * Improve assert_one_dir It now gives a different error
                message when no directory was found or when multiple
                directories were found
              * Remove QSF
              * Remove forgotten debug statement
              * Add ./ to sourced files, so that they are found when
              * Add (optional) destination file name parameter to
                wget_unpacked and smart_wget functions. This parameter
                can be used to override the filename to be used for the
                downloaded package. If empty, the functions continue to
                work as before. This new option will be used for cross
              * Windows build script improvements - make sure pexports
                is available before guile is built - test for pexports
                availability when compiling libdbi (to fix
              * Fix some typos
              * Add .log extension to qof_log filename while creating
                the temporary file. This will only be visible on
                Windows. On all other platforms the logfile is
                successfully renamed to the requested name.
              * Add missing libmysql.def to tarball
              * Enable environment file on Windows (only direct install,
                not via ISS installer)
              * Write makefile rule to create gnucash-icon.ico. This
                rule isn't called by default though. It uses
                image-magick to add several png images of different size
                and bitdepth together. Current ico has: 16x16,8-bit
                22x22,8-bit 24x24,8-bit 32x32,32-bit 48x48,32-bit
                64x64,32-bit 96x96,32-bit 128x128,32-bit 256x256,32-bit
              * Remove redundant test for ENOSYS The error code was
                checked twice against ENOSYS, once in all situations,
                and once if ENOSYS is defined. This makes no sense.
                Since we never had bug reports for compilation errors on
                ENOSYS undefined, we can assume ENOSYS is always
              * Replace directory mv's with cp -r when the move
                potentially crosses filesystem borders. Apparently,
                Msys' mv command fails to move directories across
                filesystem borders (like from a directory on the c drive
                to a mounted samba share). I hit this issue because my
                tmp dir is on a different filesystem from my base dir.
              * Enable keychain functionality on OS X after fixing
                compiler bugs.
              * * Make sure wget downloads are stored with filenames not
                containing any html garbage (& and = signs as a result
                of http_get parameters). * Have wget_unpacked return the
                actual path where the files were unpacked via the
                _EXTRACT_UDIR env variable. In most cases this is simply
                the path that was requested, but sometimes, a tarball or
                zip file adds its own relative path. The _EXTRACT_UDIR
                variable will take this into account by analysing the
                contents of the tarball/zip file. These changes will be
                used in the revived cross-compile script.
              * Makefile fixes for setup-gnucash-env on OS X
        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
        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
        Getting GnuCash
        Source code for GnuCash 2.3.13 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.13 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