Releases: filecoin-project/boost
v1.7.3-rc3
Overview
We're happy to announce the Boost v1.7.3-rc3 release.
📣 Deprecation Notice: Disabling payments via built in payment channels actor in Boost 📣
The Boost team will be disabling payments via built in payment channels actor by default. There has been limited activity on these payment channels on the entire network. We are planning on disabling this in an effort to simplify the code base for existing retrieval use cases and improve retrieval reliability.
A few items to note:
- The main use case for payment channels are for micropayments where small payments are made as data is sent back. With payment channels you do not need to keep sending messages to mainnet.
- There is a PLN team actively working on payment channels, and is starting to look into integration with the Filecoin network.
- You can still make payments for retrieval deals on mainnet, but you will need to negotiate payment terms for a retrieval deal with a SP directly.
What to expect:
- Boost maintainers will update default behavior to use new retrieval code (optimized for retrievals without payment channels).
- Please report any issues you have in #boost-help, so we can track and monitor SP impact.
- If you have any questions or concerns, please raise them in Boost discussion, or reach out in #boost-help
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
Improvements
Managing Mpool
- Deal page will display the number of epochs elapsed since PSD message was sent. This should help SPs to quickly find PSD messages stuck in the local mpool by looking at the number of epochs elapsed vs message confidence (10 epochs)
- Mpool section in WebUI displays the method parameters for each message
Improved configuration and defaults for internet interactions
- Users can specify a listen address for
booster-http
instead of listening on all available addresses - WebUI now listens on
localhost
by default to avoid accidentally exposing it to the internet
Deal making
- Better deal-acceptance timeout implementation to avoid timeout due to the execution time of the external deals filters
What's Changed
- feat: enable listen address for booster-http by @LexLuthr in #1461
- fix: nil pointer error for all messages in UI by @LexLuthr in #1470
- fix: incorrect check when import offline deal data using proposal CID by @LexLuthr in #1473
- Properly cancel graphsync requests in unpaid retrieval by @hannahhoward in #1475
- fix: set UI default listen address to localhost by @LexLuthr in #1476
- feat: display msg params in the mpool UI by @LexLuthr in #1471
- Reset read deadline after reading deal proposal message by @dirkmc in #1479
- feat: Show elapsed epoch and PSD wait epochs in UI by @LexLuthr in #1480
- chore: release v1.7.3-rc3 by @LexLuthr in #1481
Full Changelog: v1.7.3-rc2...v1.7.3-rc3
v1.7.3-rc2
Overview
We're happy to announce the Boost v1.7.3-rc2 release.
📣 Deprecation Notice: Disabling payments via built in payment channels actor in Boost 📣
The Boost team will be disabling payments via built in payment channels actor by default. There has been limited activity on these payment channels on the entire network. We are planning on disabling this in an effort to simplify the code base for existing retrieval use cases and improve retrieval reliability.
A few items to note:
- The main use case for payment channels are for micropayments where small payments are made as data is sent back. With payment channels you do not need to keep sending messages to mainnet.
- There is a PLN team actively working on payment channels, and is starting to look into integration with the Filecoin network.
- You can still make payments for retrieval deals on mainnet, but you will need to negotiate payment terms for a retrieval deal with a SP directly.
What to expect:
- Boost maintainers will update default behavior to use new retrieval code (optimized for retrievals without payment channels).
- Please report any issues you have in #boost-help, so we can track and monitor SP impact.
- If you have any questions or concerns, please raise them in Boost discussion, or reach out in #boost-help
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
🌟 Highlights
HTTP announcements to the IPNI
- Boost can now announce advertisements over HTTP to the IPNI
- Once enabled, it should reduce the request load over Graphsync and improve performance of data retrievals
- New configuration to enable HTTP announcements
PurgeCacheOnStart = true [IndexProvider.Announce] # Make a direct announcement to a list of indexing nodes over http. # Note that announcements are already made over pubsub regardless # of this setting. # # type: bool # env var: LOTUS_INDEXPROVIDER_ANNOUNCE_ANNOUNCEOVERHTTP AnnounceOverHttp = true # The list of URLs of indexing nodes to announce to. # # type: []string # env var: LOTUS_INDEXPROVIDER_ANNOUNCE_DIRECTANNOUNCEURLS DirectAnnounceURLs = ["https://cid.contact/ingest/announce", "http://localhost:3001"] [IndexProvider.HttpPublisher] # If not enabled, requests are served over graphsync instead. # # type: bool # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_ENABLED #Enabled = true # Set the public hostname / IP for the index provider listener. # eg "82.129.73.111" # This is usually the same as the for the boost node. # # type: string # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_PUBLICHOSTNAME #PublicHostname = "xx.xx.xx.xx" # Set the port on which to listen for index provider requests over HTTP. # Note that this port must be open on the firewall. # # type: int # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_PORT # Port = 3104
Improvements
- Stalled Graphsync retrieval cancellation code has been refactored for faster execution and efficiency
- Indexer should be able to skip bad advertisements when processing the Ad chain from a Boost node
- All the available Boost APIs can now be listed using
rpc.discover
orFilecoin.Discover
method
What's Changed
- feat: enable listing API methods for Boost by @LexLuthr in #1442
- Add option to serve index provider ads over http by @dirkmc in #1452
- Signal to index provider to skip announcements by @dirkmc in #1457
- fix: improve stalled retrieval cancellation by @LexLuthr in #1449
Full Changelog: v1.7.3-rc1...v1.7.3-rc2
v1.7.3-rc1
Overview
We're happy to announce the Boost v1.7.3-rc1 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.
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
🌟 Highlights
Option to disable tagging of wallet funds
- By default, Boost tags funds for each deal with the value defined by
MaxPublishDealsFee
, and untags the funds when the deal is published. This is to prevent SPs from accepting too many deals and then not being able to publish them due to a lack of funds. - Some SPs would prefer to manage their wallet funds themselves.
- Tagging can now be disabled by setting the following variable in Boost config
// Whether to enable tagging of funds. If enabled, each time a deal is
// accepted boost will tag funds for that deal so that they cannot be used
// for any other deal.
FundsTaggingEnabled bool
Fix for stalled Graphsync retrievals
- When a deal is announced, the network indexer queries boost to get the cids of each block in the deal data
- There was an issue with the code that could cause retrievals to stall.
- Requests made via the network indexers, like cid.contact, are now routed through the simplified graphsync retrieval pathways as opposed to the legacy retrievals which is prone to stalling, and is less performant.
Improvements
- A listen address can be provided for GraphQL service. This should mitigate security risks for publicly exposed Boost nodes.
- Offline deals waiting for data can be cancelled from the UI.
- Boost will now fail the deal if a snap-deal sector reverts to
Proving
at any point of the sealing process. Earlier, Boost would incorrectly mark such deals as successfully sealed. - Boost now supports local commp calculation for 64 GiB sectors.
What's Changed
- Add a config flag to disable funds tagging by @dirkmc in #1367
- chore:add graphql server listen address config by @rickiey in #1327
- put g.activeRetrievals behind a lock everywhere by @nonsense in #1404
- fix: mpool all messages panic by @LexLuthr in #1405
- feat: add cancel button for offline deals waiting for data by @LexLuthr in #1413
- chore: enable files gateway in devnet by default by @jacobheun in #1420
- car size required only for online deals by @anjor in #1421
- Don't throw error if deal already announced by @dirkmc in #1426
- fix: use new retrieval code path for indexers by @jacobheun in #1425
- fix usage comments on boostd data-transfers commands by @dirkmc in #1437
- fix download block link spacing by @dirkmc in #1438
- fix: fail deal if snap-deal sectors fails sealing by @LexLuthr in #1419
- fix: 64 GiB local commp by @LexLuthr in #1439
New Contributors
Full Changelog: v1.7.2...v1.7.3-rc1
v1.7.2
Overview
We're happy to announce the Boost v1.7.2 release. This is a direct upgrade from 1.7.1 and 1.7.0, and fixes non critical but noisy 'unknown actor code' logs as a result of the mainnet upgrade.
This is a compatibility release is for the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
What's Changed
- chore: update lotus and ffi versions by @jacobheun in #1400
Full Changelog: v1.7.1...v1.7.2
v1.6.4
Overview
We're happy to announce the Boost v1.6.4 release. This is a direct upgrade from 1.6.3, and fixes non critical but noise 'unknown actor code' logs as a result of the mainnet upgrade.
This is a compatibility release is for the Lotus v1.22.1 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.
What's Changed
- chore: bump lotus and ffi versions by @jacobheun in #1399
Full Changelog: v1.6.3...v1.6.4
v1.7.1
Overview
We're happy to announce the Boost v1.7.1 patch 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 is NOT required for the mainnet upgrade, but if you are running Boost 1.7.0 this will fix an issue with index announcements that can prevent retrieval from working properly.
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
🐞 Bug Fix: Prevent accidental removal of valid sector index announcements
- We discovered a 🐞 bug 🐛 where when calling the Lotus Storage API we were not properly handling the multiple states that can be returned for any given sector (Cache, Unsealed, Sealed, etc). This could result in a sector having the wrong state recorded, including treating it as removed for indexing purposes.
- This fix includes a database migration to fix an index issue in the SectorStatus database of boost. This migration is quick, but will result in a full ingest of index announcements for users coming from 1.7.0.
What's Changed
- fix: prevent accidental removal of valid sector index announcements by @jacobheun in #1396
Full Changelog: v1.7.0...v1.7.1
v1.7.0
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.
- Explore the data in your bowser 👁️
Docs
- A new section on how to serve files
- An NGINX example config to get you started with setting up a proxy
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
- Boost inspect UI now supports downloading individual blocks from the UI to help with troubleshooting retrieval failures
- 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
- 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
- fix: legacy deal verified status by @LexLuthr in #1324
- fix: expand file path by @LexLuthr in #1330
- fix: file path bug by @LexLuthr in #1332
- fix an occasional panic on shutdown by @dirkmc in #1353
- feat: query UI by @LexLuthr in #1352
- Add download block link to inspect page by @dirkmc in #1312
- booster-http: implement IPFS HTTP gateway by @dirkmc in #1225
- Add option to cleanup data for offline deals after add piece by @dirkmc in #1341
- fix dagstore initialize-all parameter by @dirkmc in #1363
- Show "verifying commp" message for offline deals by @dirkmc in #1364
- fix boost run missing staging-area dir by @dirkmc in #1368
- fix flaky TestNewHttpServer by @dirkmc in #1372
- boosts stats: group agent version by binary name by @dirkmc in #1369
- feat: fail deal if start epoch passed by @LexLuthr in #1319
- Monitor sectors unsealed state by @dirkmc in #1191
- fix: db migration ordering by @jacobheun in #1380
- fix: backup - db conn hang by @LexLuthr in #1382
Full Changelog: v1.6.3...v1.7.0
v1.6.3 - Lotus v1.22.0 Compatibility
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
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.
- Explore the data in your bowser 👁️
Docs
- A new section on how to serve files
- An NGINX example config to get you started with setting up a proxy
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
- Boost inspect UI now supports downloading individual blocks from the UI to help with troubleshooting retrieval failures
- 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
- fix: legacy deal verified status by @LexLuthr in #1324
- fix: update go-unixfsnode enough to make sure unixfs-preload is available by @rvagg in #1323
- fix: expand file path by @LexLuthr in #1330
- fix: file path bug by @LexLuthr in #1332
- fix an occasional panic on shutdown by @dirkmc in #1353
- feat: query UI by @LexLuthr in #1352
- Add download block link to inspect page by @dirkmc in #1312
- booster-http: implement IPFS HTTP gateway by @dirkmc in #1225
- Add option to cleanup data for offline deals after add piece by @dirkmc in #1341
Full Changelog: v1.6.2-rc2...v1.7.0-rc1
v1.6.2-rc2
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
- use forks of graphsync, go-data-transfer and go-fil-markets by @dirkmc in #1333
- chore: release v1.6.2-rc2 by @LexLuthr in #1340
Full Changelog: v1.6.2-rc1...v1.6.2-rc2