Gnucash 2.4.2 released
plongstaff at rogers.com
Mon Feb 7 21:37:00 EST 2011
Announcement: GnuCash 2.4.2 Release 2011-02-07
GnuCash 2.4.2 released
The GnuCash development team proudly announces GnuCash 2.4.2, the second
bug fix release in a series of stable 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.
Note: 2.4.1 was partially released but was pulled at the last minute
when critical problems were found. 2.4.1 should NOT be used.
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
* 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 for Windows (Win32 binary)
The Gnucash 2.4.2 Win32 setup executable can be downloaded from
Sourceforge. It will install everything needed to run GnuCash.
Mac OSX binary
The Gnucash 2.4.2 MacOSX package can be downloaded from Sourceforge as
Getting GnuCash as source code
If you want to compile GnuCash 2.4.2 for yourself, the source code 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.2 gnucash
To compile GnuCash from the source code by yourself, you will need Gnome
2, guile, slib. In addition you will need swig if compiling from
Changes between 2.4.0 and 2.4.2 include:
* User-visible changes
* Partly revert r20207, "Modify Tax Info on Account
Page..." The changes in the tree-model-account caused
CRITICAL gtk warnings, so we revert that part for now.
The changes in gnc-ui-utils.[hc] have been kept.
* Do not modify the entry's DateEntered when duplicating
invoice to keep the entry ordering. Follow-up to r20115.
* Modify Tax Info on Account Page to display or not
display sub-account info based on whether row is
expanded. Revert changes made in gnc-ui-util.c in rev
20039 and instead put those changes in new function:
gnc_ui_account_get_tax_info_sub_acct_string. Define a
gnc-tree-model-account.c filled with
gnc-tree-view-account.c to define a tax_info_data_func
that displays only the the data in the
GNC_TREE_MODEL_ACCOUNT_COL_TAX_INFO model column if the
row is expanded; otherwise it combines it with the data
in the GNC_TREE_MODEL_ACCOUNT_COL_TAX_INFO_SUB_ACCT
model column. Modily the view creation function to use
the new tax_info_data_func.
* Open the newly created invoices for editing after
* Make the splash screen stack as a regular window instead
of stacking in front of everything else.
* SQL Backend Version Control: The final part. New error
dialog boxes for ERR_SQL_DB_TOO_OLD and
ERR_SQL_DB_TOO_NEW Marks the book read-only if the user
doesn't upgrade a too-old db and when the user tries to
load a too-new db.
* Provide more detail in commit error when it's caused by
a read-only book. Mark error message for translation.
* Throw an error and return if if the book is marked
* Add icons for Duplicate Invoice functionality
* This patch adds a new option under Edit -> Preferences
-> Date/Time that looks like this: Date Completion When
a date is entered without year, it should be taken: (*)
In the current calendar year ( ) In a sliding 12-month
window starting this many months before the current
month: [ 6 ] Patch by Peter Selinger with minor
* Fix a bug introduced in 20042 which caused lists of
Scheme strings passed to C code to be garbage. This
caused online price quotes to fail for anything other
than a currency.
* Make it possible to include trading accounts in the
Income Statement and Profit and Loss reports.
* Additionally, make the "Duplicate Invoice" feature
available as menu item and toolbar button when viewing
* Implement "Duplicate Invoice" feature, where a new
invoice is created as a copy of an old one with new date
and new ID. This patch makes this feature available as
button "Duplicate" in the search window.
* Make reconcile+update import action of r20021 bug#373415
enabled by default because it's so useful.
* Fix version number in welcome report.
* Set sort order for GncEntry quickfill to LIFO by-date.
Previously, the insertion order was random instead of
* Activate balance averaging in account piechart report,
introduced in r19253.
* Add budget name to budget tab
* Add info about sub-accounts to Tax Info column on
* A plugin to import CSV data as a new invoice or bill.
Based on code written by Sebastian Held. Also includes a
python script to massage a downloaded order form into
the correct format for import. See
contrib/rapid2gnucash.py This works with Rapid
Electronics (UK) and can be used as a basis for other
vendors. Users need to add a line in their
~/.gnucash/config.user for the module to be loaded:
(gnc:module-load "gnucash/plugins/bi_import" 0) See bug
#624911 for more details.
* Add "copy budget" command to menu. Works like "open
budget" except that a copy of the budget is made with
the name "Copy of "+name of old budget. This command
will allow you to easily create a copy of your 2010
budget and change its name to "2011". I also plan to add
UI capabilities to more easily manipulate budget
* Fully implement auto-completion in the invoice entries
on the description field, separately for bills or
invoices. The quickfill is obtained from the global
cache of the GncEntry's descriptions, one for invoices,
one for the rest. The auto-completion is a simple query
to get the newest entry with the same description, but
limited to invoices or bills, respectively.
* Add a new report: Customer Summary. This report shows a
table of all customers and the sales, profit, and markup
in that table.
* Add a new report: Future Scheduled Transaction Summary.
* Improve GncEntry quickfill to create separate quickfills
for invoices and bills
* Updated translations or translation-related changes
* Updated German translation, now 100% completed.
* I18n improvements: Fix weird strings.
* Update POTFILES.in
* Updated Dutch translation, copied from the translation
* I18n: Fix misleading composed strings by defining two
separate full sentences.
* i18n: Add more terms to the glossary
* i18n: Fix missing space in message
* Updated Ukrainian translation, copied from the
* Better OSX language handling: Add a "C" locale to the
language-list after any english locale so that if that
english locale isn't present, gettext will fall through
to "C", which makes unnecessary the "en.po" file. Also
removed the special casing and locale truncation;
gettext is quite capable of doing that itself.
* I18n improvements: Fix typos, fix unnecessary
near-duplicates, remove unneeded strings.
* Updated Italian translation.
* Rejigger the set_macos_locale function to better handle
qualified languages (e.g., Portugues (Portugal). Add
po/en.po so that english doesn't have to be
special-cased to the C locale.
* Improve the for translators problematic format string
from gnc_entry_ledger_verify_acc_cell_ok This version
uses 2 separate sentences, mentions currencies and gives
a clue for the account type. Add enable basic doxygen
* Bugs fixed
* Bug #639172: Remove "Warning!! This is a DEVELOPMENT
version .." tip of the day Also, to my knowledge the
docs don't contain a "what's new in 2.4" section, so I
removed that tip as well.
* Bug #638621: Update README file.
* Bug #502066: The aging in business reports should use
the due date instead of the post date Patch by Bert
Claesen (but I changed the option name): Patch to
aging.scm to include due date and "current" bucket Patch
file for aging.scm to include: * Option to select due
date or date posted * Added column of "Current" for
invoices not yet due
* Bug #603334: Updates to RPM spec file to allow 2.3.7 to
build on Fedora Core 12
* Bug #638225: Sort when saving as XML Patch by Jim
Radford (with code beautified and re-indented by
myself): The attached patches sort the slots, lots, book
accounts, bill terms, customers, employees, entries,
invoices, jobs, orders, tax tables and vendors before
saving them to the GnuCash XML file. This is an attempt
to make saves more idempotent thereby facilitating the
use of a revision control system on the GnuCash XML
files. With these patches most of the needless and
seemingly random churn is gone and I can add or remove a
transaction and expect there to be no unrelated changes
to the GnuCash file. I've been using and refining this
patches for the last few years, so it has received quite
a bit of testing. David Fraser adds: Without specific
testing, I'm using this on an average-sized gnucash file
(5.7MB) without noticing any particular slowdown in
saving, but a wonderful reduction in diffs when
* Bug #638962: Update Brazil Portugese translation by
* Bug #638615: Fix schema install with DESTDIR Patch by
Jim Radford: When doing make install
DESTDIR=/tmp/gnucash the install fails because
GCONF_SCHEMA_CONFIG_SOURCE doesn't end up using DESTDIR
(and it's non-trivial because of the xml:: prefix). The
attached patch fixes it for me but is non-ideal because
it hard codes the value of GCONF_SCHEMA_CONFIG_SOURCE
* Bug #638543: Add a GUI for the counter format and
current value. Patch by Matthijs Kooijman: This allows
the user to change the format used for the various
counters, as well as see and change the current value of
the counter. This is a bit of hack right now, since the
format and current counter values are stored in the
counter_formats and counters kvp slots respectively,
instead of options/<section> like the other options in
the File->properties window. This is implemented by
adding the make-counter-option and
make-counter-format-option, which both replace the
scm->kvp and kvp->scm functions defined by
make-number-range-option and make-string-option
respectively. The replaced function simply ignores the
"path" parameter and instead saves to the "counter" or
"counter_formats" slot hardcoded.
* Bug #638543: Validate counter format strings before
using them. Patch by Matthijs Kooijman: The validation
function is a very simple "parser" that simply checks
for a single gint64 conversion specification, allowing
all modifiers and flags that printf(3) specifies (except
for the * width and precision, which need an extra
argument). The validation function returns an error
message that is used to log a warning and can be used by
the GUI later on.
* Bug #638543: Make the various counter formats
configurable. Patch by Matthijs Kooijman: This retrieves
the counter formats from the kvp slots in the book. The
defaults are unchanged, so this should not affect
existing books at all.
* Bug #638543: Centralize the counter formatting in
qofbook. Patch by Matthijs Kooijman: Instead of querying
qofbook for the next counter number and then doing the
formatting in all the different business modules (all
using the same format string), the formatting is now
moved inside qof_book_increment_and_get_counter (which
is renamed to qof_book_increment_and_format_counter).
This changes the return value of a bunch of helper
functions from gint64 (the counter value) to gchar* (the
formatted counter value), but does not have any
* Bug #638543: Split the qof_book_get_counter function.
Patch by Matthijs Kooijman: The qof_book_get_counter
function now only gets the current counter value. The
new qof_book_get_and_increment_counter function now does
* Bug #638543: Remove the counter() method from the
backends. Patch by Matthijs Kooijman: This method is not
implemented by either of the backends and removing it
makes the subsequent commits possible.
* Bug #636402: Add test case for DBI error: 1: table
sqlite_sequence may not be dropped Patch by Mark
Jenkins: The attached patch adds a test program
demonstrating the problem in C, built in
src/optional/python-bindings It pretty much shows the
same calls that are being made to the C by the python
bindings (including initialization) and the example
sqlite3 python script. Running this small C program
produces the same result. (The program is built in
check_PROGRAMS, not bin_PROGRAMS, to avoid having it
* Bug #454109: Online banking: grey out online action menu
items when there is no online account Patch by Manfred
Usselmann: Show error message, if assigned online
account is not valid or cannot be found or if the
selected online action is not valid for this account.
Improved checking if online job has been successfully
* Bug #373415: Replace existing transaction fields by
imported transaction marked as reconcile Patch by
Manfred Usselmann: This patch adds an additional update
action to the import matcher as described above. It can
be activated with the online banking preferences dialog.
(Patch changed because of one function name adaption
* Bug #635355: Implement the correct "DTAUS import and
send" feature again. Patch by Manfred Usselmann:
Improved version: Only transactions which have been
successfully imported into GC are transmitted to the
* Bug #95635: QIF import: Mark matched transactions as
cleared Patch by Tristan Faujour: Please describe the
problem: My bank allows me to download bank statement
files in the QIF format. They contain paid transactions,
but there is no status ("C") line, so all transactions
are left in the "not cleared" status. I wish it would be
possible to define the default status in user
preferences. Steps to reproduce: - Import a QIF file
with no "C" line. Actual results: - Transactions are not
cleared. Expected results: - The "near split" of the
imported transactions should be set to a default status
'defined in user preferences). Does this happen every
time? - Yes Other information: - I developed a patch.
See attachment. It allows defining another status that
will be applied to the transactions that are imported as
"not cleared". - It is my first contribution, it should
be taken with all due prudence.
* Bug #637346: A second step towards doxygen
python-bindings docs; add file missing in r19981
* Bug #637346: A second step towards doxygen
python-bindings docs Patch by Christoph Holtermann
* Bug #636988: Tip about "New default date" by Tarlika
Elisabeth Schmitz and Derek Atkins Contributed at
gnucash-user at gnucash.org 2010-09-16
* Bug #628444: String improvements after string freeze is
* Bug #565348: Patch to include subaccounts in the all
columns in the account page Patch by James Duerr: Patch
to include subaccounts in all columns, not just present
column, and also to sort including sub-account totals,
rather than without.
* Bug #639365: Revert r18546 so that the bills-due dialog
displays only bills but not invoices. The INVOICE_TYPE
string unfortunately is stored in translated form due to
the usage of gncInvoiceGetType() for user-visible
strings as well. Hence, as an exception we must also
search for the translated here even though it's an
* Bug 638842 - Estonia adopted the Euro on 01.01.2011
Thanks to Toomas Tamm
* Bug #636907: Improve "Close when finished" handling in
"Online Banking Connection Window" Patch by Manfred
Usselmann: This patch adds a toggle action to the online
banking menu, which allows to open and close the online
banking log window. In addition it adds an option to the
online banking preferences to keep the log window open
after the transfer has finished.
* Bug #639259: Add averages in barchart reports. Patch by
Herbert Thoma: Matthias Gruhn suggested on the German
GnuCash list: Add averages to the income and expense bar
chart reports just like it was introduced for the income
and expense pie chart reports in r19253
* Bug #638225: Author Jim Radford. KVP lists are ordered
so should not be sorted
* Bug #639498: Fix aqbanking-4.2.4 issue with "execute
online transfer" on WinXP.
* Bug #638689: Require libaqbanking >= 4.0.0 because
earlier versions are not supported correctly by our code
* Bug 639322 part 3: provide users with a sensible first
time "Save As..." path on Windows While $HOME is fine on
linux, on Windows the most sensible location is "My
Documents" (or its translated equivalent).
* Bug 639322 part 2b: display an error message if a user
attempts to export to somewhere in gnc_dotgnucash_dir
and add a hint for translators to the error message
* Bug 639322 part 2: display an error message if a user
attempts to save beneath gnc_dotgnucash_dir
* Bug 639322 part 1: add extension .gcm to future state
files Old state files are still read (if no new
equivalent exists yet) but will never be written to
* Bug #641628: I18n: Fix untranslated string in
fancy-invoice.scm and invoice.scm
* Bug #641646: Fix incorrect tip on switching between
* Bug #641557: I18n slightly improved in fancy-invoice
* Bug #640061 - Invoice items are not saved, patch by
* Bug #631789 - "Assets" in summary bar does not match
assets displayed As proposed in the bug, I have changed
it to "Net Assets"
* Bug #637770: Fix progress bar on load and full save in
* Bug #611936: Test DBI backends for a dbi bug which
causes 64-bit numbers to not be stored on 32-bit
systems, and prevent saving or loading with an
informative error dialog box.
* Bug #639906: Improve text output methods of python
bindings Patch by Christoph Holtermann: For the more
complex financial objects i chose a different approach.
The printing functions are located in one module.
Importing this module adds these functions as methods to
the classes defined in gnucash_core.py.
* Bug #640233: Don't add "Account unknown Bank Unknown"
memo when account and/or bank does not exist Patch by
Jeff Kletsky: At least for the online OFX sources I use
in the US, downloaded transactions are populated with
memos of "Account unknown Bank unknown" Past being
annoying, this can cause improper "matches" when
comparing transactions. The root cause is found in
src/import-export/aqbanking/gnc-ab-utils.c in the
function gnc_ab_memo_to_gnc where the code seems to
check for the existence of a remote account number from
the aqbanking transaction if (ab_other_accountid &&
*ab_other_accountid) and appears to intend to return the
empty string if one is not present. However, an earlier
line in the code sets ab_other_accountid to "unknown" so
that the test always returns true. This patch should
return: * "Account <account number> Bank <bank number>"
if both are present * "Account <account number>" if only
the account is present * "Bank <bank number>" if only
the bank is present * "" if neither is present
Additionally, ordering of trimming was changed to handle
the possibility that the leading and/or trailing
character(s) were stripped as invalid UTF-8, resulting
in an untrimmed string.
* Bug #638762 - Windows 7 64-bit: GnuCash will not start
due to existing SCHEME_LIBRARY_PATH env variable
* Bug #629501 Nonexistent field in error message
* Bug #467311 Print invoice button should be restored to
* Bug #352057 button to create a new invoice when viewing
an old one.
* Bug #535774: Fix label for employee option on "Employee
Report" Patch by Bert Claesen: The attached patch
(against r20122) tries to solve bug #535774 and:
*Introduces Option naming consistent with report title
(e.g. Customer Report shows Customer in the Option
screen) *Removes the printf() default string in case no
arguments where given *Moves the docname up to a higher
level for easy of overview Cases default to a
GNC-OWNER-VENDOR. Note on the patch: *As indicated in
the comments, two functions are nearly identical, where
in the Vendor report the use of Vendor/Company is mixed.
This can easily be moved into one function as the
footprint is the same. cstim: I've clarified which ones
of the functions returns translated vs. untranslated
* 639980: Add EntryList and _gncEntry objects to list
typemap. Patch by bstpierre.org Fix python failing
getting invoice entry data.
* Bug #639906: Adding __str__ and __unicode__ methods to
GncNumeric Patch by Christoph Holtermann: 1) I decided
to let the methods return "Division by Zero" for
denom()==0. 2) As proposed in
http://stackoverflow.com/questions/1307014/python-str-versus-unicode i created both __str__ and __unicode__. 3) I use format to fix the decimal places to 2. It would be nice if the number would be configurable.
* Bug 637346: A small python doc enhancement, basically
mentioning the wiki-page Patch by Christoph Holtermann.
* Adds percentages to piecharts. See bug #343449 for
details. Patch is derived from a patch submitted by
* Other code/build changes
* Tag 2.4.2
* Update revision to 2.4.2
* Remove references to Neil William's website because it
is vastly outdated.
* Update revision to 2.4.1
* DBI Backend: Cleanup after testing version control so
that repeating the tests doesn't fail.
* Check whether session has been created before trying to
* Fix compiler warning in gnc-backend-dbi.c.
* Fix cmake build after latest configure changes.
* Change GNC_RESAVE_VERSION to GNUCASH_RESAVE_VERSION so
that it's similar to the other version macros; define it
at the top of configure.ac so that it's obvious to
everybody; and store the current Gnucash version only
when doing a full save so that retrospective changes to
GNUCASH_RESAVE_VERSION won't skip a resave because the
database has been touchedby a newer version.
* Win32: Add missing include for windows build
* Set line ending property svn:eol-style to LF for newly
* The new files for gnc_locale functions, ommitted from
* Adjustments to test Makefiles required by r20176 (move
quickfill functions from gnome-utils to app-utils
* More adjustments for moving gnc_locale functions from
app-utils to core-utils
* Move gnc_locale functions from src/app-utils/gnc-ui-util
to src/core-utils/gnc-locale-utils (new files) and
* Adjust location and add gnc_(push|pop)_locale wrapper
around dbi_conn_query() calls which retrieve data. Patch
by Christoph Holtermann
* Update newly introduced NANO version number in cmake
build script as well.
* Get rid of gtk dependency in <app-util/option-util.h>
header by storing only a gpointer for the widget. This
means the very last part of a gtk-dependency in app-util
is in option-util.c in one error message. My goal is to
remove gtk completely from app-util so that all code in
our dependency chain up to app-util can be packaged into
a GUI-independent library, which can then be used by the
python wrappers and other GUI frontends alike.
* Add gnc_get_long_version, a guint concocted by adding
the version values together allowing two digits for
each. Add a new version value, GNUNCASH_NANO_VERSION, to
be incremented when there's any change to data
serialization. Use the new gnc_get_long_version to tag
the Gnucash version in the versions table in the dbi
* Add libgncmod-app-utils.la to src/backend/dbi/tests
LDADD so that gnc_push_locale and gnc_pop_locale can be
found for testing.
* 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
* Fix missing include in cmake build file.
* Move gnc-ui.h file from top-level to gnome-utils. It is
gtk-dependent anyway, so it is moved to where it belongs
* Remove unneeded usage of a generic <gnc-ui.h> include in
* Remove pointless header RecnWindow.h - nothing
gtk-independent here anyway.
* Fix cmake build file after file removal.
* Drop the obsolete gncUIWidget typedef because all of our
GUI-code is inherently gtk-dependent (with the exception
of option-util.h). If there were any re-write of gnucash
with a different GUI toolkit, it will define all
GUI-related functions in its own way, so there's no
point in pretending those very gtk'ish functions were
usable in a different toolkit as well.
* Delete the unused and slightly pointless
* Adjust gnc_push_locale and gnc_pop_locale to take a
locale category and to handle MSWin32 (following
gnome/druid-hierarchy.c) correctly. Use them in
gnc-backend-dbi.c instead of the incorrect code from
r20189 (Thanks, Christian).
* Add locale.h; some systems seem not to pull it in via
* Left out of r20188: Actually wrap the important code...
* Handle localization-ignorance bug in libdbi by setting
LC_NUMERIC locale to "C" before calling
dbi_result_get_double() and back afterwards. This is not
thread-safe, but we're not multithreaded yet.
* Change serialization of doubles in the dbi backend to
use g_ascii_dtostr() instead of sprintf. The problem is
that sprintf is subject to localization and will output
e.g. 1,25 for one-and-a-quarter in European locales. SQL
doesn't support localization, so will interpret 1,25 as
two fields, 1 and 25. Note also that
GUID_ENCODING_LENGTH isn't big enough for a double, so
that's changed to G_ASCII_DTOSTR_BUF_SIZE.
* Move quickfill and gnc-entry-quickfill files from
gnome-utils to app-utils because they don't require
gtk/gnome. (account-quickfill can't be moved because it
also works with a GtkListStore.)
* Add #include gnc-main.h for declaration of
gnc_get_svn_version() for test_dbi_version_control().
* Fix core swig files to have appropriate ifdefs for guile
only portions Patch by Andy Clayton <q3aiml at gmail.com>
* Fix r20169 for out-of-tree build. Clean up included .c
* Add declaration for test_dbi_version_control; doxygen
comments for test_dbi_safe_save and
test_dbi_version_control; and rearrange order of
declarations to keep the test functions together.
* Spelling fixes in code comments.
* Clarify the use of pathnames in the python bindings
* Allow all book types instead of only sqlite3 for
* Fix lots of memory leaks
* When closing a book (e.g. when opening a new file),
release memory of the objects in the book
* Remove qof_instance_begin_edit test from
test_book_readonly; qof_instance_begin_edit doesn't
check qof_book_is_readonly anymore.
* Update svn:ignore for bi_import plugin
* Set line ending property svn:eol-style to LF for newly
* 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
* Add missing svn:executable property
* Fix printf conversion specifier of 64 bit integers in
message. (Also, fix compiler warning about && and ||).
* Improve wording of libdbi error message even more.
* Remove old obsolete unused file from python wrappers.
Apparently this is unused since r17284.
* Make sure ENTER is balanced by LEAVE in
* Win32 build: Aqbanking has a patch now, but doesn't need
* Remove *.i files from doxygen input again because at
least my doxygen-1.6.3 hangs on gnucash_core.i. This is
a follow-up to r19956, bug #637346.
* Remove book_is_readonly check from
qof_instance_begin_edit; it crashes if it's actually
* Prevent a crash if gnc_sx_sxes_reverencing_account
called when book has no sxes.
* Win32: Add missing link libraries to bi_import plugin.
Necessary for win32 linking.
* Fix qof/test compilation errors, provide guard for
* Remove the old "import-export/hbci" module because it is
no longer supported. The newer "import-export/aqbanking"
has been in use since aqbanking-3.0.0. As it turned out,
we require aqbanking-4.0.0 now anyway, which was release
2009-05-30. Consequently, the old module isn't being
maintained by us and so needs to be removed.
* Disable usage of qof/test for now because is does not
* Add a read-only attribute to QofBook and check of same
to qof_instance_begin_edit. Add qof_session_safe_save.
Add unit tests for these changes. QofBook read-only
attribute is to prevent starting an edit when the
version of Gnucash which created a dataset is newer than
the one currently running. This is to prevent writing
records of an old format into an existing data set. The
user can use File>Save As to create a new QofSession
which will write a completely new dataset in the current
format. This is an important safety feature for future
versions of Gnucash which will not bring all of a
dataset into memory, instead loading only what is
immediately needed. Safe-save is the Qof access to allow
writing out a dataset to an existing server database
(i.e., postgresql or mysql) while maintaining the
ability to both transaction-protect saving individual
records while maintaining the ability to rollback the
entire save if something goes wrong. The unit test
framework is added to enable testing these components.
More tests will be added in a later commit.
* Provide glib unit testing template files to make it
easier to add unit testing to modules
* Remove unused variable.
* Remove obsolete compatibility code in the state file
processing. No version GnuCash 2.2.x version will
produce state files with spaces in their key names, and
we don't need to worry about older compatibility
(migrating from 2.0.x should always happen via 2.2.x).
* Fix some spelling errors in doxigen documentation
* Provide for safely overwriting a sql database by moving
the existing tables out of the way, writing new tables,
and then dropping the old tables once everything has
* Add python in section optional of README.dependencies
Additional: explain alternatives and optional parts
* Revert r20082 (re-enable plugins) Get the bi_import
plugin building on Windows by including missing libc
* Disable building the plugins directory until windows
build issues can be fixed
* Add function for creating a new copy of an existing
* Remove obsolete unused autoconf macro
* Add gnc_budget_clone() and make some functions arguments
Please enter the commit message for your changes. Lines
* Follow-up to r19999: Refactor guile version-safe
scm_to_locale_string into gnc function. (Yay, I made
* Fix r19985, r19986 for guile-1.6.8. The return value of
guile-1.6's SCM_STRING_CHARS must not be freed, as
opposed to the return value of guile-1.8's
scm_to_locale_string. So we must wrap the free() into a
macro that is defined appropriately (or maybe we should
refactor this into a function returning a g_malloc'd
* Add facility to force BUILDING_FROM_SVN=no from outside
the Gnucash build system Needed by packagers that
maintain the packaging code in svn, svk or git too
* Change dependency in src/backend/dbi/Makefile.am from
app-utils to core-utils
* Add en to the ALL_LINGUAS list in configure.ac; should
have been in r20142
* Enhanced database version handling. * Add a macro
GNC_RESAVE_VERSION which holds an svn revision number. *
When fully saving a database put this number in versions
with table_name Gnucash-Resave. * On database load,
compare the current GNC_RESAVE_VERSION with the Gnucash
revision and Gnucash-Resave revision saved when the
database was created. * If the current
GNC_RESAVE_VERSION > the saved Gnucash version, then
emit ERR_SQL_DB_TOO_OLD. * If GNC_RESAVE_VERSION < the
saved Gnucash-Resave, emit ERR_SQL_DB_TOO_NEW.
* Minor fixes to g_test: Adjust MODULEPATH so that the
boundary path delimiters go at invocation; add
DEFAULT_INCLUDES to the test_foo_CFLAGS; include the
required NULL third arg to g_test_init()
* Use last changed revision number instead of
last-commited-somewhere-in-repo svnversion without
options returns the most recent revision in the repo at
the time of the last svn update/checkout even if that
revision didn't hold any changes in the current path.
Not very useful as a reference. Better is to ask for the
last changed revision with -c. BUT: -c option for some
reason always considers svn working copy as having mixed
sources. We're only interested in the last part so we
strip the beginning revision if it's there. As a result
if your WC really has mixed sources, that will not be
visible in the version number...
* Remove the word "days" because it is also located after
the near field.
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
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-devel