Path to this page:
Subject: CVS commit: pkgsrc/finance/gnucash
From: Thomas Klausner
Date: 2023-03-29 14:03:28
Message id: 20230329120328.DAFA8F9F4@cvs.NetBSD.org
Log Message:
gnucash: update to 5.0.
New Features
A new Stock Transaction Assistant to guide you through entering
most investment transactions for stocks, bonds, and mutual
funds. You can access it from Actions>Stock Assistant when the
focus tab is the Accounts page or a Stock or Fund account
register.
A new Investment Lots report showing a graph of capital gains
and losses in a period by investment lot. Note that if you
don't use the View Lots dialog to manage capital gains and
losses this report won't have anything to show you. Use
Reports>Assets & Liabilities>Investment Lots to see the report.
The Online Quotes facility has been completely rewritten and
the old gnc-fq-check, gnc-fq-dump, and gnc-fq-helper programs
have been replaced with finance-quote-wrapper. The functions
performed by those programs may now be accomplished by passing
commands to gnucash-cli -Q, see gnucash-cli --help for specifics.
The perl module requirements have changed with the rewrite:
The new version doesn't need Date::Manip but needs JSON::Parse
instead. gnc-fq-update has been, er, updated to reflect that.
A new tab on the New/Edit Account dialog called More Properties
includes entries to set a high and low limit on an account.
That's coupled to a new column that's available on the Accounts
Page, Balance Limit. If you set a high or low limit and the
account balance falls above or below the respective limit an
indicator will be shown in the Balance Limit column.
The description field quickfill in the register now displays
a drop-down list of possible completions instead of just one
inline completion.
File import menu items for the MT940, MT942, and DTAUS formats
is replaced with a single Import from AQBanking that supports
importing any file format supported by AQBanking, including
the frequently requested CAMT. (Note that some CAMT profiles
are under the XML format.)
The import matcher now permits editing descriptions, notes,
and memo fields in the matcher window before creating the
transactions. Right-click and select from the context menu.
The report generated by the Print Invoice button on the Edit
Invoice tab can now be configured as a book option at the bottom
of the Business tab; this permits selecting a saved configuration
of one of the standard invoice reports. Another option enables
a delay, during which a dialog box will appear enabling the
user to select a different report. Note: When saving a
configuration make sure that the invoice number is not set or
you'll get that particular invoice instead of the one that you
pressed the button for.
Report and Book Options
This major change will affect everyone who has written custom
reports in Guile Scheme.
The report and book options code has been completely rewritten
in C++ with SWIG providing Guile Scheme access for reports.
The new design requires directly registering options with for
example gnc-optiondb-register-string-option instead of calling
gnc:make-string-option to create an option followed by
gnc:register-option to insert it in the report's options.
Value access is also changed: Instead of retrieving an option
and then querying or setting its value with gnc:option-value
one will query the optiondb with gnc-option-value, the arguments
to which are the optiondb, the section, and the option name.
Supporting the new options backend the options dialog code in
gnc-dialog-options, gnc-business-options, and the new
gnc-option-gtk-ui have also been rewritten in C++.
Online Price Retrieval
As noted under New Features the interface to Finance::Quote
has been completely rewritten in C++ with much of the behavior
previously coded in external perl scripts moved into GnuCash
proper. This permits much better access to Finance::Quotes's
facilities and in particular should provide much richer error
reporting.
Stability Improvements
There are hundreds of small changes to prevent memory leaks,
reduce unnecessary memory allocations, and fix compiler and
static analyzer warnings.
Use of deprecated API in C/C++ is now an error (with 3 exceptions),
including for the minimum required version of GLib and Gtk.
Extensive changes to the CSV importer, resolving most known
bugs.
Remove all unused variables and made an unused variable a
compile error.
Move all extern "C" declarations into the respective header
files and remove extern "C" wrappers around #include statements.
Separate the scheme financial functions into a separate module
so that all other scheme code can be banished from libgnucash
to bindings.
Modernization
The menus and toolbars now use the GAction and GActionGroup
actuation functions, replacing the deprecated GtkAction and
GtkActionGroup APIs.
The experimental Register2 implementation is removed, as is
the never-used Jalali calendar code and partly-written option
code for creating a book currency.
Files: