Curio v1.27.2
✨ Overview
The Curio v1.27.2 release delivers a significant leap forward for Filecoin Storage Providers, combining major new capabilities with broad stability and performance improvements. This update introduces full support for Filecoin’s Market 2.0 architecture, enabling smarter and more flexible deal-making through contract-driven logic. Operators gain powerful new runtime control through dynamic configuration, letting them adjust key system behaviors without restarting the node.
This release also strengthens Curio’s automation capabilities with a brand-new f05 Balance Manager, ensuring deal collateral is always topped up and reducing day-to-day operational friction. The WebUI sees a substantial upgrade with the introduction of a dedicated Content page, refined guided setup, and a completely updated Sectors interface that now includes a Sector Extension Manager for long-term lifecycle control.
Across retrievals, indexing, sealing, proof generation, networking, and migrations, Curio v1.27.2 delivers faster, more compatible, and more resilient behavior. Retrieval now works seamlessly with Kubo/IPFS, IPNI advertisements are cached and tracked with improved metrics, the Snark Market client has been unblocked and made more reliable, and numerous edge-case bugs have been addressed across the stack.
⭐ Highlights
🚀 Full Market 2.0 Integration
Curio now includes first-class support for Filecoin’s Market 2.0 deal architecture.
This next-generation deal flow brings smarter logic, contract-driven pricing, offline and aggregated deal support, and a unified Market dashboard inside Curio. By integrating Market 2.0 directly into the node, deal intake becomes simpler, more flexible, and future-proof — no separate Boost deployment required.
⚙️ Dynamic Configuration (Live, No-Restart Updates)
Operators can now adjust many Curio settings in real time without restarting the node.
From sealing behaviors to scheduler preferences and P1 routing, this system offers unprecedented control and flexibility. Fine-tune operations under live load, experiment safely, and make quick corrections instantly.
💰 Automated f05 Balance Manager
To prevent missed deals and eliminate constant collateral monitoring, Curio introduces an automated Market (f05) balance manager.
It tracks your escrow balance and automatically tops it up when needed, ensuring continuous deal availability and dramatically reducing operational overhead.
🗂️ New WebUI Content Page
A brand-new Content section in the WebUI gives operators a powerful view into stored pieces, deals, and metadata — including full support for PieceCIDv2.
This brings transparency and simplicity to managing active and historical content across your storage system.
🧱 Sector Extension Manager + Upgraded Sectors UI
Long-term sector lifecycle management gets a major improvement.
Curio now provides:
- A Sector Extension Manager for extending sector lifetimes
- Clear visibility into expiring sectors
- A modernized Sectors interface with more actionable information
Renewable deals and capacity planning are now easier and more intuitive than ever.
You can read more about Curio in our documentation.
🌐 Market & Deal Flow
- Full Market 2.0 integration with Curio’s internal deal engine, enabling smarter, contract-driven storage deal processing.
- Correct handling of CARv2 data sources using
SourceOffset, ensuring reliable retrieval of modern CAR formats. - Minor Mk20 refinements and stability improvements for cleaner deal ingestion and client interactions.
⚙️ Configuration & Scheduling
- Introduction of dynamic configuration, allowing key settings to be updated live without restarting the node.
- Dynamic config is now applied to PreCommit1 (P1) sealing tasks, enabling real-time control over sealing distribution and worker decisions.
- The chain scheduler now updates message execution results first, preventing rare inconsistencies during block evaluation.
- Fixed begin/end timing calculations to ensure accurate scheduling windows across tasks.
- Improved task lifecycle reliability through Harmony task delete retry logic.
💰 Balance & Resource Automation
- Added the new f05 Balance Manager, which automatically monitors and replenishes Market escrow funds.
- Configurable thresholds and automated wallet funding help prevent stalled deals due to low collateral.
🧱 Proofing, Sealing & Snark Market
- Added a vanilla WindowPoSt test command to validate local proof generation and verify proving hardware.
- Snark Market now provides a smoother operator experience:
- Client setup process unbricked and fully functional
- Automatic retries when creating asks under rate limits
- WebUI support for deleting Snark Market clients safely
🗂️ WebUI Enhancements
- Introduced the new Content page for browsing pieces, deals, and CID metadata.
- Completely refreshed Sectors UI, including built-in lifetime extension capabilities via the Sector Extension Manager.
- Improved guided setup experience:
- Miner creation uses a 1.5× FIL safety buffer to prevent underfunding failures
- Clearer configuration path for enabling PDP
- Safer storage-path initialization (no accidental PDP key removal)
🔗 Networking, IPFS & IPNI
- Updated to the latest libp2p release for improved peer discovery and stability.
- Retrievals via Kubo/IPFS now work reliably, including path-based fetches and correct multiaddr advertisement.
- Added IPNI caching, metrics, and cleaned-up logs to enhance retrieval visibility and performance.
- Improved handling of IPFS resource limits for more consistent data movement under heavy load.
🗃️ Database & Core Systems
- More reliable herd database upgrades, avoiding migration stalls or contention.
- Curio Toolkit now supports schema downgrades, enabling safe rollback paths between versions.
- SQL
NULL→ JSON0serialization fix, improving UI clarity when displaying missing numeric fields. - Added migration safety checks that prevent duplicate-column errors.
- Removed the local commcid library in favor of using the upstream implementation.
📚 Documentation
- Updated PDP documentation with clearer steps and improved flow.
- Added full documentation for dynamic configuration capabilities.
- Added
CONTRIBUTING.mdto support community contributors.
🐛 Bug Fixes
🔧 Retrieval & IPFS
- Fixed full compatibility with Kubo/IPFS retrievals, including path-based requests and proper announce-port handling.
- Corrected IPNI advertisement task creation and improved the
canAcceptvalidation logic to prevent invalid or duplicate announcements. - Resolved CARv2 reading issues by properly applying
SourceOffsetduring piece extraction.
🧱 Sealing & Proofing
- Corrected FR32 padding/unpadding logic to ensure accurate alignment of piece data.
- Fixed several internal timing and state-transition inconsistencies affecting sealing and scheduled workflows.
🖥️ WebUI & User Experience
- Resolved a WebUI sector page panic that could occur under certain sector states.
- Fixed a crash when removing pipelines that contained a
nullURL. - Improved PieceCIDv2 handling to ensure correct display and metadata resolution.
- Updated JSON serialization: SQL
NULLvalues are now represented as0, preventing confusing “null” values on the dashboard.
🧩 Indexing & Database Migrations
- Fixed indexing migration errors when moving between older and newer schemas (v1 → v2).
- Ensured migrations are idempotent, preventing repeated “column already exists” failures during startup.
🔄 Internal Workflow Stability
- Fixed edge cases in scheduler begin/end calculations that could cause incorrect task timing.
- Improved task cleanup via Harmony delete retry, preventing rare cases of stuck or orphaned tasks.
- Other minor fixes and stability improvements were made across the codebase to polish this release.
What's Changed
- feat: market 2.0 by @LexLuthr in #508
- ensure column does not exist before adding it by @snadrus in #649
- webui-sector-panic by @snadrus in #648
- Alert on older-than-head failures by @snadrus in #659
- herd-db-upgrade by @snadrus in #657
- docs: revise Enable PDP documentation for clarity and detail by @TippyFlitsUK in #652
- update libp2p by @LexLuthr in #671
- fix: use SourceOffset to support CarV2 by @LexLuthr in #681
- minor Mk20 fixes by @LexLuthr in #672
- feat: test post cli: Vanilla Proof test command by @magik6k in #676
- fix: Snark Market: Unbrick client setup by @magik6k in #686
- feat: f05 balance manager by @magik6k in #682
- Dynamic Config by @snadrus in #664
- docs: update PDP docs section by @TippyFlitsUK in #714
- fix: Make kubo retrievals work by @magik6k in #724
- IPNI caches & metrics by @snadrus in #730
- harmonyTask delete retry by @snadrus in #738
- fix: chain scheduler should update message execution first by @LexLuthr in #749
- fix: incorrect IPNI task creation by @LexLuthr in #756
- begin-end bug by @snadrus in #763
- guided-setup needs a fudge factor to create miners by @snadrus in #755
- fix: pipeline remove edge case where URL is null by @LexLuthr in #750
- webui: Content page by @magik6k in #715
- fix: index migration and IPNI canAccept by @LexLuthr in #684
- remove local commcid lib by @LexLuthr in #690
- Ipfs limit fixes by @snadrus in #741
- Apply dyn-cfg to p1 cases by @snadrus in #710
- fix: snark market: Retry rate-limited create ask requests by @magik6k in #785
- Dynamic cfg documentation by @snadrus in #784
- fix: remove less than 1 MiB verified deal exception by @LexLuthr in #790
- Upgrade to Gcc12 Cuda13 by @snadrus in #789
- release v1.27.2 by @LexLuthr in #788
- Guided Setup can be more friendly with PDP & Storage by @snadrus in #769
- chore: fix some problematic function names by @tzchenxixi in #787
- correct secondary ui server spec by @snadrus in #658
- Light improvements (cache-lane fixes) by @snadrus in #774
- CONTRIBUTING.md by @snadrus in #811
- Fix sql NULL values (back to zeroes) when sent to JSON for the web by @snadrus in #812
- feat: sector extension manager, new sectors webui by @magik6k in #818
- Downgrade db schema via Curio Toolkit by @snadrus in #819
- Fvm removed from libfilcrypto, saves 24mb binary size by @snadrus in #768
- fr32 bugfix by @snadrus in #830
New Contributors
- @tzchenxixi made their first contribution in #787
Full Changelog: v1.27.1...v1.27.2