v0.0.17
Piri v0.0.17: Smart Contract Contract Upgrade
This release upgrades all contracts used by Piri enabling support for automatic storage payments.
⚠️ Breaking Changes
Smart Contract Upgrade
This release upgrades to the Smart Contracts used by Piri. This is a breaking change that requires a full node reset.
Required Migration Steps:
- Stop your piri process
- Delete your data directory (preserving
service.pem):rm -rf /path/to/piri/data # or your custom data directory path Important: Keep your service.pem key file - Re-initialize and start your node following the setup guide: https://github.com/storacha/piri/blob/main/docs/guides/piri-server.md
Benefits:
- Payments are now issued to Storage Node operators proportional to the amount of data stored.
Enhancements
- Significant Gas Savings when adding roots to Piri
- Authorized retrievals support extended to support "service" retrievals e.g. replications. Only retrievals authorized by UCAN are allowed.
Bug Fixes
- #307 fixed a bug that would cause proofs to fail on occasion due to invalid root submissions
What's Changed
- fix: concurrent IPNI advert publishing by @alanshaw in #276
- feat: deploy to prod on workflow dispatch by @alanshaw in #278
- feat: add temporary lambda to add orphan adverts to chain by @alanshaw in #279
- fix: return the error by @alanshaw in #282
- fix: add more and faster retries by @alanshaw in #283
- feat: implement provider registration by @frrist in #266
- fix: test flake by using random port by @frrist in #285
- test: add docker and CI test util methods by @frrist in #288
- feat: implement
access/grantcapability by @alanshaw in #273 - feat: implement
blob/retrievecapability by @alanshaw in #284 - feat: authorized retrieval for replica transfer by @alanshaw in #286
- feat: add dead letter queue and PermanentError support by @frrist in #289
- feat(publisher): add queue based ipni publisher by @hannahhoward in #287
- deps: update to go1.25.3 by @frrist in #290
- configure and wire up signer by @frrist in #291
- Upgrade to v0.0.1 storacha constracts by @frrist in #292
- fix: expose egress batch size so that it can be configured by @volmedo in #296
- chore: smaller egress tracking batches for testing by @volmedo in #297
- fix: egress batch size config by @volmedo in #298
- feat: implement aggregate batching system for efficient root submissions by @frrist in #294
- feat: wire up signing service by @frrist in #299
- fix: provide principal resolver to retrieval server by @alanshaw in #302
- feat: implement delegator approval flow by @frrist in #300
- fix: only track egress caused by space/content/retrieve invocations by @volmedo in #303
- Frrist/fix/register params by @frrist in #305
- feat: point to the registrar service at its new location by @volmedo in #301
- fix: downgrade piece retrieval logs by @alanshaw in #311
- fix:(pdp): calculate piece offset per root & correct aggregate pieceCIDV2 Size Calculation by @frrist in #307
- fix: add test util to wait for healthy piri by @alanshaw in #306
- fix: increase allowed transfer time by @alanshaw in #318
- fix: use lifecycle context not background context when stopping aggregate manager by @alanshaw in #319
- fix: use lifecycle context not background for egress tracker cleanup by @alanshaw in #320
Full Changelog: v0.0.16...v0.0.17