Skip to content

Releases: filecoin-project/lotus

v0.5.9

03 Sep 17:12
a123ef6
Compare
Choose a tag to compare

This patch includes a hotfix to the GasEstimateFeeCap method, capping the estimated fee to a reasonable level by default.

Changes

  • Added target height to sync wait (#3502)
  • Disable codecov annotations (#3514)
  • Cap fees to reasonable level by default (#3516)
  • Add APIs and command to inspect bandwidth usage (#3497)
  • Track expected nonce in mpool, ignore messages with large nonce gaps (#3450)

v0.5.8

03 Sep 06:52
5426ef0
Compare
Choose a tag to compare

This patch includes some bugfixes to the sector sealing process, and updates go-fil-markets. It also improves the performance of blocksync, adds a method to export chain state trees, and improves chainwatch.

Changes

v0.5.7

01 Sep 00:05
49d64f7
Compare
Choose a tag to compare

This patch release includes some bugfixes and enhancements to the sector lifecycle and message pool logic.

Changes

  • Rebuild unsealed infos on miner restart (#3401)
  • CLI to attach storage paths to workers (#3405)
  • Do not select negative performing message chains for inclusion (#3392)
  • Remove a redundant error-check (#3421)
  • Correctly move unsealed sectors in FinalizeSectors (#3424)
  • Improve worker selection logic (#3425)
  • Don't use context to close bitswap (#3430)
  • Correctly estimate gas premium when there is only one message on chain (#3428)

v0.5.6

29 Aug 04:58
Compare
Choose a tag to compare

Hotfix that fixes a panic in v0.5.5

Release v0.5.5

29 Aug 02:03
9a3b2ab
Compare
Choose a tag to compare

This patch release introduces a large number of improvements to the sealing process.
It also updates go-fil-markets to version 0.5.8, and go-libp2p-pubsub to v0.3.5.

Downstream upgrades

  • Upgrades markets to v0.5.8 (#3384)
  • Upgrades go-libp2p-pubsub to v0.3.5 (#3305)

Sector sealing

  • The following improvements were introduced in #3350.

    • Allow lotus-miner sectors remove to remove a sector in any state.
    • Create a separate state in the storage FSM dedicated to submitting the Commit message.
    • Recovery for when the Deal IDs of deals in a sector get changed in a reorg.
    • Auto-retry sending Precommit and Commit messages if they run out of gas
    • Auto-retry sector remove tasks when they fail
    • Compact worker windows, and allow their tasks to be executed in any order
  • Don't simply skip PoSt for bad sectors (#3323)

Message Pool

  • Spam Protection: Track required funds for pending messages (#3313)

Chainwatch

  • Add more power and reward metrics (#3367)
  • Fix raciness in sector deal table (#3275)
  • Parallelize miner processing (#3380)
  • Accept Lotus API and token (#3337)

v0.5.4

26 Aug 01:08
d4fef1b
Compare
Choose a tag to compare
Merge pull request #3301 from filecoin-project/feat/release-0.5.4

Lotus release v0.5.4

v0.5.3

25 Aug 06:18
4c71182
Compare
Choose a tag to compare
Merge pull request #3280 from filecoin-project/fix/mpool-init-crash

initialize mpool ts _before_ loading local messages

v0.5.2

25 Aug 03:42
a085b3b
Compare
Choose a tag to compare
Merge pull request #3277 from filecoin-project/feat/release-0.5.2

0.5.2 release of lotus

v0.5.1

24 Aug 20:16
Compare
Choose a tag to compare
Spacerace genesis

Release v0.5.0

21 Aug 21:21
9e2f56b
Compare
Choose a tag to compare

Lotus changelog

0.5.0 / 2020-08-2020

This version of Lotus will be used for the incentivized testnet Space Race competition,
and can be considered mainnet-ready code. It includes some protocol
changes, upgrades of core dependencies, and various bugfixes and UX/performance improvements.

Highlights

Among the highlights included in this release are:

  • Gas changes: We implemented EIP-1559 and introduced real gas values.
  • Deal-making: We now support "Committed Capacity" sectors, "fast-retrieval" deals,
    and the packing of multiple deals into a single sector.
  • Renamed features: We renamed some of the binaries, environment variables, and default
    paths associated with a Lotus node.

Gas changes

We made some significant changes to the mechanics of gas in this release.

Network fee

We implemented something similar to
Ethereum's EIP-1559.
The Message structure had three changes:

  • The GasPrice field has been removed
  • A new GasFeeCap field has been added, which controls the maximum cost
    the sender incurs for the message
  • A new GasPremium field has been added, which controls the reward a miner
    earns for including the message

A sender will never be charged more than GasFeeCap * GasLimit.
A miner will typically earn GasPremium * GasLimit as a reward.

The Blockheader structure has one new field, called ParentBaseFee.
Informally speaking,the ParentBaseFee
is increased when blocks are densely packed with messages, and decreased otherwise.

The ParentBaseFee is used when calculating how much a sender burns when executing a message. Burning simply refers to sending attoFIL to a dedicated, unreachable account.
A message causes ParentBaseFee * GasUsed attoFIL to be burnt.

Real gas values

This release also includes our first "real" gas costs for primitive operations.
The costs were designed to account for both the time that message execution takes,
as well as the space a message adds to the state tree.

Deal-making changes

There are three key changes to the deal-making process.

Committed Capacity sectors

Miners can now pledge "Committed Capacity" (CC) sectors, which are explicitly
stated as containing junk data, and must not include any deals. Miners can do this
to increase their storage power, and win block rewards from this pledged storage.

They can mark these sectors as "upgradable" with lotus-miner sectors mark-for-upgrade.
If the miner receives and accepts one or more storage deals, the sector that includes
those deals will replace the CC sector. This is intended to maximize the amount of useful
storage on the Filecoin network.

Fast-retrieval deals

Clients can now include a fast-retrieval flag when proposing deals with storage miners.
If set to true, the miner will include an extra copy of the deal data. This
data can be quickly served in a retrieval deal, since it will not need to be unsealed.

Multiple deals per sector

Miners can now pack multiple deals into a single sector, so long as all the deals
fit into the sector capacity. This should increase the packing efficiency of miners.

Renamed features

To improve the user experience, we updated several names to mainatin
standard prefixing, and to better reflect the meaning of the features being referenced.

In particular, the Lotus miner binary is now called lotus-miner, the default
path for miner data is now ~/.lotusminer, and the environment variable
that sets the path for miner data is now $LOTUS_MINER_PATH. A full list of renamed
features can be found here.

Changelog

Downstream upgrades

  • Upgrades markets to v0.5.6 (#3058)
  • Upgrades specs-actors to v0.9.3 (#3151)

Core protocol

  • Introduces gas values, replacing placeholders (#2343)
  • Implements EIP-1559, introducing a network base fee, message gas fee cap, and message gas fee premium (#2874)
  • Implements Poisson Sortition for elections (#2084)

Deal-making lifecycle

Enhancements

UX

  • Provide status updates for data-transfer (#3162, #3191)
  • Miners can customise asks (#2046)
  • Miners can toggle auto-acceptance of deals (#1994)
  • Miners can maintain a blocklist of piece CIDs (#2069)

Contributors

The following contributors had 10 or more commits go into this release.
We are grateful for every contribution!

Contributor Commits Lines ±
magik6k 361 +13197/-6136
Kubuxu 227 +5670/-2587
arajasek 120 +2916/-1264
whyrusleeping 112 +3979/-1089
vyzo 99 +3343/-1305
dirkmc 68 +8732/-3621
laser 45 +1489/-501
hannahhoward 43 +2654/-990
frrist 37 +6630/-4338
schomatis 28 +3016/-1368
placer14 27 +824/-350
raulk 25 +28718/-29849
mrsmkl 22 +560/-368
travisperson 18 +1354/-314
nonsense 16 +2956/-2842
ingar 13 +331/-123
daviddias 11 +311/-11
Stebalien 11 +1204/-980
RobQuistNL 10 +69/-74

0.1.0 / 2019-12-11

We are very excited to release lotus 0.1.0. This is our testnet release. To install lotus and join the testnet, please visit lotu.sh. Please file bug reports as issues.

A huge thank you to all contributors for this testnet release!