All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.6.1 - 2018-09-11: "Principled Opposition To Segwit"
This release named by ZmnSCPxj.
- Protocol: gossipd now deliberately delays spamming with
channel_update
. - Protocol: liveness ping when we commit changes but peer is idle: speeds up failures and reduces forced closures.
- Protocol:
option_data_loss_protect
now supported to protect peers against being out-of-date. - JSON API: Added description to invoices and payments (#1740).
- JSON API:
getinfo
has new fieldsalias
andcolor
. - JSON API:
listpeers
has new fieldsglobal_features
andlocal_features
. - JSON API:
listnodes
has new fieldglobal_features
. - JSON API:
ping
command to send a ping to a connected peer. - JSON API:
feerates
command to retrieve current fee estimates. - JSON API:
withdraw
andfundchannel
can be given manual feerate. - Config:
--conf
option to set config file. - Documentation: Added CHANGELOG.md
- pylightning: RpcError now has
method
andpayload
fields. - Sending lightningd a SIGHUP will make it reopen its
log-file
, if any.
- Protocol: Fee estimates are now smoothed over time, to avoid sudden jumps.
- Config: You can only announce one address if each type (IPv4, IPv6, TORv2, TORv3).
- lightning-cli: the help command for a specific command now runs the
man
command. - HSM: The HSM daemon now maintains the per-peer secrets, rather than handing them out. It's still lax in what it signs though.
- connectd: A new daemon
lightning_connectd
handles connecting to/from peers, instead ofgossipd
doing that itself.lightning_openingd
now handles peers immediately, even if they never actually open a channel. - Test:
python-xdist
is now a dependency for tests. - Logging: JSON connections no longer spam debug logs.
- Routing: We no longer consider channels that are not usable either because of
their capacity or their
htlc_minimum_msat
parameter (#1777) - We now try to connect to all known addresses for a peer, not just the one given or the first one announced.
- Crash logs are now placed one-per file like
crash.log.20180822233752
- We will no longer allow withdrawing funds or funding channels if we
do not have a fee estimate (eg. bitcoind not synced); use new
feerate
arg.
Note: You should always set allow-deprecated-apis=false
to test for
changes.
- JSON API:
listpeers
results no long havealias
andcolor
fields; they're inlistnodes
(we used to internally merge the information). - JSON API:
listpeers
will never havestate
field (it accidentally used to exist and set toGOSSIPING
before we opened a channel).connected
will indicate if we're connected, and thechannels
array indicates individual channel states (if any). - Config:
default-fee-rate
is no longer available; use explicitfeerate
option if necessary. - Removed all Deprecated options from 0.6.
- Protocol:
node_announcement
multiple addresses are correctly ordered and uniquified. - Protocol: if we can't estimate feerate, be almost infinitely tolerant of other side setting fees to avoid unilateral close.
- JSON API:
listnodes
: now displays node aliases and colors even if they don't advertise a network address - JSON API:
fundchannel all
: now restricts to 2^24-1 satoshis rather than failing. - JSON API:
listnodes
: now correctly printsaddresses
if more than one is advertised. - Config:
bind-addr
of a publicly accessible network address was announced. - When we reconnect and have to retransmit failing HTLCs, the errors weren't encrypted by us.
lightningd_config
man page is now installed bymake install
.- Fixed crash when shutting down during opening a channel (#1737)
- Don't lose track of our own output when applying penalty transaction (#1738)
- Protocol:
channel_update
inside error messages now refers to correct channel. - Stripping type prefix from
channel_update
s that are nested in an onion reply to be compatible with eclair and lnd (#1730). - Failing tests no longer delete the test directory, to allow easier debugging (Issue: #1599)
0.6 - 2018-06-22: "I Accidentally The Smart Contract"
In the prehistory of c-lightning, no changelog was kept. But major JSON API changes are tracked.
This release named by Fabrice Drouin.
Note: You should always set allow-deprecated-apis=false
to test for
changes.
- Config:
port
. Useaddr=:<portnum>
. - Config:
ipaddr
. Useaddr
. - Config:
anchor-confirms
. Usefunding-confirms
. - Config:
locktime-blocks
. Usewatchtime-blocks
. - Protocol: on closing we allow out-of-range offers, prior to spec fix
2018-01-30 ("BOLT 2: order closing-signed negotiation by making
funder send first."
90241d9cf60a598eac8fd839ac81e4093a161272
) - JSON API:
listinvoice
command. Uselistinvoices
. - JSON API: invoice result fields
paid_timestamp
andexpiry_time
. Usepaid_at
andexpires_at
. - JSON API:
invoice
command fieldfallback
. Usefallbacks
. - JSON API:
decodepay
result fieldstimestamp
andfallback
. Usecreated_at
andfallbacks
. - JSON API: payment result fields
timestamp
. Usecreated_at
. - JSON API:
getinfo
result fieldport
. Usebinding
andaddress
arrays. - JSON API:
getlog
result fieldcreation_time
. Usecreated_at
. - JSON API:
getpeers
result fieldchannel_reserve_satoshis
. Usetheir_channel_reserve_satoshis
. - JSON API:
getpeers
result fieldto_self_delay
. Usetheir_to_self_delay
.
There predate the BOLT specifications, and are only of vague historic interest:
- 0.1 - 2015-08-08: "MtGox's Cold Wallet" (named by Rusty Russell)
- 0.2 - 2016-01-22: "Butterfly Labs' Timely Delivery" (named by Anthony Towns)
- 0.3 - 2016-05-25: "Nakamoto's Genesis Coins" (named by Braydon Fuller)
- 0.4 - 2016-08-19: "Wright's Cryptographic Proof" (named by Chrstian Decker)
- 0.5 - 2016-10-19: "Bitcoin Savings & Trust Daily Interest" (named by Glenn Willen)
- 0.5.1 - 2016-10-21
- 0.5.2 - 2016-11-21: "Bitcoin Savings & Trust Daily Interest II"