Overview
We're excited to introduce Boost v2.1.0, a significant update that transforms how Boost manages indices for user data. This version phases out the DAG store in favor of the new Local Index Directory (LID). Alongside this, we've added new features and improvements, and squashed some bugs to enhance your experience.
Compatibility
This release is compatible with Lotus versions v1.24.0 and v1.25.0. For the latest compatibility details, refer to the Boost and Lotus compatibility matrix.
⚠️ Important Upgrade Notice
👉 Before updating, carefully read the release notes and documentation. Storage providers will need to set up a database service and undergo a database migration process. Incorrect procedures can lead to permanent data loss.
Highlights
- New HTTP Gateway (Frisbii):
booster-http
now usesFrisbii
, a trustless gateway. It no longer supports servingunixfs
files, requiring an additionalbifrost-gateway
binary for such files. - Boost UI Enhancements: The UI now allows SPs to check payload CIDs for pieceCIDs, aiding in retrieval testing and debugging.
- Boostd-data Metrics: Emission of metrics for each API method, with updated dashboards to monitor
boostd-data
performance and service uptime. - Index Provider Upgrades: Switch from Graphsync to HTTP-libp2p protocol and UI improvements for better retrieval and indexing information display.
- Multiple Miners to Single LID: Connect multiple miners to a single LID instance for unified retrieval and deal direction.
- Manual PSD (Publish Storage Deal): Manual control over PSD message publishing, with a configuration variable for enabling it.
- Graphsync Improvements: Better connection termination to resolve stalled retrievals.
- New IPNI UI Page: Dedicated page for IPNI retrievals with detailed information and sync status.
Improvements
- Performance Enhancements: Reduced devnet build time, parallelization in index migration, batched write operations, and optimized deal filter mechanism.
- UI and Config File Tweaks: Improved UI elements, added CORS handler for
booster-http
, and generated commented config file onboostd
init. - Database Support: Interfaces for LevelDB and YugabyteDB, catering to different data storage scales.
- Extended Deal Durations: Support for making deals up to 3.5 years long.
- Timeout Configurations: Updated and customizable CQL client timeouts.
Notable Changes
- Graphsync Server and Client Updates: Enhanced response handling for identity CID requests and improved multipart downloads for online deals.
- Security Enhancements: Critical security issue resolved by upgrading to grpc v1.56.3.
- Boostd-data Command Improvements: Added CQL timeout configuration.
- Monitoring Stack Update: Revised dashboards shipped with the Docker-based monitoring stack.
- Database Migration Support: Added support for parallel processing in database migration.
Upgrading to Boost v2.1.0
For a smooth transition to Boost v2.1.0, follow the detailed instructions available in the Boost Documentation Tutorials - How to Migrate to Boost v2.
We're confident that these updates will enhance your experience with Boost, and we look forward to your feedback! 🚀
What's Changed
- chore(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /react by @dependabot in #1558
- Boost release/v2 by @nonsense in #1520
- Update README.md's TOC by @nonsense in #1582
- chore(deps): bump word-wrap from 1.2.3 to 1.2.4 in /react by @dependabot in #1571
- chore(deps): bump semver from 6.3.0 to 6.3.1 in /react by @dependabot in #1581
- fix: BitswapPublicAddresses default by @LexLuthr in #1588
- feat: add corshandler to IPFS gateway by @LexLuthr in #1589
- fix version flag for booster-http and booster-bitswap by @nonsense in #1590
- feat: manual publish storage deal message by @LexLuthr in #1585
- Use shared piece reader for blockstore get (fixed conflicts) by @nonsense in #1584
- feat: show ad chain head in UI by @LexLuthr in #1592
- feat: utility to get miner address from datastore by @LexLuthr in #1595
- fix: migration config bug by @LexLuthr in #1596
- Fix startup with disabled index provider by @dirkmc in #1604
- Create CONTRIBUTING.md by @brendalee in #1603
- fix: update deal filter to use
ExpectedSealDuration
andMaxDealStartDelay
by @LexLuthr in #1609 - migrate-lid: fix return err msg by @nonsense in #1612
- feat: add docker to containerize a standalone boost-client by @alvin-reyes in #1616
- timeout for migrate-lid by @nonsense in #1631
- chore: bump boost-graphsync to v0.13.7 by @LexLuthr in #1647
- feat: add multi-miner to single LID support by @LexLuthr in #1656
- chore: release v2.1.0-rc1 by @LexLuthr in #1657
- fix(docker): no inline
sed
commands by @hannahhoward in #1658 - Build and publish boost devnet containers via CI by @masih in #1661
- Allow container build job to push images by @masih in #1663
- feat: add InUnsealed utility to boostx by @LexLuthr in #1680
- Disable flaky TestConcurrentTransfers by @dirkmc in #1682
- fix: disable leveldb as LID default by @LexLuthr in #1681
- fix: init with commented config by @LexLuthr in #1694
- fix: add parallelisation to migrate-lid and improve logging by @LexLuthr in #1689
- fix missing icons by @dirkmc in #1698
- chore(deps): upgrade graphsync for identity CID fix by @rvagg in #1704
- feat: update docker devnet build by @LexLuthr in #1702
- fix config.toml for devnet by @nonsense in #1708
- fix: close piece reader after generating indexes by @LexLuthr in #1707
- fix: docker devnet entrypoint by @LexLuthr in #1712
- recover from panics in go-routine in client-side io.Reader encoder by @nonsense in #1706
- fix: GS query panic by @LexLuthr in #1714
- fix: Rename deal data root cid in Boost UI by @LexLuthr in #1719
- fix: remove payloadRootCid lookup by @LexLuthr in #1721
- ci: explicitly switch macos build to silicon and upgrade xcode by @galargh in #1720
- feat: show payload CIDs in UI by @LexLuthr in #1722
- Ivan/http transport upgrades by @ischasny in #1732
- feat: Ipnisync by @LexLuthr in #1731
- ci: switch macos builds to apple silicon by @galargh in #1726
- direct data onboarding - disabled by @nonsense in #1627
- Fix boostd-data go module path and remove replace directives by @masih in #1741
- Fix static check issues by @masih in #1743
- fix LID web UI by @nonsense in #1745
- use explicit repo location for boostd-data by @nonsense in #1748
- add support for yugabytedb for devnet by @nonsense in #1756
- feat: run deal filters in parallel by @LexLuthr in #1746
- chore: release v2.1.0-rc2 by @LexLuthr in #1764
- chore(deps): bump @babel/traverse from 7.18.0 to 7.23.2 in /react by @dependabot in #1759
- fix: empty IPNI UI due to lack if latest Ad CID by @LexLuthr in #1766
- fix: handle isexist error for IsDirectDeal column in migration by @LexLuthr in #1761
- Create support ticket template by @LexLuthr in #1749
- feat: spans and debug lines for piece directory by @nonsense in #1773
- fix: Remove line forcing for logs in issue template by @LexLuthr in #1770
- feat: add cql timeout to boostd-data command by @LexLuthr in #1772
- booster-http refactor - trustless only, improved compression, logging & e2e testing w/ trusted by @rvagg in #1676
- fix: awaiting publish confirmation count by @LexLuthr in #1778
- fix: update deal filters to use new values by @LexLuthr in #1779
- fix: add CQL timeout to lid-migrate command by @LexLuthr in #1783
- Resolve critical security issue by Upgrading to grpc v1.56.3 by @masih in #1785
- boostx: add venus to stats cmd by @nonsense in #1786
- fix: use new MaxSectorExpirationExtension by @LexLuthr in #1788
- boostd-data: yugabyte migrate fix missing cql timeout by default by @nonsense in #1790
- feat: add boostd-data metrics by @LexLuthr in #1784
- chore: release v2.1.0-rc3 by @LexLuthr in #1794
- fix: speed up ydb insert by @ischasny in #1793
- yugabyte/service: parallel batch inserts for car indices by @nonsense in #1795
- fix: prometheus yaml format by @LexLuthr in #1800
- fix: optimise add index performance by @ischasny in #1801
boost wallet list
humanize display datacap by @beck-8 in #1803- lid ui: remove progress bar; keep
last update
by @nonsense in #1810 - fix: refactor connect-string for YB specific postgres parameters by @LexLuthr in #1809
- Depend on commit from main for boostd-data dependency by @masih in #1814
- chore: not display privatekey by @beck-8 in #1804
- fix: fix nil pointer panics in mpoolmonitor by @ischasny in #1817
- deals: add search by ChainDealID by @nonsense in #1819
- boostd-data: add index command for debug purposes by @nonsense in #1791
- bump lotus to v1.25.0 by @nonsense in #1820
New Contributors
- @brendalee made their first contribution in #1603
- @alvin-reyes made their first contribution in #1616
- @galargh made their first contribution in #1720
- @beck-8 made their first contribution in #1803
Full Changelog: v2.0.0...v2.1.0