ANNOUNCE: Gnucash 2.3.15 released
Phil Longstaff
plongstaff at rogers.com
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
releases.
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
postgresql.
* As a replacement for the current GtkHTML HTML engine used to
display reports and graphs, Gnucash can use WebKit. WebKit is
the engine used by Google Chrome on Windows and Safari on Apple.
In order to build with this, add --enable-webkit to the
configure command. You will need an appropriate webkit-dev
package. On win32, you will need to download the
webkit-1.1.5-win32.zip 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/simple_invoice_insert.py 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
Jenkins
* 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 account.glade
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
gtkhtml
* Bug #556713 - inconsistency in report options Use "Reset
defaults" instead of "Use defaults, as suggested by
Derek.
* 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
Alexander.
* 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
patch.
* Bug #620763: Fix permuted "Retained Earnings/Losses" in
balsheet-eg.eguile.scm
* Bug #620763: remove trailing whitespace from
balsheet-eg*
* 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
wrong.
* Bug #556713 - inconsistency in report options, partial
fix This commit aligns all occurences of
"Current/Previous Year Start/End" to "Start/End of this
year"
* 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
misbehaving
* 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.
Ellenberger
* 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
Wang
* 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
well.
* Updated translations or translation-related changes
* Update po files with up-to-date pot template.
* Remove unused file from both SVN and POTFILES.in.
* 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 odo.lv>
* 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
dialog.
* Updated Dutch translation, copied from the Translation
Project
* Update of Italian translation by Cristian Marchi
* Merge most recent pot template into all language po
files.
* Update German translation.
* Merge most recent translation template into de.po.
* Update POTFILES.in 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
Haanen.
* Move language dependent files lv_LV to lv
* Move language dependent files lv_LV to lv, one more
change
* 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
http://lists.gnucash.org/pipermail/gnucash-devel/2010-August/029188.html and http://lists.gnucash.org/pipermail/gnucash-devel/2010-August/029189.html
* 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
parameter.
* 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
gtk+2.16.
* 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 OpenOffice.org 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
Varrazzo.
* Remove now empty business directories
* Fix r19364: Remove last reference to removed
business-backend-sql.
* 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
<engine/cashobjects.h>.
* Convert glade files to Gtk+2.10: remaining business
dialogs
* Convert glade files to Gtk+2.10: business dialogs except
customer/vendor/invoice
* 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
trouble.
* 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,
r19252.
* 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
system
* 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
installation.
* Undo debug modification introduced in r19100. It
bypassed the Abort and was never intended to be
committed.
* 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 commodity.glade which broke creating new
commodities
* 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 http://wiki.gnucash.org/wiki/Development
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
http://wiki.gnucash.org/wiki/Translation_Status 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
locations:
* The GnuCash website
* 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/trunk 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