Releases: filecoin-project/curio
v1.25.1
Overview
We are excited to introduce Curio v1.25.1
. This release brings the debut of the Proof Declaration Protocol (PDP), empowering storage providers with verifiable hot storage capabilities alongside various improvements and fixes.
You can read more about Curio in our documentation.
Compatibility
This release is compatible with Lotus versions v1.33.0
. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
Proof Declaration Protocol (PDP)
Proof Declaration Protocol (Proof of Data Possession) is now supported in Curio, introducing a new on-demand proof mechanism for hot storage. With PDP, storage providers can cryptographically prove they hold an unsealed, immediately available copy of client data without the need to retrieve or unseal it. This new feature unlocks fast, verifiable retrieval use cases and complements Filecoin’s existing sealed storage (PoRep) by enabling a hot storage tier:
-
On-demand Proofs: Clients can challenge a storage provider at any time to quickly verify data availability via small random spot-checks (~160 bytes per challenge).
-
No Sealing/Unsealing Required: Data remains in raw form, eliminating sealing delays and making it suitable for real-time applications (e.g. web services, AI datasets).
-
Dynamic Datasets: PDP allows adding or removing data from proof sets, supporting mutable data collections that can be updated on the fly.
-
Easy Setup: Curio includes a new pdptool CLI for managing PDP proofs – providers can create ProofSets, upload files to be included in PDP, and declare proofs on-chain. No GPUs are required to participate in PDP, lowering the barrier to entry for hot storage providers.
This PDP integration is backed by smart contracts on the Filecoin network (FEVM), ensuring verifiable on-chain proof of data possession. Storage providers can now offer verifiable hot storage services with sub-second data access. 🚀
🛠️ Improvements
-
HTTP-Based MK12 Deals: Curio’s market now supports HTTP-based deal making for storage deals (Boost-style MK12 deals).
-
Optional CUDA Dependency: Installing and running Curio in a PDP-only mode no longer requires CUDA libraries. Users focusing solely on PDP operations can deploy Curio on machines without GPUs – make install now succeeds without CUDA, avoiding previous installation errors.
-
Missing Sector Alerts: Added proactive alerts for any missing sector files in storage. Curio will now flag missing or inaccessible sector data, helping operators quickly detect and resolve issues related to lost or moved sector files.
-
Message Fixer Tool: A new CLI tool is available to sync message status from Filfox. In case a message gets stuck or missed, operators can update the message with on-chain state fetched from the Filfox explorer to reconcile Curio’s view with the chain. Ex:
curio toolbox fix-msg --all
-
Cheaper ProveCommit Aggregation: Curio’s prove commit message aggregation no longer relies on fee thresholds. Instead, batching is governed by time and size limits as per network parameters. This aligns with the latest network upgrade (e.g. FIP-0100) by removing the batch balancer.
Web UI Enhancements
-
Pending Messages: The UI now displays pending chain messages (such as deal publish or proof submissions) so providers can track on-chain operations awaiting inclusion.
-
PDP ProofSet View: Introduced PDP support in the UI, allowing providers to view and inspect PDP ProofSets and associated pieces through the browser. This ensures PDP data and status are visible and manageable via the dashboard.
🐞 Bug Fixes
-
UI Sector List: Fixed the Web UI’s sector list to properly show expired sectors. Previously expired/terminated sectors were hidden; the UI now correctly displays them, providing an accurate view of all sector states.
-
WindowPoSt Handling: Resolved several issues with Window PoSt tasks. Curio will now cancel a WindowPoSt task if the deadline has passed (preventing false failure logs), and the cancellation conditions have been corrected to avoid stuck WdPoSt processes. These fixes improve reliability and ensure no erroneous alerts for skipped or late proofs.
-
Deal Ingestion & Piece Locator: Fixed an issue with the piece locator’s database transaction during deal ingestion (FindURL). The offline deal data fetch now operates within the proper transaction scope, eliminating errors when adding piece URLs.
-
Build Process: The make batch build process has been fixed by separating out the sptool build. This resolves prior build failures when running batch build tasks and updates the documentation accordingly.
What's Changed
- fix: batch build by @LexLuthr in #470
- use correct parameters for aggregation by @LexLuthr in #479
- Update Makefile for Non-CUDA Installs by @TippyFlitsUK in #481
- fix: UI sector list for expired sectors by @LexLuthr in #463
- wdpost should cancel if deadline is closed by @LexLuthr in #462
- http based mk12 deals by @LexLuthr in #469
- chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 by @dependabot in #482
- fix: findURL transaction by @LexLuthr in #495
- feat: PDP by @magik6k in #227
- chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2 by @dependabot in #500
- alert for missing sectors by @LexLuthr in #486
- fix: wdPost by @LexLuthr in #499
- feat: pending messages in UI by @LexLuthr in #490
- tool to update msg watcher from FilFox if required by @LexLuthr in #487
- pdp browser rendering by @LexLuthr in #498
- no fee based aggregation/batching by @LexLuthr in #492
- fix: wdPost cancel condition by @LexLuthr in #503
- fix piecepark conflict spec in deal ingest by @magik6k in #504
- use full node for eth client by @LexLuthr in #509
- release v1.25.1 by @LexLuthr in #510
- update lotus 1.33.0 by @LexLuthr in #511
Full Changelog: v1.25.0...v1.25.1
v1.25.0
Overview
We are excited to introduce Curio v1.25.0. This release enable the Filecoin Network upgrade to NV25 for Curio.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with Lotus versionv1.32.2
. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
Balance Manager
The Balance Manager is a subsystem within Curio responsible for automatically managing balances for certain actors. Currently, it is used to top up deal collateral when the available balance falls below a defined threshold. In future iterations, the Balance Manager will be extended to handle control addresses and other balance-related operations.
CIDGravity Integration
Curio supports CIDGravity as external deal filter. CIDGravity is a powerful pricing and client management tool designed for Filecoin storage providers. It enables storage providers to efficiently filter storage and retrieval deals through a user-friendly interface. With CIDGravity, providers can set rules and policies for accepting or rejecting deals based on their business preferences, ensuring better control over their storage operations.
Human-friendly wallet names
Curio now supports assigning human-friendly names to wallets and PeerIDs through the new Wallets page in the UI. Once an entry is added, the UI will display the assigned name instead of the raw value. Names can be edited or deleted directly from the Wallets page.
🏗️ Improvements
BindSDRTreeToNode
configuration option now ensures TreeD and TreeRC tasks run on the same node as the SDR task for improved data locality. Make sure TreeD and TreeRC tasks are enabled with sufficient resources before enabling this option.- New cli flag
--db-cassandra-port
allows users to choose a non default CQL API port for connecting to YugabyteDB CQL APIs. - PreCommit and Commit batch creation logic has been fully migrated to SQL to improve consistency. This eliminates race conditions that previously led to the same sector being assigned to multiple batches.
- SupraSeal Batching: Fixed incorrect assumptions about hasher behaviour, resolving issues in single-hasher configurations.
🐛 Bug Fixes
- Resolved the "0 rows found" error when deleting a deal pipeline from the UI.
- Fixed an issue where sealed sectors were not reflected in the deal pipeline, causing deal processing to get stuck.
- Fixed a bug where an unsealed copy was always retained, even when the deal explicitly specified not to keep it.
What's Changed
- feat: CID gravity connector by @LexLuthr in #407
- fix: deal removal and list by @LexLuthr in #428
- Add Prometheus service discovery endpoint by @strahe in #430
- feat: index sample command by @LexLuthr in #432
- fix: Update config comment with expected input and defaults by @LexLuthr in #427
- fix: Correct supra single hasher core assignments by @magik6k in #426
- feat: multi miner cid gravity connector by @LexLuthr in #433
- fix: mark deal sealed in a DB transaction by @LexLuthr in #434
- update curio cli flags by @LexLuthr in #441
- update slack alert format by @LexLuthr in #423
- bye bye circleci by @LexLuthr in #443
- run GA on all PR events by @LexLuthr in #445
- CID Gravity handles backpressure rejection by @LexLuthr in #440
- feat: option to bind TreeD to SDR node by @LexLuthr in #442
- SQL based batch creation by @LexLuthr in #438
- feat: Balance Manager by @LexLuthr in #431
- feat: nv25 by @LexLuthr in #446
- menu drawer by @LexLuthr in #429
- feat: add Curio PDP docs by @rjan90 in #447
- make postgres load balance optional by @LexLuthr in #451
- fix: store log debug, seal poller log, batching, itest by @LexLuthr in #450
- feat: add transfer type to cidgravity payload by @FlorianRuen in #452
- fix: keep unsealed for f05 deals by @LexLuthr in #459
- fix: phantom IPNI tasks by @LexLuthr in #454
- fix cidgravity ipni and indexing value by @LexLuthr in #457
- fix UI wallet name on actor detail page by @LexLuthr in #455
- Fix panic in allocateToExisting by @strahe in #460
- fix: bulk pipeline restart by @LexLuthr in #458
- chore(deps): bump @babel/runtime from 7.26.0 to 7.26.10 in /market/ipni/spark/sol by @dependabot in #444
- release v1.25.0 by @LexLuthr in #456
- wallet friendly names by @snadrus in #317
- update lotus version for devnet, undo menu drawer by @LexLuthr in #461
- fix: NV25 upgrade by @LexLuthr in #468
New Contributors
- @rjan90 made their first contribution in #447
- @FlorianRuen made their first contribution in #452
Full Changelog: 1.24.5...v1.25.0
v1.25.0-rc1
Overview
We are excited to introduce Curio v1.25.0-rc1. This release enable the Filecoin Network upgrade to NV25 for Curio.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with Lotus versionsv1.32.0-rc3
and above. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
Balance Manager
The Balance Manager is a subsystem within Curio responsible for automatically managing balances for certain actors. Currently, it is used to top up deal collateral when the available balance falls below a defined threshold. In future iterations, the Balance Manager will be extended to handle control addresses and other balance-related operations.
CID Gravity Integration
Curio supports CIDGravity as external deal filter. CIDGravity is a powerful pricing and client management tool designed for Filecoin storage providers. It enables storage providers to efficiently filter storage and retrieval deals through a user-friendly interface. With CIDGravity, providers can set rules and policies for accepting or rejecting deals based on their business preferences, ensuring better control over their storage operations.
Menu drawer in UI
Curio UI's main menu now appears in a drawer on smaller screens for improved visibility and user experience.
On wider screens, the menu layout remains unchanged.
🏗️ Improvements
BindSDRTreeToNode
configuration option now ensures TreeD and TreeRC tasks run on the same node as the SDR task for improved data locality. Make sure TreeD and TreeRC tasks are enabled with sufficient resources before enabling this option.- New cli flag
--db-cassandra-port
allows users to choose a non default CQL API port for connecting to YugabyteDB CQL APIs. - PreCommit and Commit batch creation logic has been fully migrated to SQL to improve consistency. This eliminates race conditions that previously led to the same sector being assigned to multiple batches.
- SupraSeal Batching: Fixed incorrect assumptions about hasher behavior, resolving issues in single-hasher configurations.
🐛 Bug Fixes
- Resolved the "0 rows found" error when deleting a deal pipeline from the UI.
- Fixed an issue where sealed sectors were not reflected in the deal pipeline, causing deal processing to get stuck.
What's Changed
- feat: CID gravity connector by @LexLuthr in #407
- fix: deal removal and list by @LexLuthr in #428
- Add Prometheus service discovery endpoint by @strahe in #430
- feat: index sample command by @LexLuthr in #432
- fix: Update config comment with expected input and defaults by @LexLuthr in #427
- fix: Correct supra single hasher core assignments by @magik6k in #426
- feat: multi miner cid gravity connector by @LexLuthr in #433
- fix: mark deal sealed in a DB transaction by @LexLuthr in #434
- update curio cli flags by @LexLuthr in #441
- update slack alert format by @LexLuthr in #423
- bye bye circleci by @LexLuthr in #443
- run GA on all PR events by @LexLuthr in #445
- CID Gravity handles backpressure rejection by @LexLuthr in #440
- feat: option to bind TreeD to SDR node by @LexLuthr in #442
- SQL based batch creation by @LexLuthr in #438
- feat: Balance Manager by @LexLuthr in #431
- feat: nv25 by @LexLuthr in #446
- menu drawer by @LexLuthr in #429
Full Changelog: v1.24.5...v1.25.0-rc1
v1.24.5
Overview
We are excited to introduce Curio v1.24.5. This release brings in some Offline Verified DDO deals and Spark integration smart contract.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with all Lotus versions incl. v1.32.0-rc2
. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
Market
Offline Verified DDO Deals
This release introduces support for offline verified DDO deals, allowing providers to efficiently manage Direct Data Onboarding (DDO) deals without requiring f05 (market actor) interactions.
- Only Offline deals are supported
- Only Verified deals are supported
- A new command
curio market ddo -h
to onboard the deal
Spark Contract Integration
The integration of Spark Contracts introduces new on-chain interactions for storage providers, allowing for Spark to find the peerID used for IPNI advertisement for a Curio miner.
The MinerPeerIDMapping contract provides a decentralized way to map Filecoin miner IDs (uint64) to their PeerIDs along with signed messages for validation. It ensures only authorized entities (owner or controlling addresses) can add, update, or delete mappings.
🏗️ Improvements
- Devnet with Market & Deal Client: A dedicated Devnet environment is now available for testing market functionality and deal client operations.
- Storage Redeclare Command: A new command enables storage redeclaration, making it easier to manage sector location in storage.
- Garbage Collection (GC) Enhancements:
- Snap sector key files are now marked for removal in GC.
- Lookback calculations have been corrected to improve cleanup efficiency.
- Batch Send Optimization: Improved scheduling ensures batch sends do not get rescheduled unnecessarily, reducing processing overhead.
- Supraseal Setup Documentation: Improved documentation to streamline the setup process for Supraseal.
- Storage Breakdown in Web UI: The UI now provides detailed storage usage breakdown by file type, helping providers monitor sector allocations more effectively.
🐛 Bug Fixes
- Piece Locator Fixes: Resolved multiple issues, including SQL errors and missing data URLs.
- Seal Process Fixes: The correct column is now checked before assigning batch submit tasks, preventing incorrect batch assignments.
- PSD Wait Time Fix: Fixed an issue where PSD wait time was incorrect when CommP was skipped.
- PSD Selection & FindURL Improvements: Optimized PSD selection and FindURL resolution in Curio Market, fixing the issue allowing more than MaxDealPerMessage in PSD message.
- WinPoSt Alert Fix: Addressed incorrect alert triggers related to Winning Proof-of-Spacetime (PoSt).
What's Changed
- chore(deps): bump golang.org/x/net from 0.30.0 to 0.33.0 by @dependabot in #365
- feat: Miner filters in storage attach by @magik6k in #386
- fix: Don't rechedule batch sends by @magik6k in #387
- fix: Calibnet startup by @magik6k in #385
- fix: piece locator sql error by @LexLuthr in #388
- fix: data URL for piece locator by @LexLuthr in #389
- Fix Cleanup LID commands by @lanzafame in #391
- fix slow message wait scheduling by @magik6k in #392
- fix: seal: Check the correct column before assigning batch submit task by @magik6k in #394
- fix: finalize ensureOne by @LexLuthr in #395
- Fix acme challenge by @ZenGround0 in #398
- feat: 'curio storage generate-vanilla-proof' command by @LexLuthr in #396
- fix: WinPoSt alert by @magik6k in #399
- webui: Show storage use breakdown by file type by @magik6k in #402
- add error return in DefaultAllowBehaviour by @strahe in #404
- feat: gc: Mark snap sector key files for removal by @magik6k in #403
- chore(deps): bump github.com/golang/glog from 1.2.0 to 1.2.4 by @dependabot in #390
- fix: commit param count by @LexLuthr in #406
- fix: combine piecelocator endpoints by @LexLuthr in #408
- docs: Improve supraseal setup docs by @magik6k in #409
- feat: storage redeclare command by @LexLuthr in #410
- fix: psd wait time column value when commP is skipped by @LexLuthr in #416
- fix: gc: Correctly calculate lookback by @magik6k in #418
- feat: spark contract by @LexLuthr in #377
- feat: devnet with market and deal client by @LexLuthr in #379
- fix: improved PSD selection and findURL in market by @LexLuthr in #419
- keep base layer updated with new config by @LexLuthr in #405
- feat: offline verified ddo deals by @LexLuthr in #417
- release v1.24.5-rc1 by @LexLuthr in #420
- fix: improve filter by @LexLuthr in #421
- release v1.24.5 by @LexLuthr in #422
Full Changelog: v1.24.4...v1.24.5
v1.24.4
Overview
We are excited to introduce Curio v1.24.4. This release brings in some important bug fixes in market and UI improvements.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with all Lotus versions incl. v1.32.0-rc2
and Boost v2.4.1
. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
Curio Markets
The introduction of Curio Markets establishes a native deal-making mechanism that streamlines storage operations and enhances interoperability with existing Filecoin tools.
A migration is required to use Curio Markets. If you are currently using Boost, there is a dedicated compatibility branch named boost-adapter
to facilitate the transition. If you are working off the latest main
branch, note that there are some recent pull requests that need to be incorporated for complete compatibility.
UI Sector Page
A revamped sector page in the UI now consolidates all relevant sector details in one place. This page facilitates debugging sector-related issues effectively.
🏗️ Improvements
- SPDK Upgrade: Upgraded to SPDK v24.05 for enhanced performance and reliability.
- Network Validation: Curio binary now performs network validation to prevent startup on an incorrect Lotus node network.
- Cluster Task Visualization: Cluster tasks are now presented as a consolidated list in the UI, offering better visual clarity and ease of navigation.
- Multilingual Support: Curio CLI details are now available in Mandarin (zh) and Korean (ko).
- Message Batching: Improved robustness in message batching for the sealing and snap pipelines.
- Deal Filters: Curio market now support global offline and online deal filters via configuration.
🐛 Bug Fixes
- Fixed an issue where the finalize process would get stuck for synthetic PoRep sectors.
- Resolved a bug in the guided setup that caused multiple storage secrets to be added to multiple layers.
- Fixed a libp2p startup issue that occurred when no key was present in the
libp2p
table. - Fixed a bug with
add-url
command for market deal caused by missing header column.
What's Changed
- fix: Some more batching fixes by @magik6k in #355
- feat: webui: Coalesce cluster tasks by @magik6k in #357
- feat: webui: Task restart button by @magik6k in #356
- fix: allow first libp2p node to start when table is empty by @strahe in #361
- fix: unsealed sector for synthetic PoRep by @LexLuthr in #295
- deps: SPDK 24.05 by @magik6k in #358
- Improve sector UI page by @LexLuthr in #353
- fix: Fix unseal status on the sector page by @magik6k in #362
- Feat/zh cli by @snadrus in #204
- fix: offline deal handling by @LexLuthr in #363
- feat: add node scheduling control by @strahe in #366
- UI: actor overview by @magik6k in #123
- refactor: move network validation to GetFullNodeAPIV1Curio by @Winter-Soren in #345
- feat: rearrange webui by @magik6k in #374
- fix: precommit poller by @LexLuthr in #373
- fix: raw_size in deal pipeline by @LexLuthr in #369
- release: v1.24.4 by @LexLuthr in #380
- add pagination to storageGC page by @LexLuthr in #376
- fix: actor info page issues by @LexLuthr in #372
- fix: Make batch sealing retry correct by @magik6k in #367
- fix: market add-url, online/offline filters by @LexLuthr in #381
New Contributors
- @Winter-Soren made their first contribution in #345
Full Changelog: v1.24.3...v1.24.4
v1.24.3
Overview
We are excited to introduce Curio v1.24.3, which enables the Curio native markets. 🚀
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with all Lotus versions incl. v1.32.0-rc2
and Boost v2.4.1
. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
Curio Markets
The introduction of Curio markets establishes a native deal-making mechanism, streamlining storage operations and enhancing interoperability with existing Filecoin tools. It also eliminates the need for Boost in the storage provider stack, simplifying administration and maintenance.
🏗️ Improvements
- Added windowPost metrics to allow debugging slow posts.
- Deployed a new Filecoin parameter server dedicated for Curio and switched to speed up params download for Curio.
- Added new allow/deny types flags to storage init command
🐛 Bug Fixes
- Fixed calibnet build issue leading to batching build failures.
- Fixed a bug in guided-setup which lead to multiple storage secrets being added to multiple layers
What's Changed
- feat: Implement Boost equivalent deal market in Curio by @LexLuthr in #135
- feat: index provider by @LexLuthr in #182
- feat: create http server by @LexLuthr in #194
- feat: retrievals by @LexLuthr in #208
- feat: Simpler IPNI by @magik6k in #206
- feat: add ddo table by @LexLuthr in #214
- fix: ipni issues by @LexLuthr in #215
- fix: cuda library path setting by @magik6k in #226
- fix: DealPublishControl address usage by @LexLuthr in #225
- fix: remove MarketAddBalance by @LexLuthr in #233
- fix: ipni task column name by @LexLuthr in #248
- fix: do not create ad if not indexed by @LexLuthr in #265
- fix: libp2p migration and generation by @LexLuthr in #254
- market: Backport fixes from the PDP branch by @magik6k in #275
- fix: market circleci by @LexLuthr in #278
- fix: ipni: Correctly handle URL formats by @magik6k in #277
- Market LibP2P improvements by @magik6k in #280
- Make market deals work by @magik6k in #289
- controlled indexing after migration by @LexLuthr in #288
- feat: deal list page, deal detail page by @LexLuthr in #290
- feat: ipni ui by @LexLuthr in #293
- fix: migration indexing job sql function by @LexLuthr in #299
- Add MoveEscrow to UI by @LexLuthr in #308
- fix: deal label storage in DB by @LexLuthr in #310
- add piece info page by @LexLuthr in #309
- add back pressure to mk12 deals by @LexLuthr in #307
- fix: rearrange pieces in sector for no padding by @LexLuthr in #306
- feat: deal filters by @LexLuthr in #314
- piece summary page by @LexLuthr in #315
- minor market fixes by @LexLuthr in #318
- fix: indexing loop by @LexLuthr in #320
- wip: Supraseal healthpage output by @magik6k in #325
- Doc: go version by @snadrus in #326
- chore: RPGF2 Setup by @magik6k in #331
- fix: Use curio-specific param mirror by @magik6k in #339
- feat: Add Drawer component by @anhoffa in #338
- fix: Pass correct tags to sptool calibnet build by @magik6k in #336
- fix: f3: Keep retrying the task forever by @magik6k in #337
- feat: storage: --allow/deny-type flag in storage attach cli by @magik6k in #332
- storage: Add post challenge reading metrics by @magik6k in #228
- market: Real-world fixes by @magik6k in #319
- feat: NV25 by @LexLuthr in #344
- fix: multiple storage secret by @LexLuthr in #348
- fix: Inhouse supraseal, fix build by @magik6k in #350
- feat: batching by @LexLuthr in #343
- fix: Batching Hotfixes by @magik6k in #351
- fix: libp2p handover by @LexLuthr in #352
- feat: market by @LexLuthr in #301
- chore: release v1.24.3 by @LexLuthr in #354
Full Changelog: v1.24.2...v1.24.3
v1.24.2
Overview
We are excited to introduce Curio v1.24.2. This release includes some important fixes for FastFinality and Lotus dependency upgrade in Curio for upcoming Filecoin Network upgrade to NV24.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with Lotus versions v1.30.0 and Boost v2.4.0. For the latest compatibility details, refer to the Curio version compatibility matrix.
🏗️ Improvements
UI Improvements
- Replaced 'f0' string for miner actor ID to correct conversion based on the network.
- Fixed message displayed after saving a configuration layer.
F3
- Improved error handling when failing to receive manifest from the client in f3.
- Resolved participation issues related to sentinel errors in f3.
- Updated participation loop to ensure consistent operation in f3.
🐛 Bug Fixes
- Fixed sector size overflow by accounting for inter-piece padding during data ingestion.
What's Changed
- fix: remove f0 string from UI by @LexLuthr in #296
- fix: config save cookie by @LexLuthr in #297
- fix(f3): handle failure to receive manifest from the client by @Stebalien in #298
- fix: account for inter-piece padding in ingest by @LexLuthr in #305
- f3: Update participate loop to always participate by @magik6k in #302
- Fix F3 participation erroring out on sentinel errors by @Kubuxu in #313
- chore: release v1.24.2 by @LexLuthr in #322
New Contributors
- @Stebalien made their first contribution in #298
- @Kubuxu made their first contribution in #313
Full Changelog: v1.24.1...v1.24.2
v1.24.1
Overview
We are excited to introduce Curio v1.24.1. This release enables FastFinality in Curio for upcoming Filecoin Network upgrade to NV24.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with Lotus versions v1.30.0-rc2 and Boost v2.4.0-rc1. For the latest compatibility details, refer to the Curio version compatibility matrix.
What's Changed
Full Changelog: v1.24.0...v1.24.1
v1.24.0
Overview
We are excited to introduce Curio v1.24.0, which includes several improvements, bug fixes, and new features to enhance the overall performance and usability of Curio. This release prepares Curio for upcoming Filecoin Network upgrade to NV24.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with Lotus versions v1.30.0-rc2 and Boost v2.4.0-rc1. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
☀️ New Features
- Introduced a retry wait mechanism for task retries, enhancing system stability and reducing the likelihood of repeated immediate failures.
- Added alerts to notify users when the chain synchronization is lagging, ensuring timely awareness of synchronization issues.
- The UI now shows node uptime, providing better insights into node performance and stability.
- Users can now reset the sectors state to before SDR from the UI. This allows resealing sectors from SDR if required at any stage before PreCommit message is sent.
- Updated Curio to be compatible with the upcoming NV24 network upgrade, ensuring seamless operation post-upgrade.
🔧 Enhanced Snap Deals Handling
- Added a button in the web UI to resume all stuck sectors in Snap Deals, improving operational efficiency.
- Fixed issues where Snap Deals did not correctly process non-Filplus deals, ensuring all deals are handled properly.
- Adjusted scheduling logic to only schedule tasks when necessary, reducing unnecessary resource usage during Snap Deals.
⚡ Faster Performance
- Improved task scheduling to initiate processes only when needed, enhancing overall system performance.
- Introduced an experimental feature for GPU overprovisioning to potentially enhance computational tasks.
- Modified the loading of native dependencies to with certain build flags to allow using Curio is a library.
🖥️ User Interface Updates
- Users can now copy the block CID directly from the winning stats table.
- Enhanced the PoRep pipeline UI to display when tasks are waiting, providing better visibility into processing states.
🏗️ Improvements
- Added more detailed resource logs to assist users in monitoring and troubleshooting system resource usage.
- Enhanced the multinode proxy for better performance and reliability in multi-node environments.
- Implemented transactions during sector migrations to ensure data integrity and consistency.
- Improved the sector termination process for enhanced reliability and user experience.
- Cleaned up code by removing unused wdPost pre-checks and configurations, reducing potential confusion.
🐛 Bug Fixes
- Fixed an issue where counters were not correctly separated when sharing max values, improving resource allocation accuracy.
- Eliminated incomplete resource check logs that could cause confusion or misinterpretation.
- Corrected the PoRep count in the summary to display accurate information.
- Fixed an issue where multiple API keys were found in the database when migrating multiple miner IDs.
- Fixed the sector list power display after sector extension operations to reflect accurate values.
- Fixed a bug where the message watcher could return early, ensuring consistent message processing.
- Addressed an issue causing panics due to faults by creating a skipped bitfield in PoSt operations.
- Resolved issues where Slack alerts and winpost alerts were not triggering correctly.
- Corrected alert mechanisms related to WindowPoSt and WinningPoSt operations.
What's Changed
- feat: implement retry wait mechanism for task retries by @strahe in #216
- feat: add github action by @LexLuthr in #229
- fix: harmony: Correctly separate this counters when sharing Max by @magik6k in #246
- fix: add detailed resource log by @LexLuthr in #205
- feat: node uptime in UI by @LexLuthr in #253
- fix: remove incomplete resource check log by @magik6k in #261
- feat: restart button for sectors by @LexLuthr in #266
- fix: PoRep count in PoRep summary by @LexLuthr in #257
- fix: show task waiting in PoRep pipeline by @LexLuthr in #260
- fix: multiple api keys found in the database when migrating multiple miner IDs by @LexLuthr in #256
- fix: allow copying the block cid from winning stats table by @LexLuthr in #255
- fix: remove wdPost pre-checks, unused config by @LexLuthr in #252
- fix: alerts for wnPost and wdPost by @LexLuthr in #251
- update sector terminate by @LexLuthr in #264
- remove dependabot by @LexLuthr in #274
- fix: sector list power after extension by @LexLuthr in #273
- feat: chain sync alert by @LexLuthr in #272
- fix: do not return early from message watcher by @LexLuthr in #276
- fix: post: create skipped bitfield to avoid panics with faults by @magik6k in #279
- fix: snap: Correctly handle non-filplus deals by @magik6k in #281
- fix: sealsupra: Only schedule when needed by @magik6k in #284
- feat: webui/snap: Button for resuming all stuck sectors by @magik6k in #230
- cunative: Only pull in native deps with a tag by @magik6k in #211
- experiment: GPU Overprovisioning by @magik6k in #262
- fix make calibnet by @magik6k in #285
- fix: slack alert, winpost alert by @LexLuthr in #287
- fix: Improved multinode proxy by @LexLuthr in #249
- Use transactions in sector migrations by @magik6k in #169
- feat: NV24 upgrade by @LexLuthr in #286
- chore: release v1.24.0 by @LexLuthr in #291
Full Changelog: v1.23.1...v1.24.0
v1.23.1
Overview
We are excited to introduce Curio v1.23.1, which includes several improvements, bug fixes, and new features to enhance the overall performance and usability of Curio. This release ensures better stability and more efficient operation for our users.
📖 You can read more about Curio in our documentation.
Compatibility
This release is compatible with Lotus versions v1.28.1 and Boost v2.3.0. For the latest compatibility details, refer to the Curio version compatibility matrix.
⭐ Highlights
☀️ New Features
- SupraSeal Batch: 10x more efficient sealing, with a custom build and more NVMe drives.
- Unseal: Retrieve the unsealed copy from the sealed copy. Now Curio has EVERY feature of lotus-miner.
- 中文 Simplified Chinese Documentation
🔧 Enhanced Snap Deals Handling
- Fixed issues related to snap-deal handling, including unsealed sector management and t_aux generation when not present.
- Improved snap piece cleanup and selection process to optimize data handling.
- Snap-deal pipeline UI updates for better sector management.
⚡ Faster Performance
- Avoided expensive table scans in the SectorsStatus query, leading to faster performance in lmrpc tasks.
- Improved backpressure management in snap tasks, ensuring smoother task execution.
- Optimization of snap sector picker to be deadline-aware, enhancing task prioritization and performance.
🖥️ User Interface Updates
- Added new sidebar navigation to the web UI for easier access to tasks and configuration.
- Improved display of chain connectivity status and added bulk task restart options on the PoRep page.
- Updated UI for the config list page to make configuration management more user-friendly.
🏗️ Improvements
- Fixes to the WinningPoSt logic to correctly declare GPU requirements, reducing the risk of job failures.
- Added batch deadline setting for SectorMetadata to streamline sector management tasks.
- Improved handling of insufficient funds errors during sealing and snap processes.
- Resolved issues with the use of HarmonyDB, preventing misconfiguration during setup.
- Introduced an installation target for completion scripts to improve development setup.
- AlertManager has been updated to resolve key addresses before checking, improving alert reliability.
🐛 Bug Fixes
- Corrected sector selection in the snap ingester, ensuring smooth sector processing.
- Resolved issues with invalid sector provider (SP) in the sector list page.
- Fixed issues related to the precommit stage to ensure the correct sector duration is used.
What's Changed
- fix: data URL in piece park loop by @LexLuthr in #132
- feat: Sectors table dropdowns by @snadrus in #125
- warn: when Winning & Seal enabled by @snadrus in #130
- Fix git clone cmd in README.md by @lanzafame in #134
- fix: readRemote range request input by @LexLuthr in #136
- Fix Sector selection in snap ingester by @magik6k in #137
- SupraSeal by @magik6k in #69
- Add installation target for completions by @strahe in #133
- fix: Use user sector duration in precommit by @magik6k in #141
- fix unsealed handling in snapdeals by @magik6k in #142
- fix: Generate t_aux for snap when not present by @magik6k in #143
- Fix: improve snap piece cleanup / selection by @magik6k in #144
- webui: Fix chain connectivity status display by @magik6k in #145
- fix: DB config in guided-setup by @LexLuthr in #147
- webui: Config layers on node page by @magik6k in #146
- message: Allow repriced messages by @magik6k in #148
- fix: invalid sp in the sector list page by @strahe in #152
- Readme updates by @snadrus in #154
- fix: do not use miner config for harmonyDB by @LexLuthr in #153
- chore: enable unit tests by @LexLuthr in #159
- Add indexes to mining and message waits tables by @magik6k in #162
- Associate the
harmony_task_history
table with the sector by @strahe in #149 - storage: Batch declare, rm memindex by @magik6k in #158
- fix failing gen test on main by @LexLuthr in #163
- web debug fix by @snadrus in #157
- docs: Add note on nvme format by @magik6k in #164
- lmrpc: Avoid table scans in SectorsStatus by @magik6k in #165
- lmrpc: Fix snap Proving state by @magik6k in #166
- lmrpc: fix backpressure with DoSnap by @magik6k in #168
- webui: Always show recent task fails in the task page by @magik6k in #171
- snap: Obey collateral-from-miner config by @magik6k in #172
- webui: Show task fails and allow bulk restart on PoRep page by @magik6k in #170
- sptool: sectors extend flags in days/deltas by @magik6k in #167
- porep: No-overhead unsealed creation in Filalize by @magik6k in #174
- Make Snap sector picker deadline-aware by @magik6k in #173
- left-sidebar by @snadrus in #176
- Feat: Add api proxy dev server by @anhoffa in #180
- webui: Jetbrains Mono, fix porep layout by @magik6k in #179
- Move storiface into Curio by @magik6k in #183
- Batch deadline setting in SectorMetadata by @magik6k in #177
- test harmonydb by @snadrus in #161
- fix: main lint error by @LexLuthr in #188
- feat: Update the UI for the config list page by @anhoffa in #189
- fix: WinningPoSt: Correctly declare GPU requirements by @magik6k in #195
- winpost: Add more defenses against slashing by @magik6k in #190
- seal/snap: Handle insufficient funds errors correctly by @magik6k in #196
- Update restart-all-button.mjs by @Reiers in #198
- Update Resource table by @Reiers in #199
- Unseal by @magik6k in #181
- zh by @snadrus in #202
- fix: alertmanager: Resolve key addresses before checking by @magik6k in #203
- snap: Don't fail all landed ops if one fails by @magik6k in #207
New Contributors
- @lanzafame made their first contribution in #134
- @anhoffa made their first contribution in #180
- @Reiers made their first contribution in #198
Full Changelog: v1.23.0...v1.23.1