2.18.0:
* Add configurable telemetry to gather information on client-side request latency
2.17.0:
* Add support for Checkout sessions
2.16.0:
* Add support for account links
2.15.0:
* Add support for providing custom CA certificate bundle
2.14.0:
* Add support for Review for Radar
2.13.0:
* Add support for ValueList and ValueListItem for Radar
2.12.1:
* Make StripeResponse a new-style class
2.12.0:
* Add new API endpoints for the Invoice resource.
2.11.1:
* Bump minimum requests version to 2.20.0 (for [CVE-2018-18074](https://nvd.nist.gov/vuln/detail/CVE-2018-18074))
2.11.0:
* Add support for the Person resource
* Add support for the WebhookEndpoint resource
2.10.1:
* Correct behavior of stripe.max_network_retries if it's reset after initial use
2.10.0:
* Add support for Stripe Terminal
2.9.0:
* Rename FileUpload to File
2.8.1:
* Don't URL-encode square brackets
* Integer-index encode all arrays
2.8.0:
* Add support for automatic network retries
2.7.0:
* Add support for reporting resources
2.6.0:
* Add support for usage record summaries
2.5.0:
* Remove unsupported Bitcoin endpoints (this is technically a breaking change, but we're releasing as a minor version because none of these APIs were usable anyway)
2.4.0:
* Add cancel support for topups
* Add support for file links
2.3.0:
* Add support for Sigma scheduled query run objects
2.2.0:
* Add support for Stripe Issuing
2.1.0:
* Add InvoiceLineItem class
2.0.3:
* Internal improvements to ApiResource.class_url
2.0.2:
* Avoid duplicate dependency on requests with Python 2.7
2.0.1:
* Fix setup.py
2.0.0:
Major version release. List of backwards incompatible changes to watch out for:
* The minimum Python versions are now 2.7 / 3.4. If you're using Python 2.6 or 3.3, consider upgrading to a more recent version.
* Stripe exception classes should now be accessed via stripe.error rather than just stripe
* Some older deprecated methods have been removed
* Trying to detach an unattached source will now raise a stripe.error.InvalidRequestError exception instead of a NotImplementedError exception
Pull requests included in this release:
* Drop support for Python 2.6 and 3.3
* Use py.test for tests
* Remove deprecated code
* Remove util.json and use json module directly everywhere
* Update setup.py and test flow
* Use pipenv
* Change exception when detaching unattached sources from NotImplementedError to stripe.error.InvalidRequestError
3.4 - 30 December 2018
o Convert help documents to use XInclude instead of SYSTEM entities
o Convert Guide and its translations to use XInclude instead of
SYSTEM entities
o Drop old DocBook xsl 1.75.2 stylesheet
o Base gnucash custom style sheet on DocBook xsl 1.79.2
o Add DocBook xsl v1.79.2
o Extract common entity declarations into a custom DTD
This custom DTD is based on the DocBook V4.5 DTD and is intended
to be used by all our documentation xml files.
o Update to DocBook XML spec 4.5
3.4 - 30 December 2018
The following bugs have been fixed:
Bug 498072 - GnuCash show taxes on invoice when individual taxes is
not checked
Bug 760825 - On duplicating a bill, the entry dates should be set to
the bill date, not to the current date - followup:
Use neutral time on entry post dates instead of canonical time
Bug 767772 - Associated file with transaction is lost when moving entry
between accounts
Bug 775580 - Inaccurate information provided for "Common Accounts" when
using "New Account Hierarchy Setup"
Bug 779565 - Treeview header combos do not work at first load
Bug 788332 - Last Reconcile Date column sorts by day of month not date
Bug 789674 - Close Book tool regression
Bug 793156 - Incorrect date sort order in Generic import matcher window
Bug 795080 - Some dates reset to 01/01/1970
Bug 795237 - Update of "wohnungsw" template
Bug 795425 - Version 2018 of german account template SKR49
Bug 796772 - Receivable Ageing Report invalid URL for Totals column
Bug 796806 - Crash after OFX import if line item dragged
Bug 796842 - Add new employee window may not fit on screen
Bug 796849 - Load another QIF file causes "that file already loaded" dialog
Bug 796875 - Unable to use arrow keys to advance past pre-filled text
in register
Bug 796878 - test-qofsession fails on x86_32.
Bug 796883 - Register text oddities
HOME and END need to be treated like right and left arrow
keys.
Bug 796886 - OFX Import does not show source account in the transaction
matching window
Bug 796887 - Remove account slot key color if there is no valid color
Bug 796893 - invoice.GetDatePosted() and other date related functions
returns strange values for uninitalised dates.
Bug 796896 - Button to complete an export not intuitively placed or
discoverable
Bug 796903 - Crash when searching invoice by Invoice Owner
Bug 796914 - Customer Summary is giving error
Bug 796915 - Update Account colour background
Bug 796940 - Invalid transaction date-posted KVP causes date-posted to
not be saved.
Bug 796944 - Tab navigation From Company Address field in New Book Options
Bug 796945 - Search Search Criteria window does not scroll when added
criteria exceed a certain amount
Bug 796948 - Scheduled Transactions Entered Since Last Run Are not Visible
Bug 796949 - Incorrect conversion of 0,01 USD to EUR
Bug 796960 - Incorrect amount sort order in Generic import matcher window
Bug 796961 - Can't overwrite existing MYSQL database, V3.3.
Bug 796967 - gnclock table not removed when using PostgreSQL.
Bug 796978 - Deleting a split of same account as register cancels the
transaction without warning
Bug 796981 - Gnucash crashes with critical error when selecting another
file
Bug 796982 - Import Bills & Invoices: change in un_escape() routine
causes description and notes fields to be mangled.
Bug 796988 - Untranslated string in CSV transaction importer
Bug 796989 - some date/time does not honor user locale
Bug 796994 - Unable to generate Tax Report because of pricedb error
Other repairs or enhancements not marked as bugs:
Set up filepath utils to determine the GNC_CONFIG_HOME in the same way
as GNC_DATA_HOME
Until now GNC_CONFIG_HOME was more or less hard-coded. Now it can be
set via environment variable GNC_CONFIG_HOME. In addition it will
automatically be created to avoid potential user confusion.
Redesign gnc-uri-utils
gnc_uri_get_components will now return NULL as protocol if the input
is a normal file system path instead of a uri (it used to
return 'file')
gnc_uri_get_protocol will now return NULL if the input is a normal
file system path instead of a uri (it used to return 'file')
gnc_uri_is_file_protocol now returns FALSE if protocol is NULL
(it used to return TRUE)
gnc_uri_is_file_uri now returns FALSE if input is a normal file
system path instead of a uri (it used to return TRUE)
a new function gnc_uri_targets_local_fs will return TRUE only if
its input is either a file uri or a normal file system path.
This function is now mostly used instead of
gnc_uri_is_file_uri in the current code base
a new function gnc_uri_is_uri is added to check whether its input
is a valid uri (has protocol, path and hostname for non-file
uris)
refer to 'scheme' instead of 'protocol' as that's the more formal
term used in uris
This involves renaming 3 functions:
gnc_uri_get_protocol -> gnc_uri_get_scheme
gnc_uri_is_known_protocol -> gnc_uri_is_known_scheme
gnc_uri_is_file_protocol -> gnc_uri_is_file_scheme
The *_protocol variants are marked as deprecated.
Additionally a number of local variables have been renamed from
protocol to scheme to support this change.
Show warnings for deprecated declarations
We're about to announce our own set of deprecated functions in
libgnucash. That would be pretty pointless if we also would silence
all deprecation warnings at the same time...
More report code-cleanup by Chris Lam, including deprecating the
following functions:
gnc:account-get-balance-at-date
gnc:account-get-total-flow
gnc-commodity-numeric-string
gnc-commodity-value->string
gnc:double-col
gnc:options-add-include-subaccounts
gnc:options-add-group-accounts
gnc:options-add-currency-selection
The following modules are deprecated:
report-system/collectors
report-system/report-collectors
Invoice: Remove H1 title and superflous option.
Printing the title twice is silly, so remove the option and the
H1 display of the title. Note that the remaining title is in a
div named "invoice-title" so it can be styled with CSS as the user
pleases from the Report Options Layout tab.
The preference, use formal accounting labels does not update the header
With a register open and you change preference 'use formal
accounting labels' it does not update the register header so add
a call back for the preference.
Make the grid lines of totals Budget tree view track the preferences
Make the grid lines of the totals tree view track the preferences
to match the account tree view above it.
Add routine to fix Account Color being set to "Not Set"
Previously the account color slot has been populated with
"Not Set" when any field for the account has been edited and
saved. This routine should run once and remove all such entries.
Performance fix in dom_chars_handler: use g_strndup instead of g_strdup
In the appdata/metadata file, rename the ID from org.gnucash.Gnucash
to org.gnucash.GnuCash to match flathub, and add a launchable ID
to link it to the desktop file.
Added double-click-on-file for the CSV transaction, price, and account
importers and exporters.
Cleaned up a variety of issues reported by the clang static analyzer.
Allow the text options widget to use all remaining space
The text option widget used for report options has only about 3
lines visible currently and will not use any available space in
the dialogue. Change the packing for this widget to expand and
fill the remaining dialogue space. If there are more than one text
option widget on a page then the available space will be shared
equally.
Add short_labels for a few toolbar buttons with long names. That should
fit a few more buttons on the toolbar.
Update iso-4217-currencies.xml, adddding VES - Bolivar Soberano, minor
updates of other VE currencies.
Python 3 bindings fixes and improvements from Christoph Holterman and
Sumit Bhardwaj.
3.50.0
Add fraud_service_provider field to risk_data
Add authorization_expires_at to Transaction
Remove invalid transaction tests
Allow PayPal payment ID and payer ID to be passed during transaction create
Add travel_flight support to industry-specific data
Add processor_response_type to Transaction, AuthorizationAdjustment, and CreditCardVerification.
Between 3.2 and 3.3, the following bugfixes were accomplished:
• Bug 771667 - Different warnings when changing reconciled splits vs. splits linked to reconciled splits.
• Bug 784420 - "Save changes on closing" window waits 2^32 seconds when "Time to wait for answer" is set 0.
• Bug 786708 - GnuCash won't load currency fractions larger than 1000000. Also create larger fractions for the account dialog.
• Bug 787439 - Segmentation Fault in Transfer dialog after clearing Date field and pressing escape.
• Bug 789594 - Unable to overwrite sqlite3 database file.
• Bug 792446 - Mixed languages in error dialog.
• Bug 794526 - Python bindings can't find loadable modules.
• Bug 794755 - Commodity Register displays fractional prices.
• Bug 794870 - If no book is opened, gnucash still asks if the user wants to save changes when opening a file.
• Bug 795821 - GnuCash could not obtain the lock for file://C:\Users\username\Documents\GnuCash\2.6.21\xxxx\xxxx.gnucash
• Bug 796054 - Unposting and reposting invoice doubles amounts.
• Bug 796137 - query.search_for outputs critical qof.object errors and prevents queries being run.
• Bug 796248 - Editing Scheduled Transaction.
• Bug 796474 - Segmentation fault while setting up online banking.
• Bug 796509 - Saved reports don't respect *some* 'Edit report options'.
• Bug 796579 - Cannot go forward with empty duplicates screen.
• Bug 796665 - Backspace Key Inoperable After Ctrl+V.
• Bug 796669 - Dark Theme Text Colors Hard to Read.
• Bug 796724 - Can't overwrite gnucash DB on MariaDB.
• Bug 796725 - 4 of 6 Date Posted options fail to return matching transactions.
• Bug 796734 - Auto-complete entry not highlighting to allow for incremental entry.
• Bug 796737 - Patch to restore gncmod-python.c.
• Bug 796739 - Toolbar buttons have no labels.
• Bug 796751 - reconcile window usability - R column should be next to Amount.
• Bug 796755 - buggy window handling at startup.
• Bug 796756 - OFX import fails to recognize associated income accounts.
• Bug 796759 - --add-price-quotes leaves a lock on the file.
• Bug 796762 - Scrollbar partially hides the delete button in the Saved Report Configurations window.
• Bug 796766 - Credit note creating 'imbalance' with wrong entries.
• Bug 796777 - CVE-2008-1391: Integer overflow in included strfmon function.
• Bug 796788 - Strange behaviour in options of multicolumn report.
• Bug 796792 - SaveAs Overwrite dialogue in background and not visible.
• Bug 796812 - gnc_date_cell_get_date and gnc_date_cell_get_date_gdate have different date validation behaviour.
• Bug 796813 - Date validation inconsistent.
• Bug 796814 - Changing a book's read-only threshold doesn't immediately affect open registers.
• Bug 796816 - Notes field in Duplicate Invoice dialogue is 'read-only'.
• Bug 796819 - Bad icon with Spanish localization.
• Bug 796820 - References to 'Gnome Bugzilla' should be changed to 'GnuCash Bugzilla'.
• Bug 796833 - Excel csv Format misprocessed.
• Bug 796839 - Find transaction won't filter on Date Posted.
• Bug 796858 - TypeError: in method 'qof_query_int32_predicate', argument 2 of type 'gint32' on gnucash.gnucash_core.QueryInt32Predicate.
3.48.0:
Add ID to Transaction in SubscriptionChargedSuccessfully test webhook
Fix dispute results in transactions not showing the correct status sometimes
Add Elo card type support
3.47.0
Add processor respone code and processor response text to authorization adjustments subfield in transaction response.
Add support for Samsung Pay
Each R package should include ../../math/R/Makefile.extension, which also
defines MASTER_SITES. Consequently, it is redundant for the individual
packages to do the same. Package-specific definitions also prevent
redefining MASTER_SITES in a single common place.
Bitcoin is a decentralized P2P electronic cash system without a central
server or trusted parties. Users hold the crypto keys to their own money
and transact directly with each other, with the help of the network to
check for double-spending.
pyfolio is a Python library for performance and risk analysis of
financial portfolios developed by Quantopian Inc. It works well with
the Zipline open source backtesting library. At the core of pyfolio is
a so-called tear sheet that consists of various individual plots that
provide a comprehensive image of the performance of a trading
algorithm.
New features since 0.2.1:
- Integration with Pyfolio. It is now possible to simulate a portfolio
using the input alpha factor and analyze the performance with
Pyfolio.
- Added new API utils.get_clean_factor to run Alphalens with returns
instead of prices
- Changed color palette to improve the visual experience for
colorblind users
- Standard deviation bars optional in
tears.create_event_returns_tear_sheet
- Alphalens now properly handles intraday factors
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
Documentation changes:
• Bug 796098 - V 3.1 Missing images in Tutorial and Concepts Guide in PDF and Online Help pages.
• Bug 795980 - Void Reason Has No Visible Purpose.
Between 3.0 and 3.2, the following bugfixes were accomplished:
• Bug 787401 - Test Report System - Report Definition.
• Bug 794617 - Can't compile with -DWITH_GNUCASH=NO due to scm-gnome-utils.
• Bug 795101 - Scroll Bar in Reconcile Window Floats in and covers the check boxes.
• Bug 795247 - datepicker broken in Persian. GnuCash passes dates as integer y/m/d without using locale-specific formats, so we need to strip out 'E' and 'O' from the format when scanning dates or determining separators in gnc-date. None of '-', 'E', or 'O' are supported by boost (and '-' causes errors), so strip them out from formatters in gnc-datetime as well.
• Bug 795253 - Have problems input Chinese.
• Bug 795272 - QIF importer causes application crash if action is invalid.
• Bug 795276 - Invalid date on price stops file from being parsed.
• Bug 795362 - Special variable "i" not parsed in function calls. Due to balance tests with insane random values.
• Bug 795471 - Impossible to Edit Budget Unless Maximized.
• Bug 795519 - Credit card payment after reconciliation.
• Bug 795666 - Backslash '\' in Description field spoils CSV Import without helpful error message.
• Bug 795831 - When read only threshold set, dates are silently changed. Display a message box informing the user of the change.
• Bug 795944 - Cannot store change to Business Suppliers data.
• Bug 796079 - Repeatable Crash in Tax Report Options.
• Bug 796081 - Tax Schedule Report - An error occurred while running the report.
• Bug 796083 - Reconcile Selection Doesn't Work Anymore.
• Bug 796117 - Connecting 3.1 to an existing mysql db drops all data. Provide a backup recovery function that instead of dropping primaries and restoring backups merges the primaries and backups. This should handle a worst-case safe-save failure where the backup tables don't have a complete set of rows for some reason.
• Bug 796256 - Main Window stays hidden when starting after closing main window while minimized.
• Bug 796369 - Notes lost or perhaps just not displaying when using SQLite backend. This bug caused data loss if you saved your SQLite3 database to a different file or database. The problem is that in SQLite3 (though not in MySQL or PgSQL) the subquery ((SELECT DISTINCT guid FROM transactions)) (note the double parentheses) returns only the first guid in the subquery's results. Some transactions are loaded by special queries and those queries are also used to retrieve the transaction's slots so they weren't affected.
• Bug 796398 - Restrict accelerator keys to valid date range.
• Bug 796409 - Incorrect Current Value for Stocks. Missed calculating the value in the register summary bar.
• Bug 796423 - Cannot Input Chinese, seems does not work with other IME too. Toggles not in view with all rows selected weren't being redrawn.
• Bug 796484 - csv import: iostream error. Unfortunately it turns out that we can't use filestreams because they can't take path arguments containing Unicode on Windows.
• Bug 796527 - invalid currency on scheduled transactions.
• Don't even check for price/exchange rate on template transactions, there's no point.
• Check all split commodities are valid, abort transaction creation if not.
• If the template transaction's currency isn't used by any of the splits set the new transaction's currency to the first-found currency if there is one, otherwise to the first-found commodity.
• Bug 796537 - Transaction Report cannot sort by "num".
• Bug 796586 - QIF import incorrectly converts unicode characters from UTF8 encoded file.
• Bug 796595 - QIF Import Select Account button to add a new account is labled gnc-account-new but should be New.
• Bug 796600 - stock split cash-in-lieu income/asset labels backwards.
• Bug 796614 - Reconciliation report contains incorrect transactions.
• Bug 796638 - configuration not properly saved for CSV transactions import form.
The Following fixes and improvemts were not associated with bug reports:
• Transaction report improvements:
• Performance: Do all filtering ops before sorting.
• Move the options summary before the subtotals table.
• New unit tests
• Enable computing averages in subtotal grid.
• Generate the subtotal grid only if the primary sort key enables subtotals.
• Fix subtotal grid to support multiple commodities.
• New filters.
• Much cleaning and refactoring of the internals.
• Cache the num-split-action book option to avoid thousands of KVP queries for the same value when loading a register.
• Create a static string for book option KVPs to save an extra malloc/free on old compilers without small-string optimization.
• Add tooltip support for register cells.
• New unit tests for the balance sheet report and invoices.
• Consolidate charting code into a single module.
• Removed an incomplete and abandoned C implementation of QIF import.
• Restored libsecret support that had been left out of CMake.
• Replace old-style html style attributes with css.
• Modify emitted html to be parseable by the Guile SXML module for testing.
• Remove support for long-gone gtkhtml renderer.
• Clean up code generating html tables.
• Ensure full precision of doubles is saved to SQL. std::iostream's operator<<(double) uses only 6 digits of precision by default.
• Make float database operations more consistent, working around dbd-sqlite3's failure to support doubles (dbd-sqlite3, not sqlite3 itself).
• Prevent crash in gnc-tree-view.c: When getting information from the state file, protect against the key not having a '_' which is used to split the string.
• Add the full account name to the saved register settings If you need to delete the layout for a register in the settings file, the only thing identifying it is the account guid. To make it easier for humans, add the full account name also.
• When register pages are restored it uses the full account name. When register pages are restored, the account is found from the full name so if the separator changes it will fail. Instead, also save the account guid and use that as default to find the account falling back to the full name.
• Fix misplaced try block that caused unhandled exception if year out of range.
• Fix permanent storage of vendor details: Since the data types did not match for the billterms and taxtable, those references/guids were not saved to the database.
• Update invoice reports to use totals calculate by gncInvoice. This should give a consistent representation of invoice data across the application.
• Ensure gncEntry rounding is consistent. Internally calculated values in the entry are never rounded. Consumers of gncEntry's calculated values can request them either rounded or not. Next use a pragmatical approach for calculating values on invoices based on the entry values: do the rounding such that we never create an unbalanced transaction while posting. That means:
• round each entry's net value before summing them in net total
• accumulate all tax totals on invoice level per tax account before rounding
and round before before summing them in a global tax total Hopefully this will catch a few more rounding issues in this area. A complete solution can only offered if we allow users to manually correct tax entries. This requires changes to user interface and data format so that's not going to happen in gnucash 3.x.
• Use Scheme SRFI-64 test framework for new Scheme unit tests.
• New compilers (gcc-8.0 and Xcode 9) bring new warnings, so several fixups to mollify them.
• Lowercase all cmake commands for better readability.
• Metadate migration (2.6.x->3.x) fixes for Windows.
• Ensure timezone is set correctly in FreeBSD.
The following translations are updated: Dutch
3.46.0:
Allow payee ID to be passed in options params for transaction create
Add merchant_id alias to ConnectedMerchantStatusTransitioned and ConnectedMerchantPayPalStatusChanged Auth webhooks
The QuantLib project is aimed at providing a comprehensive software
framework for quantitative finance. QuantLib is a free/open-source
library for modeling, trading, and risk management in real-life.
QuantLib is written in C++ with a clean object model, and is then
exported to different languages such as C#, Objective Caml, Java,
Perl, Python, GNU R, Ruby, and Scheme. An AAD-enabled version is also
available. The reposit project facilitates deployment of object
libraries to end user platforms and is used to generate QuantLibXL, an
Excel addin for QuantLib, and QuantLibAddin, QuantLib addins for other
platforms such as LibreOffice Calc. Bindings to other languages and
porting to Gnumeric, Matlab/Octave, S-PLUS/R, Mathematica,
COM/CORBA/SOAP architectures, FpML, are under consideration.