Skip to content

Releases: filecoin-project/boost

v1.7.0

20 Apr 12:42
71e0d7e
Compare
Choose a tag to compare

Overview

We're happy to announce the Boost v1.7.0 release.

⚠️ The minimum required Golang version for Boost is now v1.19.7, and Golang 1.20.x is Highly Recommended due to known potential panics ⚠️

Golang versions are now included in the compatibility matrix.

Lotus v1.23.0 Compatibility

This release includes compatibility updates for the Lotus v1.23.0 release
See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

Legacy deals support in Boost - EOL notice

The Boost team will be suspending support for legacy deals, as legacy markets capabilities now fully deprecated (lotus-markets EOL as of Jan 31, 2023). Furthermore, most aggregators in the Filecoin network such as Estuary, dotStorage, etc. have moved to using Boost for storage dealmaking. Other large clients are also working with SPs using Boost.

We recommend SPs and their clients, as well as other users, to move to using Boost for storage dealmaking as soon as possible. Here is a tentative timeline for what to expect:

  • Boost maintainers will be fully suspending support for legacy deals in Boost starting May 15, 2023.
  • If you have any questions or concerns, please raise them in Boost discussion, or reach out in #boost-help on Filecoin Slack

🌟 Highlights

IPFS HTTP gateway support in booster-http for expanded retrieval capabilities!

The booster-http service now supports IPFS gateway functionality, adding support for new retrieval options. In addition to the existing Piece retrieval, booster-http can be configured to serve CAR files, raw files such as images, and raw IPLD data. Storage Providers will be able to enable/disable each of these options.

Check out https://boost.filecoin.io/http-retrieval for more details on each of these options, and Configuring what to serve for customizing booster-http for your needs!

SPs can now serve files directly via booster-http

  • Start booster-http with --serve-files=true and you should be able to browse files from deal in your browser.

image7

  • Explore the data in your bowser 👁️

image4

Docs

Retrieval queries in UI

Boost UI will now provide an updated count of all queries received for graphsync retrievals. The table will also contain failed queries to provide further insights in failed retrievals.

Improvements

  1. Boost inspect UI now supports downloading individual blocks from the UI to help with troubleshooting retrieval failures
  2. SPs can now ask boost to clean up the car file for offline deals (per deal) after deal has been successfully sealed
$ boostd import-data --help
NAME:
   boostd import-data - Import data for offline deal made with Boost

USAGE:
   boostd import-data [command options] <proposal CID> <file> or <deal UUID> <file>

OPTIONS:
   --delete-after-import  whether to delete the data for the offline deal after the deal has been added to a sector (default: false)
   --help, -h             show help
  1. Boost will now sync the sealed status of deals with Lotus to ensure correct announcements are made to network indexers. This should help reduce retrieval requests for sectors that have expired or that do not have unsealed copies. This process runs as a job that is configurable and has the following defaults. See the config docs for more details. Note: When this job runs on first startup, you will likely experience a large number of sectors update announcements, this is expected.
Storage.StorageListRefreshDuration = "1h0m0s"
Storage.RedeclareOnStorageListRefresh = true

What's Changed

Full Changelog: v1.6.3...v1.7.0

v1.6.3 - Lotus v1.22.0 Compatibility

20 Apr 08:40
e997958
Compare
Choose a tag to compare

Overview

We're happy to announce the Boost v1.6.3 release. This is a direct upgrade from 1.6.1, and only includes the Lotus dependency updates.

This is a compatibility release is for the Lotus v1.22.0 release.

You should only upgrade to this release if you are also upgrading Lotus to v1.22.x for NV19 network upgrade. See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

What's Changed

  • Update lotus to 1.22.x with matching tagged ffi params @jacobheun in #1385

Full Changelog: v1.6.1...v1.6.3

v1.7.0-rc1

06 Apr 19:10
ac6f82e
Compare
Choose a tag to compare
v1.7.0-rc1 Pre-release
Pre-release

Overview

We're happy to announce the Boost v1.7.0-rc1 release. This release contains all previous commits from the 1.6.2 RC's. We are bumping the minor version due to the golang minimum version change mentioned below.

Lotus v1.21.0 Compatibility

This RC includes compatibility updates for the upcoming Lotus v1.21.0 release, but is also backwards compatible with Lotus v1.20.x.
See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

Legacy deals support in Boost - EOL notice

The Boost team will be suspending support for legacy deals, as legacy markets capabilities now fully deprecated (lotus-markets EOL as of Jan 31, 2023). Furthermore, most aggregators in the Filecoin network such as Estuary, dotStorage, etc. have moved to using Boost for storage dealmaking. Other large clients are also working with SPs using Boost.

We recommend SPs and their clients, as well as other users, to move to using Boost for storage dealmaking as soon as possible. Here is a tentative timeline for what to expect:

  • Boost maintainers will be fully suspending support for legacy deals in Boost starting May 15, 2023.
  • If you have any questions or concerns, please raise them in Boost discussion, or reach out in #boost-help on Filecoin Slack

🌟 Highlights

⚠️ The minimum required Golang version for Boost is now v1.19.7 ⚠️

IPFS HTTP gateway support in booster-http for expanded retrieval capabilities!

The booster-http service now supports IPFS gateway functionality, adding support for new retrieval options. In addition to the existing Piece retrieval, booster-http can be configured to serve CAR files, raw files such as images, and raw IPLD data. Storage Providers will be able to enable/disable each of these options.

Check out https://boost.filecoin.io/http-retrieval for more details on each of these options, and Configuring what to serve for customizing booster-http for your needs!

SPs can now serve files directly via booster-http

  • Start booster-http with --serve-files=true and you should be able to browse files from deal in your browser.

image7

  • Explore the data in your bowser 👁️

image4

Docs

Retrieval queries in UI

Boost UI will now provide an updated count of all queries received for graphsync retrievals. The table will also contain failed queries to provide further insights in failed retrievals.

Improvements

  1. Boost inspect UI now supports downloading individual blocks from the UI to help with troubleshooting retrieval failures
  2. SPs can now ask boost to clean up the car file for offline deals (per deal) after deal has been successfully sealed
$ boostd import-data --help
NAME:
   boostd import-data - Import data for offline deal made with Boost

USAGE:
   boostd import-data [command options] <proposal CID> <file> or <deal UUID> <file>

OPTIONS:
   --delete-after-import  whether to delete the data for the offline deal after the deal has been added to a sector (default: false)
   --help, -h             show help

What's Changed

Full Changelog: v1.6.2-rc2...v1.7.0-rc1

v1.6.2-rc2

30 Mar 08:48
3403cbb
Compare
Choose a tag to compare
v1.6.2-rc2 Pre-release
Pre-release

Overview

We're happy to announce the Boost v1.6.2-rc2 release.

Lotus v1.21.0 Support

This is a compatibility update for the Lotus v1.21.0-rcX release, and is backwards compatible with Lotus v1.20.x for users who don't yet wish to upgrade Lotus. See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

What's Changed

Full Changelog: v1.6.2-rc1...v1.6.2-rc2

v1.6.2-rc1

27 Mar 14:39
0b5cf47
Compare
Choose a tag to compare
v1.6.2-rc1 Pre-release
Pre-release

Overview

We're happy to announce the Boost v1.6.2-rc1 release.

See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

🌟 Highlights

This release candidate fixes a few of recently seen issues.

  1. The traversal errors seen in graphsync retrievals should go away
    ERROR gs-queryexecutor queryexecutor/queryexecutor.go:190 traversal completion check failed, nBlocksRead=1, err=unregistered adl requested: "unixfs-preload"

  2. Legacy deals UI should currently display if the deal is verified or not

  3. Offline deal import should now work with relative path

What's Changed

Full Changelog: v1.6.1...v1.6.2-rc1

v1.6.1

22 Mar 14:42
4931e18
Compare
Choose a tag to compare

Overview

We're happy to announce the Boost v1.6.1 release. This release contains several fixes and improvements for Boost 1.6.0, users are highly encouraged to upgrade.

See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

🌟 Highlights

🚀 Improved performance for retrievals over graphsync

We have simplified how unpaid retrievals over graphsync work. This results in significantly less calls to the Lotus API, and legacy code paths, which have improved download speeds and overall retrieval performance. All paid deals, or custom voucher types, will fallback to the old retrieval path.

A highlight of some of the key improvements:

  • Resolved a potential memory leak that could occur from improperly terminated retrievals in the old code path.
  • Reduced the frequency of timeout errors in popular retrieval clients, such as Lassie, by up to 30x. Improvements were more pronounced with higher parallelism.
  • Reduced total memory utilization of retrieval by 40%
  • While there is significant variance in retrieval performance due to latency, block size of the data being retrieved, size of retrieval, and number of parallel retrievals, we saw significant gains in performance over the existing code:
    • On a production SP with 30ms of latency we saw a minimum 20% improvement in retrieval speed
    • The benefit was less pronounced for higher latency, and larger retrievals, seeing on average an improvement of 5% with 120ms of latency
    • In a 0 latency test environment, retrieval speeds increased more than 35x
  • Unpaid graphsync retrievals now use the same lightweight cache as booster-bitswap, which will improve performance for spikes in retrieval for the same content. This should help with performance when serving to retrieval clusters. Note, you don't need to be running booster-bitswap for this, as the cacheing layer is shared via boostd process.

💾 Online backup

Boost now supports online backups, so you no longer have to stop your node first.

boostd backup <backup directory>

See the backup and restore docs for more details.

What's Changed

New Contributors

Full Changelog: v1.6.0...v1.6.1

v1.6.1-rc1

17 Mar 16:25
21d4764
Compare
Choose a tag to compare
v1.6.1-rc1 Pre-release
Pre-release

Overview

We're happy to announce the Boost v1.6.1-rc1 release.

See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

🌟 Highlights

  • This release contains multiple fixes and improvements for contract deals
  • SP's can now create deals over to the RPC api, which should help improve deal flows when acting on behalf of your clients, as you no longer need to use libp2p
  • Fixed an issue causing excessive unknown actor code logs

Improved performance for retrievals over graphsync

We have simplified how unpaid retrievals over graphsync work. This results in significantly less calls to the Lotus API, and legacy code paths, which should result in increased download speeds and overall retrieval performance. All paid deals, or custom voucher types, will fallback to the old retrieval path. We'll be posting more information about our performance testing as part of the official release.

What's Changed

Full Changelog: v1.6.0...v1.6.1-rc1

v1.6.0

08 Mar 17:28
Compare
Choose a tag to compare

Overview

We're happy to announce the Boost v1.6.0 release.

This release is compatible with Lotus v1.20.0 release. You should only upgrade to this release if you are also upgrading Lotus to v1.20.0 or higher for NV18 network upgrade. See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

Boost v1.5.x Adopters

If you have been running the v1.5.x and want to update to this release for lotus compatibility, you can do so as long as you are also upgrading Lotus to v1.20.0 or later. This PR contains the latest 1.5.3 codebase and we will continue to update it with any subsequent releases.

🌟 Highlights

Includes updates previously noted in RC builds of this release

FVM Contract Deal Support

  • With the release of FVM, it is now possible for smart contracts to make deal proposals on-chain. This is made possible though the DealProposal FRC.
  • DataDAOs, as well as other clients who want to store data on Filecoin, can now deploy a smart contract on the FVM which adheres to the DealProposal FRC, and make deal proposals that are visible to every storage provider running Boost who monitors the chain.
  • In order to enable DealProposal FRC, you have to edit your config.toml and enable contract deal monitoring. By default it is disabled. Here is an example configuration:
[ContractDeals]
  Enabled = true
  AllowlistContracts = []
  From = "0x0000000000000000000000000000000000000000"

Cancelation of stalled retrievals

Boost now runs a background process that will cancel retrievals that have not been updated in the past 30minutes by default. You can configure this by setting the new DealMaking.StalledRetrievalTimeout property in the Boost config.

The following config will cancel all retrievals that have not changed state, or transferred bytes in the past 10minutes.

[Dealmaking]
  ...
  RetrievalLogDuration = "24h0m0s"
  StalledRetrievalTimeout = "10m0s"

Note: For efficiency of the job, Boost leverages the Retrieval Logs DB, so your RetrievalLogDuration should always exceed the StalledRetrievalTimeout.

Updated deal filter

Boost now exposes the following additional deal variables to the external deal filters like CIDgravity. This should allow more extensive filter logic for deal acceptance.

  • IsOffline
  • SkipIPNIAnnounce
  • RemoveUnsealedCopy

🤩 Upcoming Features

These features will be part of the upcoming releases.

🆕 Graphsync Retrieval Server

  • This is a simpler version of current graphsync server for retrievals
  • It should allow much faster retrievals
  • Only free retrievals will be handled by this code path. Paid retrievals will still go via the old code path

Online backup 💾

  • Boost will support online backups along with the current offline version

What's Changed

New Contributors

Full Changelog: v1.5.3...v1.6.0

v1.6.0-rc3 - Lotus v1.20.0 Compatibility

03 Mar 15:49
d756076
Compare
Choose a tag to compare

Overview

We're happy to announce the Boost v1.6.0-rc3 release.

This is a compatibility update for the Lotus v1.20.0 release. You should only upgrade to this release if you are also upgrading Lotus to v1.20.0. See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

Please make sure to upgrade to test the new features shipped in this release. See our upgrade guide for details.

Boost v1.5.x Adopters

If you have been running the v1.5.x and want to update to this release for lotus compatibility, you can do so as long as you are also upgrading Lotus to v1.20.0. This PR contains the latest 1.5.3 codebase and we will continue to update it with any subsequent releases.

🌟 Highlights

Includes updates previously noted in RC builds of this release

FVM Contract Deal Support

  • With the release of FVM, it is now possible for smart contracts to make deal proposals on-chain. This is made possible though the DealProposal FRC.
  • DataDAOs, as well as other clients who want to store data on Filecoin, can now deploy a smart contract on the FVM which adheres to the DealProposal FRC, and make deal proposals that are visible to every storage provider running Boost who monitors the chain.
  • In order to enable DealProposal FRC, you have to edit your config.toml and enable contract deal monitoring. By default it is disabled. Here is an example configuration:
[ContractDeals]
  Enabled = true
  AllowlistContracts = []
  From = "0x0000000000000000000000000000000000000000"

Cancelation of stalled retrievals

Boost now runs a background process that will cancel retrievals that have not been updated in the past 30minutes by default. You can configure this by setting the new DealMaking.StalledRetrievalTimeout property in the Boost config.

The following config will cancel all retrievals that have not changed state, or transferred bytes in the past 10minutes.

[Dealmaking]
  ...
  RetrievalLogDuration = "24h0m0s"
  StalledRetrievalTimeout = "10m0s"

Note: For efficiency of the job, Boost leverages the Retrieval Logs DB, so your RetrievalLogDuration should always exceed the StalledRetrievalTimeout.

Updated deal filter

Boost now exposes the following additional deal variables to the external deal filters like CIDgravity. This should allow more extensive filter logic for deal acceptance.

  • IsOffline
  • SkipIPNIAnnounce
  • RemoveUnsealedCopy

What's Changed

New Contributors

Full Changelog: v1.5.3...v1.6.0-rc3

v1.5.3

01 Mar 20:17
180b0eb
Compare
Choose a tag to compare

Overview

We're happy to announce Boost 1.5.3 which includes automatic cancelation of stalled retrievals.

Lotus 1.20.0 Users: If you have already upgraded Lotus to 1.20.0 you should be using Boost 1.6.0-rc1 or later. See the Boost and Lotus compatibility matrix for up to date information, and to plan your upgrade.

An official release of 1.6 is scheduled for March 8th.

Highlights

Cancelation of stalled retrievals

Boost now runs a background process that will cancel retrievals that have not been updated in the past 30minutes by default. You can configure this by setting the new DealMaking.StalledRetrievalTimeout property in the Boost config.

The following config will cancel all retrievals that have not changed state, or transferred bytes in the past 10minutes.

[Dealmaking]
  ...
  RetrievalLogDuration = "24h0m0s"
  StalledRetrievalTimeout = "10m0s"

Note: For efficiency of the job, Boost leverages the Retrieval Logs DB, so your RetrievalLogDuration should always exceed the StalledRetrievalTimeout.

What's Changed

Full Changelog: v1.5.2...v1.5.3