gnucash maint: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sat Dec 28 17:34:53 EST 2019


Updated	 via  https://github.com/Gnucash/gnucash/commit/211c1119 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d51b4d7f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3bab9236 (commit)
	from  https://github.com/Gnucash/gnucash/commit/85058f82 (commit)



commit 211c1119f367d273d2d0f8ecc2d71568756ec457
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Dec 28 13:38:13 2019 -0800

    Release GnuCash 3.8.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d1c327b1..bdd0b77d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,13 +8,13 @@ enable_testing()
 
 # Version number of gnucash
 set (GNUCASH_MAJOR_VERSION 3)
-set (GNUCASH_MINOR_VERSION 7)
+set (GNUCASH_MINOR_VERSION 8)
 set (VERSION "${GNUCASH_MAJOR_VERSION}.${GNUCASH_MINOR_VERSION}")
 set (GNUCASH_LATEST_STABLE_SERIES 3.x)
 
 set (PACKAGE gnucash)
 set (PACKAGE_NAME GnuCash)
-set (PACKAGE_VERSION 3.7)
+set (PACKAGE_VERSION 3.8)
 set (PACKAGE_BUGREPORT "https://bugs.gnucash.org")
 set (PACKAGE_TARNAME ${PACKAGE})
 set (PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
diff --git a/NEWS b/NEWS
index 143c00800..9262bbb57 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,169 @@
 Version history:
 ------- -------
+3.8 - 29 December 2019
+The ninth release of the 3.x stable series.
+
+Note for German FinTS users: This release includes the latest fixes
+in support of the PSD2 changes. The Mac and Windows bundles include
+the current beta releases of AQBanking and its support library needed
+to work with most German banks' implementations of FinTS.
+
+Translators, Note Well: The obsolete "disambiguation prefix" translator
+comments are removed in favor of three-parameter gettext(). See
+https://lists.gnucash.org/pipermail/gnucash-devel/2019-September/044199.html
+
+The following bugs have been fixed:
+    Bug 412151 - Not handling exception when guile is compiled w/o regexp
+		 support
+		 Disable qif-import and make-regexp if guile is compiled
+		 without regex.
+    Bug 724219 - Customer Summary includes Closing Entries when reporting
+		 across the end of year
+    Bug 743943 - "Edit->Post Invoice" is ambiguous.
+    Bug 759005 - Print negatives in red.
+    Bug 787295 - Allow UI jump from Business accounts to their relevant
+		 invoice/bill/voucher
+    Bug 796530 - [txn csv importer] usability suggestions
+    Bug 796736 - Register cell pop up columns width to narrow
+    Bug 796945 - Find Transaction Split Search Search Criteria window does
+                 not scroll when added criteria exceed a certain amount
+    Bug 797078 - "Automatic decimal point" Should Not Cause 2 Different
+		 Behaviors
+    Bug 797086 - Import customer dialog – headers not translated
+    Bug 797279 - Reports RTL do not support RTL
+    Bug 797326 - Enhancement: budget's Estimate tool should ignore Closing
+		 Entries
+    Bug 797356 - ninja check fails with GCC-9
+    Bug 797390 - xaccAccountRecomputeBalance also tallies no-closing
+		 balances
+    Bug 797397 - Import Map Editor - Deletion not limited by current filter.
+    Bug 797401 - Invoice Reports need an overall page width set
+    Bug 797405 - HBCI Import PIN entry window is hidden behind log window,
+                 program stuck
+    Bug 797408 - Find Transaction Window -> Search Criteria Section -> Add
+		 Search Criteria -> Section does not expand to new size to
+		 include a newly added Search Criteria
+    Bug 797416 - Enter key does not move to blank tx or next line
+    Bug 797418 - In budget report, column with Actual Totals for
+		 Liabilities and Income are reversed
+    Bug 797430 - SEPA transfers are not executed
+                 Avoid double init of gui Patch by Mike Pieper. Thanks!
+    Bug 797453 - Chart of Accounts is slow to update / redraw
+    Bug 797459 - Installation (for 3.7) Readme Version number shows 2.2.x
+    Bug 797462 - gnc:strify reports the amount and value incorrectly
+    Bug 797473 - UTF8 characters not processed correctly with aqbanking6
+    Bug 797481 - crash on close of unsaved tabs by pressing [X]
+    Bug 797482 - Can't edit date when using Edit Payment function
+    Bug 797492 - Lock up on 'Find Account'
+    Bug 797500 - valgrind errors - new/delete vs malloc/free
+    Bug 797506 - New Aging errors out with guile backtrace in case of a few
+		 uncommon transactions
+    Bug 797519 - Budget Viewer Totals do not redraw upon to Sign-Reversal
+		 changes
+    Bug 797520 - Balance Sheet (Multicolumn) the retained earnings amount
+		 in the equity section has its sign reversed
+    Bug 797521 - Receivable Aging (beta): include earliest split
+    Bug 797521 - Receivable Aging (beta): prepayments logic doesn't work,
+		 appears to use incorrect absolute value logic
+    Bug 797532 - Crash/Coredump Lots
+
+Other repairs or enhancements not marked as bugs:
+
+    The Customer/Employee/Vendor reports have been rewritten. The new
+      versions may be found in Reports>Experimental.
+    [stylesheet-css] a user-customisable CSS based stylesheet
+      New stylesheet. Exposes a single text box for full CSS
+      customisability.
+    Allow account selection by typing into the post-to field of the payment
+      window
+    When sizing some register columns take account of 'Tot' being added.
+    Take account for the pop up button border in the register.
+    Change the date sample so it has the maximum text width possible
+    [new-owner-report] bugfix: balance row needs variable linked cols
+    Improve translations by scriptedly removing the removed colon suffix.
+    [report-utilities] bugfix: aging-list was incorrect. off-by-1 error.
+    [report-utilities] bugfix: overpayment works for AP accounts.
+    Swap the buttons around on the Budget Open dialogue
+      Swap the OK and Cancel buttons so they conform to the normal layout. 
+    [report-utilities] bugfix: fix overpayment detection
+      For 1 payment to >1 invoices, previously would miscalculate
+      overpayment.
+    [budgets.scm] Budget reports handle both natural & reversed budgets.
+      This change is protected by a Feature: Using it will prevent the file
+      from being opened by earlier versions of GnuCash.
+    [gnc-budget-view.c] totals - 5 fundamental types
+      previous showed income/expense/transfers/totals budget totals, of
+      uncertain meaning. now shows income/expense/asset/liability/equity
+      budget totals. The 5 lines also become sensitive to the global
+      sign-reverse property.
+    bindings-python - drop references to gnucash-env
+      We no longer ship a gnucash-env script, directly use python(3)
+      instead
+    [balsheet-pnl] fix: single-date balsheet missed printing date
+    [balsheet-pnl] fix: hide Equity sections when not needed
+      * If currencies are not converted, Unrealized Gains are meaningless.
+      Hide them. * If there are no income/expense accounts, retained
+      earnings will be nil. Remove row.
+    Ignore trailing noise on imported transaction account numbers.
+      AQBanking6 uses a separate method for retrieving account numbers for
+      account info and transactions, where the transactions method can have
+      additional characters, most often the ISO4217 currency code. That
+      results in match failures when importing. As a work-around, compare
+      only the length of the account-info-generated online id when
+      comparing it to the transaction-generated one. Note that this is only
+      a partial solution: At least one German bank also appends characters
+      to the transaction-generated bank id and that will still cause the
+      match to fail.
+    [dialog-payment] Add warning label if payment is unattached
+      Completing a payment for a customer without associating with an open
+      invoice is allowable and is used for prepayments. Enable a warning to
+      inform that the payment does not have an invoice/bill document attached.
+    [aging] update error reporting
+      This error handling was for transactions in APAR accounts whereby
+      Transaction Currency != Owner Currency. An example is a manually
+      entered transaction, then assigned as payment to a customer with a
+      different currency. Update to modern API calls. Show the culprit
+      split details. Fixed example output: IGNORING TRANSACTION! Invoice
+      Owner: [None:] Transaction:Txn<d:28/10/19> Splits are:
+      Split<d:28/10/19,acc:Current,amt:$150.00,val:£150.00>
+      Split<d:28/10/19,acc:AR,amt:$0.00,val:-£150.00> Transaction
+      Currency:GBP Client Currency:AUD 
+    Fixed German IBAN error message
+    Allow edit of some fields for posted invoice
+      Allow editing of some fields for posted invoice. For reasons, see bug
+      report: https://bugs.gnucash.org/show_bug.cgi?id=797400
+    [average-balance] show monetaries instead of numbers in data table
+    UK VAT template: replace obsolete EEC and EC by EU
+    Implements the presentation of static optical TAN challenges (photoTAN
+      and QR) inside the enter TAN dialogue.
+    [budget] fixcrash: fix crasher for some periods
+      eg. the following combo would previously crash: - periods from next
+      to current - use accumulated amounts 
+    [budget] fixcrash: prevent crash if periods start > end
+      It's silly to input start-period > end-period. Nevertheless handle it
+      by swapping them instead of crashing. i.e. report budget periods from
+      end to start. 
+    [budget-flow] fixcrash: exchange-fn needs to specify exchange date
+      because some exchange-fn *do* require date eg. pricedb-nearest. use
+      the period end-date for the exchange date. 
+    [portfolio report] There's no report-currency. Use currency.
+    [window-report] show backtrace when report crashes
+      * exposes a SCM string last-captured-error containing last backtrace
+      * when rendering report-crash window, include it
+
+New Scheme Functions:
+    gnc:html-markup-ol: creates an HTML ordered list.
+    gnc:multiline-to-html-textt: creates html-text with <br/> elements.
+    gnc:make-html-table-cell/min-width: Create a table-cell with min-width
+      style attribute
+    gnc:collector+ and gnc:collector-
+
+New Deprecations:
+    gnc:html-table-append-ruler/at!
+    gnc:html-table-remove-last-row!
+
+Translations Updated: Chinese(Simplified), Croatian, German, Hebrew, Ukrainian
+
 3.7 -  8 September 2019
 The eighth release of the 3.x stable series.
 
@@ -7,7 +171,7 @@ Note for German FinTS users: This release in concert with AQBanking
 5.8.0 is the first release to support the new product registration
 requirement that goes into effect 15 September 2019.
 
-The following bugs have been fixed:
+
 The following bugs have been fixed:
     Bug 605602 - precision of Financial Calculator seems to depend on
                  locale

commit d51b4d7f0882c43345c5ce28fed0bfa9eb3a4848
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Dec 28 13:36:11 2019 -0800

    Bug 797532 - Crash/Coredump Lots
    
    Replace the asserts in cap-gains.c with g_return_val_if_fail. There's
    nothing about cap-gains.c that justifies crashing the program.

diff --git a/libgnucash/engine/cap-gains.c b/libgnucash/engine/cap-gains.c
index 9c7378665..fa9af436a 100644
--- a/libgnucash/engine/cap-gains.c
+++ b/libgnucash/engine/cap-gains.c
@@ -336,7 +336,7 @@ xaccSplitAssignToLot (Split *split, GNCLot *lot)
         amt_tot = split->amount;
         amt_a = gnc_numeric_neg (baln);
         amt_b = gnc_numeric_sub_fixed (amt_tot, amt_a);
-        g_assert (gnc_numeric_check(amt_b) == GNC_ERROR_OK);
+        g_return_val_if_fail(gnc_numeric_check(amt_b) == GNC_ERROR_OK, NULL);
 
         PINFO ("++++++++++++++ splitting split=%p into amt = %s + %s",
                split,
@@ -366,7 +366,7 @@ xaccSplitAssignToLot (Split *split, GNCLot *lot)
                  gnc_num_dbg_to_string(amt_tot));
         }
 
-        if (gnc_numeric_zero_p(val_a) || gnc_numeric_zero_p(val_b))
+        if (gnc_numeric_zero_p(amt_a) || gnc_numeric_zero_p(amt_b))
         {
             PERR ("Failed to split into two!");
         }
@@ -376,8 +376,8 @@ xaccSplitAssignToLot (Split *split, GNCLot *lot)
                gnc_num_dbg_to_string(val_a),
                gnc_num_dbg_to_string(val_b) );
 
-        g_assert (!gnc_numeric_zero_p (amt_a));
-        g_assert (!gnc_numeric_zero_p (val_a));
+        g_return_val_if_fail (!gnc_numeric_zero_p (amt_a), NULL);
+        g_return_val_if_fail (!gnc_numeric_check (val_a), NULL);
         xaccSplitSetAmount (split, amt_a);
         xaccSplitSetValue (split, val_a);
 
@@ -438,8 +438,8 @@ xaccSplitAssign (Split *split)
      * have lots, we are done.
      */
     if (split->lot) return FALSE;
-    g_assert (split->gains == GAINS_STATUS_UNKNOWN ||
-	      (split->gains & GAINS_STATUS_GAINS) == FALSE);
+    g_return_val_if_fail (split->gains == GAINS_STATUS_UNKNOWN ||
+                          (split->gains & GAINS_STATUS_GAINS) == FALSE, FALSE);
     acc = split->acc;
     if (!xaccAccountHasTrades (acc))
         return FALSE;

commit 3bab92367a827da1e3279d40ac43cd1e220f4032
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Dec 28 13:35:51 2019 -0800

    Improve bug-fix detection and reformatting in release-notes script.

diff --git a/util/git-release-notes.pl b/util/git-release-notes.pl
index 5d03288c5..3acdfeb03 100755
--- a/util/git-release-notes.pl
+++ b/util/git-release-notes.pl
@@ -64,8 +64,8 @@ while(<$revs>) {
     $item .= $rev;
     if ($rev =~ /<\{\}>$/) {
         $item =~ s/<\{\}>//;
-        if ($item =~ m/^Bug[\s:]?[0-9]+/) {
-            $item =~ s/^Bug[\s:]?([0-9]+)[ -]*/Bug $1 - /;
+        if ($item =~ m/^[\s\[]*[Bb]ug[\]\s:\-\#]*[0-9]+/) {
+            $item =~ s/^[\s\[]*[Bb]ug[\]\s:\-\#]*([0-9]+)[ -]*/Bug $1 - /;
             push @bugs, $item;
         } else {
             push @improves, $item;



Summary of changes:
 CMakeLists.txt                |   4 +-
 NEWS                          | 166 +++++++++++++++++++++++++++++++++++++++++-
 libgnucash/engine/cap-gains.c |  12 +--
 util/git-release-notes.pl     |   4 +-
 4 files changed, 175 insertions(+), 11 deletions(-)



More information about the gnucash-changes mailing list