0.20.1 change log
Mining
* Fix GBT: Restore "!segwit" and "csv" to "rules" key (luke-jr)
P2P protocol and network code
* Replace automatic bans with discouragement filter (sipa)
Wallet
* Handle concurrent wallet loading (promag)
* Minimal fix to restore conflicted transaction notifications (ryanofsky)
RPC and other APIs
* Increment input value sum only once per UTXO in decodepsbt (fanquake)
* psbt: Increment input value sum only once per UTXO in decodepsbt (achow101)
* psbt: Include and allow both non_witness_utxo and witness_utxo for segwit inputs (achow101)
GUI
* Add missing QPainterPath include (achow101)
* update Qt base translations for macOS release (fanquake)
Build system
* improve build OS configure output (skmcontrib)
* qt, build: Fix QFileDialog for static builds (hebasto)
Tests and QA
* Remove cached directories and associated script blocks from appveyor config (sipsorcery)
* appveyor: Remove clcache (MarcoFalke)
Miscellaneous
* util: Don't reference errno when pthread fails (miztake)
* Fix locking on WSL using flock instead of fcntl
4.1 - 26 July 2020
The second release of the 4.x stable series.
Between 4.0 and 4.1, the following bugfixes were accomplished:
Bug 775582 - Change "Petrol" (or Gas if seen in USA) to "Fuel".
Bug 797759 - Some transactions are not highlighted in the matching window
Bug 797787 - Feature request: preference setting to open new tabs adjacent
to currently active tab (as opposed to at the end of the tab
list).
Bug 797825 - OFX import crashes on import of investment transaction
Bug 797827 - 4.0.1 gnucash-cli seg faults on macOS Catalina
Bug 797828 - Budget Barchart was not upgraded
Upgrade to html-chart: Use period start/end instead of
date start/end
Bug 797830 - Expense over time has extra empty row
Bug 797831 - Printer not found
Bug 797834 - Ctrl+A in account register fields chimes after any element
newly focussed.
Bug 797835 - Zero Crossing in 4.0 that wasn't in 3.10
Bug 797842 - Windows: Insertion cursor invisible in Edit Account or New
Account windows until text fields have content.
Bug 797843 - Quickfill broken with Cyrillic input language
Bug 797844 - Typing account number to select account fails
Bug 797845 - Backspace key produces incorrect result
Bug 797847 - Best match probability calculation on import is too
pessimistic.
Lowering the minimum value for the auto-clear preference.
This is to allow user to still auto clear even when date
doesn't match exactly.
Bug 797850 - Account register credit/debit column headings untranslated
Bug 797853 - Crash on "Save As" in MacOS Mojave and Gnucash 4
Bug 797854 - Global Register Preference to prompt for interest payment is
not being honored.
Replace the global preference item with a per-account option,
enabled only on those account types where interest might be
paid or charged.
Bug 797858 - Transaction date is one day too early from SWIFT MT940 import.
Bug 797861 - Yearly / Monthly average reporting displays zeros
Bug 797873 - New Account Hierarchy selects en_US
The following fixes and improvements were not associated with bug reports:
Accommodate Guile-3.0 in Scheme code.
[html-style-info] Display fractional amounts as decimal in price-render
Warn against using xaccTransGetSplit for iteration instead of encouraging it.
Quickfill cells: Remove the selection after a delete.
Accommodate AQBanking < 6 use of GWEN_TIME instead of GWEN_DATE.
ensure averaging-multipler returns exact numbers rather than floats
[gnucash-cli] improve "-R show" to describe report
Don't leak the libofx contexts in gnc_file_ofx_import_process_file/
Make the edit dialog refresh the auto-interest flag display based on pref
Remove global preference for auto-interest-transfer
[Reports] Use SRFI-9 records for HTML styling.
[html-style-sheet] combine 2 similar functions
Let environment override AppleLanguages on Macs.
[balsheet-eg] remove unused functions
[balsheet-eg] modernize accrec to use srfi-9 record
[account.cpp] prevent crash in gnc_account_get_currency_or_parent.
CMakeLists: mark deprecation of .scm files
[eguile-utilities] Ensure that fmtnumeric renders numbers as decimals instead of exact fractions.
[Python Bindings] Implement keyword paramters to selected functions.
[Python Bindings] Adapt to use of sessionOpenMode in qof_session_begin
introduce python submodule deprecation.
Link with libm.so on those platforms that require it.
[account-piecharts] round account->balance to report-currency SCU
[report-utilities] ensure commodity-collector doesn't round amounts
[advanced-portfolio] simplify basis functions
[advanced-portfolio] simplify basis-builderand use scheme division which is more accurate than gnc_numeric_div. tests need to change slightly.
[git-release-notes.pl] html-escape strings in the html output.
Updated Translations: Croatian, Hebrew, Italian, Japanese, Romanian, Ukrainian
0.20.0 change log
Mining
* miner: Avoid stack-use-after-return in validationinterface
Block and transaction handling
* log: Fix UB with bench on genesis block
* feefilter: Compute the absolute fee rather than stored rate
* log: Add validation interface logging
* log: Add timing information to FlushStateToDisk()
* O(1) OP_IF/NOTIF/ELSE/ENDIF script implementation
* introduce CChainState::GetCoinsCacheSizeState
* Walk pindexBestHeader back to ChainActive().Tip() if it is invalid
* Remove REJECT code from CValidationState
* Explain why fCheckDuplicateInputs can not be skipped and remove it
* GuessVerificationProgress: cap the ratio to 1
* Templatize ValidationState instead of subclassing
* node: Add reference to mempool in NodeContext
* prevector: Avoid misaligned member accesses
* Improve UpdateTransactionsFromBlock with Epochs
* Abstract out script execution out of VerifyWitnessProgram()
* Make VerifyWitnessProgram use a Span stack
* serialization: prevent int overflow for big Coin::nHeight
* chainparams: Bump assumed valid hash
* Do not clear validationinterface entries being executed
P2P protocol and network code
* Remove BIP61 reject messages
* Supply and use asmap to improve IP bucketing in addrman
* Continue relaying transactions after they expire from mapRelay
* Avoid allocating memory for addrKnown where we don't need it
* tools: add PoissonNextSend method that returns mockable time
* SocketHandler logs peer id for close and disconnect
* Seed RNG with precision timestamps on receipt of net messages
* Fix an uninitialized read in ProcessMessage(…, "tx", …) when receiving a transaction we already have
* Don't allow resolving of std::string with embedded NUL characters. Add tests
* Fix CNetAddr::IsRFC2544 comment + tests
* config, net, test: Asmap feature refinements and functional tests
* Use rolling bloom filter of recent block txs for AlreadyHave() check
* Remove forcerelay of rejected txs
* Fix some asmap issues
* Reference instead of copy in BlockConnected range loop
* Fix use-after-free in tests
* Make addr relay mockable, add test
* Add missing cs_vNodes lock
* Hardcoded seeds update for 0.20
* Drop unknown types in getdata
* Only send a getheaders for one block in an INV
Wallet
* Replace %w by wallet name in -walletnotify script
* Remove GetDepthInMainChain dependency on locked chain interface
* bumpfee: Return PSBT when wallet has privkeys disabled
* Disable -fallbackfee by default
* Make IsTrusted scan parents recursively
* Change default address type to bech32
* Only check the hash of transactions loaded from disk
* Handle duplicate fileid exception
* descriptors: Introduce sortedmulti descriptor
* Avoid showing GUI popups on RPC errors
* Remove wallet access to some node arguments
* LearnRelatedScripts only if KeepDestination
* Split some CWallet functions into new LegacyScriptPubKeyMan
* Make ScriptPubKeyMan an actual interface and the wallet to have multiple
* Enable BnB coin selection for preset inputs and subtract fee from outputs
* Various fixes and cleanup to keypool handling in LegacyScriptPubKeyMan and CWallet
* Rename db log category to walletdb
* Avoid showing GUI popups on RPC errors
* Make -walletdir network only
* Cleanup and move opportunistic and superfluous TopUp()s
* Remove out of date comments for CalculateMaximumSignedTxSize
* Fix when sufficient preset inputs and subtractFeeFromOutputs
* Activate watchonly wallet behavior for LegacySPKM only
* Document better -keypool as a look-ahead safety mechanism
* Reset reused transactions cache
* Improve CWallet:MarkDestinationsDirty
* Get the OutputType for a descriptor
* Improve LegacyScriptPubKeyMan::CanProvide script recognition
* Pass in transactions and messages for signing instead of exporting the private keys
* Bugfix: Wallet: Safely deal with change in the address book
* descriptors: Improve descriptor cache and cache xpubs
* rpc/wallet: Initialize nFeeRequired to avoid using garbage value on failure
* Remove deprecated fee bumping by totalFee
* Fix wallet unload race condition
RPC and other APIs
* Add RPC Whitelist Feature
* cli: -stdinwalletpassphrase and non-echo stdin passwords
* Add missing fields to wallet rpc help output
* Fix bug where duplicate PSBT keys are accepted
* UTXO snapshot creation
* psbt: Check that various indexes and amounts are within bounds
* Set default bip32derivs to true for psbt methods
* improve getaddressinfo test coverage, help, code docs
* cli: Add "headers" and "verificationprogress" to -getinfo
* replace asserts in RPC code with CHECK_NONFATAL and add linter
* Expose block height of wallet transactions
* Remove unused COINBASE_FLAGS
* Simplify getaddressinfo labels, deprecate previous behavior
* deprecate getaddressinfo label
* Remove vector copy from listtransactions
* Auto-format RPCResult
* Output a descriptor in createmultisig and addmultisigaddress
* Update validateaddress RPCExamples to bech32
* Change RPCExamples to bech32
* Remove redundant types from descriptions
* Document an RPCResult for all calls; Enforce at compile time
* Add missing HelpExampleRpc for getblockfilter
* Fix broken RPCExamples for waitforblock(height)
* Remove final comma for last entry of fixed-size arrays/objects in RPCResult
* Remove unused getbalances() code
* Correctly compute redeemScript from witnessScript for signrawtransaction
* Fix rpcRunLater race in walletpassphrase
* Make rpc documentation not depend on call-time rpc args
* Avoid initialization-order-fiasco on static CRPCCommand tables
* Make verifychain default values static, not depend on global args
* Do not advertise dumptxoutset as a way to flush the chainstate
* Relock wallet only if most recent callback
GUI
* Restore RPC Console to non-wallet tray icon menu
* Don't disable the sync overlay when wallet is disabled
* Show addresses for "SendToSelf" transactions
* Add shortcuts for tab tools
* create PSBT with watch-only wallet
* Change sendcoins dialogue Yes to Send
* Always generate bitcoinstrings.cpp on make translate
* Rename debug window
* Make RPCConsole::TabTypes an enum class
* Add toolTip and placeholderText to sign message fields
* Remove BIP70 support
* Improved tooltip for send amount field
* Add placeholder text to the sign message field
* Send amount placeholder value
* Fix payAmount tooltip in SendCoinsEntry
* Cleaning up hide button tool tip
* Changed tooltip for 'Label' & 'Message' text fields to be more clear
* Fix intro dialog labels when the prune button is toggled
* Bugfix: GUI: Recognise NETWORK_LIMITED in formatServicesStr
* Bump fee returns PSBT on clipboard for watchonly-only wallets
* Remove macOS start on login code
* Show watch-only balance in send screen
* Disable 3rd-party tx-urls when wallet disabled
* Force set nPruneSize in QSettings after the intro dialog
* Move static placeholder texts to forms
* Log Qt related info
* Restore English translation option
* Set CConnman byte counters earlier to avoid uninitialized reads
* Hide HD & encryption icons when no wallet loaded
* Shortcut to close ModalOverlay
* Bugfix: GUI: Hide the HD/encrypt icons earlier so they get re-shown if another wallet is open
* Drop PeerTableModel dependency to ClientModel
* Fix unintialized WalletView::progressDialog
* Pass clientmodel changes from walletframe to walletviews
* Fix deprecated QCharRef usage
* Throttle GUI update pace when -reindex
* Fix race in WalletModel::pollBalanceChanged
* Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged
* Bump transifex slug and update English translations for 0.20
* Display mapped AS in peers info window
* Translations update pre-branch
* Fix Window -> Minimize menu item
* Fix leak in CoinControlDialog::updateView
* Fix manual coin control with multiple wallets loaded
Build system
* Remove mingw linker workaround from win gitian descriptor
* Use new fork of osslsigncode for windows gitian signing
* Only pass --disable-dependency-tracking to packages that understand it
* Bump libevent to 2.1.11 in depends
* gitian: Various improvements for windows descriptor
* Disable _FORTIFY_SOURCE when enable-debug
* Switch to upstream libdmg-hfsplus
* Remove workaround for ancient libtool
* Added double quotes
* Add variable printing target to Makefiles
* depends macOS: point --sysroot to SDK
* Fix boost mac cross build with clang 9+
* Remove OpenSSL
* Update retry to current version
* nsis: Write to correct filename in first place
* Update univalue subtree
* Update leveldb to 1.22+
* Avoid hardcoded libfaketime dir in gitian
* Fix C{,XX} pickup
* Set gitian arch back to amd64
* Make Travis catch unused variables
* Bump minimum libc to 2.17 for release binaries
* Create test utility library from src/test/util/
* Remove libanl.so.1 from ALLOWED_LIBRARIES
* Fix configure report about qr
* Allow export of environ symbols and work around rv64 toolchain issue
* lcov: filter depends from coverage reports
* Add ability to skip building qrencode
* Support for S390X and POWER targets
* util: Update tinyformat to upstream
* Don't configure xcb_proto
* Remove Qt networking features
* Remove linking librt for backwards compatibility
* Remove configure checks for win libraries we don't link against
* Included test_bitcoin-qt in msvc build
* Remove WINDOWS_BITS from build system
* Set AC_PREREQ to 2.69
* Add -Wdate-time to Werror flags
* Remove double LIBBITCOIN_SERVER linking
* Consistent use of package variable
* guix: Pin Guix using guix time-machine
* pass -fno-ident in Windows gitian descriptor
* Remove --large-address-aware linker flag
* Don't embed a build-id when building libdmg-hfsplus
* Fix behavior when ALLOW_HOST_PACKAGES unset
* Add missing attributes to Win installer
* Skip i686 build by default in guix and gitian
* Add cov_fuzz target
* Add --enable-determinism configure flag
* Add Wreturn-type to Werror flags, check on more Travis machines
* Remove Boost Chrono
* Set minimum Automake version to 1.13
* guix: Remove now-unnecessary gcc make flag
* Use git archive as source tarball
* Fix libevent linking for bench_bitcoin binary
* scripts: Previous_release: improve behaviour on failed download
* Remove double LIBBITCOIN_SERVER from bench-Makefile
* Create test_fuzz library from src/test/fuzz/fuzz.cpp
* Fix boost detection for arch armv7l
* gitian: Add missing automake package to gitian-win-signer.yml
* Check libevent minimum version in configure script
* Ensure source tarball has leading directory name
Platform support
* Add Android NDK support
* macOS toolchain update
* Increase init file stop timeout
* Remove OpenSSL PRNG seeding
* Update README.md with working Android targets and API levels
* Only use D-Bus with Qt on linux
* Set minimum supported macOS to 10.12
* Appveyor install libevent[thread] vcpkg
* Remove deprecated key from macOS Info.plist
* Pass -dead_strip_dylibs to ld on macOS
* Don't use OpenGL in Qt on macOS
* Add -bind_at_load to macOS hardened LDFLAGS
* scripts: Add macho pie check to security-check.py
* random: don't special case clock usage on macOS
* scripts: Add macho dylib checks to symbol-check.py
* msvc: Ignore msvc linker warning and update to msvc build instructions
* windows: Enable heap terminate-on-corruption
* logging: Enable thread_local usage on macos
* Fix .gitignore policy in build_msvc directory
* scripts: Add macho lazy bindings check to security-check.py
* util: Fix compilation with mingw-w64 7.0.0
* Fix sysctl() detection on macOS
* random: remove getentropy() fallback for macOS < 10.12
* scripts: Add pe dylib checking to symbol-check.py
* scripts: Add macho tests to test-security-check.py
* releases: Update with new Windows code signing certificate
* Fix ASLR for bitcoin-cli on Windows
Tests and QA
* Build previous releases and run functional tests
* Add coverage to estimaterawfee and estimatesmartfee
* lint: Run the ci lint stage on mac
* Add getdescriptorinfo functional test
* Add wallet_implicitsegwit to test the ability to transform keys between address types
* Add ASSERT_DEBUG_LOG to unit test framework
* travis: Run full test suite on native macos
* Use self.chain instead of 'regtest' in all current tests
* add unit test for wallet watch-only methods involving PubKeys
* Add generatetodescriptor RPC
* Fix combine_logs.py for AppVeyor build
* Show debug log on unit test failure
* Seed test RNG context for each test case, print seed
* ci: Use busybox utils for one build
* Fix Python Docstring to include all Args
* ci: Run tests on arm
* Pass fuzzing inputs as constant references
* Add test for loadblock option and linearize scripts
* fix "tx-size-small" errors after default address change
* Speed up wallet_backup by whitelisting peers
* Speed up wallet_address_types by whitelisting peers
* Fix bug in blockfilter_index_tests
* use default address type
* ci: Enable address sanitizer
* Add testcase to simulate bitcoin schema in leveldb
* Remove no longer needed UBSan suppressions
* Add unit testing for the CompressScript function
* Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible
* Add RegTestingSetup to setup_common
* travis: Run unit and functional tests on native arm
* Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed
* ci: Disable functional tests on mac host
* Fix script_p2sh_tests OP_PUSHBACK2/4 missing
* bench: Fix negative values and zero for -evals flag
* pubkey: Assert CPubKey's ECCVerifyHandle precondition
* Added TestWrapper class for interactive Python environments
* Add new mempool benchmarks for a complex pool
* add reason checks for non-standard txs in test_IsStandard
* Fix input size assertion in wallet_bumpfee.py
* Add rpc_fundrawtransaction logging
* Add shrinkdebugfile=0 to regtest bitcoin.conf
* Speed up fundrawtransaction test
* Do not instantiate CAddrDB for static call CAddrDB::Read()
* Speed up wallet_avoidreuse, add logging
* add "diamond" unit test to MempoolAncestryTests
* Reset global args between test suites
* ci: Run non-cross-compile builds natively
* TestShell: Fix typos & implement cleanups
* Create new test library
* wallet_importmulti: use addresses of the same type as being imported
* Add missing newline in util_ChainMerge test
* Add util_ArgParsing test
* travis: Rework cache_err_msg
* ci: Make ci system read-only on the git work tree
* check custom ancestor limit in mempool_packages.py
* Update valgrind suppressions
* Check custom descendant limit in mempool_packages.py
* Remove fragile assert_memory_usage_stable
* ci: Use clang-8 for fuzzing to run on aarch64 ci systems
* Add unit test for non-standard txs with too large scriptSig
* Skip tests when utils haven't been compiled
* Add unit test for non-standard bare multisig txs
* Add bounds checks before base58 decoding
* ci: Bump to clang-8 for asan build to avoid segfaults on ppc64le
* Wait until mempool is loaded in wallet_abandonconflict
* Add functional test for non-standard txs with too large scriptSig
* Add functional test for non-standard bare multisig txs
* Add unit test for non-standard txs with wrong nVersion
* Add libtest_util library to msvc build configuration
* ci: Add big endian platform - s390x
* Move more utility functions into test utility library
* Add option --valgrind to run the functional tests under Valgrind
* ci: Add centos 7 build
* Add unit test for leveldb creation with unicode path
* Add initialization order fiasco detection in Travis
* Enable tests which are incorrectly skipped when running test_runner.py --usecli
* Fix bug in the descriptor parsing fuzzing harness
* re-enable CLI test support by using EncodeDecimal in json.dumps()
* add unit test for non-standard "scriptsig-not-pushonly" txs
* ci: Fix qemu issues
* ci: Update github actions ci vcpkg cache on msbuild update
* Change filemode of rpc_whitelist.py
* ci: Fix brew python link
* Add std::to_string to list of locale dependent functions
* Fix double-negative arg test
* ci: Combine 32-bit build with centos 7 build
* Test OP_CSV empty stack fail in feature_csv_activation.py
* Fix p2p_invalid_messages failing in Python 3.8 because of warning
* add unit test for non-standard txs with too large tx size
* Check specific reject reasons in feature_csv_activation.py
* Add p2p test for forcerelay permission
* Updated appveyor job to checkout a specific vcpkg commit ID
* fix fuzzing using libFuzzer on macOS
* bench: Fix benchmarks filters
* reset fIsBareMultisigStd after bare-multisig tests
* Fix appveyor test_bitcoin build of *.raw
* util: Allow scheduler to be mocked
* ci: Check for submodules
* Replace 'regtest' leftovers by self.chain
* Set a name for CI Docker containers
* Avoid hitting some known minor tinyformat issues when fuzzing strprintf(…)
* Add harness which fuzzes EvalScript and VerifyScript using a fuzzed signature checker
* Add --valgrind option to test/fuzz/test_runner.py for running fuzzing test cases under valgrind
* ci: Run fuzz testing test cases
* Transaction expiry from mempool
* Remove incorrect assumptions in validation_flush_tests
* Set catch_system_errors=no on boost unit tests
* Add cost_of_change parameter assertions to bnb_search_test
* Reduce unneeded whitelist permissions in tests
* Disable mockforward scheduler unit test for now
* Fix race in p2p_segwit
* Make AnalyzePSBT next role calculation simple, correct
* Add missing syncwithvalidationinterfacequeue
* Wait for both veracks in add_p2p_connection
* Bump timeouts to accomodate really slow disks
* Add bad-txns-*-toolarge test cases to invalid_txs
* rpc: change setmocktime check to use IsMockableChain
* Check that wait_until returns if time point is in the past
* Add locale fuzzer to FUZZERS_MISSING_CORPORA
* fuzz: Add assert(script == decompressed_script)
* Update FUZZERS_MISSING_CORPORA to enable regression fuzzing for all harnesses in master
* fuzz: Add option to merge input dir to test runner
* Explain why test logging should be used
* Add logging to wallet_listsinceblock.py
* Bumpfee test fix
* Add deserialization fuzzing of SnapshotMetadata
* fuzz: Add missing ECC_Start to key_io test
* Add basic test for BIP 37
* Fix mining to an invalid target + ensure that a new block has the correct hash internally
* Bugfix & simplify bn2vch using int.to_bytes
* Don't assume presence of __builtin_mul_overflow(…) in MultiplicationOverflow(…) fuzzing harness
* add executable flag for rpc_estimatefee.py
* listsinceblock block height checks
* ci: Only clone bitcoin-core/qa-assets when fuzzing
* ci: Use homebrew addon on native macos
* Add coverage for script parse error in ParseScript
* Remove unsafe BOOST_TEST_MESSAGE
* check that peer is connected when calling sync_*
* ci: Use focal for fuzzers
* add BIP37 'filterclear' test to p2p_filter.py
* Remove redundant sync_with_ping after add_p2p_connection
* fuzz: Avoid running over all inputs after merging them
* fuzz: Add CScriptNum::getint coverage
* remove rapidcheck integration and tests
* Add BIP37 remote crash bug [CVE-2013-5700] test to p2p_filter.py
* relax bumpfee dust_to_fee txsize an extra vbyte
* fuzz: Extend descriptor fuzz test
* fuzz: Extend script fuzz test
* fuzz: Add process_messages harness
* Add fuzzer version of randomized prevector test
* skip backwards compat tests if not compiled with wallet
* wallet_bumpfee assertion fixup
* Use one node to avoid a race due to missing sync in rpc_signrawtransaction
* Properly raise FailedToStartError when rpc shutdown before warmup finished
* ci: Run unit tests sequential once
* Fix unregister_all_during_call cleanup
* Set -use_value_profile=1 when merging fuzz inputs
* Remove enumeration of expected deserialization exceptions in ProcessMessage(…) fuzzer
* Add test for conflicted wallet tx notifications
* Remove const to work around compiler error on xenial
Documentation
* Doxygen-friendly script/descriptor.h comments
* Add detailed info about Bitcoin Core files
* Doxygen-friendly CuckooCache comments
* move-only: Steps for "before major release branch-off"
* Update bips.md for default bech32 addresses in 0.20.0
* Fix Makefile target in benchmarking.md
* Add missing indexes/blockfilter/basic to doc/files.md
* Fix broken bitcoin-cli examples
* Add switch on enum example to developer notes
* Update macdeploy README to include all files produced by make deploy
* github: Add warning for bug reports
* Added instructions for how to add an upsteam to forked repo
* Add a note about backporting
* Correct function name in ReportHardwareRand()
* Describe log files + consistent paths in test READMEs
* Changed miniupnp links to https
* Add developer note on c_str()
* Bip70 removal follow-up
* Fix help-debug -checkpoints
* update MSVC instructions to remove Qt OpenSSL linking
* Add template for good first issues
* Fix some misspellings
* Add ShellCheck to lint tests dependencies
* Update doc/bips.md with recent changes in master
* Added regtest config for linearize script
* Add some better examples for scripted diff
* Remove bitness from bitcoin-qt help message and manpage
* Update and improve Developer Notes
* Changed MiniUPnPc link to https in dependencies.md
* Change doxygen URL to doxygen.bitcoincore.org
* Update release process with latest changes
* Unify unix epoch time descriptions
* script: Add keyserver to verify-commits readme
* Rename wallet-tool references to bitcoin-wallet
* Add "ci" prefix to CONTRIBUTING.md
* Use recommended shebang approach in documentation code block
* Fix directory path for secp256k1 subtree in developer-notes
* Mention PR Club in CONTRIBUTING.md
* Misc RPC help fixes
* Developer notes guideline on RPCExamples addresses
* Update dependencies.md
* Add to Doxygen documentation guidelines
* Fix improper Doxygen inline comments
* Improve fuzzing docs for macOS users
* Fix doxygen errors
* Add missing supported rpcs to doc/descriptors.md
* Add note about brew doctor
* Remove PPA note from release-process.md
* Minor grammatical changes and flow improvements
* Add missing step in win deployment instructions
* Add warning against wallet.dat re-use
* Correct spelling errors in comments
* interfaces: Describe and follow some code conventions
* Explain rebase policy in CONTRIBUTING.md
* Mention MAKE=gmake workaround when building on a BSD
* Replace remaining literal BTC with CURRENCY_UNIT
* Add fuzzing quickstart guides for libFuzzer and afl-fuzz
* Fix nit in getblockchaininfo
* Comment fix merkle.cpp
* note the costs of fetching all pull requests
* Update init and reduce-traffic docs for -blocksonly
* Block-relay-only vs blocksonly
* Explain new test logging
* Update webchat URLs in README.md
* Fix git add argument
* Correct scripted-diff example link
* Fix naming of macOS SDK and clarify version
Miscellaneous
* lockedpool: When possible, use madvise to avoid including sensitive information in core dumps
* Merge settings one place instead of five places
* On bitcoind startup, write config args to debug.log
* util: Replace boost sleep with std sleep
* util: Fix compilation errors in support/lockedpool.cpp
* scripts: In linearize, search for next position of magic bytes rather than fail
* Add some general std::vector utility functions
* contrib: Bump gitian descriptors for 0.20
* scripts: Update copyright_header script to include additional files
* util: Simplify path argument for cblocktreedb ctor
* random: Remove call to RAND_screen()
* util: Add check_nonfatal and use it in src/rpc
* Replace the LogPrint function with a macro
* util: Rename decodedumptime to parseiso8601datetime
* Feed environment data into RNG initializers
* contrib: Remove accounts from bash completion
* Add assertion to randrange that input is not 0
* log: Fix log message for -par=1
* linter: Strip trailing / in path for git-subtree-check
* scripts: Search for first block file for linearize-data with some block files pruned
* scripts: Lint gitian descriptors with shellcheck
* util: Disallow network-qualified command line options
* random: mark RandAddPeriodic and SeedPeriodic as noexcept
* Fix CPUID subleaf iteration
* util: Make schedulebatchpriority advisory only
* util: Remove unwanted fields from bitcoin-cli -getinfo
* script: Fixed wget call in gitian-build.py
* Make env data logging optional
* util: Don't allow base58 decoding of non-base58 strings. add base58 tests
* util: Change getwarnings parameter to bool
* util: Don't allow base32/64-decoding or parsemoney(…) on strings with embedded nul characters. add tests
* scripts: Read suspicious hosts from a file instead of hardcoding
* util: Avoid potential uninitialized read in formatiso8601datetime(int64_t) by checking gmtime_s/gmtime_r return value
* Fix a violation of C++ standard rules where unions are used for type-punning
* util: Fail to parse empty string in parsemoney
* util: Fail to parse whitespace-only strings in parsemoney(…)
* util: Helpexamplerpc formatting
* Fix missing header in sync.h
* script: Fix script_err_sig_pushonly error string
* util: Limit decimal range of numbers parsescript accepts
* init: Replace URL_WEBSITE with PACKAGE_URL
* Remove PID file at the very end
* Avoid non-trivial global constants in SHA-NI code
* Do not expose and consider -logthreadnames when it does not work
4.0 - 28 June 2020
o Screenshot: Change a Transaction Association Dialog
o Transaction assoc illustration: Symbols
o Update "Using Entry Shortcuts"
o Remove the register type group default setting description.
o New Bill: Fix some labels to match what the dialog displays.
o Document editing entries in an employee voucher.
o Document new default layout customization for Invoices and Bills.
o Fix docbook validity errors.
o New section in help: Associating and External File with a Transaction.
o Rewrite the New Accounts Hierarch Setup section.
o Document setting register column width layout.
o Fix obsolete guide cross-reference.
o Remove obsolete Docbook declaration comments from docs
3.11 - 28 June 2020
o Bug 770132 - Price editor does not find ASX:XROAmmend last commit
German translation Patch other translations Update pt
for easier synchronization
o Bug 797783 - [PATCH] The "over" and "under" estimate in the
unrealized capital gain chapter should be reversed.
o Right align numerical column in fq-spec-tiaa
o Fix obsolete guide cross-reference.
o Appendix: add "Ticker" to distinguish from security numbers
o Note on dots in yahoo symbols
o Minor Correction to Help ManualCorrect reconciliation action on
U+C entry in table from 'n' to 'c' Modification of PR #137.
o Improve links to Selingers tutorialsUse entities, also for titles
o Modifications to Guide Ch12 to include multi-currency transactions
using trading accounts.Split the multi-currency transaction after
the initial introduction into two sections. The first is the
original dealing with the treatment of multicurrency transactions
using manual recording of the gains and losses.
3.905 - 14 June 2020
o Bug 770132 - Price editor does not find ASX:XRO
o Bug 797783 - [PATCH] The "over" and "under" estimate in the
unrealized capital gain chapter should be reversed.
o L12N:it, pt update: Vanguard is part of AlphaVantage.
o Update fq-sources.html: asx source is working again.
Also explain why you need F::Q 1.41
o Tell travis to use ubuntu-18.04-docker file
o Appendix: add "Ticker" to distinguish from security numbers.
o Note on dots in yahoo symbols.
3.904 - 7 June 2020
No changes.
3.903 - 1 June 2020
o L10N of "Improve links to Selinger's tutorials"
o Minor Correction to Help ManualCorrect reconciliation action on
U+C entry in table from 'n' to 'c' Modification of PR #137
o Improve links to Selingers tutorialsUse entities, also for titles
o Modifications to Guide Ch12 to include multi-currency transactions
using trading accounts.Split the multi-currency transaction after
the initial introduction into two sections. The first is the original
dealing with the treatment of multicurrency transactions using
manual recording of the gains and losses. The second new section
deals with gains and loss treatment using trading accounts. Basic
introduction to trading account concepts added and an example of a
transfer of funds between accounts in different currencies is added.
o Minor imrovements on Invoice IDUnification of lists
o CI for gnucash-docs should be on Ubuntu 18.04 to match gnucash.
What's New in GnuCash 4.0
Major Highlights
A new Transaction Association dialog, available from the Update
Association for Transaction menu item that has replaced the two
association items in 3.x, allows setting, changing, and deleting
associations.
A symbol (paperclip for files, chain links for URLS) is now displayed
in the Associations column (visible in double-line mode) in the
register in place of the letters when a transaction has an
association. This doesn't work on MacOS.
Associations may now be added to bills, credit notes, invoices, and
vouchers. The actual association when present is added as a link
button which is shown below the notes.
New type-ahead search is added to sequential search when selecting an
account or an Action in the register: Instead of typing the first few
characters of a top level account, the separator, the first few
characters of the next level account and so on you may instead type a
few characters of any part of a full account name and the drop-list
will be filtered to contain only matching accounts. Once you have a
small enough list you can use the arrow keys to select the account
that you want.
Command-Line
A new separate executable, gnucash-cli (gnucash-cli.exe on Microsoft
Windows) for doing command-line things like updating the prices in
your book. gnucash-cli gains the ability to run reports from the
command line. Specify reports to run by name or guid. It also provides
an export format and an output file name without which it will output
the report to stdout.
gnucash-cli --report run --name=[reportname/guid] datafile.gnucash
gnucash-cli --report run --name=[reportname/guid] --output-file=x.html datafile.gnucash
gnucash-cli --report run --name=[reportname/guid] --output-file=x.html --export-type=TYPE datafile.gnucash
gnucash-cli --help will display a screen listing all of the available
commands and their options.
The GUI program, gnucash, still responds to the options it always has,
though --get-price-quotes is deprecated in favor of gnucash-cli
--quotes get.
Graphic User Interface
When creating a new account hierarchy it's now possible to load
account templates from locales other than the one set for the user
interface.
On the Choose Accounts to Create page there are two drop-downs above
the Account Types selector, one for language and one for country, the
choices in the latter depending on the former. The default is the
current locale but they may be used to select account templates from
any locale.
When deleting accounts the destination accounts of moved splits will
be checked to ensure that they have the same commodity as the source
account. If they don't you'll get a warning and the opportunity to
pick another account or to carry on regardless.
Reversing transactions will now pop a dialog box to request a posting
date.
Business Functions
Business Document Column Widths
Entry column widths in Invoices, Bills, and Employee Vouchers may now
be saved as defaults for each type of document.
Two menu items are added to the View menu when a Bill, Invoice, or
Voucher tab has focus: "Use as Default Layout for Vendor Documents" or
"Reset Default Layout for Vendor Documents"
Vendor Documents is for Bills and is replaced by Customer or Employee
Documents for Invoices or Vouchers respectively.
The first saves the current document's column widths and makes them
the default for all documents in the same type. The second menu item
removes the customization and documents of that type will therafter
use the computed default widths.
Importing Transactions
Support for AQBanking Version 6. This is required to support new FinTS
protocols for the European Payment Services Directive (PSD2).
The Import Map Editor (Tools>Edit Import Maps) will scan for Bayesian
associations with non-existent accounts and display a dialog offering
to remove any that are found. It also adds a button at the bottom of
the Import Map Editor to delete them if one chooses not to use the
dialog.
The OFX file importer can now import more than one file at a time.
OFX imports having balance information will now offer to immediately
reconcile, passing the balance information in the file to the
reconcile info.
The import transaction matcher window column headings are changed from
R to C and from U+R to U+C, reflecting that the matcher marks
transactions cleared but doesn't reconcile them.
Account matcher will decline to match accounts with a different
commodity from the imported split if the import information includes
the commodity.
Ellipsize the Description and Memo fields in the account matcher.
Reports
A new report menu supbmenu Multicolumn contains the old
custom-multicolumn report and a new Dashboard report containing
Account reports for expenses and income, an income-expense chart, and
an account summary.
Support for UK VAT and Australian GST have been added to the
Income-GST report. The report's options are changed from source
accounts to source sales and purchase accounts to permit proper
reporting of capital purchases. N.B. This is incompatible with
previous versions of the report and will require regenerating saved
configurations.
Budgets
Optionally include the account code option in budget view.
Enable adding notes to budgets.
Account codes may now optionally be displayed in the Budget Tree
View..
Compatibility
GnuCash 4.x will not migrate old gconf settings from GnuCash 2.4.x.
Customization and Scripting
The GnuCash widget hierarchy for CSS has been revised to be more
consistent with Gtk practice. You may need to spend some time with the
GtkInspector to get your custom CSS back the way you like it.
Python bindings are now localized and their strings available for
translation.
changes in 3.2.1:
- Fix regression with expression evaluation by reverting commit
`Correction to the way parens are parsed in query expressions`
- Fix --invert breakage by reverting commit `Change --invert to invert
displayed amounts and totals, not amounts`
- Fix performance regression by reverting commit `Compare price
annotations using their textual rendering`
- Fix library path issue
- Allow specifying the Python version
- Some documentation fixes
4.1.0
Add DisputeAccepted, DisputeDisputed, and DisputeExpired webhook constants
Add three_d_secure_pass_thru to CreditCard.create, CreditCard.update, PaymentMethod.create, PaymentMethod.update, Customer.create, and Customer.update.
Add Verification validation errors for 3D Secure
Add payment_method_token to CreditCardVerificationSearch
Add recurring_customer_consent and recurring_max_amount to authentication_insight_options for PaymentMethodNonce.create
Add FileIsEmpty error code
Eliminates usage of mutable objects for function parameters.
This package got its stock quotes from web sites that were active around
2000 and that no longer exist. It had not resolved the PREFIX
placeholder, which meant it could not even ask the web sites for the
quotes. Therefore chances are high that this package is not used by
anyone.
LibOFX 0.9.15:
- Fix segfault on uninitialized iconv
- Make file format less stringent
- Minor fixes in the build system
LibOFX 0.9.14:
- Fix proprietary tags striping eating the content of the previous tag if
proprietary tag is in the middle of the line
- Don't output invalid line numbers on the console before SGML processing starts
LibOFX 0.9.13:
- Fix potential heap overflow
- Fix crash on some malformed ofx files
- Fix crash in ofxconnect on missing command line arguments
- Fix for daylight savings time handling
- Easier compile on macos: obey LIBTOOLIZE env variable, and fallback to glibtoolize
- Fix compile on win32 (mingw-w64)
- Performance an reliability fixes in header parsing
- Strip CATEGORY tag added by Chase bank
LibOFX 0.9.12:
- Fix a buffer overflow on unexpected tag names.
LibOFX 0.9.11:
- Add support for client uid, from KDE bug 366326
These PLIST files have been autogenerated by mk/haskell.mk using
HS_UPDATE_PLIST=yes during a bulk build. They will help to track changes
to the packages. The Haskell packages didn't have PLIST files because
their paths contained package hashes. These hashes are now determined by
mk/haskell.mk, which makes it easy to generate easy to read PLIST files.
- Port Python support to Python 3
- Entities are no longer regarded as defined due to being part of a
cleared transaction. `--explicit` is effectively enabled by default
and is now a no-op (PR #1819)
- Add `--average-lot-prices` to show the average of lot prices
- Add support for `%F` date format specifier (bug #1775)
- Add `commodity_price(NAME, DATE)` function
- Add `set_commodity_price(NAME, DATE)` function
- Fix buffer overflow when evaluating date
- Fix balance assertions on accounts with virtual posts (bug #543)
- Fix segfault with `ledger print` (bug #1850)
- Ensure that `apply` directives (like `apply account`) have the
required argument (bug #553)
- Format annotations using a date format that can be parsed
- Change `--invert` to invert displayed amounts and totals, not amounts
(bug #1803)
- Correct the way parens are parsed in query expressions
- Compare price annotations using their textual rendering
- Fix build failure with utfcpp 3.0 (bug #1816)
- Fix build failure due to ambiguous type (bug #1833)
Changes
This is a snap release to reverse the changes to the reconcile
window's filtering reconciled transactions with a reconcile date
after the current statement date when computing the starting balance.
It seems that many users' books have accounts with reconcile dates
in the future that were suddenly filtered out, creating an incorrect
starting balance and making it impossible to reconcile the book.
Between 3.9 and 3.10, the following bugfixes were accomplished:
Bug 620848 - Transfer Funds window - add Notes field
Bug 797006 - Balance is misleading in open subaccounts when different currencies are involved
Bug 797318 - Amounts ending in zero displayed as fractions
Bug 797666 - libgnucash/engine/test/test-recurrence.c: In function 'check_valid': 'result' may be used uninitialized
Bug 797676 - Register displays amount in transaction currency instead of register currency.
Bug 797674 - 3.9: "test-gnc-path-util" failed on Debian amd64
The following fixes and improvements were not associated with bug reports:
Update latest translation from the Translation project.
[window-reconcile] when reconciling, warn on splits having a reconcile date > statement_date
[window-reconcile] when inputing statement_date, warn if it's after today
[find-transactions] add search for reconciled date
Show transaction value, not amount, for registers with subaccounts.
If the register has subaccounts in different currencies and a transaction has splits in more than one, the transaction will incorrectly appear to be unbalanced if we total amounts because the balancing logic works on split values.
Add instance argument to Session constructor
Enables a python console to connect to the running GnuCash's session.
Make python console less noisy without --debug.
Provide locals and globals of calling context to the python console's shell on shell init
Merge Jean Laroche's '797006_subaccounts' into maint.
Add check to display warning dialog for mismatched commodities
Replicate changes in *2 files
Apply astyle to modified files
Merge Chris Mayo's iPython-fixes into maint.
Make pycons/ishell.py compatible with Python 3 and current IPython
[eguile-utilities] Prevent crash in balsheet-eg.scm
[eguile] escape-html -> gnc:html-string-sanitize
[qif-to-gnc] Properly mark intra-QIF internal transfers.
We have a revised Ukrainian translation.
v0.11.0
Bech32 implementation
Segwit implementation (for P2WSH and P2WPKH transactions) and examples
Use libsecp256k1 for signing
Implement OP_CHECKSEQUENCEVERIFY
3.9 - 29 March 2020
The tenth release of the 3.x stable series.
The following bugs have been fixed:
Bug 685102 - Scheduled Transactions don't always respect weekends for
first occurrence
Bug 794916 - Fails to find environment file at startup when installation
prefix is '/opt
Bug 796579 - Cannot go forward with empty duplicates screen
Bug 796911 - Minimum window width to large.
To fix this the text labels used have been enabled to ellipsize
at the end
Bug 796984 - Import Bills & Invoices: date of line item is not validated;
can lead to unexpected results
Bug 796985 - Import Bills & Invoices: option 'open not yet posted docs in
tab' does not open tab if invoice could not be posted
Bug 796986 - Import Bills & Invoices: in case of invalid posting date
in import file, invoice is posted with unexpected date
Bug 796987 - Import Bills & Invoices: fixing import items only works
in special case
Bug 797022 - Import Bills & Invoices: expense/income account is not
validated - leads to one-sided posting if account is invalid
Bug 797023 - Import Bills & Invoices: no user confirmation requested
for update of invoices, if new invoice is created first
Bug 797024 - Import Bills & Invoices: import matches csv data rows with
too few separators, messing up the import data
Bug 797025 - Import Bills & Invoices: the type of the post to account
is not validated - enabling A/P and A/R postings on regular
accounts
Bug 797042 - OK button in OFX importer doesn't work if nothing is
imported.
Bug 797133 - CSV Import of multicurrency transaction export in multiline
form
Bug 797139 - test-report-utilities failure after 10-march in travis
Bug 797419 - equity-statement unrealized-gain calculator uses
weighted-average
Bug 797481 - crash on close of unsaved tabs by pressing [X]
Bug 797522 - Focus after reconcile jumps to a different account
Bug 797536 - cmake errors out because it cannot find GncPkgConfig
(cmake 3.5.2)
Bug 797540 - Mapping of aqbanking accounts to gnucash accounts doesn't
work
Bug 797546 - Autocomplete not updated when account names changed
Bug 797548 - multicolumn income statement: some closing entries are not
ignored when within reporting period
Bug 797549 - Reconcile window shows S_tatement Date rather than
Statement Date.
Bug 797550 - Crash when changing register tab position
Bug 797551 - Budget totals line missing in 3.8
Reinstate Income/Expense/Transfer/Total, but rename to:
* Inflow from Income
* Outflow to Expense
* Outflow to Asset/Equity/Liability
* Remaining to Budget
Bug 797566 - Crash on use of context menu in importer
Bug 797569 - Swedish account templates not accessible
Bug 797570 - Unable to import vendors.
In the import of Customer/Vendor or Bill/Invoice, the
dialog that lists rows that were not imported shows a
scrollable view of only four rows.
Bug 797572 - Customer Report (beta): "Period Totals" includes total debit
and credits outside the current period
Change to formal accounting convention. Can swap to informal
headers if set by global preference.
Bug 797573 - Incorrect value of securities in the Asset Chart
Bug 797576 - xaccAccountOrder shouldn't sort account codes as base-36
Bug 797583 - gnc:book-add-quotes crashes when there are no quotes
Bug 797584 - New-owner - bill amount field links to wrong account
Bug 797588 - Gnucash segfaults when using mysql backend with empty
password
Bug 797591 - multiperiod b/s and PnL reports: add style sheet 'easy'
Bug 797609 - Backtraces for eguile report errors strips wrong part of
stack
Bug 797613 - Due Invoices Reminder shows Job Name instead of Company
Name
Bug 797624 - At some point Vietnam Dong seemed to drop xu (decimals)
Bug 797631 - Superfluous account selection dialog on first online
retrieval
The online id, which is needed to find a GnuCash account
for a transaction or the balance retrieved from an online
account, is already assigned to each matched GnuCash
account within the Online Banking Setup tool. The online
id is removed from the GnuCash account if it is no longer
matched with an AqBanking account.
Bug 797636 - Incorrect Online account matches cannot be deleted
A push button with text "Delete selected matches" is added
to the "Match Online accounts with GnuCash accounts" page
of the "Online Banking Setup" tool. Additionally, the
underlying tree view is set to multiple selection mode
from single selection mode. Pushing the button will remove
the matched GnuCash account from all selected AqBanking
(Online) accounts.
Bug 797638 - SIGSEGV editing transaction after closing Find Accounts
dialog.
Bug 797640 - The Reconciliation Window starting balance calculator
needs to ignore splits after statement date
Bug 797648 - Cannot reconcile both splits of a transaction with 2 splits
for bank account subaccounts if only 1 is cleared
Force all splits in a transaction for the account being
reconciled and its children to have the same
reconciliation status.
Bug 797656 - Immediate crash when retrieving quotes
Other repairs or enhancements not marked as bugs:
[report-utilities] fix gnc:account-accumulate-at-dates sorting &
operator
This commit performs 2 important fixes:
1. The account splitlist walking assumes that the split->date always
increases. This is now enforced by sorting the splitlist, *only* if
a custom split->date is offered. By default the splits are sorted by
posted_date, and if a custom split->date is used, will be
stable-sorted to ensure the algorithm works.
2. The handling of splits *ON* date boundaries is fixed. Previously if
a split->date was equal to a date boundary, it would be considered
part of the "after" date section. It is more intuitive that a date
boundary includes all splits on and before the date.
When selecting a file for OFX import, restrict the files listed to .OFX
(or .QFX)
Fix crash when changing account-separator.
Change the default focus to search entry for 'Find Account'
Fix rounding precision when importing prices from CSV
[trep-engine] subtotals when cells have monetary only
Instead of accumulating subtotals from any non-#f value, ensure value
is a gnc-monetary before accumulating subtotals. This paves the way
to allow non-monetary in RHS custom-calculated-cells.
Travis - don't try to copy the removed after-failure file to the test
container
Travis - use ctest built-in feature to verbosely log test failures
Fix tokenize_string()to prevent empty strings as Bayes account-matching
tokens and remove duplicated tokens.
Fix calculation of Bayes account-matching token info to find exactly
matching tokens only.
Clear online banking KVP from accounts no longer associated with an online
one
Account template improvements for Swiss-German KMU and Germany SKR04.
Appdata file allows packagers to include distribution release information.
Ensure that new budgets are saved instead of saving only the state
information.
Update US Income Tax information for 2019.
Correct double-counting of accounts in some cases in US Income Tax
Report.
Housekeeping - reduce the number of PACKAGE and VERSION related cmake
variables
Restrict gnucash.pot comment collection to ones beginning with
"Translators". At the recommendation of the Translation Project
coordinator.
[html-table][API] html-table can have multirow-col-headers
* NEW API: gnc:html-table-multirow-col-headers and
gnc:html-table-set-multirow-col-headers! gnc:html-table col-headers
have been augmented to support list of <th> rows.
* BACKWARD COMPATIBILITY is offered. Old use of single-row headers API
gnc:html-table-col-headers and gnc:html-table-set-col-headers! should
be unchanged; will get/set a single row of <th> elements.
* NEW functions gnc:html-table-multirow-col-headers and
gnc:html-table-set-multirow-col-headers! will get/set an arbitrary
number of rows of <th> elements.
* using old API gnc:html-table-col-headers on a table, whose multiple
row headers have been set, will lead to a warning and return the first
row only.
Translations Updated: Croatian, German, Polish, Ukrainian.
0.19.1 change log
Wallet
* Fix origfee return for bumpfee with feerate arg
* Fix unique_ptr usage in boost::signals2
* Fix issue with conflicted mempool tx in listsinceblock
* Bug: IsUsedDestination shouldn't use key id as script id for ScriptHash
* IsUsedDestination should count any known single-key address
* Reset reused transactions cache
RPC and other APIs
* cli: Fix fatal leveldb error when specifying -blockfilterindex=basic twice
* require second argument only for scantxoutset start action
* zmq: Fix due to invalid argument and multiple notifiers
* psbt: handle unspendable psbts
* psbt: check that various indexes and amounts are within bounds
GUI
* Fix missing qRegisterMetaType for size_t
* disable File->CreateWallet during startup
* Fix comparison function signature
* Fix unintialized WalletView::progressDialog
Tests and QA
* Appveyor improvement - text file for vcpkg package list
* fix "bitcoind already running" warnings on macOS
* add missing #include to fix compiler errors
Platform support
* Update msvc build for Visual Studio 2019 v16.4
* Updates to appveyor config for VS2019 and Qt5.9.8 + msvc project fixes
* bug-fix macos: give free bytes to F_PREALLOCATE
Miscellaneous
* init: Stop indexes on shutdown after ChainStateFlushed callback
* util: Add missing headers to util/fees.cpp
* Unbreak build with Boost 1.72.0
* scripts: Fix symbol-check & security-check argument passing
* Log to net category for exceptions in ProcessMessages
* Update univalue subtree
From the web site <http://furius.ca/beancount/>:
Beancount is a double-entry bookkeeping computer language that lets
you define financial transaction records in a text file, read them
in memory, generate a variety of reports from them, and provides a
web interface.
4.0.0
Split development and deployments requirements files out
Add Authentication Insight to payment method nonce create
Add ThreeDSecure test payment method nonces
Add test AuthenticationIds
Add three_d_secure_authentication_id to three_d_secure_info
Add three_d_secure_authentication_id support for transaction sale
Breaking Changes
Require Python 3.5+
Remove deprecated Transparent Redirect
Remove deprecated iDeal payment method
Apple Pay register_domains returns an ApplePayOptions object
Remove unrecognized status from Transaction, Subscription, and CreditCardVerification
Remove GrantedPaymentInstrumentUpdate kind from Webhook
Remove Coinbase references
Add GatewayTimeoutError, RequestTimeoutError exceptions
Rename DownForMaintenanceError exception to ServiceUnavailableError
Transaction line_items only returns the line items for a transaction response object. Use TransactionLineItem find_all to search all line items on a transaction, given a transaction_id
Upgrade API version to retrieve declined refund transactions
Remove all deprecated parameters, errors, and methods
3.59.0
Add RefundAuthHardDeclined and RefundAuthSoftDeclined to validation errors
Fix issue where managing Apple Pay domains would fail in Python 3.8+
Add level 2 processing options purchase_order_number, tax_amount, and tax_exempt to Transaction.submit_for_settlement
Add level 3 processing options discount_amount, shipping_amount, ships_from_postal_code, line_items to Transaction.submit_for_settlement
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
3.58.0
Add support for managing Apple Pay domains
Fix error when running against Python 3.8
Add ProcessorDoesNotSupportMotoForCardType to validation errors
Add Graphql ID to CreditCardVerification, Customer, Dispute, and Transaction
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
3.8 - 29 December 2019
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!
2.41.1:
* Fix uploading files with Unicode names (Python 2.7)
* Update Python API docs inline link
* Update `proxy.py`
2.41.0:
* Add support for `CreditNote` preview
2.40.0:
* Add list_usage_record_summaries and list_source_transactions
2.39.0:
* Add support for `Mandate`
2.38.0:
* Add support for reverse pagination
* Contributor Convenant
2.37.2:
* Implement support for stripe-should-retry and retry-after headers
2.37.1:
* Check that `error` is a dict before trying to use it to create a `StripeError`
2.37.0:
* Add `ErrorObject` to `StripeError` exceptions
* Pass `CFLAGS` and `LDFLAGS` when running tests
2.36.2:
* Use `OrderedDict` to maintain key order in API requests and responses
2.36.1:
* Use `ListObject` properties as default values in request methods
2.36.0:
* Add support for header parameters in `ListObject` request methods
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
* 3.1.2 (2019-02-05)
- Increase maximum length for regex from 255 to 4095 (bug #981)
- Initialize periods from from/since clause rather than earliest
transaction date (bug #1159)
- Check balance assertions against the amount after the posting (bug #1147)
- Allow balance assertions with multiple posts to same account (bug #1187)
- Fix period duration of "every X days" and similar statements (bug #370)
- Make option --force-color not require --color anymore (bug #1109)
- Add quoted_rfc4180 to allow CVS output with RFC 4180 compliant quoting.
- Add support for --prepend-format in accounts command
- Fix handling of edge cases in trim function (bug #520)
- Fix auto xact posts not getting applied to account total during
journal parse (bug #552)
- Transfer null_post flags to generated postings
- Fix segfault when using --market with --group-by
- Use amount_width variable for budget report
- Keep pending items in budgets until the last day they apply
- Fix bug where .total used in value expressions breaks totals
- Make automated transactions work with assertions (bug #1127)
- Improve parsing of date tokens (bug #1626)
- Don't attempt to invert a value if it's already zero (bug #1703)
- Do not parse user-specified init-file twice
- Fix parsing issue of effective dates (bug #1722, TALOS-2017-0303,
CVE-2017-2807)
- Fix use-after-free issue with deferred postings (bug #1723, TALOS-2017-0304,
CVE-2017-2808)
- Fix possible stack overflow in option parsing routine (bug #1222,
CVE-2017-12481)
- Fix possible stack overflow in date parsing routine (bug #1224,
CVE-2017-12482)
- Fix use-after-free when using --gain (bug #541)
- Python: Removed double quotes from Unicode values.
- Python: Ensure that parse errors produce useful RuntimeErrors
- Python: Expose journal expand_aliases
- Python: Expose journal_t::register_account
- Improve bash completion
- Emacs Lisp files have been moved to https://github.com/ledger/ledger-mode
- Fix build under MSYS (32-bit).
- Fix build under Cygwin.
- Various documentation improvements
From the release notes for version 0.16.2:
Wallet
* #13622 c04a4a5 Remove mapRequest tracking that just effects Qt display. (TheBlueMatt)
* #12905 cfc6f74 [rpcwallet] Clamp walletpassphrase value at 100M seconds (sdaftuar)
* #13437 ed82e71 wallet: Erase wtxOrderd wtx pointer on removeprunedfunds (MarcoFalke)
RPC and other APIs
* #13451 cbd2f70 rpc: expose CBlockIndex::nTx in getblock(header) (instagibbs)
* #13507 f7401c8 RPC: Fix parameter count check for importpubkey (kristapsk)
* #13452 6b9dc8c rpc: have verifytxoutproof check the number of txns in proof structure (instagibbs)
* #12837 bf1f150 rpc: fix type mistmatch in listreceivedbyaddress (joemphilips)
* #12743 657dfc5 Fix csBestBlock/cvBlockChange waiting in rpc/mining (sipa)
GUI
* #12432 f78e7f6 [qt] send: Clear All also resets coin control options (Sjors)
* #12617 21dd512 gui: Show messages as text not html (laanwj)
* #12793 cf6feb7 qt: Avoid reseting on resetguisettigs=0 (MarcoFalke)
Build system
* #13544 9fd3e00 depends: Update Qt download url (fanquake)
* #12573 88d1a64 Fix compilation when compiler do not support __builtin_clz* (532479301)
Tests and QA
* #13061 170b309 Make tests pass after 2020 (bmwiedemann)
* #13192 79c4fff [tests] Fixed intermittent failure in p2p_sendheaders.py (lmanners)
* #13300 d9c5630 qa: Initialize lockstack to prevent null pointer deref (MarcoFalke)
* #13545 e15e3a9 tests: Fix test case streams_serializedata_xor Remove Boost dependency. (practicalswift)
* #13304 cbdabef qa: Fix wallet_listreceivedby race (MarcoFalke)
Miscellaneous
* #12887 2291774 Add newlines to end of log messages (jnewbery)
* #12859 18b0c69 Bugfix: Include for std::unique_ptr (luke-jr)
* #13131 ce8aa54 Add Windows shutdown handler (ken2812221)
* #13652 20461fc rpc: Fix that CWallet::AbandonTransaction would leave the grandchildren, etc. active (Empact)
From the release notes for version 0.16.3:
Consensus
* #14249 696b936 Fix crash bug with duplicate inputs within a transaction (TheBlueMatt, sdaftuar)
RPC and other APIs
* #13547 212ef1f Make signrawtransaction* give an error when amount is needed but missing (ajtowns)
Miscellaneous
* #13655 1cdbea7 bitcoinconsensus: invalid flags error should be set to bitcoinconsensus_err (afk11)
Documentation
* #1384411b9dbb correct the help output for -prune (hebasto)
This also fixes a denial-of-service vulnerability (CVE-2018-17144). It is
exploitable by miners and has been discovered in Bitcoin Core versions 0.14.0
up to 0.16.2. It is recommended to upgrade any of the vulnerable versions to
0.16.3 as soon as possible.
XXX pull-up (security fix)
3.51.0
Add Hiper card type support
Add Hipercard card type support
Add bin to PaymentMethodNonceDetails
Clarify support for Python versions 3.6.x and 3.7.x
Add Error indicating pdf uploads too long for dispute evidence.
Add GrantedPaymentMethodRevoked webhook response objects
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.
Backtrader is a feature-rich Python framework for backtesting and
trading. It allows you to focus on writing reusable trading
strategies, indicators and analyzers instead of having to spend time
building infrastructure.
3.1 - 29 April 2018
The second release of the 3.0 stable series.
The following bugs have been fixed:
Bug 118391 - Long currency names untranslated
Bug 769686 - Notes not imported when using update and reconcile in
import transactions from CSV
Bug 772776 - VERY large queries (over 11000 fields in IN clause) slow
down GnuCash
Bug 782144 - git-master - Save Corrupts Data File / Not Open Data File
Bug 792105 - Startup takes several minutes
Bug 793461 - Transaction matcher window blank when importing QFX
Bug 794767 - Dates default to 01/01/1970
Bug 794916 - Fails to find environment file at startup when installation
prefix is '/opt'
Bug 794936 - 3.0 does not open previously saved sqlite3 files properly
- corrupted business data
Bug 794941 - Both print icons export to pdf
Bug 794953 - Ellipsize on short tab labels
Correct error on when to ellipsize tab labels. Also as this
is used in two places separate out this to new function so
it is not duplicated.
Bug 794990 - Double click does not work on saved reports
When you double click on the saved report description nothing
happens. This was down to a conflict on a couple of call
backs and one of them was incorrectly setup.
Bug 794994 - Display Alphavantage key in full
Set the entry to expand so all the space is used to display.
Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file
Bug 795039 - Crash on startup using Technicolor Style sheet in report
Bug 795040 - GnuCash crashes when searching for a newly created bill
Bug 795049 - GnuCash 2.6.20-1 (Fedora Linux package) is unable to open
MariaDB.
Bug 795064 - Enable subtotal-only if either sortkeys are dates
This will allow 'show subtotals only' if sortkeys are
date-types. This allows, for example, prime-sortkey=date,
yearly. sec-sortkey=date, monthly.
Bug 795068 - src/optional/python-bindings missing several files
Bug 795080 - Some dates reset to 01/01/1970
An odd corner case: BST apparently came off of DST at 23:00
26 Oct 2014, so midnight that day was ambiguous about being
DST or not; that causes the local_date_time constructor to
throw in spite of the tm.is_dst element being 0 (meaning pick
standard time). Instead of just failing in that case, try
constructing a local_date_time three hours later then adjust
it back three hours. If *that* doesn't work then throw a
std::invalid argument.
Bug 795082 - CSV import crashes if a transaction's 'Account' field is
empty and no default Account set
Bug 795101 - Scrollbar floats and covers toggle buttons
When the scrollbar appears for the reconcile windows it can
float above the reconcile toggle button which make it
difficult to toggle. Move this column to the start which has
the advantage of aligning the amount column above the Total
value.
Bug 795142 - Unable to enter account codes in business sheets
In Bills, Invoices and Expense vouchers you can not enter an
account code in an account field like you can on a normal
register, enable this.
Bug 795155 - CSV import does not distinguish between deposit and withdrawal
Bug 795347 - Australian (GMT+10) OFX transactions imported have previous
days date
Bug 795377 - Reads and saves Gnucash 2.6.19 XML file, then can't reread
it, due to bad date in old file
Bug 795389 - Hard to see figures in the budget window
The budget view had hard coded black for normal values and
dark grey for other values. Changed this so normal values
are reset to default color and adjusted the grey based on
default color for theme.
Bug 795405 - All Dates in Price Database Off-By-One After 3.0 Upgrade
Bug 795446 - On Windows there is a blank tip of the day
When the tip_of_the_day.list is created a new line is
appended to the list file and on Windows this causes a blank
tip so remove the adding of the extra line.
Bug 795471 - Budget window scrolls edited cell out of site
When editing cells that have been revealed on the right by
scrolling the window snaps back to the left hiding the cell
being edited. This may be due to an underlying gtk issue
but these changes fix the issue visually.
Other repairs or enhancements not marked as bugs:
On Windows the tooltip for saved reports was incorrect
When the mouse was placed over a saved report description on Windows an
empty tooltip was displayed. Setup the query tooltip callback so it does
not display a tooltip for description column.
Fix crash when loading sql book with posted transactions
Add ability to recognize and use a pre-compiled libgmock.so.
html-font: add default font family
Windows ships with GTK2 in which the default font styles are named
"Sans" "Sans Bold" "Sans Normal" etc. There is no "Sans" font in
Windows; I vote to add a default "Sans-Serif" font-family which is
valid CSS. This ensures exported reports are shown as intended.
Several improvements to the Transaction and GST reports.
csv-impport - Allow empty amount fields
Treat empty amount fields as 0. This is necessary for example in
the case the csv import file has both a deposit and a withdrawal
column.
Remove the set transient parent setting for Reconcile window
The Reconcile option is already a window so it is not necessary to set
this value which allows the jump to transaction to work properly.
Date Format dialog flashes up when file/properties used
When you select the File/Properties dialog, in the construction of that
a 'Date Format' dialog flashes up while the date component is moved to
the properties dialog. Can mainly be seen on Windows so remove the
visible setting in glade file.
Prevent throw in gnc-pricedb.
If a price lookup is given an invalid time64/timespec (i.e. INT64_MAX)
then just return NULL instead of trying to find the nearest price.
Set GNC_VCS at build time instead of when making the tarball.
Because the tarball is always made from a VCS repo.
If there are no prices in the db, critical errors are flagged
When dialog transfer is used between two commodities and there are no
prices in the db a critical error is logged. Test for price object
being NULL before retrieving the price for the error message.
The following translations are updated: Slovak, Spanish
Known Problems:
It is not possible to overwrite SQL Databases from within GnuCash, even
though GnuCash will ask if you want to. Bug 789594
Several dates, including Accounting Period, are subject to change with
time zone and daylight-time changes. Bug 791825
Some HBCI information is not loaded correctly so the first transaction
download will re-retrieve transactions unless the beginning date is
set explicitly. Bug 792397.
The new CSV importer's Price of Shares column doesn't work. Bug 793306
The new CSV importer's numeric parser can't parse numbers of the form
x + y/z. Bug 793556.
Python bindings may not work in some installations because the bindings
are unable to find the backend modules (libgncmod-backend-dbi and
libgncmod-backend-xml). Bug 794526
Get Quotes can be slow if one has a large number of saved prices.
Bug 794644.
The Mac localization code can set the wrong encoding for strftime causing
the register's date picker to label months "Null" in some locales.
Bug 794807
On Mac, the File Open dialog will crash if one types anything.
(This is a Gtk+ bug). Bug 794809
An open register is not immediately updated when the Since Last Run
dialog creates transaction splits in the register's account. Bug 794854
GnuCash asks if one wants to save changes when quitting or opening a file
even if there's no book open. Bug 794870
Windows Defender falsly identifies the GnuCash installer as a Trojan.
Bug 794967
Some Windows users have trouble using Chinese input methods on the
Register; other controls work. Bug 795253
On Microsoft Windows the Tab key does not work in the register if the
caps-lock key is on. Bug 795294
GnuCash will crash if one attempts to import a CSV file with more than
1400 transactions. Bug 795383
Invalid input into a formula (Debit/Credit) field is inconsistent
depending on the input. Bug 795614.
Notable changes since 1.8.0:
* From version 1.9.0 onwards, the urllib was substituted by pythons
request library that is thread safe. If you have any error, post an
issue.
3.0 - 1 April 2018
o Correct field format in python-import-fields.
o German translation of Transactions chapter.
o Bug 122895 - general ledger should be named journal
o Bug 634181 - Inserting Part designations overall
o Bug 608098 - Document Transaction Rpt, including how to handle splits
o Clarify that creating a postponed SX will use the original date.
o Remove 'Remainder To' from loan assistant page 2.
o Bug 760407 - Note account separator isn't always a colon.
o Update partial date entry documentation based on new default behaviour
o Bug 762088 - Remove Section 9.4.3 From Guide
o New Russian translation o fthe guide.
o Fix chm mapfile target and cleanfiles.
The mapfile target would fail if the directory was already built,
apparently not recognizing that its target was complete.
Cleanfiles was missing several build targets.
o New Transaction Report section in Guide
o Replace some screenshots with new ones reflecting Gtk3.
The GnuCash development team announces GnuCash 2.6.21, the twenty-second and final, final maintenance release in the 2.6-stable series.
Between 2.6.19 and 2.6.21, the following bugfixes were accomplished:
* Bug 795049 - GnuCash 2.6.20-1 (Fedora Linux package) is unable to open MariaDB database.
* Bug 795068 - src/optional/python-bindings missing several files.
* Bug 795078 - missing _inflateValidate symbol has recurred in 2.6.20 on MacOS.
Between 2.6.19 and 2.6.20, the following bugfixes were accomplished:
* Bug 765846 - Expense Over Time for subaccounts: An error occurred while running the report: Fix crash if acc-depth too low.
* Bug 791848 - GC 2.6.x does not handle ISO dates introduced with GC 2.7 Enable reading ISO-formatted dates, recognize GNC_FEATURE_SQLITE3_ISO_DATES.
* Bug 792008 - gnucash 2.6.19 fails to build Replace g_assert_true with g_assert for now
* Bug 793278 - wrong data in charts with accumulated values (like "net-linechart", "net-barchart" and "liabilities barchart")
* Bug 794030 - relative date functions compute wrong day of month
* Bug 790526 - Mathematical bug This change will fix 'num-of-weeks-since-1/jan/1970' which formerly used quotient to remove the fractional part of the division. For negative values of num-of-weeks, the number is truncated in the wrong direction (i.e. towards 0). This change uses floor instead to ensure the num-of-weeks found is the nearest integer LESS than the fractional number.
Some other fixes not associated with reported bugs:
* Online HBCI actions: Remove outdated non-SEPA menu items.
* Add XML namespaces for all Account Hierarchy Templates.
* General cleanup of Account Hierarchy Templates.
* Fix auto-selection of splits in reconcile. Really use all splits of any given day. Up to now usually the splits of the given date were not or not all included, as the time comparison didn't correctly ignore any given time-of-day of the splits. Instead, all possible time-of-days should be included.
* Properly detect git in case of linked worktree.
* Account Hierarchy for India: Set LANGUAGE=hi and LANG=en_IN to access it.
* Improve Import menu entries Customer & vendors use same menu label as others, replace template by tooltip, add ellipsis to entry, add comments to distinguish "Import" as verb and substantive.
* Provide preference panel to set the Alpha Vantage API key needed for Finance::Quote.
* Correct the appstream definition to match the current spec.
* Fix collectors and min-date handling in reports.
The GnuCash development team proudly announces GnuCash 3.0, the
first release in our new 3.x stable series.
New Features for Users:
The headline item for this release is that GnuCash now uses
the Gtk+-3.0 Toolkit and the WebKit2Gtk API. This change was
forced on us by some major Linux distributions dropping support
for the WebKit1 API. Unfortunately the Webkit project doesn't
support Microsoft Windows so that platform will continue to
use the WebKit1 API, though with Gtk3. We've selected Gtk+-3.14.0
as the minimum version because it fully supports CSS theming.
New editors to remove outdated or incorrect match data from
the import maps, a new user interfacs for managing files
associated with transactions, an improved facility for removing
old prices from the price database, and a way to remove deleted
files from the history list in the file menu.
New Reports: A Reconciliation Report based on the Transaction
Report,a Income GST Report, and a Cashflow Barchart report.
A new CSV importer largely rewritten in C++, adding new features
including the ability to re-import CSV files exported from
GnuCash, along with a separate CSV price importer.
A new preference panel for the Alphavantage API key so that
Finance::Quote users need not edit /etc/gnucash/environment.
We've removed all references to the various Yahoo! quote sources
and made Alphavantage the default.
Data file directories are now located appropriately to the operating system's conventions by default:
Windows: CSIDL_APPDATA/Gnucash
MacOS: $HOME/Application Support/Gnucash
Linux: $XDG_CONFIG_HOME/gnucash (or the default $HOME/.config/gnucash)
It's still possible to overried with the environment variable GNC_DOC_PATH, which replaces GNC_DOT_DIR in earlier versions of GnuCash.
Accounts in the Bayes import map are now linked by GUID instead
of names so that the matcher won't have to be retrained if you
rename an account. The Bayesian import maps are also stored in
a flatter structure to allow faster access, especially in SQL.
These changes mean that if you have Bayesian mapping data, once
converted your database will be loadable only by GnuCash 2.6.20
and later.
MySQL and SQLite3 date storage has changed a bit. Once converted,
MySQL and SQLite3 database will be loadable only by GnuCash
2.6.19 and later.
Numerics are rewritten to allow for more significant digits.
The old 6-digit-maximum fraction is now 9-digits, and prices
may have up to 18 digit precision.
Chart Reports appearance is improved, including more modern
chart colours as suggested by http://clrs.cc/.
Transaction Report improvements, including regular expression
filtering and many more options and features including a
"Subtotal Summary Grid" The subtotal summary-grid will tabulate
subtotals - prime-sortkey vertically, sec-sortkey horizontally.
For example, with prime-sortkey = accounts, sec-sortkey = date,
sec-subtotal = monthly will produce a monthly time series table.
The About dialog box layout is improved and now includes the
detected Finance::Quote version.
GnuCash will always build the locale-specific tax modules. This
was optional when building with autotools and never enabled
when building with cmake. Note that the only supported tax
locales are en_US and de_DE.
On Macs the Reconcile Window's menu moved to the menubar.
GnuCash no longer supports Guile-1.8 and now does support Guile-2.2
From finance/gnucash, to make space for new major version 3.
GnuCash is a personal finance manager. A check-book like register
GUI allows you to enter and track bank accounts, stocks, income
and even currency trades. A full set of reports allow you to see
the state of your finances. The interface is designed to be simple
and easy to use, but is backed with double-entry accounting principles
to ensure balanced books. Features include:
- Scheduled Transactions
- Small Business Accounting Features
- OFX and Quicken File Import and HBCI Support
- Reconcile window with running reconciled and cleared balances
- Stock/Mutual Fund Portfolios
- Get Stock & Mutual Fund quotes from various web sites, update
portfolio automatically (more funds being added regularly).
- Reports
- Multiple Currencies & Currency Trading
- New Multi-Currency Transaction Handling
- Chart of Accounts
- Split Transactions
- Double Entry
- Income/Expense Account Types (Categories)
- General Ledger
- International date handling, many different translations.
This package contains the old major version 2 of gnucash.
3.43.0
Add oauth_access_revocation to WebhookNotifications
Add support for customer_id, disbursement_date and history_event_effective_date in DisputeSearch
Remove sepa_mandate_type and sepa_mandate_acceptance_location params from ClientToken
Add support for VCR compelling evidence dispute representment
This package provides a collection of functions to valuate basic
options. This includes the generalized Black-Scholes option, options
on futures and options on commodity futures.
This package provides a collection of functions to explore and to
investigate basic properties of financial returns and related
quantities. The covered fields include techniques of explorative data
analysis and the investigation of distributional properties, including
parameter estimation and hypothesis testing. Even more there are
several utility functions for data handling and management.
This package provides a class and various tools for financial time
series. This includes basic functions such as scaling and sorting,
subsetting, mathematical operations and statistical functions.
3.41.0
Deprecated LineItem/DiscountAmountMustBeGreaterThanZero error in favor of DiscountAmountCannotBeNegative
Deprecated LineItem/UnitTaxAmountMustBeGreaterThanZero error in favor of UnitTaxAmountCannotBeNegative
Add support for tax_amount field on transaction line_items
Add support for source_merchant_id on webhooks
Add find_all static method to TransactionLineItem class
New features since 0.1.0:
- Added event study analysis: an event study is a statistical method
to assess the impact of a particular event on the value of equities
and it is now possible to perform this analysis through the API
alphalens.tears.create_event_study_tear_sheet. Check out the
relative NoteBook in the example folder.
- Added support for group neutral factor analysis (group_neutral
argument): this affects the return analysis that is now able to
compute returns statistics for each group independently and
aggregate them together assuming a portfolio where each group has
equal weight.
- utils.get_clean_factor_and_forward_returns has a new parameter
max_loss that controls how much data the function is allowed to drop
due to not having enough price data or due to binning errors
(pandas.qcut). This gives the users more control on what is
happening and also avoid the function to raise an exception if the
binning doesn't go well on some values.
- Greatly improved API documentation
Alpha Vantage delivers a free API for real time financial data and
most used finance indicators in a simple json or pandas format. This
module implements a python interface to the free API provided by Alpha
Vantage (http://www.alphavantage.co/). It requires a free API key,
which can be requested on http://www.alphavantage.co/support/#api-key.
3.40.0
Add level 3 fields to Transactions:
discount_amount
shipping_amount
ships_from_postal_code
Add support for transaction line items
Add support for tagged evidence in DisputeGateway#add_text_evidence (Beta release)
Update https certificate bundle
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
2.6.19 - 16 December 2017
o Bug 782423 - Help 10.2. Setting Preferences is outdated #105
o Changing text in Help to reflect changes in Preferences dialogs.
o Translation of the german guides metafile
2.6.18 - 24 September 2017
o The Italian Help translation, which uniquely uses a PO file, is
frozen at commit 78cfa76 because of lack of a translator to
maintain it.
o Bug 120940 - Document how automatic decimal points work.
o Begin a Russian translation of the Guide by Dimitry Mangul.
o Some spelling corrections in the German Guide.
2.6.17 - 2 July 2017
o Improve internationalization of the Tutorial and Concepts Guide.
o Bug 781711: Add reversing transaction definition
o Bug 781714: Add Reversing Transaction text for Help document
2.6.16 - 26 March 2017
o Remove section "Changing the Register View" as better handled in Guide
section 4.2
o Bug 755174 - How to handle commission when buying and selling securities
o Bug 769457 - More info re register views
o Bug 774658 - Add warning to delete lot before deleting a cap gain/loss
transaction
o Glossary: Transactions have at least 2 splits
o Bug 777318 - Restructure Business Features Chapters.
o Bug 777287 - add tips on changing reconcile status of all transactions
in reconcile window panes
2.6.15 - 18 December 2016
o Bug 397135 - Hidden Accounts Show in ComboBox.
o Bug 633590 - Add a Reports Chapter to the Tutorial and
Guide.
o Bug 743671 - Add glossary to Tutorial and Guide.
o Bug 755174 - Document using Lots to create investment
capital gains transactions.
o Bug 770371 - Add note to documentation regarding Sort order
options.
o Bug 775592 - General Rewrite of Guide Chapter on Multiple
Currencies.
o Bug 775919 - Change Documentation of contributors
o Update German Translation (Mechtilde Stehmann)
o Fix resolution of screenshots.
Between 2.6.18 and 2.6.19, the following bugfixes were accomplished:
Bug 787497 - Disabling OFX, AqBanking or python-bindings support
cripples the dist build target. (Partial: The requisite files
for AQB and OFX are provided. There remain ways to break the
distribution.)
Bug 789928 - FTBFS with libdbi 0.9.0-5 on Debian
Failed to create file
"/usr/share/glib-2.0/schemas/gschemas.compiled.XY789Y".
Some other fixes not associated with reported bugs:
A better way to handle MySQL's 0000-00-00 invalid date indicator.
Fix python build and test errors on Mac.
Add translator hint comments to C and glade files.
Improve type of bank accounts in SKR03
Stop testing GObject's handling of invalid parameters
braintree 3.39.1
Fix spec to expect PayPal transactions to move to settling rather than settled
Fix AchMandate.acceptedAt attribute parsing
Fix regression for http_strategy.http_do
3.39.0
Add support for upgrading a PayPal future payment refresh token to a billing agreement
Fix braintree.Dispute.search to take a list of search criteria
Add logic to remove deprecation warnings for encodestring and decodestring when used with python 3
Fix spec to expect PayPal transaction to settle immediately after successful capture
Add GrantedPaymentInstrumentUpdate webhook support
Add ability to create a transaction from a shared nonce
Add options -> paypal -> shipping for creating & updating customers as well as creating payment methods
Do not convert to Decimal if amount is None in AuthorizationAdjustement
Add device_data_captured field to risk_data
Add bin_data to payment_method_nonce
1.44 2017-11-07 21:57:57+01:00 Europe/Brussels
* Added currencies for .SA (Brazil) and .TO (Canada/Toronto) markets
* Setup a pause of .7s between queries in AlphaVantage.pm to limit queries
1.43 2017-11-06 23:41:47+01:00 Europe/Brussels
* Added currency for .DE market
* BUGFIX in currency determination regex
1.42 2017-11-06 19:04:25+01:00 Europe/Brussels
* more tests in alphavantage.t
* BUG resolved: removed time from $last_refresh when markets are open
1.41 2017-11-06 16:06:41+01:00 Europe/Brussels
* return symbol for AlphaVantage data
1.39
* added AlphaVantage module (Matthew Patterson)
* some other module changes: yahoojson, Morningstar, Bourso, TSX (not working)
2.6.18 - 24 September 2017
The following bugs are fixed:
Bug 644898 - Calendar of upcoming SXes has various display issues
Bug 647805 - Interdependent report options fail to change state after
using apply for a limited number of times.
Bug 771246 - Set Invoice/Bill items date correctly from imported CSV.
Bug 784284 - unifying "Clear the entry." tooltip on Loan Repayment
Calculator
Bug 787479 - Persian currency symbol is doubled.
Other repairs not marked as bugs in git:
Added Catalan Accounts for the New Account Assistant
Fixed errors from loading init.py.
Run the python bindings tests in a CMake build.
Implement dist, distcheck, and uninstall targets for CMake build.
Updated Translations: Farsi, German, Japanese, Latvian, Serbian, Spanish
Alphalens is a Python Library for performance analysis of predictive
(alpha) stock factors. Alphalens works great with the Zipline open
source backtesting library, and Pyfolio which provides performance and
risk analysis of financial portfolios.
HomeBank is the free software you have always wanted to manage your
personal accounts at home. The main concept is to be light, simple and
very easy to use. It brings you many features that allows you to analyze
your finances in adetailed way instantly and dynamically with powerfull
report tools based on filtering and graphical charts
fecon235 is a free open source project for software tools in financial
economics. It provides code for research notebooks which are
executable scripts capable of statistical computations, as well as,
collection of raw data in real-time. This serves to verify theoretical
ideas and practical methods interactively.