Changelog for
c-lightning-doc-0.10.2-2.4.noarch.rpm :
* Wed Nov 03 2021 marecAATTdetebe.org- Update to version 0.10.2:
* doc: Update CHANGELOG.md for v0.10.2 release
* doc: Update CHANGELOG.md for v0.10.2rc2
* gci: Add `-f` flag to git fetch
* doc: Remove non-ASCII character from docs
* peer: Wrap the HTLC out destructor in a DB transaction
* wallet: Re-sync the payments.id sequence with postgresql
* db: Allow DB-specific queries in the migrations
* Fix typo in the error message.
* Ignore all the deamon inside the git history
* wallet/db_postgres.c: Fix obvious typo in error message.
* websocket: switch to address type 6, since DNS will take 5.
* meta: Add version 0.10.2rc1 changelog
* pytest: Create less dust in `test_delpay_payment_split`
* tests: raise dust limit on mpp test
* dusty htlcs: don\'t fail the channel, make it error a whole bunch
* channeld: add in RFC notes for max_htlc_dust_exposure_msat
* tests: check for incoming + outgoing dust limits
* dusty-htlcs: enforce limit on dusty htlcs
* htlcs: add flag to \'fail immediately\'
* tests: bump the ceiling for dust, fixes failures for liquid
* lightningd: new option for htlc dust limit
* doc: Add M1 mac + homebrew fix
* pay: Use log probability based bias in channel selection
* libplugin-pay: bias towards larger channels.
* common/dijkstra: hand channel direction to path_score callback.
* lightningd/lightningd.c: Only impose fd limit if absolutely needed.
*
*: Use new closefrom module from ccan.
* ccan: update to include closefrom
* experimental-websocket-port: option to create a WebSocket port.
* lightning_websocketd: simple proxy for websockets.
* connectd: listen on ports for which we should spawn a proxy.
* patch websocket-address-support.patch
* CCAN: add base64 module.
* gossipd: when we refresh channel, don\'t override pending updates.
* common: reltimer_arg to access a timer argument.
* Move log level from warning to info when creating a new ln directory
* doc/BACKUP.md: Warn about version if using Litestream, `sqlite3` `.dump` is safe(r) now.
* wallet/db_sqlite3.c: Increase busy timeout to 60 seconds.
* CI: suppress postgres vaccuuming.
* wallet: only hand onchaind the HTLCs it needs to know.
* onchaind: queue any unexpected messages while waiting for htlcs.
* onchaind: tell lightningd our commitment number, then get htlcs.
* common: use bitcoin_outpoint.
* common/type_to_string: formatting for bitcoin_outpoint.
* lightningd: use bitcoin_outpoint in watch.
* db: vacuum after a db upgrade.
* db: clear our unneeded htlc fields in old terminated HTLCs.
* wallet: remove unnecessary data from channel_htlcs when htlc is dead.
* lightningd: populate min/max commit fields in db.
* db: add min/max commitnum fields to channel_htlcs.
* wallet: wrap htlc_state enum in db function.
* utils: add max_unsigned/min_unsigned helpers.
* fuzz: make it build again.
* tests: Change currency from `msat` to `sat` in the regex string
* Fixes msat and sat convention in the error message
* offers: fix overzealous BROKEN log.
* pay: listpays groups by payment_hash and groupid
* pay: Stash and forward results for duplicate `pay` calls
* pay: Mark completed payments as such by nullifying `cmd`
* pytest: Adjust `test_sendpay` to the new semantics
* libplugin: Add callbacks for successful and failed payments
* pytest: Fix `test_onchain_timeout` to use `groupid`
* pytest: Add `groupid` to `test_partial_payment_{timeout,restart}`
* pay: Fail a `sendpay` or `sendonion` that\'d produce a DB collision
* pytest: Fix up `test_partial_payment` to use a single `groupid`
* paycore: Default `groupid` to increment from last one
* paycore: Prevent multiple concurrent payment groups
* pay: Do not delete old sendpay attempts if we retry
* pay: Make `pay` idempotent
* jsonrpc: Add `groupid` to `waitsendpay`
* doc: Add missing `amount_sent_msat` to `listpays`
* pay: Call `listsendpays` to find prior attempts and abort if needed
* jsonrpc: Add missing `partid` in `listsendpays` schema
* db: Add `groupid` to HTLCs
* wallet: Add function to retrieve the latest groupid for a payment
* pay: Add `groupid` to the payment struct
* pyln: Add groupid to `sendpay` and `sendonion`
* jsonrpc: Add groupid to `sendpay` and `sendonion`
* db: Add groupid to the payments table
* pytest: Reproduce #4482
* closingd: ignore spurious pong messages.
* pyln: Add missing requirement from pyln-client to pyln-proto
* pytest: Use the same `TIMEOUT` in `wait_for_route`
* db: Ensure sqlite3 library minimum version and major version match
* doc: update ungenerated file.
* pytest: fix flake in test_upgrade_statickey_onchaind
* pytest: fix flake when test reconnects by itself.
* channeld: restore ping command, but only for channeld.
* channeld: perform regular keepalive pings.
* channeld: fix halting gossip when a timer is active.
* channeld: remove liveness logic pre-commitment.
* gossipd: remove ping/pong handling
* common/read_peer_msg: handle pings in handle_peer_gossip_or_error().
* Fix memory leak abort in debug mode
* On Mac OS X a different error is raised on failed connection
* db: Don\'t switch between text and blob fields
* db: Fix a syntax error with the optional parameters
* ci: Add missing envvar forward for the DB configuration
* channeld: handle reestablish from previous release with EXPERIMENTAL_FEATURES.
* channeld: import updated channel_upgrade spec.
* features: EXPERIMENTAL_FEATURES: advertize option_quiesce
* lnprototest: update to latest master.
* BOLT 12: switch invoice_request/invoice to singular `chain` field.
* bolt12: update to latest spec.
* BOLT12: use point32 instead of pubkey32.
* bolt12: upgrade to handle latest test vectors.
* Makefile: be sure to build generated sources before tests.
* plugins/libplugin.c: Allow freeing notification `struct command
*`.
* Length prefix bitcoin tx, to fix layer violation
* ci: Add BSD configuration
* docs: Update README to link to pyln-client
* gha: Fix the trigger in the PyPI publication action
* correcting: \'needs\' instead of \'need\'
* common/json.c: Have `json_add_literal`
*use
* `len` argument.
* pylightning: Make it clear pyln-client should be used instead
* onion_message: dev options to ignore obsolete/modern onions.
* offers: send a modern onion reply in response to a modern request.
* offers: save replytok properly.
* fetchinvoice: handle modern onion_message reply.
* fetchinvoice: send modern as well as obsolete messages.
* gossipd: handle modern onion messages.
* lightningd: handle modern onion termination.
* lightningd: fix use-after-free during shutdown.
* Correcting typo
* gci: Checkout tags in CI to get auto-versioning working
* gci: Remove push trigger
* gci: Use stripped down bitcoind for Mac OS
* gci: Pin down a couple more dependencies
* gci: Limit PyPI publication to pull request merged and version tags
* pyln: Derive version from git for pyln-proto
* pyln: Derive version from git for pyln-testing
* gci: Checkout entire history in PyPI build to ensure tags are there
* pyln: Add production publication on tag push
* doc: Add the in-tree-build option to install docs
* gci: Add missing tooling
* pyln: Derive version from git for pyln-client
* gci: Give PyPI packages a reasonable name
* pyln: Materialize setup.py and requirements.txt in pyln-spec
* gci: Add workflow to deploy PyPI artifacts
* pytest: Stabilize `test_addgossip`
* misc: ignored last autogenerated file from the github tree.
* misc: Add generated files to .gitignore
* gci: Add macOS configuration
* Add missing headers for compiling on FreeBSD 13
* lightningd: provide 10 minutes for channel fee increases to propagate.
* lightningd: refactor forward feecheck.
* common/features: try to add all proposed feature names.
* devtools/features: tool to convert feature bitmap to names.
* pytest: fix flake in test_gossip.py::test_addgossip
* Makefile: remove generated files.
* Makefile: remove NO_PYTHON flag in anticipation of making it compulsory.
* review 2/2: Use generic query to make the code more readable.
* review 1/2: Fixed the doc missing details about formatting.
* plugin: Adding status to the pay plugin
* doc: Update doc with the new parameter supported
* pyln-client: Adding parameter to the listpays rpc method.
* wallet db: Support the query on database with status and payment hash.
* rpc: Integrate the status flow in the listsendpays command
* common: json_to_reply_path to helper to handle blindedpath/onion_message hook
* lightningd: `blindedpath` helper to create a blinded path to ourselves.
* lightningd: new sendonionmessage routine.
* hsmd: derive an onion_reply secret.
* common/blindedpath: enctlv unwrapping primitives.
* common/blindedpath: enctlv creation primitives.
* wire: import new onion message spec.
* invoice: Fix mismatch between \">=\" and \"greated than\" in error msg
* bcli: Accept \"already in chain\" errors as success
* doc: Add links to mandelbit\'s recovery walkthrough
* jsonrpc: Simplify the state decision of `listpays`
* pay: Fix wrong result being returned by pay
* hsmd: Remove duplicate status message for incoming messages
* fetchinvoice: include send in path, use pubkeys.
* lightningd: rename sendonionmessage to sendobsonionmessage.
* gossipd: rename onionmsg messages to lightningd to obs_onionmsg.
* channeld: rename onion_message to obs_onion_message.
* common/sphinx: add helper to prepend length to payload.
* lightningd: remove sendonionmesage parity hack.
* gossipd: fix blinded onion forwarding.
* lightningd: fix memleak false positive.
* type_to_string: detect type failure in DEVELOPER mode.
* ccan: remove autodata.
* common/autodata: use instead of ccan/autodata
* common/autodata: autodata replacement which uses __attribute__((constructor))
* pytest: ensure hsmtool tests do complete writes.
* wire: Fix generated files
* Fix for Alpine Linux ond OpenBSD
* cleanup: remove unneeded includes in C files.
* cleanup: remove unneeded includes in header files.
* devtools/reduce-includes.sh: brute-force script to remove includes.
* tools/check-includes.sh: test that c files include their .h files.
* closingd: add notifications for feerate ranges.
* lightningd/closing_control.c: move json_close here from peer_control.c
* tests: test that successive closes do update parameters (particularly feerate!).
* lightningd: fix leak report when close called multiple times.
* Remove lnprototest
* openingd: clean up state properly when a hook says to reject opening.
* common/channel_type: fix up bolt quotes now channel-types is merged.
* closingd: fix BOLT quotes to match final spec version.
* openingd: tell them channel_type if signature is bad.
* lightningd: print out support for channel_types in --list-features.
* openingd: allow channel_type to
*downgrade
* from default.
* openingd: channel_type TLV no longer experimental.
* openingd: EXPERIMENTAL_FEATURES provide and use channel_types.
* openingd: tell lightningd what channel type we negotiated.
* lightningd: use channel_type, pass to-and-from channeld.
* common/initial_channel: use channel_type instead of individual option bools.
* common/channel_type: wrapper for generated \'struct channel_type\'.
* tools: handle generating print templates for CSV without tlvs, messages
* openingd: don\'t hand redundant feature flags.
* resolve() appears broken on Python 3.7+
* plugin: register `shutdown` instead of `plugin_shutdown` in notifications list
* close: spec is final, it\'s not experimental.
* closing: add option to set closing range.
* pytest: add test for closing feerate greater than final commit tx.
* closingd: allow higher closing fee if anchor_outputs.
* --experimental-quick-close to enable quick-close negotiation
* Makefile: import latest spec, which includes quickclose.
* Makefile: update bolt version to include option_anchors_zero_fee_htlc_tx.
* Makefile: update spec version
* channeld: allow large HTLCs if peer offers option_support_large_channel
* Makefile: Update BOLT version to cover bolt11 test vectors with payment secret.
* lightningd/chaintopology: stop callbacks rearming once topology stopped.
* libplugin: make leaks log at LOG_BROKEN so they break CI.
* plugins/libplugin: mark timers as not-a-leak.
* libplugin: fix leak of struct command when we don\'t read it all at once.
* plugins/topology: use memleak annotation instead of global_gossmap hammer.
* pytest: annotate name_option against leak detection in test_libplugin
* wire/tlvstream: don\'t leak in tlvstream_set_tu64/tu32/short_channel_id.
* plugins/txprepare: annotate unreleased_txs list against false memleaks.
* plugins/bcli: keep a list of current bitcoind requests.
* plugins/spender: don\'t use global tal context, use take() instead.
* spender/openchannel.c: don\'t leave psbt parts owned by NULL.
* plugins/funder: don\'t use global owner parent; mark policy for memleak.
* plugins/bcli: handle memleak.
* libplugin: let plugins add annotations to memleak.
* libplugin: if DEVELOPER set, do memleak detection on shutdown.
* libplugin: allow take() for commands, notif_subs, hook_subs, notif_topics.
* libplugin: allow stealing of feature sets, make keysend do that.
* common/memleak: hoist strmap helper from out of lightningd/memdump.c
* common/memleak: take over dump_memleak(), allow print pointer.
* ccan: update to get version where tal_dump goes to stderr.
* Critical funder flaw
* pyln-client/gossmap: adds testcase for half channels
* pyln-client: fix mypy warnings, fix and test deletion of a channel.
* pyln-client/gossmap: init GossmapNode and Id also with hexstring
* pyln-client/gossmap: make node and node_id comparable with __lt__ and __eq__
* pyln-client/gossmap: let half channel have source and destination
* pyln-client/gossmap: start internal function names with underscore _
* pyln-client/gossmap: have channels link to their nodes instead of id
* pyln-client/gossmap: make test gossip_store include channel_updates, deletions.
* pyln-client/gossmap: more fixes, make mypy happier.
* pyln-client/gossmap: Don\'t mix bytes and GossmapNodeId
* pyln-client/gossmap: adds __repr__ functions
* pyln-client/gossmap: extend testcase
* pyln-client/gossmap: adds channel satoshi capacity
* pyln-client/gossmap: adds helpers to get channels and nodes
* pyln-client/gossmap: adds GossmapHalfchannel objects
* pyln-client/gossmap: add NodeId class.
* pyln-client/gossmap: use ShortChannelId class from pyln.proto, if available.
* pyln-proto: expose ShortChannelId and PublicKey.
* pyln-client/gossmap: add a little documentation.
* pyln-client/gossmap: save deconstructed fields instead of raw msg bytes.
* pyln.client: new functionality to access Gossmap.
* pyln.client: don\'t try to use module inside setup.py.
* pyln-spec: update to latest version of the spec.
* Mac OS X generates these files automatically.
* Removed submodule external/lnprototest
* Shellcheck cleanup
* doc: document shutdown plugin.
* lightningd: call shutdown plugin when we dynamic shutdown a single one.
* libplugin: plugin_exit helper which flushes stdout.
* lightningd: call \"shutdown\" notification on plugins at shutdown.
* lightningd: disable topology timers on shutdown.
* lightningd: don\'t keep timer ptr inside struct chain_topology.
* doc: fix GH/readthedocs rendering of manual pages.
* psbt: set the witness script to null, also
* dual-fund psbt: hoist up single use method so we can test it
* db: simple index addition to speed listpeers.
* docs/fetchinvoice: document payer_note
* pytest: test new commitment_revocation hook values
* doc: new values for commitment_revocation hook
* hook: adds channel_id and commitnum to commitment_revocation
* doc: Regenerated man-pages to fix hash mismatch.
* doc: fix listnodes schema, doc.
* Anchor outputs are enabled by dual-funding, so this was reported by users there (and reliably detected now).
* configure: update from -fstack-protector to -fstack-protector-strong.
* adding check for the deprecated api.
* Fixed order parameter in the listforwards command
* wire: fix patch file to match actual peer_wire.csv.
* docs: Remove explicit markdown configuration for rtd
* lightningd: don\'t reject attempts to forward 2^32 msat out of hand.
* Don\'t limit channel_updates to 2^32 msat.
* Skip following import and skip flask type to mypy code analysis.
* Move to minimum required mypy dependeces
* Added deprecated phase to rpc framework rules changes.
* Required jsonrpc inside the method request.
* pytest: don\'t copy db to query it.
* wallet: set a timeout if the db is busy.
* added Litestream Replication
* pylightning: fix requirements to work with pyln-client
* datastore: turn keys into arrays
* datastore: add generation, simple atomicity.
* datastore: allow replace/append.
* datastore: allow strings.
* datastore: docs, schemas, and a test.
* JSON-RPC: add interfaces to access datastore.
* wallet: add datastore access routines.
* wallet: add datastore for plugins to use.
* exact bk file has to be in path
* missing --lightning-dir
* gossmap: don\'t spew to stderr, include counter for callers.
* pytest: remove only_one() duplicate
* wallet-test: fix segfault due to uninitialized block
* cleanup: rename use_proxy_always to always_use_proxy to match cfg
* cleanup: nits
* connectd: prefer non-TOR connections and filter wireaddr hint duplicate
* fetchinvoice: add developer option to send raw invoice_request.
* pytest: fix flake in test_channel_lease_unilat_closes
* wallet-test: print better error message on failure
* utxos: more comprehensive fix for csv check
* lnprototest: update version to fix flake issues.
* pytest: try to prevent spurious timeouts in test_channel_lease_unilat_closes
* pytest: fix test_channel_lease_unilat_closes flake
* pytest: fix bad gossip flake.
* pyln: Fix up the mypy annotation for `init` self-disabling
* pyln-client: document and test that init can self-disable.
* common/setup: check libwally initialization
* bitcoin/tx: check PSBT sanity after parsing
* Build race fixes: create ccan/config.h atomically, make tools/test/test_gen.c depend on it
* common/test/run-bolt12_period.c: fix warnings at -O3.
* common/tests: these test are no longer experimental-only.
* chaintopology: tell gossipd that channels no longer exist on reorg.
* changelog: fix typo in release notes
* new line for default value, makes it more visable
* Tue Aug 10 2021 marecAATTdetebe.org- Update to version 0.10.1:
* changelog: v0.10.1 release notes
* wallet: correct CSV check in `deep_enough`
* tests: check that we don\'t re-up the leased funds when we RBF
* tests: promote method to utility file
* funder: default to only funding leases
* funder-rbf: correctly iniitalize lease params
* df-tests: wait for disconnect before asserting unknown channel
* df-tests: bump feerates to get over the \'insufficient fee\' limit
* pytest: update test_queryrates for API change.
* dualopend: remove runtime memleak in favor of at-termination.
* GitHub CI: Restore at least one DF CI flow.
* offers: make `decode` command available even without experimental-offers.
* CHANGELOG.md: note the broadening in fee_update accept behavior.
* changelog: Updated the changelog for v0.10.1rc2
* pyln: Add E741 as excluded flake warnings
* doc/MAKING-RELEASES.md: advice on updating python package versions.
* pyln.{proto,client,testing}: bump version numbers to match release.
* pyln.proto.message: add new BOLT12 fundamental types.
* pyln.proto.message: export two more symbols, remove unused __version__ from message.py
* common/bolt12_merkle.c: fix comments.
* common/test: test the test vector JSON from the spec (if present).
* common/test: Fix test vector generation.
* pyln: Fix backward compat issue in `LightningRpc.close`
* connectd: allow out-of-bounds fees unless they\'re actually getting
*worse
*.
* channel lease: only send update_blockheight iff has channel lease
* Moving dependencies to the minimum required
* changelog: add two general notes and fix the typo
* changelog: correct link for v0.10.0 release on github
* changelog for v0.10.1 rc1
* diff -R to diff -r
* common: fix up missing file which can cause parallel build issues.
* lightningd: don\'t turn zero-length tlv fields into NULL.
* lightningd: don\'t assume zero-length tlv fields will be NULL.
* pytest: test for offer failing decode when empty description.
* offerout: don\'t insist that invoice vendor match our vendor.
* offer / offerout: return existing if its still active.
* disableoffer: fix disabling of already-used offers.
* fetchinvoice: don\'t consider \"msat\" a change if fetchinvoice specified it.
* offers: make sure quantity limits are sane.
* bolt12: import latest spec (timestamp -> created_at).
* funderupdate: add documentation, update some params
* printlogs for failing tests
* common/lease_rates: more things const.
* lease_rates: lease_rates_eq.
* gossipd: de-duplicate code.
* lease_rates, funder: use overflow helpers
* overflows: helpers for integer assignment overflows.
* reestablish_tlvs: don\'t lose them btw tmpctx cleanup
* queryrates: make it dev-only
* lease-channels: tests for the test gods
* dualopend: hold onto open_tlv for longer than the tmpctx persists
* channel-leases: add lease fee to accepter\'s funding earlier up
* nit: better error messages on dualopend\'s check_balances failures
* channel-lease: reject if we\'re not currently advertising liquidity
* channel leases: add expected lease fee to opening PSBT
* channel leases: pass expected lease rates around in compat form
* lease rates: helpers for parsing, serializing + equating lease_rates
* channel lease: update the blockheight on reconnect, also
* close: param to force-close a leased channel
* channel lease: fail leased channel if peer offline + blockheight behind
* channeld: don\'t forget channels that we\'ve put funds into
* utxo: don\'t add outputs that aren\'t currently eligible to be spent
* channel utxo: persist the \'csv\' lock value to database
* channel lease: set csv_lock for commitment transactions
* chaintopology: new command \'parsefeerate\'
* liquidity-ad: wire in csv updates to commitment txs
* channel: wire blockheight updates from channeld in to database
* liquidity-ads: persist channel blockheight states to disk
* lease_rates: persist channel\'s lease info
* onchaind: add recovery scans for option-will-fund
* lease_rates: pass in \'lease_expiry\' and \'csv\' to commitments/channel
* lease_rates: add csv lock to modify anchor scripts
* script: add csv_lock to scripts
* lease-rates: add to accepter\'s side on accepter pathway
* lease-rates: calculate the fee owed to peer for the funds lease
* channel-lease: validate accepter\'s sig on lease terms
* rpc: add queryrates
* dualopend, openchannel_init: pull out feerate parsing logic
* liquidity-ad: fill in acceptance response
* liquidity-ad: pipe `request_amt` all the way out to fundchannel
* liquidity-ad: request amount, pass through to dualopend
* liquidity-ads: pipe through request to funder, update policy
* hsmd: method to sign liquidity ad offer
* amount: add \'is_zero\' helper
* tests: add test for setting/updating node announce
* contrib: offer a liquidity-ad lease in developer mode
* funder-liqudity-ads: support options + setliquidity ad
* funder_policy: set default to 0
* funder: make policy a pointer, most places
* gossipd: turn off lease offers if the rates are empty
* libplugin: add u16_option parsing
* option_will_fund: print out lease rates in listnodes
* setleaserates: new RPC to pass in lease rates
* gossipd: signal whether node_ann is updated, are we starting up?
* gossip/liquidity-ad: node_ann comparison, optional TLV check
* lease_rates: parse them out of node_announcements
* liquidity-ads: import from spec
* dual-funding: update fee_step to be a feerate
* change fees: more accurate rounding for change amount
* Github actions: reduce lnprototest.
* chore: add 3 gpg pubkeys of maintainers to the repository
* docs: fix typo and wording
* added minimum word list needed
* improve hsm_secret doc
* pytest: rescan restarts plugin on update
* plugin: rescan restarts plugin on update
* pytest: Add a `keysend` test that includes `routehints`
* keysend: Add `routehints` argument to the `keysend` command
* jsonrpc: Add parsers for routehint-arrays
* opts: Add option to register extra TLV types to accept
* sendcustommsg: promote to non-dev
* route: assume modern TLV support if we don\'t see a node_announcement.
* lightningd: insist on payment_secret if bit compulsory on invoices.
* lightningd: make invoices insist on payment_secret.
* pytest: make test_sendonion_rpc use a TLV onion for final hop.
* plugins/keysend: add the payment_secret to the payload.
* pytest: always provide payment_secret when making payments.
* invoice: output payment_secret in JSON.
* pytest: listchannels filter by destination
* doc: listchannels filter by destination
* pyln: rpc support for listchannels by destination
* topology: listchannels by destination
* plugins/offers: fix crash when we report unpaid prev invoice.
* doc: fix up bolt12 quotes.
* bolt12_merkle: change offer merkle to latest spec.
* DEVELOPER: allow fetchinvoice to force they payer_secret.
* offers: don\'t crash in decode if there\'s no signature on the offer.
* patch remove-payer-backcompat.patch
* tests: update coin movements for dual-funded mutual closes
* tests: update deprecated \'funding_msat\' for new output format
* schema: fixup for dual-funding things
* schema: add \'funding_outnum\' to openchannel_update schema
* lightningd: don\'t complain about unable to estimate fees if not mainnet.
* lightningd: add force-feerates option.
* channeld: don\'t ever use 0 as a feerate.
* listinvoices: support listing by local offer_id.
* invoices: display the payer note if it\'s for local offer, allow in fetchinvoice.
* offers: include the payer_note field in the invoice if it\'s in the request.
* BOLT 12: update to include replace_invoice options.
* offers: signatures are now optional.
* features: renumber from 102/103 to 38/39.
* libplugin: create debug message for notifications
* pytest: test for autoconnect in different circumstances.
* pytest: test that we try direct connection even for public nodes.
* fetchinvoice: try to connect to note if we can\'t find a path for messages.
* listinvoice: populate local_offer_id when iterating whole db.
* listinvoice: don\'t crash if listinvoice given a non-bolt11 string.
* fix: remove spammy debug statements from getroute
* lightningd: print out what errno we got if unexpected in sigchild.
* closingd: use a more accurate fee for closing fee negotiation.
* common: log at debug level when we update billboard.
* lightningd: fix typo in debug statements.
* pytest: fix weird case in test_closing_different_fees
* doc: fix
* sort alphabetically
* add binaries to gitignore
* pytest: Add test for keysend extra-tlvs
* pyln: Add wrapper for the keysend command
* keysend: Accept a payment with unknown even TLV types
* keysend: Add `extra-tlvs` option to keysend
* tlv: Add sorting of the tlvstream
* jsonrpc: Add parsing for parameter of extra parameters
* plugin: Add extra TLVs to the invoice_payment hook
* htlc: Keep the parsed TLV payload around with the htlc_in
* htlc: Wire extra TLV types into the HTLC onion decoding
* tlv: Allow passing some extra types to accept when parsing the stream
* opts: Add option to register extra TLV types to accept
* pytest: Add test that we can redo closing negotiation even after onchain.
* channeld: send shutdown_complete even if reestablish_only.
* openingd: tell lightningd if we get a reestablish.
* channeld: add a message to read if we only want to reestablish.
* lightningd: add channel_closed helper, expose find_channel_by_id().
* common/read_peer_msg: don\'t try to handle reestablish/reopen.
* pytest: add test (failing) which allows talking about closed channels.
* lightningd: always pass closing connections through channeld.
* pytest: test for closing needing retranmission bug.
* dev_disconnect: new option to stop using connection, but don\'t close.
* tools/check-spelling: Fix grep error on macOS
* tools/mockup: Fix macOS bash 3 syntax error
* Update at latest version of lnprototest with the support of channel_type
* Update lnprototest submodule
* doc: schema for listconfigs, compare with documentation.
* lightningd: clean up listconfigs output.
* doc: schemas for everything else.
* doc: listpeers schema.
* tools/fromschema.py: handle deprecated null field, don\'t create empty lists.
* doc/schemas: listfunds, listinvoices, listnodes, listoffers
* doc/schemas: listfunds
* doc/schemas: getsharedsecret, help, invoice, listchannels, listforwards
* doc: document how to try to write JSON schemas.
* doc/schemas: tighten requirements.
* plugins: add `command` field to subcommand output.
* listtransactions: don\'t create a msat field called \"satoshis\".
* listpeers: clean up JSON output.
* pyln.proto: fix receiving unknown fields in TLVs.
* pyln.proto: fix handling of subtypes in TLVs.
* EXPERIMENTAL_FEATURES: don\'t offer to downgrade anchor outputs!
* cleanup: remove unused pyln-spec symlinks.
* replace freenode with libera
* pay: Fix another instance of a crash when we can\'t find ourselves
* invoice: allow creation of giant invoices.
* pyln-testing: check if process died after having read all logs
* hsm_encryption: merge getline() logic between stdin and non-stdin
* qa: test hsm encryption password provided from stdin
* hsmtool: this is \'success\', not \'succes\'
* pyln: adds a help text to start plugins manually
* plugins/bcli: fix uninitialized variable.
* connectd: fix advertizing for Tor ports.
* common/test: test wireaddr parsing.
* lightningd: wait for gossipd to finish initalizing before starting plugins.
* gossipd: remove routing, listchannels and listnodes infrastructure.
* gossipd/test: remove routing tests.
* pyln-client: revert old/new comparisons for getroute, listchannels, listnodes.
* signmessage: use listnodes instead of gossipd_getnodes_request.
* invoice: overhaul routehints to use topology.listincoming, cleanup.
* plugins/topology: listincoming function to help invoices.
* pyln-client: hack in test that listnodes returns the same old/new.
* plugins/topology: add listnodes command.
* common/wireaddr: fromwire_wireaddr_array helper.
* pyln-client: hack in test that listchannels returns the same old/new.
* plugins/topology: make listchannels mark disconnected local channels active=false.
* plugins/topology: listchannels command.
* pyln-client: hack in test that getroute returns the same old/new.
* topology: plugin to implement getroute command.
* common: note that command_fail doesn\'t return NULL.
* ccan: update to get RETURNS_NONNULL macro.
* pytest: fix flake in test_misc.py::test_funding_reorg_
* xxremote_lags
* wire/Makefile: always generate non-exp files.
* Makefile: `pytest` target should depend on ALL_TEST_PROGRAMS.
* close: check that destination is going to be accepted.
* tests: test future segwit versions for withdraw / close.
* common/json_tok: allow non-v0 segwit addresses.
* devtools/encodeaddr: tool to create regtest bech32m vectors.
* common/bech32: update to bech32m reference.
* lightning/pay: don\'t crash when trying to send payment down unconfirmed channel.
* chore: fix compile issue discovered by gcc
* keysend plugin: make cltv_expiry for keysends slightly more conservative
* plugin: Add debug log entries when calling and returning from hooks
* plugin: Add a status field to htlcs in listpeers
* lightning: Add status field to htlc_in
* plugin: Add the plugin we\'re serializing for in the serializer
* pay: Do not attempt to filter routehints if we can\'t find outselves
* pytest: speed up test_opening.py::test_funder_contribution_limits when !DEVELOPER
* pytest: test that both sides refuse upgrade if not quiescent.
* pytest: test onchaind handles unilateral and penalty txs on either side of upgrade.
* channeld: set desired_type to upgrade `option_static_remotekey` if not already.
* channeld: handle upgrade match.
* onchaind: handle static_remotekey thresholds.
* wallet: save thresholds for option_static_remotekey.
* channeld: send upgradable types, add logging (EXPERIMENTAL_FEATURES)
* channeld: send current features (EXPERIMENTAL_FEATURES)
* channeld: send next_to_send if EXPERIMENTAL_FEATURES
* channel: import upgrade spec.
* common/features: helper to pretty-print feature bits.
* channeld: tweak function to allow testing for pending
*uncommitted
* changes.
* onchaind: limp along if we cheat.
* onchaind: don\'t hand redundant commit_num to handle_unknown_commitment.
* onchaind: don\'t rely on knowing option_static_remotekey for unknown commitments.
* gen/impl_template: fix generation of singleton varsize elements.
* stop requiring channel and direction on `sendonion` since they\'re not used.
* hsm_encryption.c: fix source include order
* hsm_encryption.c: remove whitespace from line end
* lightningd: remove duplicate temp term creation
* hsm_encryption: read from STDIN if not in a TTY
* pay: Skip the presplitter mod if it\'d exhaust our HTLC budget
* pay: Compute the number of HTLCs needed after presplit correctly
* plugin/pay: prevent presplitter from dividing if max already tiny.
* pay: Fix use-after-free issue with routehints in shortlived payments
* pytest: show problem with pay when not enough HTLCs available.
* openingd/dualopend: remove send_msg functionality.
* lightningd: use connectd to send the final error message, not openingd/dualopend
* connectd: new command to make us send message and close.
* remove checking for unused \"direction\" property in sendpay.
* openingd: return more informative error message for v2 opens
* tests: cleanup any unfinished/hanging channel opens
* Revert \"pytest: Skip hsm encryption test if we don\'t have a TTY\"
* reqs: Remove wallycore, no longer needed for CI tests
* libwally: update to release_0.8.3
* EXPERIMENTAL: dev-quiesce to initiate (and test) quiescence.
* EXPERIMENTAL: handle receiving quiescence request.
* channeld: implement pending_updates()
* EXPERIMENTAL: import spec for quiescence.
* doc: document ordering of listpays/listsendpays.
* pytest: test pay ordering.
* plugins/pay: sort output payments in listpays
* wallet: sort listsendpays by ID
* Suggested code cleanup by TODO comment
* libhsmd: Do not use the message as the peer ID...
* libhsmd: Add a simple tx signature test
* libhsmd: Always use gcc to configure and compile
* libhsmd: Correctly wrap with `tmpctx` management in libhsmd-python
* lightningd: check closing tx signature Changelog-None
* plugins/test/Makefile: fix typo causing build race.
* doc/schemas: disableoffer, disconnect, feerates, fetchinvoice, fundchannel, fundchannel_cancel, fundchannel_complete, fundchannel_start, fundpsbt, getinfo, getlog, getroute.
* doc/schemas: delexpiredinvoice, delinvoice, delpay.
* doc/schemas: decode, decodepay
* doc/schemas: schema for connect.
* doc/schemas: create close schema.
* doc/schemas: add schema for autoclean.
* doc/schemas: add some simple schemas and generate manpages from them
* doc/schemas: generate manpage section from schema.
* tools/fromschema.py: tool to replace start/end markers in markdown with schema.
* pytest: add schema support for JSON responses.
* decode: always return \"valid\" field.
* close: add \"unopened\" type if we simply discard channel.
* libplugin: remove command_success_str function.
* autoclean: don\'t return a raw string as result.
* pytest: don\'t use command_success_str in test_libplugin.c
* doc: fix up mangled nroff from mkrd.
* Makefile: allow postfixes to SHA256STAMP.
* Makefile: fix $(FORCE) in sub-Makefiles
* Makefile: update to latest spec.
* channeld: update test vectors for msat differentiation test.
* lightningd: option_shutdown_anysegwit is no longer experimental.
* lightningd: respect anysegwit on dual-funding opens too.
* fundchannel, multifundchannel: reserve inputs for two weeks, not 12 hours.
* sendpsbt, fundpsbt, utxopsbt, reserveinputs, unreserveinputs: allow custom number of blocks to reserve.
* pytest: test double-spending an opening tx input.
* wallet: add \"reserved_to_block\" field to listfunds.
* common: Check chain hash in gossip_timestamp_filter
* pay: fix corner case where we eliminate our own hint.
* This should hopefully alleviate the pain of figuring out how to properly quote utxos in fundchannel command :) It took me a while to figure it out and I would be lost without AATTcdecker s help on IRC.
* CI: Disable dual-funded tests while they\'re hanging.
* pytest: add message check to test_blockheight_disagreement
* pay: don\'t wait forever if we\'re already past deadline.
* pytest: fix gossip flake in test_restart_many_payments
* CI: give nicer names to Ci runners.
* doc/TOR: remove references to deprecated v2 hidden services
* options: deprecate v2 mode for autotor
* Refuse to parse v2 onion addresses without deprecated_apis
* wireaddr: fix indentation / line breaks for autotor parsing
* pytest: check nonstandard onion generation.
* devtools/onion: handle onions which are not 1300 bytes long.
* \"createonion\" to accept an optional custom onion_size.
* readme: fix ubuntu installation instructions
* Clearer RETURN VALUE
* added FAQ on getting a PSBT
* dual-open: save our now updated info about broadcast state
* rbf-test: confirm that rbf\'d inflight is opened and closed as expected
* nit: add another debug log
* rbf: when a peer is activated, also keep track of all of its inflights
* rbf: when a channel is open, remove all the inflights
* rbf: update the channel\'s funding_txid to match what\'s mined
* inflights: relax assertion channel funding_txid is last inflight txid
* open-rbf: we broadcast all the commitments for a channel when closed
* rbf-tests: check every inflight has signed commitment produced
* inflights: save the whole psbt to the database
* dev-sign-last-tx: include inflight signed txs
* listpeers: always show all the inflights
* listpeers: show the inflight\'s \'commitment tx\' txid
* rbf: on close, drop every inflight transaction\'s commitment
* df-rbf: test that, with enough bumps, we can eventually add to mempool
* listpeers: add inflights info
* inflights: add checks that there\'s actually an inflight
* df-rbf: order inflights by funding_feerate
* df-tests: add better explainer for test logic
* df-test: test for a failed rbf attempt, currently crashes
* df-tests: re-write test_funding_cancel_race for v2 commands
* df-tests: re-write the funding wallet corners test for v2
* df-bugs: only include the `funding` if we\'re the opener
* df: differentiate error message between
* CI: Re-enable experimental build.
* funder: print reason that we don\'t contribute funds
* funder: test for adding utxos, calculating total available
* funder: subtract the fee of the utxo from the available amount
* fundpsbt: dont add utxos that are a net-loss
* funder: add count of utxos we\'re signing to the logs
* pytest: disable mpp test which is blocking merges.
* dijkstra: add chan pointer argument to path scoring.
* common/dijkstra: remove dijkstra_amount().
* common/route: route_from_dijkstra returns route_hop array.
* gossipd / plugin: clean up names in struct route_hop.
* common/gossip_store: avoid fd pass for new store, use end marker.
* common/gossmap: reload once we hit end marker.
* gossip_store: create end marker for EOF.
* gossmap: fix gossmap_chan_get_announce() and gossmap_node_get_announce().
* gossmap: function to get channel features bitmap.
* gossmap: save the offset where the channel updates are, function for details.
* gossmap: add gossmap_chan_get_capacity() helper.
* gossmap: remembers when a channel is private.
* common/json_tok: hoist param_short_channel_id from inside lightningd/
* plugins/test/run-route-overlong: modern overlong routing test.
* plugins/libplugin: make headers update-mocks friendly.
* plugins/libplugin-pay: extreact route function so we can write unit tests.
* common/test/run-route and run-route-specific: modern gossmap tests
* fetchinvoice: don\'t produce invalid JSON on sent_inv timeout.
* update-mocks: prefer to find function defs from local includes.
* Makefile: don\'t let update-mocks run unless DEVELOPER and EXPERIMENTAL_FEATURES.
* update-mocks: make sure we cover all test programs.
* update-mocks: don\'t try to regenerate files.
* lightningd: attach HTLC timeout to htlc itself, fix gratuitous disconnect bug.
* pytest: add test for HTLC timeout on failed htlcs.
* reorganize .gitignore entries across subdirs.
* gitignore more things.
* pytest: fix flake in test_reconnect_no_update
* make: Do not scan contrib for discouraged functions
* make: Add CPPCHECK_OPTS to allow excluding files from the check
* libhsmd: Clean up the build descriptors for libhsmd_python
* libhsmd: Add missing implementation of status functions
* libhsmd: First working build script for libhsmd-python
* plugin notifications: minor cleanups.
* df-test: make flakey test not as flakey
* df-bugs: if we\'ve already got the funding_locked, dont renotify
* df-tests: test_coin_movement_notices, make work?
* df: rework closing logic
* tests: mark test as requiring developer
* df-test: v2 has reconnects
* df-callbacks: dont log as broken, just reconnect
* df-bug: avoid referencing null channel->owner
* df: patch for valgrind error
* df-tests: patch for state == AWAITING_UNILATERAL problem
* df-tests: Turn on v2 tests on CI
* tests: explicitly mark tests to run both as v1+v2
* tests: mark as v1 or v2 openchannel required
* tests: add marker for v1/v2 channel opens
* tests: not DEVELOPER -> mark.developer
* df: anchor outputs are on if EXP_DF
* tests: move EXP_DF into the testing utils
* df-tests: remove df_accepter plugin
* psbt: really hacky patch over libwally\'s 0-input txs parse fail
* dual-fund: reconnections were borked, this fixes them
* funder, startupregtest: fixup default config to be 100
* df-bugs: rm duplicate call to channeld
* !fixup
* bcli: become less aggressive with onchain fee levels.
* plugins/bcli: make feerate calls more changeable.
* lightningd: implement --log-timestamps=false.
* libhsmd: Prefix check_client_capabilities
* libhsmd: Cleanup the bip32_key_version
* libhsmd: Finalize encapsulation of hsmd data in libhsmd
* libhsmd: Migrate bolt12 initialization into hsmd_init
* libhsmd: Start migrating initialization to hsmd_init
* libhsmd: Clean up includes in hsmd.c
* libhsmd: Migrate handle_sign_delayer_payment_to_us
* libhsmd: Migrate handle_sign_remote_htlc_to_us
* libhsmd: handle_sign_commitment_tx
* libhsmd: Migrate handle_sign_penalty_to_us
* libhsmd: Migrate handle_sign_remote_commitment_tx
* libhsmd: Migrate handle_sign_remote_htlc_tx
* libhsmd: Migrate handle_sign_local_htlc_tx
* libhsmd: Migrate handle_sign_mutual_tx
* libhsmd: Migrate handle_sign_withdrawal_tx
* libhsmd: Migrate handle_get_per_commitment_point
* libhsmd: Migrate handle_channel_update_sig
* libhsmd: Migrate handle_sign_node_announcement
* libhsmd: Migrate handle_cannouncement_sig
* libhsmd: Migrate handle_get_output_scriptpubkey
* libhsmd: Migrate handle_check_future_secret
* libhsmd: Migrate handle_ecdh
* libhsmd: Migrate handle_get_channel_basepoints
* libhsmd: Migrate handle_sign_invoice
* libhsmd: Migrate handle_sign_bolt12
* libhsmd: Add dispatcher function
* libhsmd: Add status functions to report to whoever is listening
* libhsmd: Migrate check_client_capabilities to libhsmd
* libhsmd: Add scaffolding to start separating hsmd from io logic
* plugins/bcli: strip trailing whitespace appropriately
* plugins/funder: fix up compilation.
* docs: Document the custom plugin notifications
* pay: Add pay_failure notification
* pay: Add notification for pay_success
* plugin: Make unannounced notification topics no longer fatal
* libplugin: Add functions to start and end notifications
* libplugin: Add notification topics to the manifest response
* libplugin: Add notification topics to plugin_main
* cleanup: Make lnprototest run only with DEVELOPER=1
* plugin: Restrict plugin notifications only to announced topics
* plugin: Wrap custom notifications in a dict with additional origin
* plugin: Remember the shortname for a plugin
* plugin: Move list of notification topics to each plugin
* plugin: Prevent plugins from registering native notification topics
* plugin: Implement custom notification dispatch for plugins
* plugin: Store the notification topics announced by the plugins
* plugin: Move the notification subscription check into a second phase
* plugin: Add a list of notification topics registered by plugin
* tests: add test for funder options
* pyln-testing: use provided outnum instead of trying to find it
* funder: handle RBF callback
* rbf_channel hook: add channel_max_msat parameter
* funder: `funderupdate` command to see/set configs
* funder: sanitize inputs
* contrib: if you\'re in dev mode, use dual-funding (with matching)
* funder-test: tests for our policy configurations
* funder: use listfunds to fetch utxo data
* funder: add a plugin, `funder`. policies for dual-funding
* amount: `amount_sat_scale` method
* openchannel: add missing string args to format string
* dualfund: set the locktime for the user-provided PSBT
* openchannel2/rbf hooks: reject if response malformed
* psbt-open: method to quickly check if has our input
* openchannel2: add channel_max_msat to openchannel2 hook payload
* dualopend: don\'t use final channel_id for accepter_start2
* plugin-tests: cleanup outdated openchannel2 hook fields
* tests: remove EXPERIMENTAL_FEATURE flag from openchannel2 hooks
* libplugin: add no-op command complete function
* test/run-commit_tx: test static remotekey.
* test/run-commit_tx: test HTLC differentiation.
* tests: make run-commit_tx output match the BOLT test vectors more closely
* channeld: fix test code for tx fee calculation (inside `#ifdef PRINT_ACTUAL_FEE`)
* bitcoin: allow developer override of signature grinding.
* pytest: Fix racy `test_unreachable_routehint`
* docs: Add documentation of --experimental-dual-fund option
* channeld: check if we want to change fees after sending revocation.
* channeld: increment fee states properly.
* channeld: don\'t ever send back-to-back feerate changes.
* pytest: fix race in test_penalty_htlc_tx_timeout
* pytest: make it work with latest bitcoind master branch.
* lightningd: don\'t send other messages until we\'ve received version.
* gossipd: don\'t start listening to connectd until we get init message.
* lightningd: don\'t abort on incorrect versions, but try to re-exec.
* subd: send versions at startup.
* status: new message for subdaemons to tell us their versions.
* CI: make sure we do a fuzzing build.
* tests/fuzz: update for fmt_amount changes, create pseudorand for fuzzing.
* dual-funding: rework how funding feerates are passed around
* dual-funding: bugfix, swapped commitment/funding feerates
* dual-fund: on witness failure, route through dualopend
* psbt: temporarily patch over failure to parse the empty tx
* closingd: handle custommessages
* dual-fund: update state before checking for \'doneness\'
* peer_control: fix leak false positive.
* pytest: fix flake in test_v2_open_sigs_restart_while_dead
* pytest: handle case where funding tx is not tx #1.
* pytest: fix flake in test_pay_disconnect
* pytest: fix spurious failure in test_local_basepoints_cache.
* lnprototests: update to latest, which adds wait for test_query_channel_range
* ci: turn on proto-tests for the CI builds
* pyln: Pin mypy to version 0.790 since later has import path issues
* gci: Remove already included requirements.txt files
* pyln-spec: Clean up the setup.py files
* pyln: Change the setup.py file not to import the package
* make: Setup the PYTHONPATH to include the pyln-spec packages
* python: Use relative URLs for pyln-{client,proto,testing}
* make: add lnprototests to check!!
* gossip: allow us to only look at 1 block
* make: include lnprototest in pythonpath
* tests: add submodule for lnprototests (points at branch right now)
* plugins: remove now-unused single-hook infrastructure.
* newaddr: don\'t include \"address\" field.
* plugin: always send allow-deprecated-apis in getmanifest.
* lightningd: remove unused `original_directory` field.
* chaintopology: remove deprecated urgent/normal/slow feerate display.
* devtools: add experimental section.
* pyln: remove deprecated fundchannel/fundchannel_start variants.
* pyln: remove deprecated pay/sendpay variants.
* pyln: remove deprecated close variant.
* close: activate notifications even with deprecated-apis.
* Makefile: make it easier to check bolt text.
* doc: remove suffix for included-in-master BOLTs.
* Makefile: update to latest BOLT versions.
* pay: Use gossmap for reachability check
* wire: clean up patch revision files in clean
* Wed Mar 31 2021 marecAATTdetebe.org- Update to version 0.10.0:
* CHANGELOG.md: update for v0.10.0
* gossipd: assert we\'re not blatting the version header.
* gossip_store: don\'t make bogus assumption that writes are atomic wrt readers.
* pyln-proto: make an error message more detailed
* pyln-proto: write out length of arrays of subtypes to wire
* dual-funding: introduce racy state
* v0.10.0-rc2
* CHANGELOG.md: update for recent changes.
* lightningd: set \"direction\" correctly for connect which is already connected.
* lightningd: get connection direction from connectd.
* gossipd: fix rolling corruption.
* df-tests: update to take \'no channel_id\' into account; use exp-df flag
* pytest: fix up rbf tests which use dev-disconnect.
* features: match up feature names to feature bit
* dual-funding: convert to runtime flag, --experimental-dual-fund
* dual-funding: use correct feature bit number!!
* dual-funding: implies anchor outputs.
* connectd: clearly differentiate incoming and outgoing paths.
* test_v2_open_sigs_restart: dont mine blocks until funding tx in mempool
* df-tests: make bad tests a bit better, maybe
* common: fix MacOS compile error.
* ccan: import latest
* doc: Remove leftover conflict marker in the docs
* 0.10.0-rc1.
* CI: Disable EXPERIMENTAL_FEATURES temporarily.
* plugin: Call invoice_payment hook before the matching notification
* keysend: Add error when trying to send to self
* keysend: Fix a use-after-free error
* channel: initialize inflight->tx_broadcast (EXPERIMENTAL_FEATURES)
* mfc: turn \"UNKNOWN TYPE channel_id\" logs into actually the channel id
* df: more reconnection tests
* df: actually save the peer\'s sigs transmission to disk
* dual-funding: don\'t not update the state! log the issue and move on with
* df: don\'t ignore their sigs, even if we\'ve already seen them
* df: move from warning to unusual
* df-broadcasts: use an impermanent marker to make sure we\'ve sent things
* channel: why were these commas in the first place
* connect: return address we actually connected to.
* channeld: allow remote node to exceed their own HTLC count limits.
* remove duplicated erring_node from paystatus.
* pytest: fix now-obsolete use of fundchannel_complete via txid.
* lightningd: don\'t complain about bad funding PSBT for elements.
* lightningd/opening_control: deprecate old fundchannel_complete args.
* txprepare, withdraw: return the PSBT as well as raw tx.
* python: handle psbt-version of fundchannel_complete, deprecate old.
* lightningd/opening_control: allow single-arg fundchannel_complete with PSBT
* lightningd/opening_control: store funding scriptpubkey.
* lightningd/opening_control: d_o_n_t a_d_d e_x_t_r_a u_n_d_e_r_s_c_o_r_e_s
* onchaind: see closes when wrong_funding shutdowns are used.
* close: accept wrong_funding outpoint arg if we negotiated the feature.
* closingd: add support for handling wrong_funding.
* channeld: code to send wrong_funding if lightningd says to.
* channeld: accept the \'wrong_funding\' shutdown TLV.
* bitcoin: add fromwire/towire routines for bitcoin_outpoint.
* wallet: out \"wrong_funding\" information in the db for persistence.
* protocol: add TLV for shutdown message, use 100 as \"wrong_funding\" outpoint.
* Experimental option option_shutdown_wrong_funding: help me, I screwed up!
* typo: information is an uncountable mass noun
* added the default bitcoin path for macos to startup_regtest.sh
* contrib: add the dev- options to the config iff DEVELOPER=1 configured
* mfc: use consolidated error reporting, reduce reliance on json-str
* mfc: check that we can retry when things go haywire
* mfc: have error messages for redos be more robust (include why)
* mfc: add convenience method for determining \'parity\'
* df: add openchannel_abort command
* df: nit, update to use proper helper json function for channel_id
* Fix wallet creation in contrib/startup_regtest.sh
* df: update the openchannel2 parameter \'accepter\' -> \'our\'
* df: add missing check for already set scriptpubkey
* docs: add notes on v2 openchannel plugin hooks
* nit: change spacing on PLUGIN doc
* df: add doc for `channel_open_failed` notification
* df-doc: add docs for openchannel_bump, more checks for valid psbt
* df-doc: update error codes, make sure they\'re correct
* CHANGELOG: add title and namer to last release.
* mfc: move input validation down to input acceptance
* mfc: final inversion!
* mfc: move fundchannel_starts down
* mfc: move connection beneath funding
* mfc: invert some more
* mfc: begin inversion, start at bottom as well as re-try
* mfc: rm call chain inversions + declarations
* mfc: invert call-chain, remove declarations
* mfc: rm declarations; invert call chain
* mfc: rm declarations, invert ordering
* mfc: cleanup static declarations/invert call chain
* mfc: uninvert/remove declarations for mfc cleanups
* pay: Add functions to tell bolt12 string apart
* pay: Do not clobber error messages if we fail decoding a bolt11
* pay: Abort the payment if destination is unreachable
* pay: Remove routehints with unreachable entrypoints
* pay: Filter out routehints whose entrypoint is unknown
* keysend: Set an error message if we abort due to missing TLV
* libplugin: Introduce `payment_abort` to terminate a payment
* pay: Do not mark in-flight parts as failed
* pay: Keysend tries to send even if featurebit 55 isn\'t set
* pyln: Fix listfunds call defaulting to spent=False
* configure: Pick up the correct pytest executable
* plugin: Add details about which plugin caused a clash in RPC methods
* plugin: Abort early if we have a misconfiguration in the plugins
* pyln: Plugins can be nice if invoked from CLI too
* gci: Disable test for NO_PYTHON
* wallet: Do not generate basepoints in the hsmd
* wallet: Load local basepoints from the database alongside the hsmd
* wallet: Store local channel basepoints when a new channel is created
* db: Add migration for the local basepoints and the funding pubkey
* db: Add the migration_context to hold info required by migrations
* wallet: Add migration to cache local basepoints from the HSMd
* df-spec: limit allowable inputs/outputs to 252
* df: fail channel if peer sends witnesses that aren\'t paid for
* bitcoin: method for finding weight of \'wally_tx\'
* psbt: mark psbt arg as const for `psbt_compute_fee`
* df-spec: use an empty bit-set as the basepoint for chan-id at start
* df-spec: consolidate dual-funding patches, update feerate protocol
* dual-fund: remove all references to PODLEs
* hsmd: Ensure the hsmd is initialized before anything else is called
* plugin: Do not send the internal framed message over the wire
* connectd: clean up the channel stuffs when we get a reconnect
* df: add (over zealous?) note about the usage of `psbt_has_req_fields`
* df-memleak: expose memleak error and fix
* Revert \"df: turn off integration tests that depend on v2 funding\"
* df-tests: check that rbf includes overlapping inputs
* df-tests: check that multiple RBFs and tx-sigs errors during RBF work
* df-rbf: test for interrupts during tx construction
* df-rbf: reconnection tests (init_rbf + ack_rbf)
* df-tests: happy path rbf test
* df: cleanup error handling on lightningd side
* df-rbf: update rejection criteria for tx_sigs
* listpeers: include feerate info for RBF-candidate channels
* channel: move inflight + feerate methods to channel.c
* listpeers: include info on channels that are in-process
* df: handle funding_locked + tx_signatures messages out of order
* df: move methods around so we can call them elsewhere
* rbf: clean up channel on error
* rbf: consolidate failure paths, use \"warnings\"
* df-rbf: separate first-time channel save from update (RBF)
* df-rbf: only permit the channel initiator to init RBF
* df: update reserve calculation
* df-rbf: handle rbf failures in lightningd
* df-rbf: init an rbf for real, using openchannel_bumpfee
* listpeers: add latest feerate and actual last fee amount.
* Makefile: fix parallel build error on clean tree.
* wire/Makefile: make sure we regen exp files if patches change.
* df-feerates: send back original + last known feerates
* df: revert channel state in dualopend
* df: allow for RBF_INIT in sigs states
* dualopen: check that peer is connected for json calls
* df: update channel_id when opening; closing; disconnecting
* memleak,df: patchup memleak code for v2 channels
* df, channel: if a channel reconnects, but it\'s \"unsaved\" still
* df: check inflights when deciding whether or not to allow command
* channel: skip unsaved channels
* connectd: check for re-connected unsaved channels
* subd: remove \"swap\" methods
* subd: remove ctype (channel_type)
* df: start of RPC for bumping the fee!
* df: do the right thing, now that we have a cancellation routine
* df: move to inflights for sigs/openchannel_signed parts of flow
* df: move initialization over to unsaved channel
* df: get rid of unnecessary struct `commit_rcvd`
* df: helper to find the last (most recent) inflight for a channel
* df: consolidate callbacks for opener/accepter, move to open_attempt
* df: method for disconnecting an
*unsaved
* channel
* df: add helper for creating an \"unsaved\" channel
* df: migrate from \"uncommitted_channel\" to \"open_attempt\"
* df-rbf: hook for rbf_init attempt, called \"rbf_channel\"
* channel: remove \'uncommitted_channel\' from channel lookup
* channel: remove `psbt` and `remote_tx_sigs`
* channel: only delete saved channels from database
* dual-funding, rbf: reject RBFs that will fail the total-fee rule
* df-rbf: validate that the candidate funding transaction is valid
* df-rbf: break out opener commitment codepath, use for rbf
* df-rbf: opener setup for \"interactive\" protocol portion
* df: move out logic for adding funding output to PSBT
* df-rbf: split out \"commitment txs\" portion of accepter
* df-reinit: pass back channel_flags
* df: put channel_flags onto state
* df-rbf: start of handling an incoming RBF attempt from peer
* df-rbf: add method to fail an RBF
* df-rbf: update wires with ack and fail rbf
* df-rbf: refactor state for opening attempts
* rbf: check all inflights for matching transaction data
* df-rbf: update channel data on depth reached
* inflight: add a \'channel-inflight\' concept, in-progress channel stuffs
* df: turn off integration tests that depend on v2 funding
* nit: make comments 80 chars
* Updated listforwards doc with new parameters
* Added listforwards test
* Added index to forwarded_payments.state to speedup lookups using this column
* Added in_channel,out_channel,state params to listforwards
* json: fix oom when adding a long string
* pytest: test rpc_command hook chain
* doc: make rpc_command hook chainable
* plugins: make rpc_command hook chainable
* pytest: reduce test to edgecases for CI.
* common: support opt_shutdown_anysegwit checks (EXPERIMENTAL_FEATURES).
* bitcoin/script: use script opcode constants from wally_script.h
* openingd: check upfront shutdown script.
* common/shutdown_scriptpubkey: extract shutdown scriptpubkey test.
* plugin: Fix the custommsg hook not to include the internal prefix
* pytest: test fee estimates which start working after channel establishment.
* chaintopology: fix notification first time fee estimate works.
* plugins/bcli: fake minimum fee if we\'re in regtest mode.
* test: Fix memory leak in unit test run-gossmap_local
* doc: Fix minor markup issues in the newaddr manpage
* plugin: log self-disable at debug level, other manifest fails at unusual.
* plugin: add log-level to plugin_kill, make it take format string.
* lightningd: reap zombies (particularly plugins).
* lightningd: differentiate cases of plugin death correctly.
* Minor wording
* pytest: fix \"bad gossip\" flake in test_forward_event_notification
* offers: handle re-fetching the same invoice twice.
* offers: make \'used\' flag more useful.
* doc: add mpp warnings to lightning-invoice(7)
* doc: add disableoffer and listoffers manpages.
* doc: fix up incorrect punctuation in lightning-fundchannel page.
* contrib: make startup_regtest.sh work for modern bitcoind.
* gossipd: use modern \'sync_complete\' field.
* doc: update BOLT quotes (to include links for anchor outputs).
* doc: update BOLT quotes (to include same-transmission-order rule).
* doc: update BOLT quotes (to include preimage leakage).
* doc: update BOLT quotes (to include LOW-S-standard rule).
* gen: Commit derived files for PR #4378
* db: Set the failonion to the default value on creation
* db: Set the failonion on channel_htlcs if is is not set
* df: more descriptive error message
* psbt: method to calculate fee paid on PSBT
* df-tests: send payment over opened channel
* df: patch hole where we wouldn\'t notify peer of failure
* df: use simplified version to print json
* psbt: method to clone a PSBT onto a context
* tests: test_no_fee_estimate robustify
* gitignore: ignore libwally-core external directory
* gitignore: ignore experimental unit test build files
* Fix typo in doc/BACKUP.md
* pytest: fix flake in test_no_fee_estimate()
* pytest: fix pay flake.
* readme: Replace outdated Travis-CI badge with Github Actions badge
* make: Add target to check generated/derived files were checked in
* Regenerate derived files
* wallet: Fix a potential memory leak when loading state changes
* pytest: Stabilize test_onchain_feechange
* pytest: Stabilize test_forward_event_notification
* pytest: Stabilize funding cancel race by killing in parallel
* gci: Split test configurations into groups
* gci: Move the setup and build steps into their own scripts
* pay: Check for self-payments before attempting to pay
* plugin: Check that we have a non-empty route in libplugin
* pytest: Reproduce #4345
* Regtest does not exist to the CLI
* Added regtest, example, k and null explanation
* doc: Update the recommonmark extension for RTD compilation
* cleanup: Update generated files
* df-tests: use `excess_as_change`, test two-sided channels better
* reservations: add weight of fee-output to weight calculation
* fund/utxopsbt: flag \'excess_as_change\' to add a change output for excess
* pytest: detect warnings, too.
* common: disallow NULL channel_id to peer_failed_err.
* common: remove peer_failed in favor of peer_failed_warn/peer_failed_err
* common: infrastructure to construct warning messages.
* common: treat all \"all-channels\" errors as if they were warnings.
* lightningd: implement receiving warnings.
* pytest: fix false bad gossip issue in test_forward
* gossmap: change local API.
* common: support transitory local map additions to gossmap.
* common: fix gossmap min/max rounding.
* common: extract fp16 routines into their own file.
* check-includes: allow redundant \"config.h\"
* pyln-testing: add `scids` param to `wait_for_htlcs`
* pyln-testing: improve `wait_for` a bit
* docs: document addgossip API.
* lightningd: no longer forward failures to gossipd, let caller do it.
* pay: inject channel updates from errors ourselves.
* lightningd: addgossip API to inject gossip messages.
* gossipd: add an internal flag to force a channel update
* connectd: don\'t crash if connect() fails immediately.
* lightningd: disallow --daemon without --log-file.
* bitcoind: remove v0.9.0-compat for rejecting sendrawtransaction arg.
* listsendpays: remove deprecated \"null\" amount_msat.
* chore: cleanup some nits
* pytest: peer_connected chainable tests
* feat: make peer_connected hook chainable
* doc: openchannel note close_to can only be set once
* doc: document peer_connected hook chainable
* chore: fix typo in openchannel hook log
* pytest: improve test_openchannel_hook_chaining
* pytest: custommsg chainable tests
* doc: document custommsg hook now chainable
* feat: make custommsg hook chainable
* pyln: Catch OSError when cleaning up test directories
* travis: Goodbye Travis, hello github actions
* gci: Stabilize test_forward_event_notification
* gci: Add the JSON report plugin to the ci configuration
* pyln: Pretty print RPC calls in the testing framework
* gci: Give each configuration an CFG value to identify them later
* gci: Pin mypy to version 0.790 since 0.800 gives strange errors
* gci: Upload the junit.xml report
* gci: Switch to the flaky plugin
* pytest: Stabilize test_forward_stats
* pytest: Stabilize test_routing_gossip
* pytest: Give each run of the hsmtool its own pty
* pytest: Stabilize test_funding_close_upfront
* pytest: Stabilize test_closing_negotiation_reconnect
* pytest: Stabilize test_bad_onion
* pytest: Stabilize test_multiple_channels
* make: Remove hardcoded timeout to pytest
* gci: Add pytest.ini in order to randomize the groups
* gci: Format the build script
* pyln: Adjust maximum load allowed by the throttler
* pytest: Parameterize process waits for hsmtool calls
* pyln: Use a fair FS lock to throttle node startups
* pytest: Stabilize test_channel_{spendable,receivable}
* pytest: Stabilize the negotiation tests
* pytest: Stabilize test_funding_external_wallet_corners
* pytest: Disable test_v2_open if not developer
* pytest: Stabilize test_channel_state_changed_bilateral
* pytest: Stabilize test_setchannelfee_state
* pytest: Stabilize test_gossip_persistence
* pytest: Stabilize test_onchain_timeout
* pyln: Update dependencies for all pyln packages
* pytest: Stabilize test_penalty_htlc_tx_timeout
* pytest: Simplify and stabilize test_reconnect_no_update
* pytest: Skip hsm encryption test if we don\'t have a TTY
* gci: Expand matrix to include all CI configurations
* gci: Add a tester Dockerfile
* gci: Add basic configuration for Github Actions as CI
* pyln: Bump pyln version to 0.9.3 before publishing on PyPI
* pyln: Pin the mypy dependency to 0.790 since 0.800 has a regression
* git: Ignore some more generated files and artifacts
* doc: Make the release process a bit more readable
* make: Explicitly set PYTHON_VERSION=3 for libwally
* tools: Pretty print the credits
* tools: Allow versions to either have a v prefix or not
* doc: Update release process document
* devtools: Make the raw changelog more readable
* Fix dockerfiles
* nit df: correct spelling mistake
* wallet nit: consolidate stmt free into one line
* wallet: cleanup fee_states alloc on error
* Fri Jan 22 2021 marecAATTdetebe.org- Update to version 0.9.3:
* release: Update the changelog for v0.9.3
* hsmtool: don\'t streq() on NULL
* wallet/db.c: Speed up deletion of single peers.
* Added link to https://lightning.readthedocs.io/
* changelog: Add v0.9.3rc1..v0.9.3rc2 changes
* doc/PLUGINS.md: Document the onion_message and onion_message_blinded hooks.
* lightningd: don\'t expose (undocumented) experimental-dual-fund.
* doc: note where experimental-offers is required or affects commands.
* doc: Manual page for sendonionmessage.
* lightningd: fix double-free when forking subdaemon fails.
* fetchinvoice: don\'t abort() if we try to fetch an invoice from ourselves.
* travis: Bump number of valgrind configs to 12
* offers: make it a runtime option.
* common/bolt12: include correct bolt12 wiregen header.
* tools/generate-wire.py: include digits in #ifndef idempotent header.
* libplugin: make init return a string.
* plugins: allow plugins to disable themselves at startup.
* lightningd: control onion messages by `experimental-onion-messages` option.
* wire: Apply onion mesages spec patch even when not experimental.
* wire: add bolt12_wire.csv
* wire/Makefile: refactor to allow non-experimental spec patches.
* doc: Add changelog for version v0.9.3rc1
* autodata: requests new line number, please
* df-tests: simultaneous openchannel_init (while in progress)
* df-tests: test_lightningd_still_loading
* df-tests: test_disconnect_half_signed + test_reconnect_signed
* df-tests: test_reconnect_openingd
* df-tests: test_reconnect_sender_add1, others
* df-tests: test_reconnect_receiver_add
* df-tests: test_peerinfo
* df-tests: test_channel_persistence
* df-tests: have the df_accepter plugin keep track of attempts
* df-tests: test_disconnect_opener
* df-tests: test_forward_local_failed_stats
* df-tests: if we\'re using fundbalancechannel, set up plugin
* df-tests: add `setacceptmaxfunding` to df_accepter plugin
* pyln-tests: tweak `fundbalancedchannel` to assume peer will match
* df-tests: test_payment_success|failed_persistence
* df-tests: make memleak happy by cleaning up `psbt`
* df-tests: test_io_logging
* df-tests: test_channel_state_changed_unilateral
* df-tests: test_channel_state_changed_bilateral
* df-tests: test_coin_movement_notices
* df-tests: test_channel_opened_notification
* df-tests: test_feature_set
* df-tests: test_plugin_feature_announce
* df-tests: test_channel_state_change_history
* df-tests: test_openchannel_hook_error_handling
* df-tests: test_openchannel_hook_chaining
* df-tests: test_openchannel_hook
* df-tests: test_funding_reorg_private
* df-tests: test_node_reannounce correct features
* df-tests: test_fail_unconfirmed, duplicate with correct wires
* df-tests: test_shutdown_awaiting_lockin check correct state
* df-tests: adjust logsearch/features for test_dataloss_protection
* df-tests: fixup expected features for dual-funding channels
* df-tests: test_multifunding_v2_v1_mixed update to use flag
* df-tests: updates for plugin hook_accepter helper
* tests: don\'t enforce daemon name on opening logline
* df: add flag to signal to run v2 channel open tests
* pyln-testing: add \'config\' method to a node
* experimental-dual-fund: add config level option for enabling dual-fund
* df: use dev-env flagged upfront shutdown script
* df: free psbt on negotiation failed
* df: add a new \'channel_open_failed\' notification
* df: include channel_id in openchannel2 hook
* df: don\'t update local shutdown scriptpubkey from dualopend
* df: if \'openchannel2\' is \"rejected\" we should send that error
* df: move callback up
* df-reconnects: allow tx-sigs in channeld iff we\'re reconnecting
* df: state, clean more things up
* df: actually send a temp-id to the peer in open_channel2 WIP
* df: assume this is a \'negotiation failure\'
* df: actually run \'reconnect\' code
* df: handle locked in etc in dualopend
* df: reinitialize dual-funding
* df: bunch of driveby formatting fixes
* df-feerates: mimic old behavior if there\'s no plugin handling
* df: there\'s only one state that we should be in for a `dualopend`
* channel: save the fact that funding_locked was rcvd to disk
* channel_fallen_behind: break out functionality into two methods
* db: add flag to database for recving remote\'s sigs
* temp_channel_id: move to common
* dual-fund: use correct \'last_tx\'
* df: handle shutdown (before lockedin) in dualopend
* df: handle fails
* subd: keep track of \'channel\'s type
* setchannelfee: allow dualopend\'s \"awaiting\" state to be valid also
* feerates: mimic behavior of original opening if feerates not specified
* billboard: add in billboard updates from dualopend
* billboard: break out common method for billboard updates
* dual-open: handle sigs and channel lockin in dualopend, not channeld
* dual_open: move two functions
* dual-fund: don\'t kill dualopend after commitments exchanged
* channel_control: when we reach depth, for v2 channels, tell dualopend
* channel-state: add two new states, for dualopend
* channel_control: rename record_channel_open + expose
* channel_control: break out function for on_funding_locked
* dual_open_control: correct name of hook
* open_command: keep them local to channel
* autodata: tweak where createinvoice is
* peer_control: remove PSBT from peer_start_channeld
* whitespace changes, 80 chars etc
* channeld: remove peer->psbt
* subd: swap out the channel + error callback
* df nit: capitialize acronym
* df: open_channel -> openchannel
* df: make sure to end wally alloc
* df: move tx_sigs from channeld to dualopend
* fetchinvoice: allow amounts to be specified.
* offers: convert currency when they request an invoice.
* offer: allow offers in other currencies if we can convert.
* common/amount: make fmt_amount_sat / fmt_amount_msat etc take copy.
* onion_message: support variable-length onion messages.
* sendinvoice: don\'t allow separate invoice and command timeouts.
* doc: fix waitinvoice update.
* doc: update and fix listinvoices output in man page.
* sendinvoice: call waitinvoice directly to on invoice payment.
* lightningd: fix temporary onion_message leak:
* decode: new generic API to decode bolt11 and bolt12.
* common/bolt11_json: extract bolt11->json code.
* offers: split offer send_invoice generation into new JSON command
* doc: document experimental commands.
* fetchinvoice: try direct peers if we can\'t route.
* lightning/onion_message: hack to allow x-only guesses for first hop.
* gossipd, channeld: handle onion messages in gossipd so we don\'t need a channel.
* fetchinvoice: check we\'re in the period before attempting to fetch.
* fetchinvoice: implement timeout.
* plugins/fetchinvoice: handle sendinvoice timeout, error or payment.
* plugins/fetchinvoice: implement `sendinvoice` command.
* lightningd: new api payersign to sign bolt12 message with a payer_key.
* plugins/offer: handle receiving an invoice in an onion_message.
* plugin/offers: hoist send_onion_reply into core.
* plugins/offer: allow `offer` to create `send_invoice`, `refund` and `single_use` offers.
* sendonion: remove underscores from JSON arg name.
* pytest: Mark `test_lockup_drain` as disabled
* doc: Document existence of `erring_direction` in `sendpay` result
* configure: Prefer pytest over pytest3
* tests: wait for drop to chain test_onchain_middleman_their_unilateral_in
* pyln: Add ammag key to onion keyset
* invoice: add ctlv option.
* pay: Fix a crash when waitblockheight times out
* pytest: Reproduce waitblockheight timeout issue #4309
* json-rpc: Give `waitblockheight` an error code for timeouts
* Revert \"wallet: Remove in-memory utxoset filter\"
* common/json: make json_scan return an error string.
* lightningd/bitcoind: use json_scan.
* chaintopology: fix crash if bcli doesn\'t include errmsg.
* common: remove now-unused json_delve.
* libplugin: replace rpc_delve with rpc_scan.
* plugins: use json_scan.
* plugins/bcli: convert to json_scan.
* common: enhance json_scan with simple array helpers.
* common/json: new helper to scan JSON: json_scan.
* common: add length-limited versions of json_streq and json_get_member.
* json_to_psbt: fix API to match other allocating json_to functions.
* pytest: Test LightningRpc and plugin command notification support
* pyln: Add notifications support to LightningRpc
* pyln: Add command notification support for plugins
* pytest: Add a test for `listinvoices`
* docs: Document `bolt11` and `payment_hash` arguments of listinvoices
* jsonrpc: Allow filtering via bolt11 or payment_hash in listinvoices
* channeld: stop taken() leak.
* df-mfc: remove guard-rails for failures
* mfc: avoid off-by-one rounding errors when finding change fee
* mfc-df: if the psbt we\'ve got has inputs from our peer, remove them
* mfc-df: if there\'s an error with a openchannel_signed, fail
* tests/fuzz: add a fuzz target for hsm_encryption
* libfuzz: add a NULL-termination in to_string
* hsmd: cleanup encrypted hsm_secret detection
* hsmd: regroup hsm_secret decryption logic
* hsmd: group hsm_secret encryption
* lightningd: regroup hsm_secret password input logic
* lightningd: group hsm_secret encryption key derivation
* lightning: confirm password on hsm_secret encryption
* hsmtool: use errx() instead of err() everywhere
* pyln-testing: suppress mypy on FileLock
* df-plugin: add `signonly` to signing in df_accepter
* dual_open: neaten spacing for macro
* df: update an error message to give more info
* json: allow helper to take/free psbt
* pyln-client: to_whole_satoshi returns the rounded up satoshi value
* pyln-client: add missing `min_witness_weight` to fundpsbt/utxopsbt
* hsmtool: only write 32 bytes to hsm_secret on generatehsm
* pytest: reproduce issue #4302
* hsmtool: reuse read_stdin_pass for `generatehsm` passphrase
* hsmtool: input encryption password from stdin
* pytest: Really only check DB statements if the env-var is \"1\"
* pytest: Disable test_funding_cancel_race on slow machines
* pyln: Do not rstrip() the return value of .append()
* pytest: Stabilize test_routing_gossip
* pyln: Check that the stderr line is not none in pyln-testing tail
* pytest: Add throttler to limit load on the test system
* pyln: Add logging to bitcoind RPC calls
* pyln: Log mempool when we generate blocks in BitcoinD fixture
* fix memset for route_hop json parsing when no channel_id exists.
* bcli: print error message in debug log for broadcast failures
* bcli: only print error if exitcode is non-zero
* bcli: allocate temp string off of short-lived cmd
* bcli: print sendrawtx every time (even on failures)
* plugins/offer and plugins/fetchinvoice: send and recv errors.
* fetchinvoice: return the next period for recurring offers.
* invoice: hack in merkle of invoice as \"payment_secret\" (EXPERIMENTAL_FEATURES)
* pytest: finally test fetchinvoice send, and offer plugin receive.
* plugins/fetchinvoice: catch invoice_request reply.
* plugins/fetchinvoice: plugin to send an invoice_request for a given offer
* lightningd: low-level createinvoicerequest API (EXPERIMENTAL_FEATURES)
* hsmd: code to sign bolt12 messages with a tweaked key.
* plugins/offers: add code to catch invoice_request onion messages.
* JSON: offers plugin `offer` command.
* plugin/offers: skeleton for offers plugin (EXPERIMENTAL_FEATURES)
* common/bolt12: add calculations for offer periods.
* wire/Makefile: make generated wire files depend on Makefile.
* Added listfunds test
* Added spent option to listfunds in pyln-client
* Added spent option to listfunds
* setchannelfee: fix crash when channel is not in valid state.
* add a note to \"unknown parameter\" error about -k autodetect failure.
* pyln: add RpcException for finer method failure control.
* doc/BACKUP.md: Minor typo due to rearranged text.
* common: change default network to mainnet for all
* doc/BACKUP.md: Document backup strategies for `lightningd`.
* cleanups: feedback from Christian Decker review.
* common/blindedpath: fix type of enctlv.
* plugins/pay: allow bolt12 invoices (EXPERIMENTAL_FEATURES).
* pay, wallet: rename internal `bolt11` vars to `invstring`.
* invoice: handle bolt12 strings if EXPERIMENTAL_FEATURES.
* lightningd: createinvoice low-level invoice creation command.
* bolt11: expose routine to parse bolt11 string except signature.
* lightningd: add low-level offer interfaces.
* sendpay: optional argument to link local offer.
* invoice: add an optional local_offer_id.
* db: offer table.
* common/iso4217: make find_iso4217 a little more usable.
* Plugin: support extra args to \"start\".
* plugins: support concatenation of multiple args.
* plugins: remove deprecated string plugin options.
* common/private_channel_announcement: don\'t include wire/peer_wiregen directly
* pytest: check millisatoshi by float raises
* pytest: test mul and div units for Millisatoshi
* pyln: fix Millisatoshi div with msat itself
* pytest: Debug test_lockup_drain
* tests: Move ecdh stub out of autogenerated stubs
* tests: Update mocks after breaking them via interleaved merges
* common/sphinx: remove assertion that onions we parse must be 1366 bytes.
* common/sphinx: make onionpacket.routinginfo a dynamic member.
* common/sphinx: make TOTAL_PACKET_SIZE a macro.
* common/sphinx: eliminate temporary buffer for prefill.
* common/sphinx: don\'t use temporary to xor in cipher stream.
* common/sphinx: don\'t make copy to compute packet hmac.
* pytest: Add test for keysend feature support
* keysend: Check that the destination supports keysend upon init
* make: have `git submodule update` be recursive
* pyln: Add TOR and SOCKS5 support in pyln.proto.wire.connect
* wallet: remove debugging fprintf.
* hsmd: code to sign a bolt12 merkle root.
* common/blindedpath: EXPERIMENTAL creation of blinded paths.
* devtools/bolt12-cli: cheap ripoff of bolt11-cli tool.
* common/iso4217: define the currency codes.
* common/bolt12: encode/decode for bolt12 offer, invoice_request and invoice
* common/bech32_util: simple routines for checksumless bech32 charset usage.
* common/bolt12_merkle.h: experimental bolt 12 implementation.
* channeld: hand up onionmessage fields.
* sendonionmessage: add invoice, invoice_request and invoice_error fields.
* wire.c: import bolt 12 offers CSV.
* utf8: handle UTF-8 arrays.
* gossmap: helper to try to map x-only nodeid into 33-byte pubkey id.
* bitcoin/pubkey: add pubkey32 primitive for xonly pubkey types.
* common/json_tok: minor cleanup to bitcoin_outpoint array parsing.
* bitcoin/tx: fix type of outpoint (n is a u32), simplify json_to_outpoint
* cli: Add a JSON parsing sanity check before sending request
* jsonrpc: Forward errors on malformed requests to cli
* pytest: Add a test to reproduce #4258
* txprepare: Verify that outputs arg is an array
* cleanup: Remove stdio header from param.c
* txprepare: Use param_outpoint_arr helper to validate input
* json: Add two param functions to parse string arrs and outpoint arrs
* pyln: Remove deprecated txprepare variant
* plyn: use math.floor for msat mul and div
* pyln: fix msat float multiplication
* pyln: extend msat floating testcases
* channeld: Fix the shutdown_sent billboard direction
* pytest: Disable flaky test_fundchannel_start_alternate
* connectd: add annotation and fix up formatting on connectd/netaddress.c
* connectd: fix valgrind complaint on FreeBSD
* doc: fees on listpeers
* pytest: tests fee_base and fee_ppm on listpeers
* feat: adds local halfchan fees to listpeers
* onchaind: cap max_possible_feerate using commitment transaction.
* onchaind: speed up HTLC matching by skipping identical CLTVs.
* bitcoin_tx_check: don\'t rely on tmpctx.
* onchaind: test stressful input.
* common/daemon: remove notifiers on root at cleanup.
* wire/tlvstream: add tlv_make_fields helper to populate ->fields array.
* tools/generate-wire.py: use helpers.
* tools/generate-wire: don\'t use void
* pointers for tlv fromwire.
* plugins/libplugin-pay: expose gossmap for plugin special effects.
* lightningd: split onion_message hook.
* channeld: hand input blinding to lightningd.
* libplugin-pay: don\'t expose bolt11 details.
* pyln: Replace undecodeable symbols when tailing logs
* pytest: Use datetime.strptime instead of datetime.fromisoformat
* pyln: Set the prefix in TailableProc
* plugins: add txprepare to .gitignore
* peer_htlcs.c: close taken() leak.
* pytest: recreate wallet on bitcoind restart.
* channeld: fix gcc warning on gcc 8.3.0 (Debian 8.3.0-6)
* invoice: fix potential race where invoice is paid/expired while we\'re calling hook.
* lightningd/log.c: Fix up handling of SIGHUP.
* tests/test_misc.py: Add a test for issue #4240.
* df-mfc: set the minimum input weight to 110 iif v2
* df-mfc: set protocol type when we know it
* fundpsbt/utxopsbt: new `min_witness_weight` param
* bitcoin: break out method to calculate input weight
* df-tests: use multifundchannel pathways instead of custom plugin
* df: rename the dual_open wires to match other daemon wires
* invoice: make invoice_payment hook a multi-user hook.
* unittest: use common_setup / common_shutdown almost everywhere.
* common: check for outstanding taken() pointers in common_shutdown.
* ccan: update ccan/utf-8 to reject NULs embedded in strings.
* common/json: json_add_stringn helper.
* libplugin: add command_hook_success helper.
* json: add json_tok_endswith and json_tok_startswith helpers.
* gossipd: fix memleak.
* Makefile: separate check-python targets.
* JSON-RPC: don\'t allow any strings which aren\'t valid UTF-8.
* common/bolt11: reject bad UTF-8 strings.
* common/utils: simple utf8 helpers.
* pyln: failing test msat from float str
* pyln: fix msat from float str
* pytest: use default fundamount on two tests
* pyln: def amount 10
*
*6 for fund- and openchannel
* external/Makefile: fix parallel build with missing secp headers.
* lightningd/plugin_hook.c: Make `db_write` a chained hook.
* lightningd/plugin.c: Make plugin-exclusive loop support multiple plugins.
* wally: remove wally casts that are no longer needed
* tx: Remove wally workaround that is no longer needed
* libwally: update to latest which uses libsecp-zkp submodule
* df-spec: fail the open if they send us too many tx-collab msgs
* mfc-psbt: mark all of our inputs as \"ours\", then only sign those
* df: pass back \'close_to\' for completed/commitment secured channels
* mfc-df: add \'happy path\' tests for the v1+v2 things
* df-accepter plugin: temporarily dont pass in signpsbt
* mfc-df: after openchannel_signed is finished, we call finished
* mfc-df: after psbt signed, send to openchannel_signed if v2s
* mfc-df: after sigs are collected, go sign the psbt
* mfc-df: once we\'ve gotten the PSBT finalized, we wait for peer sigs
* mfc-df: only add outputs for v1 outs; go to openchannel_update if v2s
* mfc-df: rework how openchannel_update works, callbacks
* mfc-df: merge openchannel_init/fundchannel_start results
* mfc-df: have both paths use redo_multifundchannel
* mfc: consolidate to a single FAILED state
* mfc-df: track destination\'s openchannel version
* mfc: add a \'fail_destination\' helper
* mfc: add happy path-way for v2 in multifundchannel
* nit,df test plugin: change up how feerate is formatted
* doc/TOR.md: Add missing instructions to add user to Tor group.
* htlc.h: move NUM_SIDES to define, not enum member
* lightningd: remove unused pid_fd member in struct lightningd
* doc/PLUGINS.md: Fix typo.
* Sat Nov 21 2020 marecAATTdetebe.org- Update to version 0.9.2:
* Update to v0.9.2
* release: bump to v0.9.2rc2
* Revert accidental experimental libwally update from f56266c1c1e135a29124448b822b511ce7f3120b
* plugins: undeprecate old form of hooks.
* pay: Cleanup the route applicability checks for channel hints
* pay: Retry the route computation if we could not apply the chanhints
* pay: Add a pre-apply check to channel_hint updates
* pay: Move the chanhint update up to payment_getroute
* connectd: properly cleanup \'competing\' outgoing connections
* tests: make connection details correct
* connectd: Update connection list with new address
* pytest: use the \'contrib\' plugin set, not the \'test\' set
* chore: reduce CI load merging a testcase
* pytest: fix a probable flake on test_channel_opener
* pytest: tests closer on unilateral close
* fix: closer set to remote for onchain settlement
* fix: hangup in plugin rescan
* v0.9.2rc1 - Changelog
* htlc_accepted: log BROKEN if both \'failure_msg\' + \'failure_onion\'
* refactor htlc_accepted_hook_deserialize.
* failure_onion: a test that only ensures lightningd doesn\'t crash.
* optional \"failure_onion\" in reply to htlc_accepted hook.
* pytest: silence pytest warnings about unregistered \'slow_test\' marker
* devtools/decodemsg: handle truncated TLVs properly.
* gossipd: fix response for large replies.
* doc: document output descriptors in hsmtool
* pytest: test onchain wallet descriptor import on bitcoind
* pytest: create a wallet for bitcoind if none is present
* hsmtool: add a \'testnet\' option to \'dumponchaindescriptors\'
* tools: add a new \'dumponchaindescriptors\' command to hsmtool
* fuzz: add a fuzz target for common/descriptor_checksum
* fuzz: add a \'to_string\' function to libfuzz
* common: add a descriptor checksum computation module
* pyln-testing: require bitcoin v0.20 for PSBT handling, and create wallet for v0.21
* `hsm_secret` generation from a seed-phrase
* gossipd: minor cleanups.
* gossipd: simplify large reply code.
* gossipd: new struct to hold scids and timestamps together.
* gossipd: use straight counter instead of bitmap for query_channel_range replies.
* pytest: make test_hook_dep tests more stable.
* pytest: simplify test_openchannel_hook_chaining now order is deterministic.
* plugin: sort topological candidates by specified order.
* pytest: test that we maintain load order unless hook deps require a change.
* plugins: check order once all plugins have returned from getmanifest.
* pytest: test that we don\'t complain about missing dependencies at startup.
* plugins: deprecate old form of hooks.
* libplugin: add support for before and after deps on hooks.
* pyln: add support for dependent hooks.
* lightningd: actually order the hooks.
* plugins: allow \'before\' and \'after\' arrays for hooks.
* common: allow tal_arr_expand() to have an `n` argument.
* lightningd/opening_control.c: Remove predeclaration.
* openingd/: Fail `fundchannel_start` if we already are, or will become, the fundee.
* tests/test_connection.py: Test for #4108.
* doc: update channel_state_changed notification
* pytest: state_change history
* feat: adds state_changes to listpeers output
* db: adds a state_change history to database
* feat: adds timestamp to state_change notification
* rpc: adds json_add_timeiso helper
* pytest: test opener and closer of listpeers
* rpc: adds opener and closer to listpeers channels
* db: persist channel closer and state change cause
* pytest: channel state change cause and message
* feat: adds state change cause and message
* lightningd: fix similar race in `stop`.
* lightningd: fix crash if we abort after enabling notifications.
* doc: move \"next_onion\" and \"shared_secret\" to inside \"onion\".
* dual_open: correct silent enum conversions
* df: move tx_role functions (used in next patch)
* bitcoin/signature: wrap libwally call.
* chore: fixes a cppcheck false positive
* wire: remove declaration of towire_tlvs since its implementation is already removed
* travis: Add a pytest run with EXPERIMENTAL_FEATURES=1
* pyln: Bump cryptography dependency to 3.2 due to upstream bug
* wallet: Remove orphan statements.po file
* pyln-proto: Add compactsize alias for varint_{encode,decode}
* nit: lightningd.c: fix \"Richard Stevens\' advice\"
* doc: STYLE.md fix \"parameters get\"
* lightningd: note whether payment secret is used or not.
* gossmap: fix reutrn of gossmap_xxx_has_feature, rename.
* df: rename \'feerate_per_kw\' to \'feerate_per_kw_commitment\'
* df: Pass new feerate options through to plugin, set reasonable bounds
* df: incorporate a few spec changes -- serial_id is now 64-bits
* nit: lightningd.c: Fix a couple of SATTS comments
* dev-force-features: adds a second valid format for forcing features
* features: add \'feature_bit_sub\', which will subtract/unset bits
* features: have clear_feature_bit correctly resize bitfield
* features: reorg, going to use elsewhere soon
* Makefile: fix bashism in NO_PYTHON
* Makefile: fix typo and wrong path in external/Makefile to properly remove objects with \"make clean\"
* Makefile: add status_levels.c to $(COMMON_SRC_NOGEN)
* Makefile: add $(LIGHTNINGD_SRC_NOHDR) to $(ALL_C_SOURCES) for \"make clean\" to work properly
* chore: optimize postgres binary lookup
* dualopend: handle dev-memleaks; fix placement of return on DEV options
* dualopend: re-order \'handle_dev_memleak\' occurrence
* df: finalize redeemscript at the same time as witness stack
* script: break out redeemscript->scriptsig function
* doc: update HACKING.md
* doc: typo in lightning-setchannelfee.7
* close: add notification for slow closes.
* lightningd: infrastructure for internal notifications.
* pytest: add notifications to tests.
* lightning-cli: print notifications (with \'# \' prefix) if received.
* pyln: handle (ignore) notifications, and add notify_msg to send them.
* libplugin: ignore incoming notifications.
* libplugin: support for sending notifications.
* lightningd: forward notifications from plugins if enabled.
* JSON-RPC: notifications command.
* common/json_stream: add generic double-cr helper.
* ccan: update to latest version, get json_out_finished update.
* common: add routines for log level names.
* lightningd: clean up close code now force is always true.
* pyln: Adds type annotations to zbase32 functions
* pyln: Moves old zbase32 test from primitives
* pyln: Adds tests to zbase32
* pyln: Adds one-liner docs to zbase32 functions
* pyln: Improve zbase32 encoding / decoding
* Makefile: fix dependencies for check-pyln-%
* Makefile: make check-includes check all the non-generated files.
* Makefile: unify generated files definition.
* doc: add a document about our fuzz testing integration
* fuzz: add a runner Python script for fuzz targets
* configure: allow to run with UB sanitizer
* fuzz: add a fuzz target for initial_channel
* contrib: remove ASAN suppressions
* fuzz: add a fuzz target for the close tx
* fuzz: add a fuzz target for channel_id derivation
* fuzz: add a fuzz target for common/bip32
* fuzz: add a fuzz target for common/bigsize
* fuzz: add a target for base32/64 encoding
* common: remove b64_decode
* fuzz: add a target for common/bech32
* amount: correctly parse amount strings we generate
* fuzz: add a fuzz target for amounts parsing
* build: introduce a fuzzing mode
* mfc: blackbox test for commitment vs funding tx feerates
* tx,bugfix: correct signature length estimate
* mfc: use declared constants
* mfc: Add a `commitment_feerate` optional parameter to multifundchannel
* opening: use correct dust_limit for reserve floor
* df, channeld: cleanup how psbt signalling works
* df, bugfix: wait til after we\'ve saved the channel to do this
* dual-open,openchannel_update: include the index of the funding output
* psbt: save the index of the change on the \'parent\'
* df: add notification for receiving peer\'s funding tx sigs
* dual-fund: rework where we send our tx-sigs message, allow peers in
* channel.psbt: make non-const
* channeld-df: only send our sigs if we\'ve got them
* channeld-df: actually check serial_id of input when setting sigs
* common: cleanups suggested by Christian Decker\'s review.
* plugins/libplugin-pay: use gossmap.
* libplugin-pay: incorporate gossip store.
* plugins/pay: fix leak on failed new payments.
* common/gossmap: digest private channel information too.
* gossip_store: make private channels more similar to channel_announcement
* pytest: test that route can see private channels.
* gossmap: implement feature tests
* common/gossmap: fix gossmap_node_get_announce() on unannounced nodes.
* gossip_store: don\'t copy old delete markers on startup compact.
* route: return NULL if destination is unreachable.
* dijkstra: fix heap ordering.
* df, bugfix: use tal_wally around an allocation
* df, nit: make this error message a little bit more informative
* df, bugfix: set the reserve correctly on the channel
* df, bugfix: dont free the `uc` yet
* df: Pass the serial_id of the funding output to openchannel_init caller
* df: simplify `check_balances`, add spec quotes
* dualopend, nit: move some lines to be within 80chars
* dualfund: rearrange things so that the wire-dependent calls are separate
* nit: move changeset_get_next to inside EXPERIMENTAL_FEATURES flag
* feerate: remove duplicate method
* psbt: hoist up `psbt_add_serials`, so we can use it elsewhere
* psbt-finalized: hoist method to common
* json nit: use const for json_add_psbt
* json: add channel_id helper
* psbt: have the unknown map \'add\' be a \'set\' instead
* elementsd: disable dual-funding test; don\'t add non-witness utxo
* df-open: use channel_id for openchannel_update and openchannel_signed
* dualopen: use separate wire for passing updated PSBTs back to dualopend
* dualopend: reverse polarity of send_next
* dual-fund: test (turned off) and plugin for executing an openchannel
* psbt: new methods for generating serial_ids for an input/output
* channel: save funding_psbt to database
* df-open: send the tx-sigs from channeld, check that we send it at the
* df-channeld: broadcast funding tx, once we get tx_sigs from peer
* peer_control: move open_command up to where channeld can get it,
* dual-open: use tx_roles, not side, as switch
* psbt: method for extracting witness stacks
* df-open: preliminary handling for tx_sigs message
* df-open: commands to update a PSBT or submit a signed PSBT
* df-open: add a \'open_commands\' list to stash pending opens around in
* peer_channeld: pass over PSBT, remove second message
* df-open: pathway for getting a commit back from peer
* dualfund: Pass in expected remote\'s serial parity
* dualfund: opener, openchannel_init command (1/3)
* tx_roles: pull up roles, rename
* dualopend: use status_failed, not peer_failed
* psbt: add the full transaction for the utxo in a psbt
* dual-fund: remove flag for option_anchor_outputs
* dual-fund: check the max feerate also, not just min feerate
* psbt: add helper to set the non-witness utxo for an input
* psbt_open: method for adding a witness_stack to a psbt input
* wires: towire/fromwire for wally_tx
* db: add helper for db_col_psbt
* common: pull up `param_psbt`
* removed unwanted lines and added punctuation marks
* chore: adds env NO_PYTHON check to Makefiles
* Add OpenBSD instructions to INSTALL.md (#4136)
* test: simplify test for close_to
* tests,fundchannel: return the result from the fundchannel rpc call
* test, fundchannel: pass kwargs down to fundchannel command
* fundchannel: take a \'close_to\' address
* mfc: allow a \'close_to\' address to be passed in
* openingd: patch test_opening_tiny_channel under EXP_FEAT
* doc: reorder --mainnet before --testnet
* doc: Add missing signet to --help and man
* Update configure
* channeld: order htlcs by id before retransmission.
* pytest: add test for HTLC ordering.
* channeld: log broken message if we receive HTLCs out of order.
* lightningd: fix crash when we try to send fail_htlc msg to onchaind.
* pyln: utils:BitcoinD: add -wallet=\"test\" option
* options: remove unused \'commit-fee-min/max\' options.
* plugins: use \"slow\" feerate for mutual close negotiation.
* pyln: Plugin methods and hooks refuse to set results twice
* pyln: Add logging handler that passes records to lightningd
* pytest: fix overzealous removal of directories on failure.
* travis: Specify pytest-rerunfailures==9.1 to avoid regression
* travis: Consolidate pytest options to cli options
* travis: Allow environment to specify $PYTEST_PAR
* make: Include the $PYTEST_OPTS when running pytest
* pyln: Remove any logging handlers at teardown to avoid logging error
* pytest: Check for connection close and reset errors in timeout test
* pytest: fix flaky test if one side hasn\'t processed close yet.
* travis: Enable TEST_CHECK_DBSTMTS=1 mode for one of the configs
* db: Fix statement expansion bugs found through dblog mode
* pytest: Verification mode of expanded stmts for the db_write hook
* fix: broken SQL statement in wallet db_set_utxo
* pytest: fix flaky test.
* pyln-client: listpayments -> listpays
* pytest: fix experimental test.
* pytest: Don\'t give up on the first psql connection error
* pytest: Stabilize test_penalty_htlc_tx_timeout
* pyln: Decode process output once before storing it
* pytest: Stabilize test_setchannelfee_{restart,zero}
* travis: Add blinker dependency
* Fix pytest major version
* pyln: Add pytest to type ignores
* pytest: Make LightningNode.fund_channel more resilient
* pytest: Cleanup test_gossip_ratelimit
* pytest: Don\'t start 3 nodes in test_gossip_ratelimit
* pyln: Add type-annotations to pyln-proto
* make: Enable mypy checks on pyln-testing
* pyln: Add mypy typing exceptions for external dependencies
* make: Set $PYTHONPATH once
* pyln: Use pyln-client Makefile for checks
* pyln: Parametrize and unify Makefiles for pyln package
* chore: reduce log buffer from 100MB to 10MB
* travis: Re-enable the postgres configuration again
* pytest: Reduce the db_provider fixture scope to function
* pyln: Allow the base test directory to contain some files
* pyln: Start each postgres DB in its own sub-directory
* travis: Reduce reruns to 2 and early failure on test failure
* pytest: Rename all fund_channel to fundchannel
* plugins: generate list of plugins more atomically, respect V=1 and --quiet.
* build: run update-mocks.
* configure: allow to run clang with ASAN
* pytest: Add test for failcode conversion
* fix: openchannel_hook log BROKEN on dup close_to
* pyln: Migrate from binascii.hexlify to bytes.hex
* pyln: Add code to unwrap an encrypted onion at the intended node
* pyln: Add a warning that pyln-proto is not safe for production use
* pyln: Implement sphinx onion packet generation in python
* nit: doc/lightningd-config.5: Remove redundancy
* Update comment regarding signet using tb now
* Updating signet chainparams for the latest PoW fix
* bolt11: have caller supply preferred chain.
* bitcoin/chainparams: signet uses the same P2PKH and P2SH version bytes as testnet.
* utils: use a cleaner pattern to capture wally allocations.
* bitcoin/: neaten use of libwally base58 and bas64 routines.
* Makefile: work with shasum -a as well as sha256sum.
* pytest: Add test for key-value style postgresql DSNs
* db: Add support for key-value pair DSNs in postgresql
* Remove varint typedef for bigsize
* lightningd: don\'t hand around partially-assembled channel_info.
* lightningd: separate fee_states out of struct channel_info.
* dual_open: don\'t release uc here, it gets freed elsewhere
* dual-fund: call daemon_shutdown only
* dual_open: alignment nit
* dual_open: memleak problem with fee_states
* dual_open_control: nit, reword comment
* dual_open: split logic for deserializing a changed vs signed PSBT
* psbt_txid: it\'s possible a psbt may already have the finalized scriptsig
* dualopend: tiny billboard capitalization change
* dualopend: check that we\'re not exceeding max allowable capacity
* dualopend: use status failed instead of peer failed
* pyln: Rename LightningNode.fund_channel to fundchannel
* pyln: Add type annotations to lightning.py
* pyln: Add type-annotations to plugin.py
* pyln: Fix two formatting string not matching parameters
* pyln-client: Add support to monkey patch the JSONEncoder
* pyln: Add stubs to generate documentation for pyln-client
* Travis: disable postgres test.
* topo: Do not keep txids in memory indefinitely
* common/memleak: simplify and document API.
* pytest: don\'t test for memleaks under valgrind.
* common: don\'t suppress leak detection for libwally allocations.
* memleak: make \"_notleak\" names less powerful.
* common: enforce that we have collected all wally allocations.
* bitcoin: use tal_gather_wally() so we don\'t leave unattached allocations.
* common: add tal_gather_wally() function to reparent libwally objs.
* bitcoin/psbt: psbt_input_add_unknown/psbt_output_add_unknown needs a tal ctx.
* bitcoin/psbt: psbt_finalize needs a tal ctx.
* bitcoin/psbt: wallt_tx_output needs a tal ctx.
* bitcoin/psbt: psbt_txid needs a tal ctx.
* bitcoin/tx: trivial cleanups.
* bitcoin/psbt: attach destructors to wally allocations to avoid leaks.
* bitcoin/psbt: more const pointers.
* dual-openingd: msg_type should be dualopend_wire not u8
* db: Fix size mismatch on postgres in a migration
* configure: clean up tmpfile if we fail.
* configure: refuse to create config.vars without any database.
* lightningd: really remove relative plugins dirs.
* lightningd: remove deprecated result for `plugin stop`.
* lightningd: remove deprecated rpc_command hook return.
* lightningd: remove deprecated return for `db_write` hook.
* lightningd: remove deprecated per_hop_v0 in htlc hook.
* lightningd: remove deprecated plugin entries.
* update SHA256STAMPs using sorted dependencies
* Makefile: sort input filenames to SHA256STAMP
* listpeers: show correct amounts for starting funding allocation
* contrib: make bitcoin polling and gossip propagation snappier
* doc: correct weight numbers for fundpsbt
* memleak: \'generify\' the memleak calling to code for openingd/dualopend
* repro: Add missing Dockerfiles
* repro: Allow dashes in the version number
* docker: Bump OS version to debian buster
* Sun Oct 11 2020 marecAATTdetebe.org- Update to version 0.9.1:
* Ready for release!
* common/amount: fix OpenBSD compile warning.
* lightningd: don\'t declare local vars stdin and stdout.
* pyln: Sets remote_pubkey for LightningConnection if node is not the initiator
* CHANGELOG.md: 0.9.1rc2
* doc: note default proxy port.
* pytest: test connection timeout.
* connectd: implement connection timeout (60 seconds).
* plugins/pay: handle case where amount_msat is \'null\'.
* Travis: spread the load a little more.
* Sun Oct 11 2020 marec
- initial package build