AuthServiceProxy is an improved version of python-jsonrpc.
It includes the following generic improvements:
* HTTP connections persist for the life of the AuthServiceProxy object
* sends protocol 'version', per JSON-RPC 1.1
* sends proper, incrementing 'id'
* uses standard Python json lib
* can optionally log all RPC calls and results
* JSON-2.0 batch support
It also includes the following bitcoin-specific details:
* sends Basic HTTP authentication headers
* parses all JSON numbers that look like floats as Decimal, and serializes
Decimal values to JSON-RPC connections.
0.19.0.1:
Notable changes
New user documentation
Reduce memory suggests configuration tweaks for running Bitcoin Core on systems with limited memory.
New RPCs
getbalances returns an object with all balances (mine, untrusted_pending and immature). Please refer to the RPC help of getbalances for details. The new RPC is intended to replace getbalance, getunconfirmedbalance, and the balance fields in getwalletinfo. These old calls and fields may be removed in a future version.
setwalletflag sets and unsets wallet flags that enable or disable features specific to that existing wallet, such as the new avoid_reuse feature documented elsewhere in these release notes.
getblockfilter gets the BIP158 filter for the specified block. This RPC is only enabled if block filters have been created using the -blockfilterindex configuration option.
New settings
-blockfilterindex enables the creation of BIP158 block filters for the entire blockchain. Filters will be created in the background and currently use about 4 GiB of space. Note: this version of Bitcoin Core does not serve block filters over the P2P network, although the local user may obtain block filters using the getblockfilter RPC.
Updated settings
whitebind and whitelist now accept a list of permissions to provide peers connecting using the indicated interfaces or IP addresses. If no permissions are specified with an address or CIDR network, the implicit default permissions are the same as previous releases. See the bitcoind -help output for these two options for details about the available permissions.
Users setting custom dbcache values can increase their setting slightly without using any more real memory. Recent changes reduced the memory use by about 9% and made chainstate accounting more accurate (it was underestimating the use of memory before). For example, if you set a value of "450" before, you may now set a value of "500" to use about the same real amount of memory.
Updated RPCs
Note: some low-level RPC changes mainly useful for testing are described in the Low-level Changes section below.
sendmany no longer has a minconf argument. This argument was not well-specified and would lead to RPC errors even when the wallet's coin selection succeeded. Users who want to influence coin selection can use the existing -spendzeroconfchange, -limitancestorcount, -limitdescendantcount and -walletrejectlongchains configuration arguments.
getbalance and sendtoaddress, plus the new RPCs getbalances and createwallet, now accept an "avoid_reuse" parameter that controls whether already used addresses should be included in the operation. Additionally, sendtoaddress will avoid partial spends when avoid_reuse is enabled even if this feature is not already enabled via the -avoidpartialspends command line flag because not doing so would risk using up the "wrong" UTXO for an address reuse case.
RPCs which have an include_watchonly argument or includeWatching option now default to true for watch-only wallets. Affected RPCs are: getbalance, listreceivedbyaddress, listreceivedbylabel, listtransactions, listsinceblock, gettransaction, walletcreatefundedpsbt, and fundrawtransaction.
listunspent now returns a "reused" bool for each output if the wallet flag "avoid_reuse" is enabled.
getblockstats now uses BlockUndo data instead of the transaction index, making it much faster, no longer dependent on the -txindex configuration option, and functional for all non-pruned blocks.
utxoupdatepsbt now accepts a descriptors parameter that will fill out input and output scripts and keys when known. P2SH-witness inputs will be filled in from the UTXO set when a descriptor is provided that shows they're spending segwit outputs. See the RPC help text for full details.
sendrawtransaction and testmempoolaccept no longer accept a allowhighfees parameter to fail mempool acceptance if the transaction fee exceeds the value of the configuration option -maxtxfee. Now there is a hardcoded default maximum feerate that can be changed when calling either RPC using a maxfeerate parameter.
getmempoolancestors, getmempooldescendants, getmempoolentry, and getrawmempool no longer return a size field unless the configuration option -deprecatedrpc=size is used. Instead a new vsize field is returned with the transaction's virtual size (consistent with other RPCs such as getrawtransaction).
getwalletinfo now includes a scanning field that is either false (no scanning) or an object with information about the duration and progress of the wallet's scanning historical blocks for transactions affecting its balances.
gettransaction now accepts a third (boolean) argument verbose. If set to true, a new decoded field will be added to the response containing the decoded transaction. This field is equivalent to RPC decoderawtransaction, or RPC getrawtransaction when verbose is passed.
createwallet accepts a new passphrase parameter. If set, this will create the new wallet encrypted with the given passphrase. If unset (the default) or set to an empty string, no encryption will be used.
getchaintxstats RPC now returns the additional key of window_final_block_height.
getmempoolentry now provides a weight field containing the transaction weight as defined in BIP141.
The getnetworkinfo and getpeerinfo commands now contain a new field with decoded network service flags.
getdescriptorinfo now returns an additional checksum field containing the checksum for the unmodified descriptor provided by the user (that is, before the descriptor is normalized for the descriptor field).
joinpsbts now shuffles the order of the inputs and outputs of the resulting joined PSBT. Previously, inputs and outputs were added in the order PSBTs were provided. This made it easy to correlate inputs to outputs, representing a privacy leak.
walletcreatefundedpsbt now signals BIP125 Replace-by-Fee if the -walletrbf configuration option is set to true.
GUI changes
The GUI wallet now provides bech32 addresses by default. The user may change the address type during invoice generation using a GUI toggle, or the default address type may be changed with the -addresstype configuration option.
In 0.18.0, a ./configure flag was introduced to allow disabling BIP70 support in the GUI (support was enabled by default). In 0.19.0, this flag is now disabled by default. If you want to compile Bitcoin Core with BIP70 support in the GUI, you can pass --enable-bip70 to ./configure.
Deprecated or removed configuration options
-mempoolreplacement is removed, although default node behavior remains the same. This option previously allowed the user to prevent the node from accepting or relaying BIP125 transaction replacements. This is different from the remaining configuration option -walletrbf.
Deprecated or removed RPCs
bumpfee no longer accepts a totalFee option unless the configuration parameter deprecatedrpc=totalFee is specified. This parameter will be fully removed in a subsequent release.
bumpfee has a new fee_rate option as a replacement for the deprecated totalFee.
generate is now removed after being deprecated in Bitcoin Core 0.18. Use the generatetoaddress RPC instead.
P2P changes
BIP 61 reject messages were deprecated in v0.18. They are now disabled by default, but can be enabled by setting the -enablebip61 command line option. BIP 61 reject messages will be removed entirely in a future version of Bitcoin Core.
To eliminate well-known denial-of-service vectors in Bitcoin Core, especially for nodes with spinning disks, the default value for the -peerbloomfilters configuration option has been changed to false. This prevents Bitcoin Core from sending the BIP111 NODE_BLOOM service flag, accepting BIP37 bloom filters, or serving merkle blocks or transactions matching a bloom filter. Users who still want to provide bloom filter support may either set the configuration option to true to re-enable both BIP111 and BIP37 support or enable just BIP37 support for specific peers using the updated -whitelist and -whitebind configuration options described elsewhere in these release notes. For the near future, lightweight clients using public BIP111/BIP37 nodes should still be able to connect to older versions of Bitcoin Core and nodes that have manually enabled BIP37 support, but developers of such software should consider migrating to either using specific BIP37 nodes or an alternative transaction filtering system.
By default, Bitcoin Core will now make two additional outbound connections that are exclusively used for block-relay. No transactions or addr messages will be processed on these connections. These connections are designed to add little additional memory or bandwidth resource requirements but should make some partitioning attacks more difficult to carry out.
Miscellaneous CLI Changes
The testnet field in bitcoin-cli -getinfo has been renamed to chain and now returns the current network name as defined in BIP70 (main, test, regtest).
v0.10.2
Note: this will be the last release of python-bitcoinlib with Python 2.7 compatibility.
New RPC generatetoaddress(self,numblocks,addr).
Fixed Python 2.7 incompatibility.
Various OpenSSL fixes, including a memory leak.
v0.10.1
Identical in every way to v0.10.0, but re-uploaded under a new version to fix a PyPi issue.
v0.10.0
Minor breaking change: RPC port for regtest updated to the new v0.16.0 default.
Other changes:
Now looks for .cookie files in the datadir, if specified.
Authentication in a RPC service_url is now parsed.
Implemented bip-0037 version message.
contrib/verify-commits/ removed for now due to breakage.
v0.9.0
Now supports segwit, which breaks the API in minor ways from v0.8.0. This version introduces lots of new API functionality related to this, such as the new CScriptWitness, CTxInWitness, CTxWitness, new segwit-specific logic in SignatureHash() etc.
v0.8.0
Major breaking API change!
While this interim release doesn't by itself include segwit support, it does change the name of the CTransaction/CMutableTransaction method GetHash() to GetTxid() to prepare for a future segwit-enabled release. Incorrect calls to GetHash() will now raise a AttributeError exception with an explanation.
Since this release doesn't yet include segwit support, you will need to set the Bitcoin Core -rpcserialversion=0 option, either as a command line argument, or in your bitcoin.conf file. Otherwise the RPC interface will return segwit-serialized transactions that this release's RPC support doesn't understand.
Other changes:
Cookie file RPC authentication is now supported.
msg_header now correctly uses CBlockHeader rather than CBlock.
RPC getbalance now supports include_watchonly
RPC unlockwallet is now supported
v0.7.0
Breaking API changes:
The 'cooked' CScript iterator now returns OP_0 for the empty binary string rather than b''
The alias JSONRPCException = JSONRPCError has been removed. This alias was added for compatibility with v0.4.0 of python-bitcoinlib.
Where appropriate, RPC_INVALID_ADDRESS_OR_KEY errors are now caught properly, which means that rather than raising IndexError, RPC commands such as getblock may raise JSONRPCError instead. For instance during initial startup previously python-bitcoinlib would incorrectly raise IndexError rather than letting the callee know that RPC was unusable. Along those lines, JSONRPCError subclasses have been added for some (but not all!) of the types of RPC errors Bitcoin Core returns.
Bugfixes:
Fixed a spurious AttributeError when bitcoin.rpc.Proxy() fails.
v0.6.1
New features:
getblockheader RPC call now supports the verbose option; there's no other way to get the block height, among other things, from the RPC interface.
subtoaddress and sendmany RPC calls now support comment and subtractfeefromamount arguments.
v0.6.0
Breaking API changes:
RPC over SSL support removed to match Bitcoin Core's removal of RPC SSL support in v0.12.0 If you need this, use an alternative such as a stunnel or a SSH tunnel.
Removed SCRIPT_VERIFY constants bitcoin.core.script, leaving just the constants in bitcoin.core.scripteval; being singletons the redundant constants were broken anyway.
SCRIPT_VERIFY_EVEN_S renamed to SCRIPT_VERIFY_LOW_S to match Bitcoin Core's naming
SCRIPT_VERIFY_NOCACHE removed as Bitcoin Core no longer has it (and we never did anything with it anyway)
v0.5.1
Various small bugfixes; see git history.
New features:
New RPC calls: fundrawtransaction, generate, getblockheader
OP_CHECKLOCKTIMEVERIFY opcode constant
v0.5.0
Major fix: Fixed OpenSSL related crashes on OSX and Arch Linux. Big thanks to everyone who helped fix this!
Breaking API changes:
Proxy no longer has __getattr__ to support arbitrary methods. Use RawProxy or Proxy.call instead. This allows new wrappers to be added safely. See docstrings for details.
New features:
New RPC calls: getbestblockhash, getblockcount, getmininginfo
Signing and verification of Bitcoin Core compatible messages. (w/ pubkey recovery)
Tox tests
Sphinx docs
Notable bugfixes:
getinfo() now works where disablewallet=1
v0.4.0
Major fix: OpenSSL 1.0.1k rejects non-canonical DER signatures, which Bitcoin Core does not, so we now canonicalize signatures prior to passing them to OpenSSL. Secondly we now only generate low-S DER signatures as per BIP62.
API changes that might break compatibility with existing code:
MAX_MONEY is now a core chain parameter
MainParams now inherits from CoreMainParams rather than CoreChainParams
str() now returns hash:n format; previously was same as repr()
RawProxy() no longer has _connection parameter
Notable bugfixes:
MsgSerializable.to_bytes() no longer clobbers testnet params
HTTPS RPC connections now use port 443 as default
No longer assumes bitcoin.conf specifes rpcuser
New features:
New RPC calls: dumpprivkey, importaddress
Added P2P support for msg_notfound and msg_reject
Added support for IPv6 addr messages
3.57.1
Set correct version for PyPi
3.57.0
Forward processor_comments to forwarded_comments
Add Venmo 'TokenIssuance' gateway rejection reason
Add AmountNotSupportedByProcessor to validation error
The following bugs have been fixed:
Bug 605602 - precision of Financial Calculator seems to depend on
locale
Bug 746937 - Template transaction splits are loaded in reverse order
and then not sorted before saving. Actually not sorted
after loading because the template accounts weren't being
committed.
Bug 752395 - Start Day of weekly report doesn't respond to change in
locale
Redefines some functions to ensure weekly grouping in
transaction report obeys locale's start-of-week.
Bug 784623 - GNUCash does not work with sql backend, I can open
in read only mode. Upgrade the splits table as well, an
oversight from the original fix.
Bug 793018 - Balance (with >>eguile<<) - Report Title can't be changed
Bug 795251 - googletest detection cannot be overridden
Bug 796819 - bad icon with Spanish localization
Temporary fix for Farsi, which was afffected, too. As it
is maintained by TP, the final fix has to come from them.
Bug 796952 - Report formatting (justify) is broken
Previous patch reverted and replaced with a more correct one.
Bug 797085 - Import Bills & Invoices – headers not translated.
Make strings translatable. Translators: This adds 22 new
translatable strings.
Bug 797158 - gnc:make-account-sel-limited-option is not working
Option was being deliberately reset to default_value every
time.
Bug 797171 - Allow multiple credit/debit columns to be selected
Bug 797279 - Reports RTL do not support RTL - fix reports
Bug 797279 - Reports RTL do not support RTL - fix string
fix guile-2.0 string handling to prevent munging unicode
in report-titles etc. while loading/saving reports
Bug 797295 - problems with entering swedish åäö in company address
Bug 797297 - GNUCash is in English even though MacOS is set-up to
French.
Bug 797301 - Register Menu View > Refresh doesn't work in 'with
sub-accounts' window
Bug 797306 - "URL cannot be shown" when one clicks an account line
link in report.
Bug 797316 - New Mauritanian ouguiya MRU not supported
Bug 797319 - Mauritanian ouguiya MRO shows too few decimals
Bug 797339 - Online banking frame to small
Bug 797349 - "A"ssociate header badly translated.
Note to translators: This is about msgids of the form
"Associate:A". The correct msgstr includes the part up to
the ':' verbatim with only the part to the right of it
tranlated, e.g. "Associate:П" from uk.po. Each such msgstr
has a comment explaining this.
Bug 797353 - Add copyright and release info in appdata file
Bug 797355 - General Journal report seems to be off balance
Previously, for general-journal, each split was being
analyzed, and only the source split was counted for
totals. This change will means the source split *and* its
peers are accounted for.
Bug 797377 - cmake fails on debian-8 and ubuntu-14.04 with
gnucash.appdata.xml.in does not exist
Bug 797378 - QIF file import fails: Loading gives wrong type argument
in position 2
Bug 797389 - Random Crashes while attaching a document.
Other repairs or enhancements not marked as bugs:
New feature: Multiselection in the import transaction matcher. Use
control-left-click, shift-left-click, or click-and-drag to select
multiple unmatched transactions to match them with a single account,
then right-click to bring up a single-item context menu sith
"Assign Transfer Account".
Set a FinTS product version key when the installed AQBanking supports it.
Reworking of many translatable strings with context to use the modern
gettext three-parameter function instead of the ':' hack noted in
bug 797349.
Stop duplicate entries for the invoice taxtable cell
Do not log an error when no default tax tables are set.
Fix cmake dependency tree so that make/ninja check works without having
to first run make/ninja.
Remove the accelerator for the Clear buttons on the Loan Calculator
because they were all the same and also the same as the Close button's
accelerator.
Change the transfer account notation for single-split transactions in
basic view from "--Split Transaction--" (they're obviously not) to "None".
Correctly parse decimal values between 0 and -1 (e.g. -0.5) in register
caclulations: The negative sign was being stripped.
Require CMake 3.5 or later for all platforms.
Rework the building of libgtest.a from source when the builder sets
GTEST_ROOT or the distro doesn't provide a pre-build one.
Fix crash when trying to display a tooltip in the register split view
when a split has focus.
Fix repeated requests to create a new account when you click No.
Suppress bogus error when creating a new account from register split view.
Fix price conversion report crashes in Balance Sheet PNL and all
average balance calculations.
Upgrade the Budget reports to support accumulated accounts.
Redefine gnc:debug to use QofLog instead of writing to stdout.
Change the Balance Sheet PNL account depth to mean the deepest *selected*
account rather than the deepest account.
Set the Owner Report date option to default to today.
Much Scheme cleanup and more testing.
Deprecated API:
gnc:html-acct-table-cell - Unused.
gnc:make-general-journal-report - Unused.
gnc:easy-invoice-report-create-internal - Unused.
gnc:fancy-invoice-report-create-internal - Unused.
make-simple-class - Use make-record-type
simple-obj-getter - Use record-accessor
simple-obj-setter - Use record-modifier
simple-obj-print - Use write
simple-obj-to-list - Use record-type->list
simple=obj-from-list-obj - Use list-record-type
make-simple-obj - Use construct
gnc:time64-le-date - Unused
gnc:time64-ge-date - Unused
gnc:make-reldate-hash - Unused
gnc:get-relative-date-strings - Unused
gnc:entry-type-percent-p
gnc:make-customer-option - Unused
gnc:make-vendor-option - Unused
gnc:make-employee-option - Unused
gnc:html-build-acct-table - Unused
gnc:html-acct-table-comm-row-helper - Unused
gnc:sum-collector-stocks - Unreachable
Updated Translations: German, Hebrew, Ukrainian,
New Account Templates: Hebrew-Israel
0.18.1
P2P protocol and network code
- Add tests and documentation for blocksonly
- Avoid logging transaction decode errors to stderr
- fix: tor: Call `event_base_loopbreak` from the event's callback
- Make poll in InterruptibleRecv only filter for POLLIN events
Wallet
- Add -ignorepartialspends to list of ignored wallet options
RPC and other APIs
- Bugfix: fix pruneblockchain returned prune height
- Document iswitness flag and fix bug in converttopsbt
- Ensure that uncompressed public keys in a multisig always returns a legacy address
- Disallow extended encoding for non-witness transactions
- add 2nd arg to signrawtransactionwithkey examples
- signrawtransactionwithkey: report error when missing redeemScript/witnessScript
GUI
- fix the bug of OPEN CONFIGURATION FILE on Mac
- Show "No wallets available" in open menu instead of nothing
- Enable open wallet menu on setWalletController
- Set progressDialog to nullptr
- Fix open wallet menu initialization order
- Set `AA_EnableHighDpiScaling` attribute early
- Enable console line edit on setClientModel
- Assert QMetaObject::invokeMethod result
Build system
- Add test for GCC bug 90348
- Install bitcoin-wallet manpage
- build with -fstack-reuse=none
Tests and QA
- Pure python EC
- Add test for superfluous witness record in deserialization
- Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
- Add test that addmultisigaddress fails for watchonly addresses
Documentation
- Remove text about txes always relayed from -whitelist
Miscellaneous
- Catch by reference not value in wallettool
- Replace fprintf with tfm::format
2.35.1:
* Fix automatic retries of failed requests
* Clarify what `max_network_retries` does
2.35.0:
* Add `SubscriptionItem.create_usage_record` method
2.34.0:
* Remove subscription schedule revisions
- This is technically a breaking change. We've chosen to release it as a minor vesion bump because the associated API is unused.
2.33.2:
* Add support for passing full objects instead of IDs to custom methods
* Bump vendored six to latest version
2.33.1:
* Fix `del` statement to not raise `KeyError`
2.33.0:
* Listing `BalanceTransaction` objects now uses `/v1/balance_transactions` instead of `/v1/balance/history`
2.32.1:
* Fix argument name conflict
2.32.0:
* Add support for the `SetupIntent` resource and APIs
2.31.0:
* Enable request latency telemetry by default
2.30.1:
* Fix support for `CustomerBalanceTransaction`
2.30.0:
* Add support for `CustomerBalanceTransaction` resource and APIs
2.29.4:
* Remove Poetry and reinstate `setup.py`
2.29.3:
Version 2.29.2 was non-functional due to a bugged `version.py` file. This release is identical to 2.29.2 save for the version number.
2.29.2:
* Replace pipenv with poetry
2.29.1:
* Verify signatures before deserializing events
2.29.0:
* Add support for `radar.early_fraud_warning` resource
2.28.2:
* Fix a few more code quality issues
2.28.1:
* Fix a few code quality issues
2.28.0:
* Add support for the `Capability` resource and APIs
3.56.0:
Add PayPalHere details
Add networkResponseCode and networkResponseText to transactions and verifications
Add cavv, xid, ds_transaction_id, eci_flag, and three_d_secure_version, to three_d_secure_info
Add three_d_secure_info to credit_card_verification
Add GraphQLClient to BraintreeGateway class
Covers many important models used in marketing and micro-econometrics
applications. The package includes: Bayes Regression (univariate or
multivariate dep var), Bayes Seemingly Unrelated Regression (SUR),
Binary and Ordinal Probit, Multinomial Logit (MNL) and Multinomial
Probit (MNP), Multivariate Probit, Negative Binomial (Poisson)
Regression, Multivariate Mixtures of Normals (including clustering),
Dirichlet Process Prior Density Estimation with normal base,
Hierarchical Linear Models with normal prior and covariates,
Hierarchical Linear Models with a mixture of normals prior and
covariates, Hierarchical Multinomial Logits with a mixture of normals
prior and covariates, Hierarchical Multinomial Logits with a Dirichlet
Process prior and covariates, Hierarchical Negative Binomial
Regression Models, Bayesian analysis of choice-based conjoint data,
Bayesian treatment of linear instrumental variables models, Analysis
of Multivariate Ordinal survey data with scale usage heterogeneity (as
in Rossi et al, JASA (01)), Bayesian Analysis of Aggregate Random
Coefficient Logit Models as in BLP (see Jiang, Manchanda, Rossi 2009)
For further reference, consult our book, Bayesian Statistics and
Marketing by Rossi, Allenby and McCulloch (Wiley 2005) and Bayesian
Non- and Semi-Parametric Methods and Applications (Princeton U Press
2014).
The canonical form [1] of an R package Makefile includes the
following:
- The first stanza includes R_PKGNAME, R_PKGVER, PKGREVISION (as
needed), and CATEGORIES.
- HOMEPAGE is not present but defined in math/R/Makefile.extension to
refer to the CRAN web page describing the package. Other relevant
web pages are often linked from there via the URL field.
This updates all current R packages to this form, which will make
regular updates _much_ easier, especially using pkgtools/R2pkg.
[1] http://mail-index.netbsd.org/tech-pkg/2019/08/02/msg021711.html
3.6 - 30 June 2019
The seventh release of the 3.x stable series.
The following bugs have been fixed:
Bug 397927 - QIF Import: Usability: Remember window position and size
Bug 577968 - Values are not stored by pressing <TAB> in budget page
Bug 583277 - Cancel button closes QIF importer without confirmation
Bug 624176 - budget report - option for showing sum is ignored
Bug 642824 - Different actions like QIF import, other imports and...
closing book allow to assign transactions to placeholder...
accounts
Placeholder accounts do not allow transactions so when the
account picker dialog is presented, add an error dialog
for placeholder selection and a column to display that the
account is a placeholder.
Bug 646361 - Estimate budget should give option to have same amount...
in each budget period
Bug 668349 - Select Account does not return user to correct location...
in "Match payee/memos to GNUCash Accounts" screen
Bug 676810 - Wrong accounting in multi-currency budget report
Bug 679800 - Shortcut to allow population of all budgeting periods
Bug 689753 - Budget Report: Negative Numbers Not Colored Red
Bug 728873 - Account name does not focus automatically in QIF import...
assistant
Bug 751290 - Rethinking the invoice ledger view
Bug 754710 - Add column sorting to Qif import Match views
Bug 781345 - Equity disregarded by budget totals
Bug 788157 - Open Budget Menu Item Doesn't Select Default Budget
Bug 796949 - Incorrect conversion of 0,01 USD to EUR
Bug 797051 - Price Database Add Overwrites Data Without Confirmation
Bug 797089 - In the main Account Register window, the value shown...
under 'Total (Period)' excludes any transaction with date...
equal to the end date of the reporting period.
Bug 797104 - Translations not showing in receipt options
Bug 797123 - File->Export Transactions to CSV doesn't output...
transaction data
Bug 797126 - It is annoying to run cmake to get an updated mo file
Bug 797127 - Company name and address in reports not display properly
Bug 797134 - Decimal separator: Windows configured as dot,...
Gnucash shows comma.
Bug 797165 - Deleting an old quote from Price Database Core Dumps Gnucash
Bug 797169 - GnuCash hangs loading XML file
Bug 797170 - gnucash-3.5 fails to compile with GTK+3-3.20.x
Bug 797175 - Gnucash will not open from UNC paths.
Bug 797175 - Opening a file from a gvfs mount point fails
Bug 797183 - association head path with spaces displayed wrong
Bug 797185 - Correct the sorting for the Transaction Association Dialog
Bug 797186 - gtk crash closing parent window edit->stylesheets
Bug 797188 - Default invoice prints credit note as invoice
Bug 797196 - Allow for per-payment rounding in amortization calculations.
Bug 797197 - Transaction report: Error message when sorting on month
Bug 797204 - qif import: commodities throw blocking dialog in symbol...
field on every commodity
Bug 797207 - Chart reports show blank when run from the build directory
Bug 797215 - qif import: review duplicates - allow sorting candidates...
on all columns
Bug 797223 - Missing Tooltip on Edit->Preferences->Register:Actions:Tab...
order includes Transfer on Memorised Transaction
Bug 797230 - Use after free in gnucash_sheet_style_destroy.
Bug 797232 - dialog-ab.glade was written for gtk 2.16.
Bug 797233 - Balance Sheet, Chart of Accounts, and other reports...
crash when involving foreign currency stocks.
Bug 797240 - Multicolumn report not showing each report name
reportname was not correctly applied as the chart-title
Bug 797241 - Some reports skip transactions of the last day of the
selected period
Bug 797244 - Remove the invert prices for less than 1
Bug 797246 - Cleared Balance Remains Red After Turning Positive
Bug 797249 - Cutting home account causes transaction to disappear
Bug 797262 - Change "Today date format"
Bug 797266 - Missing translation settings
Bug 797277 - Assets over time ignores nested liabilities
Bug 797278 - Create an option for type of commodity for Price import
Currently when you use the 'Commodity From' column for
Price imports it can match against the wrong commodity
like COP (Conoco Philips) would match against the currency
COP (Columbian Peso). To fix this add a new column type
'From Namespace' and rename 'Commodity From' to 'From
Symbol' so they match the Security Editor.
Bug 797281 - Gnucash crashes when attempting to match online accounts
Other repairs or enhancements not marked as bugs:
Rewrite the Customer Summary Report to correctly handle multiple currencies.
Improve the Owner Report's find-first function to consider currency when
selecting the account.
Prevent cutting the "anchor" split or pasting another split on top of
it in account registers so that the transaction won't suddenly
disappear from the register page. Displays an explanatory dialog just
like trying to delete the anchor split does. Allow deleting, cutting,
and pasting over all splits in Journal View registers which don't have
anchor splits because they're not associated with any account.
Disable editing the "blank split" (the new split at the bottom of a
transaction in split view) if the transaction itself is read-only.
Use the customer and vendor currency instead of the default currency from
preferences when generating bills, invoices, or credit notes.
Allow assigning a single target account to more than one transaction in
the import matcher. To do this select the new transactions and
right-click to open a single-item context menu. Click the menu item
to open the account selection dialog box. Note that imported
transactions that match transactions already in the eriger,
i.e. those marked "update" or "reconcile and update" are not eligible
for inclusion.
This feature still has some rough edges that are being addressed for
the next release.
Use the default currency from Properties>Accounts for the summary bar
currency to make it configurable.
Allow CSV export of grand total amounts from reports using the trep-engine.
Fix XML file import failures into GnuCash for Android.
Raise minimum CMake version to 3.5 for all platforms.
Prevent crash in Aging Report when the book has no AP or AR accounts.
Fix operation of the "default budget" option.
Change the account-picker dialog to disable the OK button instead of
raising a warning dialog if the selected account is a placeholder.
Fix crash after unloading all files from the QIF import assistant.
Disable the Next button in the QIF import assistant if no files are
selected for import.
New report "Balance Sheet-PNL" combines a Balance Sheet and an Income
Statement in a single report.
Rework localization in C++ on Win32 builds, fixing several crashes and
speeding up file loading by 10x.
Create a console window for displaying stdout/stderr. Define
__MSWIN_CONSOLE__ and recompile to enable.
Keep the selection in the Securities Editor on the commodity after
editing it.
Allow the Securities Editor to stack separately from the main window.
Much more Scheme cleanup and refactoring.
Python console improvements, including switching to Python3 and not
killing GnuCash when quitting the console.
New API:
The following functions can now be used in scheduled transaction
credit/debit calculations:
gnc:amort_pmt
gnc:amort_ppmt
gnc:amort_ipmt
API Deprecations:
gnc:html-table-prepend-column!
gnc:html-acct-table-num-cols
gnc:html-acct-table-append-row!
gnc:html-acct-table-prepend-row!
gnc:html-acct-table-append-col!
gnc:html-acct-table-prepend-col!
gnc:html-acct-table-remove-last-row!
gnc:html-acct-table-render
gnc:second-html-build-acct-table
Updated Translations: Croatian, Farsi, German, Romanian, and Ukrainian
Known Issues: (long list redacted)
3.55.0
Add captureId field to local_payment_details
Add refundId field to local_payment_details
Add debugId field to local_payment_details
Add transactionFeeAmount field to local_payment_details
Add transactionFeeCurrencyIsoCode field to local_payment_details
Add refundFromTransactionFeeAmount field to local_payment_details
Add refundFromTransactionFeeCurrencyIsoCode field to local_payment_details
Add ds_transaction_id and three_d_secure_version to 3DS pass thru fields
Add payer_info field to payment_method_nonce details
Add more specific timeout errors
Add braintree.exceptions.http.timeout_error.ConnectTimeoutError (child class of TimeoutError)
Add braintree.exceptions.http.timeout_error.ReadTimeoutError (child class of TimeoutError)
Add room_tax support for transaction sale
Add no_show support for transaction sale
Add advanced_deposit support for transaction sale
Add fire_safe support for transaction sale
Add property_phone support for transaction sale
Add additional_charges support for transaction sale
Add PostalCodeIsRequiredForCardBrandAndProcessor to validation errors
Fix issue where not found error could choke on None values
0.9.2
BUG Get axis instead of figure.
0.9.1
This is a bugfix release fixing an indentation bug.
0.9.0
New features
Previously, pyfolio has required a benchmark, usually the U.S. market
returns SPY. In order to provide support for international equities and
alternative data sets, pyfolio is now completely independent of benchmarks.
If a benchmark is passed, all benchmark-related analyses will be performed;
if not, they will simply be skipped.
Performance attribution tearsheet
Improved implementation of get_turnover
Users can now pass in extra rows (as a dict or OrderedDict) to display in the perf_stats table
Maintenance
Many features have been more extensively troubleshooted, maintained and
tested.
Various fixes to support pandas versions >= 0.18.1
0.5.0
DEP: Deprecate all data reading functionality via pandas-datareader
* DEP: Deprecate all functions using pandas-datareader
* DOC: Update README with deprecation documentation
* STY: Markdown style
* STY: Markdown style again
* REV: revert previous commit
* STY: typo
* STY: consistent naming convention
* DEP: also deprecate any cacheing of data
* DEP: forgot to deprecate additional funcs
* REV: get_utc_timestamp should not be deprecated
* ENH: add function to compute returns from prices
* BUG: wrap import in try-except
* MAINT: update deprecation warning
* MAINT: move `simple_returns` func to `stats` module
* MAINT: don't raise deprecation warning for _1_bday_ago
* DOC: remove suggestions
* TST: added test for simple_returns
* MAINT: add simple_returns to init
* TST: fixed simple_returns test
* STY: use size, not shape
* TST: tests passing
* DOC: 1_bday_ago no longer deprecated
1.9.74.123:
- Correct calculation in haDelta indicator
- Use initial datalabel for non-overlaid volume plot
1.9.73.123:
- Add utility NonZeroDifference indicator
- Redefine CrossUp, CrossDown and CrossOver indicators using
NonZeroDifference to cover the case in which the crossing entities
converge right before crossing up and down
1.9.72.122:
- Cover case in which result in high-level overridden operations have
multiple lines and wer not be taken into account for minimum period
calculations
- Add "Int" variants of percentage based sizers to import
- Trades observer to show net profit instead of brutto, with parameter
to control behavior
1.9.71.122:
- Improve on indicator legend plotting to overcome matplotlib legend
reordering
- Added PercenSizerInt and AllSizerInt which truncate the returned size
to an int, suited better for stocks/futures
1.9.70.122:
- Use opening price for submission check for Market orders when
cheat-on-open is active
- Update pnlcomm on all operations and not just profit/loss locking
- Correct comment for fillalpha and add baralpha for candlestick opacity
- Use internal dict for data feed presence test and update trade observer
1.9.69.122:
- Fix offline Yahoo feed by moving the new adjclose line up to the offline
feed
- Adapt the yahoodownload tool to the current status (ex: data not reversed)
- Redownload all yahoo data feeds
1.9.68.122
- Fix call to _nextday in TradingCalendar
- Clean up and rework of Yahoo Data. The data feeds seems to be reliable
again
- IBStore Support for IND prices
1.9.67.122
- Fix compression only scenarios when resampling and resampling after
changes in 1.9.66.122
- Final correction for rollover fix introduced in 1.9.66.122
- Cover use case for mininum period calculation when all
operations/indicators don't use the data feeds directly but lines of it
1.9.66.122
- Fix regression introduced with 8f537a1c2c271eb5cfc592b373697732597d26d6
which voids the count of lost trades
- Allow rollover to distinguish between no values temporarily (with None)
and no values permanently (with False)
- Avoid math domain error for negative returns in logarithmic calculations
- Fix local variable declaration for compound returns
- Fix typo in date2num tz conversion which shows up in direct usage
1.9.65.122
- Fix commission info assigment and orderref seeking in OandaStore
- Add strategy type to OptReturn
- Fix prepend_constant for OLS_Transformation
- Fix LogReturnsRolling compression when not specified
- Have ints instead of bools in some values with 1 Trade in TradeAnalyzer
1.9.64.122
- Avoid stage2 comparison using [0] in API methods
- Support plotname, if given, as name of indicator in csv output
1.9.63.122
- Add optimization callbacks when running with 1 Core
- Correct sell_bracket by removing old append code
- Correct typo in store.py
- Pass period from RateOfChange100 to underlying ROC
1.9.62.122
- Correct PSAR acceleration capping
- Enable PandasData line extension without the need to extend datafields
1.9.61.122
- Add `_skipnan` to plotlines to allow joining two points with a line
- buy_bracket/sell_bracket allow suppressing stop/limit orders
- Add stop-loss approaches sample
- Correct codes for minutes compression
1.9.60.122
- Remove unused files
- README update, Docstring corrections, documentation corrections
- Update travis settings
1.9.58.122
- Provide default fundmode methods for all brokers
- Correct order notification if positions exist when starting the broker
and will be simulated
- Correct csv values output if object has no length
1.9.57.122
- Fix set_fundmode in bbroker
- Synchronize fund history mode with master clock
- Allow relocation of legend in plotting charts
- Adapt broker observer to fund mode
1.9.56.122
- Handle volume as string null in YahooFinanceData
- Corrections/Improvements to order history support
- Add fund history support
- Increase plotting margin of trade observers
v0.3.6
Add option to compute forward returns non-cumulatively
v0.3.5
This is a minor release from 0.3.4 that includes bugfixes, speed enhancement and compatibility with more recent pandas versions. We recommend that all users upgrade to this version.
v0.3.4
This is a minor release from 0.3.3 that includes bugfixes, small enhancements and backward compatibility breakages. We recommend that all users upgrade to this version.
v0.3.3
TEST: added tests for perf.mean_return_by_quantile
3.54.0
Add payment_method_nonce field to LocalPaymentCompleted webhook
Add transaction field to LocalPaymentCompleted webhook
Add LocalPaymentDetails to transactions
Among the changes, support was removed for Qt 4.
Due to issues with my local setup, this could not be tested with Qt 5 enabled
(currently not the default).
2.27.0:
* Add support for the TaxRate resource and APIs
2.26.0:
* Add support for the TaxId resource and APIs
2.25.0:
* Add support for the CreditNote resource and APIs
2.24.1:
* Fix encoding of nested parameters in multipart requests
2.24.0:
* Add delete class method on deletable API resources
* Add class methods for all custom API requests (e.g. Charge.capture)
2.23.0:
* Add support for the PaymentMethod resource and APIs
* Add support for retrieving a Checkout Session
* Add support for deleting a Terminal Location and Reader
2.22.0:
* Add stripe.util.convert_to_dict method for converting StripeObject instances to regular dicts
2.21.0:
* Add support for subscription schedules
2.20.3:
* Fix client telemetry implementation
2.20.2:
* Fix session initialization for multi-threaded environments
2.20.1:
* Make RequestsClient thread-safe
2.20.0:
* Reuse the default HTTP client by default
2.19.0:
* Rename CheckoutSession to Session and move it under the checkout namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
2.18.1:
* Properly serialize individual on Account objects
## 3.1.3 (2019-03-31)
- Properly reject postings with a comment right after the flag (bug #1753)
- Make sorting order of lot information deterministic (bug #1747)
- Fix bug in tag value parsing (bug #1702)
- Remove the `org` command, which was always a hack to begin with (bug #1706)
- Provide Docker information in README
- Various small documentation improvements
The following bugs have been fixed:
Bug 639049 - Asset Barchart Report includes also the first day of next month transactions
If the original date is an end-of-month date, we take it as an
indicator they always want monthdelta dates to be end-of-months.
This works for monthly/quarterly/halfyearly/annual.
Bug 748431 - Wrong average balance for transactions during DST
Replace average-splits with custom loop, cycling through the
balancelist and splitlist, creating interval summaries along the way.
Bug 787401 - Test for the report system - HTML Tests.
Bug 795729 - Advanced Portfolio Report - Percentage rates not displaying leading zeros.
Bug 796498 - Incorrect starting balance in TXF Report calculations.
Bug 796530 - TxnCsvImport - fix loading of saved preset with update of seperator selection. Previously this would cause all but the first column to lose its assigned types.
Bug 796687 - Tax Entity name and type for an account won't work under "Tax Reporting Options" in Gnucash 3.2
Bug 796826 - Report HTML - not possible to suppress the document header.
Bug 796827 - Report HTML - it is not possible to suppress the document title.
Bug 796829 - Report HTML - HTML table rows are prepended not as list elements
Bug 796831 - Report-HTML - append table column correctly.
Bug 796877 - test-stress-options fails.
Bug 796946 - Mortgage and Loan Repayment Setup tool crashes when exiting "Loan Repayment Options" page.
Because libstdc++ on Windows doesn't support any C++ locales besides "C" and throws an exception if you try.
Bug 796952 - Report formatting (justify) is broken.
Bug 796956 - Aqbanking 6 will drop DTAUS
Adds support for the upcoming AQBanking 6 and removes support for AQBanking earlier than 5.3.4.
Bug 796965 - Change the default to show unused accounts.
Bug 796989 - some date/time does not honor user locale.
Bug 797002 - Program crashes when exporting tax data in txf format.
Bug 797011 - GnuCash 3.4 Crashes When Printing Checks with Custom Format.
Bug 797013 - Import Customers & Vendors: error in CMakeLists.txt - causes incomplete project in Xcode.
Bug 797029 - Import Customer & Vendors: blank name and company in import data row crashes GnuCash
Bug 797030 - Import Customer & Vendors: several issues with the matching of data rows.
Bug 797031 - Import customer & Vendors: import can create customer and vendors without address data
Bug 797041 - enum confusion in qoflog.
Bug 797046 - Tools / Price Database / Currencies UI not working since 3.4.
Bug 797067 - Date displayed incorrectly in register.
Bug 797074 - Reports with averages are displaying fractions
Convert amounts to decimal prior to adding to html-table. Also adds tests to make sure averages are displayed in 2 decimal places.
Bug 797098 - Quitting Gnucash shortly after clicking Save may abort file save.
Bug 797105 - Incorrect local-symbol for SZL currency
Bug 797136 - Balance sheet report "Show Exchange rate" broken when foreign currency is sold completely
For cases where total(amount)/total(value) = 0/0, the price is reported as 0.
Other repairs or enhancements not marked as bugs:
API: Add dedicated api to query build-time, version related compile constants and use it in several location in the code for consistent behaviour.
Budget: Save and restore the Account filter settings.
Build: Fix deprecation warnings for g_type_class_add_private.
CSV Tokenizer: Add additional test to guard against quote parsing regressions.
GUI: Replace ambiguous mnemonic for File>Export>Export Active Register...
GUI: Rearrange menu accelerators for Actions>Online Actions menu items
GUI: Add mnemonic for File>Import>Import Bills...
GUI: Move Balance-Forecast report to Reports>Assets & Liabilities
GUI: Move Void Transactions item in Report Options from the Accounts tab to the Filter tab.
I18N: Fix erratic localization of dates on Windows.
Date format selection on Windows relies on Windows National Language functions and those are unaffected by the POSIX setlocale(). We have in the past relied upon gtk initialization to handle this but it has not been reliable since the move to Gtk3. Note that this applies only when the locale is set via a Unix-style environment variable (typically LANG) or in the environment file; it's unnecessary and ignored when using the localization settings in Region & Language.
I18N: Unify phrases to remove untranslated msgids.
I18N: Restore the global locale after Guile munges it.
There's no way to change the environment locale on Windows so calling setlocale(LC_ALL, ""), as guile does in its init routine, reads the user's Language and Region settings instead of the environment variables. We save the discovered environment locale and call setlocale with it again after Guile has initialized.
Importing: Remove old (non-SEPA) online transaction code, because now in 2019 the banks will only offer SEPA transactions and no others. This in turn means we don't need the old ktoblzcheck checking functions at all so also remove the dependency.
Importing: Usability improvements for Bayes editor window
Remove the "Are you sure" question as it is simply annoying but does not help. Fix some string wordings to be more understandable.
Online Banking: No longer force existence of local BIC code.
Online Banking: Entering of TAN must use normal visibility
The visibility of the entered content was set to FALSE (=invisible) always, which was wrong for certain types of input as indicated by the GUI_INPUT_FLAGS. This should now be honored and visibility set to TRUE (=visible) for the correct flags.
Online Banking: Fix reconcile timestamps when importing balances.
Used to be start-of-day, but needs to be day-neutral.
Performance: Provide a single static instance of C++ locale.
We can't use std::locale::global because all streams imbue it by default and if it's not 'C' (aka std::locale::classic) then we must imbue all the streams that we don't want localized, and that's most of them.
Performance: Add GncDateTime::timestamp().
To provide a C++ implementation of gnc_date_timestamp and to avoid using the expensive and localized GncDateTime::format().
Performance: Implement a faster date-time serialization function.
Has the side effect of recording all date-times in XML files in UTC instead of local time with a timezone. This will help users who like to keep their files under version control because the time strings won't shift every time Daylight time begins or ends.
Performance: >Fix XML load CPU hotspot: Scrub.c xaccTransScrubPostedDate
The refactoring provides roughly 10% reduction in user CPU use for XML file load by moving an expensive function to within an if-clause where the result is used.
Performance: Speed-up of txn match dialog: Suspend GUI refresh during deletion of selected lines.
Performance: Sorting speed-up: Cache the bool value of Transaction's is_closing property.
Register: Accept URLs or file paths for files associated with transactions. File paths can be relative or absolute. A preference is provided.
Reports: Speed up the budget and cash flow report calculation by iterating over accounts only once.
Reports: Heavy scrubbing for code readability and performance.
Reports: New Report by Ryan Turner: Balance Forecast Report
This report forecasts the combined balances of the selected accounts based on the scheduled transactions and plots them on a line graph. You can set a "reserve" amount, which will draw a red line on the graph, so you can easily see if your forecast dips below a given value. There is also a "future minimum" line which shows what the lowest future balance will be at a given point. I find this useful in conjunction with the "target" line for planning.
Reports: Fix crash when loading saved-report with unknown choices.
If a saved-report with e.g. relative date, multichoice option is unknown, the report would crash, and the Report-Options would segfault. This commit fixes both: report-date defaults to 'today', multichoice-options defaults to default-value. Following this commit, if a report loads a saved-report or .gcm from a future version, a gnc:warn will be emitted and the report will not crash; it will use relative-date today. Multichoice will remain the default value. Report Options will not segfault. The user will be notified via a gnc:gui-warn dialog
Reports: Date intervals at end-of-month:
Instead of recursing the date, we calculate the next month using an index-based multiplier, and apply modulo/remainder as appropriate to determine the next month/year. Then we attempt to create new mktime, and if the resulting mktime's month is not as expected, reduce the mday by 1 until resulting month is correct. This fixes monthly intervals for end-of-month days. Test via monthly/quarterly deltas, and also includes leapyear calculation.
Reports: Date-grouping must allow indenting.
Indenting checkbox was erroneously disabled when: sortkey = date, date-subtotal = not 'none.
Reports: Table display
It is intuitive that if the user wishes to show the subtotal-table, and hide the transactions, then both the main (hidden) transactions and subtotals must be hidden as well.
Reports: Update US Income Tax information for 2018.
Scheme Deprecations:
account-assoc
account-hash
account-hashtable-ref
account-hashtable-set!
account-in-alist
account-in-list-pred
account-in-list?
account-same?
gnc-commodity-collector-commodity-count
gnc-commodity-collector-contains-commodity?
gnc:commodity-collectorlist-get-merged
gnc:exchange-by-pricedb-helper
gnc:exhange-by-pricevalue-helper
gnc:get-commoditylist-inst-prices
gnc:hook-run-danglers
gnc:make-drcr-collector
gnc:make-stats-collector
gnc:report-template-menu-name/name
gnc:report-template-name-to-id
gnc:report-template-new-options/name
gnc:report-template-renderer/name
gnc:restore-report
gnc:save-options
split-assoc
split-hash
split-hashtable-ref
split-hashtable-set!
split-in-list?
split-same?
Scheme: Replace account and split utility functions with SRFI-1 functions.
Scheme: Testing (create-transaction) adds price trading commodities/currency this will modify a test which was calibrated to record purchase price only. fix transaction creation to add prices for both purchase and sales, and also fix test which was assuming no sale price was bring recorded.
Scheme: Testing (env-create-multisplit-transaction) This is the general case for any transaction creation. Rewrite other transaction creation routines to use it. All tests still work unchanged, which confirms this function works well. This will allow tests to create multisplit transactions, of an arbitrary number of splits. If the list-of-split's values are not balanced (i.e. total 0), the engine will create an Imbalance-CUR split.
The motivation is to allow creation of complex multisplit multicommodity transactions eg USD50 + GBP20 (USD25) = EUR66 (USD75) as well as their prices GBP/USD = 25/20 and EUR/USD = 75/66.
* USD -50
* USD -25 = GBP -20
* USD +75 = EUR +66
This will be useful in creating tests for stock-based reports, whereby stock sales need splits in STOCK/ASSET/INCOME accounts.
Scheme: Redesign gnc:account-get-balances-at-dates, replacing the ignore-closing? parameter with a split->amount function parameter having a default value of xaccSplitgetAmount. (split->amount split) should return the amount of the split or #f; in the latter case the split is skipped. This allows for a more general account balance list accumulator with novel balance strategies. For example a split->amount function could test void status and return xaccSplitVoidForerAmount on void splits; test description/memo for some content and vary the returned amount accoridingly; or test the split and return 1 or 0 creating a counter. To recreate the ignore-closing use case pass (lambda (s) (and not (xaccTransGetIsClosingTxn (xaccSplitGetParent s))) (xaccSplitGetAcmount s)))
Scheme: Replace some option names. Automatically convert usage of the old names and issue a warning.
Updated Translations: Arabic, Croatian (New!), Farsi, French, German, Spanis, Ukrainian
Updated Account Templates: Belgium (French) (New!), Frsnce, Croatia (New!), Germany. Switzerland (French)
3.52.0
Deprecate GrantedPaymentInstrumentUpdate and add GrantorUpdatedGrantedPaymentMethod and RecipientUpdatedGrantedPaymentMethod
Add account_type support for transaction sale, verification, and payment_method create/update