Congratulations to all of you who have worked so hard on this release. /Don
On Wed, Dec 22, 2010 at 12:05 PM, Phil Longstaff <plongst...@rogers.com>wrote: > Announcement: GnuCash 2.4.0 Release 2010-12-21 > GnuCash 2.4.0 released > The GnuCash development team proudly announces GnuCash 2.4.0, the latest > stable release of the GnuCash Free Accounting Software. With this new > release series, GnuCash can use an SQL database using SQLite3, MySQL or > PostgreSQL. It runs on GNU/Linux, *BSD, Solaris, Microsoft Windows and > Mac OSX. > > WARNING: You should uninstall any earlier GnuCash version from your > system prior to installing 2.4.0. > > Failing to do so may result in startup errors. In particular on Windows > this may cause "Parse error: entry point not found" errors. > > > Major changes in the 2.4.0 release include; > > * In addition to the XML backend, Gnucash can now use a SQLite3, > MySQL or PostgreSQL database to store the data. This is a new > implementation using libdbi. It supports all features including > the business features. In order to build with this, add > --enable-dbi to the configure command. In addition to the > libdbi-dev package for your distribution, you will also need the > appropriate DBD (libdbi driver) package for sqlite3, mysql or > postgresql. > * As a replacement for the current GtkHTML HTML engine used to > display reports and graphs, Gnucash can use WebKit. WebKit is > the engine used by Google Chrome on Windows and Safari on Apple. > In order to build with this, add --with-html-engine=webkit to > the configure command. You will need an appropriate webkit-dev > package. On win32, you will need to download the > webkit-1.1.90-win32.zip file from the source repository and put > it into the downloads directory of your gnucash build area. > * Updated AqBanking on Win32. > Getting GnuCash > Source code for GnuCash 2.4.0 can be downloaded from: > > * Sourceforge: bzip2, gzip, all files. > * You can also checkout the sources directly from the subversion > repository with this command: > > svn co http://svn.gnucash.org/repo/gnucash/tags/2.4.0 gnucash > > To install GnuCash, you will need Gnome 2, guile, slib. In addition you > will need swig if compiling from subversion. > > > Win32 binary > The Gnucash 2.4.0 Win32 setup executable can be downloaded from > Sourceforge as well. > > > Mac OSX binary > The Gnucash 2.4.0 MacOSX package can be downloaded from Sourceforge as > well. > > Changes between 2.3.17 and 2.4.0 include: > > * User-visible changes > * Update copyright notice dates to include 2010 > * Use proper decimal separator for monetary amounts > * If you have a parent account with a subaccount whose > commodity allows more decimal places in the amount field > than the parent account does things don't work right if > you open a register for the parent account and all > subaccounts. This situation can occur if you have a > broker account with subaccounts for the securities held > in that broker account. If you open a register for the > top account and all subaccounts, it is impossible to > enter a transaction to buy or sell a fractional share of > the security where there are more digits after the > decimal point than the parent account allows. This > change fixes this if the subaccount allows no more than > six digits after the decimal point. > * When creating a new style sheet, make sure the name for > it is non-empty. > * Implement (but currently deactivated) auto-completion in > the invoice ledger using all entries from the current > book. Eventually, this will enable drawing the > auto-completion from all entries in the previous > invoices (i.e. book-wide), but in order to give the user > a good enough feedback during typing we additionally > need a quick-fill object over those book-wide entries. > Currently, the user cannot see whether the current > description would result in an auto-completion from > another invoice, and that's not yet enough. > * Implement auto-completion in the invoice/bill entry > ledger. > * Take a first shot at adding auto-completion in the > business ledger, but currently it doesn't do anything > yet. > * Updated translations or translation-related changes > * Updated POTFILES.in > * Mark erroneous translation as fuzzy because it doesn't > have the correct c-format. > * Reverse inadvertent mods to po/POTFILES.in in r19904 > * Updated Greek translation provided by Nikos > Charonitakis. > * Updated Japanese translation, copied from the > Translation Project. > * Add "discount" to all glossary files because some > languages use different translations in billing terms > and invoices. Additional the german translation is added > to glossary/de.po. This change does not break the string > freeze as it is not user visible. > * Update German translation. (This includes the 14 new > strings which are already there but not yet being used.) > * Merge German translation with latest pot template. This > is merged using msgmerge --no-location de.po gnucash.pot > -o de.new.po and we use "--no-location" to make the > updates actually readable. (Unfortunately this doesn't > prevent the strings from changing ordering anyway. Oh > well.) > * Remove superfluous whitespace at end of string. > Incidentally, this way the string already exists and no > broken translation results. > * When extracting the translation strings from the scheme > files, sort the scheme files to obtain a stable ordering > of the output. > * Bugs fixed > * Bug #637346: Adding python-bindings to doxygen > documentation Patch by Christoph Holtermann. > * Bug #637041: Revert r19861 as the patch from bug#635439 > causes a crash. The patch can be re-applied after the > 2.4.0 release is out, but for now I prefer to defer it > until after the release. To be precise, this patch > reverts all parts of bug#635439: r19861, r19860, r19854, > r19853. > * Bug #629446: TRY is now called plain Turkish Lira. > * Bug #454109: Online banking: grey out online actions > when there is no online account Patch by Manfred > Usselmann: Online actions are disabled for accounts > which have no bankcode and account id assigned This fix > does not require initialization of the AB_BANKING > object. > * Bug #635926: Lower-case the name of the lock table to > avoid confusing Postgres. Also abstract it to a static > variable instead of repeating the string everywhere. > * Bug #635967: Slots didn't correctly read the path > semantics stored by 2.3.15 and earlier. Corrected, but > note that 2.3.15 and earlier didn't write lists to the > database, so users should re-save from XML using 2.3.17 > or later. > * Bug #635355: Partly implement the correct "DTAUS import > and send" feature again. Patch by Manfred Usselmann. The > main part of the feature is delayed until the string > freeze is lifted. This part (without adding strings) > implements the infrastructure for sending only the > correctly imported transactions to the bank later. > * Bug #636459: Recursively delete slots contained in slots > of type KVP_TYPE_FRAME or KVP_TYPE_LIST. > * Bug #635859: Strip all trailing '/'es from kvp_slot > paths when loading. This changes round-tripping slightly > (because the resulting slot key won't have the trailing > slash when it's re-saved as xml). It may also change the > behavior of the facility using the slot, because the key > is changed. So far, the only known instances which trip > this bug are import-map-bayes, because descriptions may > have '/'es in them (and why shouldn't they). > Unfortunately, fixing this right (so that key values can > have embedded '/''es and be saved/retrieved from sql > databases will require changing the slot architecture in > ways that impact the engine. Since we don't have > adequate unit tests to be confident of not introducing a > regression, I'm applying this instead. > * Bug #609472: Fix translation of displayed style sheet > names in the style sheet editor. > * Bug #635911 GnuCash crashes out when trying to save-as > MySQL Disclaimer: This fix attempt is purely based on > the information given in the bug report and code > reading. I never could reproduce this bug but the code > suggests an unitialized pointer may be the the cause. > * Bug #635469: Add a (typemap for a) QofQueryParamList > typedef. Patch by Matthijs Kooijman: This is a typedef > for a GSList, that is used to identify the path from an > object to one of its parameters in search queries and > sorting. This typedef replaces GSList everywhere where > it's applicable. This relieves the need to special case > a few functions in the swig bindings and makes the > bindings for a bunch of other functions work as well. > Note this is (still) only an in typemap, since no useful > functions that return a QofQueryParamList are exposed in > the bindings right now anyway. > * Bug #635632: Update existing eguile reports to use new > for syntax. Patch by Matthijs Kooijman > <matth...@stdin.nl>: This makes use of the new for > syntax introduced in the previous commit, making these > reports and templates a bit easier to read and modify. > * Bug #635632: Add custom for loop syntax for eguile > templates Patch by Matthijs Kooijman > <matth...@stdin.nl>: The built-in for-each loop > construct is a bit cumbersome: It always requires an > explicit lambda and the list to loop over is the last > argument. Especially the latter makes it very hard to > read when the lambda is big and multiple for-each'es are > nested. For hashes, this prevents the need of the > cumbersome hash-fold and slightly better hash-for-each > (which still suffers from the same problems as for-each > and is not available in guile 1.6). This new syntax > allows for three distinct syntaxes: * Looping over a > single list: (for a in lst do (display a)) * Looping > over multiple lists: (for (a b) in (lsta lstb) do > (display (+ a b))) * Looping over a hash: (for key => > value in hash do (display (* key value))) > * Bug #635469: Add bindings for running a qofquery on > invoices. This adds a new typedef "GncInvoiceList" with > the corresponding typemap, and adds two new functions > qof_query_create_for_invoices and > qof_query_run_for_invoices, which are trivial wrappers > around qof_query_create_for and qof_query_run > respectively. > * Bug #635355: Add public declaration of gnc_info_dialog. > Patch by Manfred Usselmann. > * Bug #635439: Patch to autoset owner in the payment > dialog Patch by Matthijs Kooijman <matth...@stdin.nl> > * Revert "Bug #635439: Patch to autoset owner in the > payment dialog" This reverts commit > 232ae4064952cb65e9703d61778cb1531d2e4f56. > * Bug #635439: Fix "Pay invoice" while the invoice dialog > is open. Patch by Matthijs Kooijman <matth...@stdin.nl>: > If you use "Pay invoice", normally a new payment dialog > is opened which is completely filled in. However, when > there was already a dialog open, it was reused but only > the owner would be filled in. This patch makes sure that > the invoice and amount are filled in as well. > * Bug #635439: Patch to autoset owner in the payment > dialog Patch by Matthijs Kooijman <matth...@stdin.nl>: > In the payment dialog, set the owner when an invoice is > selected Before, you would always need to select an > owner manually. If you would just select an invoice > (which was possible, since the invoice selection is not > disabled when no owner has been selected yet), pressing > OK would error out because no owner was selected. This > patch makes sure that when an invoice is selected, but > no owner is selected yet, the right owner is filled into > the owner selection box automatically. This also happens > when the wrong owner is selected, which can happen > because the invoice autocompletion is not limited to > invoices from the selected owner, but always completes > all invoices. This could cause weird behaviour: Select > an owner, then use completion to select an invoice by > another owner and press ok. This would cause the amount > for the invoice by the other owner to be charged against > the first owner. This patch prevents that by replacing > the first owner by the other owner in the dialog. This > patch also changes gnc_invoice_set_owner to no longer > reset the invoice selection to NULL. Instead, this is > now handled by > * Other code/build changes > * Update configure.ac to 2.4.0 Update gnucash-bin.c to > indicate stable version is 2.4.0, next stable version > 2.6 Here we go... > * Add gnc-backend-dbi-priv.h to list of header files so > that 'make distcheck' passes > * Fixed date problem in MySql backend > * Removed accidentally created directory. > * Add enumeration of indexes in sql backends. This is a > first step to rewriting databases in a safe way. Indexes > are named entities in sql databases and so need to be > renamed along with the tables before creating and > populating a new set. This change also introduces a unit > test of the new enumeration, and that test has to be > able to see data structures which are private to > gnc-backend-dbi.c, so those data structures are moved to > a new file, gnc-backend-dbi-priv.h, which both > gnc-backend-dbi.c and tests/test-stuff.c can include. > * Add debug helper function qofeventid_to_string. > * Support for GncCommodityNamespace, better support for > GncCommodity, and example enhancements. Patch supplied > my Mark Jenkins. > * Changes to example Script to include added namespace > functionality This patch changes the example script to > reflect the capability of reading all namespaces. Patch > provided by Christoph Holtermann. > * Cutecash: Add generation of dummy gnc-version.h file. > * Add missing newline at end of file > * Replace more obsolete #define'd function names by their > current names. > * Add gitignore for backup files from make check. > * Replace more obsolete #define'd function names by their > current names. > * Make "make check" work when run from "make distcheck". > * Replace obsolete <QueryNew.h> #defines by the current > <qof.h> function names. > * Follow-up to r19928: Include gnc-version.h with > directory path to avoid picking the wrong file. > * Improve the cached quickfill for GncEntry description > lines of r19941. > * Add APIs to get/set a flag signifying that a transaction > is a book-closing txn. This is necessary for Bug #570042 > but doesn't completely solve it until the reports are > updated to use the new API. This is backwards-compatible > with the slot data inserted by the book closing since > 2010-03-02. > * Adds checking of gnc_commodity_namespace in glists In > src/base-typemaps.i check for return type > gnc_commodity_namespace is added so that it is returned > instead of gnc_type_monetary. Thanks to Christoph > Holtermann for the patch. > * Move price_database_example.py to the correct place and > remove incorrect path/file > * Change indent to 4 sp > * Implement prerequisites for full auto-completion in the > entry ledger. Added a cached quickfill for GncEntry > description lines. Extend QuickFillCell interface to be > able to use a common cached quickfill. > * Remove doubled include files. (Also, QuickFill.h doesn't > depend on gdk.h) > * Add messages to backend errors, ensuring that > qof_session_backend_get_message() will actually get a > useful message, or that there will be a descriptive > warning immediately before in the trace file. > * Move gnc-version.h and gnc-svninfo.h from gnome-utils to > core-utils. > * If the build directory is not the source directory and > the source directory is read only, the build fails. Fix > by only making guile-strings.c if building from SVN. > * Get rid of the rest of the gnc-prices man page, r19921 > is incomplete > * Remove variable names that conflict with Python > keywords. Relevent when using SWIG autodoc feature for > python bindings. > * Add %feature("autodoc", "1"); to gnucash_core.i to pass > C documentation through to python interface. > * New example script for prices dababase. Thanks to > Christoph Holtermann for contributing to this. > * Remove obsolete gnc-prices man page > * Add Gnucash svn version to sql versions table. > * Insert missing space > * Re-enable -Werror in Makefile.am and remove % > feature("autodoc", "1"); from gnucash_core.i > * Add commodity price functions to bindings. See Bug > 636457 for more details. > * Add PriceList to typemap for Python bindings > * Patch by Matthijs Kooijman. In r19863, some qofquery > bindings were added. For those to compile, > business-core.i now includes qofquery.h. However, this > causes the bindings for qofquery.h to be generated > twice: Once through engine.i and once through > business-core.i. The latter generated broken versions of > the bindings, breaking (at least) the receivable aging > report. This commit changes the %include to an %import, > so the new bindings still compile but the query bindings > don't get generated twice. > * Re-indentation of source code. This re-indentation was > done using astyle-1.24 using the following options: > astyle --indent=spaces=4 --brackets=break --pad-oper > --pad-header --suffix=none > * Make prototype for gnc_entry_ledger_get_entry public. > Add documentation. > * Fix GtkSpinButton with page-size deprecated warning in > gnucash.trace > How can you help? > Translating: The new release comes with some new translation strings. If > you consider contributing a translation, we invite you to test this > release already. > > About the Program > GnuCash is a free, open source accounting program released under the GNU > General Public License (GPL) and available for GNU/Linux, *BSD, Solaris, > Mac OSX and Microsoft Windows. Programming on GnuCash began in 1997, and > its first stable release was in 1998. > > > _______________________________________________ > gnucash-devel mailing list > gnucash-devel@gnucash.org > https://lists.gnucash.org/mailman/listinfo/gnucash-devel > _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel