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:
RevisionActionfile
1.333modifypkgsrc/finance/gnucash/Makefile
1.88modifypkgsrc/finance/gnucash/PLIST
1.3modifypkgsrc/finance/gnucash/PLIST.ofx
1.5modifypkgsrc/finance/gnucash/PLIST.python
1.117modifypkgsrc/finance/gnucash/distinfo