-
Notifications
You must be signed in to change notification settings - Fork 18
feat!: streaming blockstores #358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Changes the blockstore interface to return (and accept) streams of `Uint8Array`s instead of individual `Uint8Array`s. This is to enable future work on large blocks (for streaming hashes) and also to reduce memory usage since we can stream from the filesystem in smaller chunks (typically 64KiB) rather than 256KiB at a time. BREAKING CHANGE: blockstore.get and similar now return streams of bytes
## [interface-store-v7.0.0](interface-store-6.0.3...interface-store-7.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version interface-store-v7.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [interface-blockstore-v6.0.0](interface-blockstore-5.3.2...interface-blockstore-6.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version interface-blockstore-v6.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [interface-datastore-v9.0.0](interface-datastore-8.3.2...interface-datastore-9.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version interface-datastore-v9.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [interface-blockstore-tests-v8.0.0](interface-blockstore-tests-7.0.3...interface-blockstore-tests-8.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version interface-blockstore-tests-v8.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [blockstore-core-v6.0.0](blockstore-core-5.0.4...blockstore-core-6.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136)) ### Dependencies * bump @libp2p/logger ([#359](#359)) ([edb5a1f](edb5a1f))
🎉 This PR is included in version blockstore-core-v6.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [blockstore-fs-v3.0.0](blockstore-fs-2.0.5...blockstore-fs-3.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version blockstore-fs-v3.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [datastore-core-v11.0.0](datastore-core-10.0.4...datastore-core-11.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136)) ### Dependencies * bump @libp2p/logger ([#359](#359)) ([edb5a1f](edb5a1f))
🎉 This PR is included in version datastore-core-v11.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [blockstore-idb-v3.0.0](blockstore-idb-2.0.4...blockstore-idb-3.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version blockstore-idb-v3.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [blockstore-level-v3.0.0](blockstore-level-2.0.5...blockstore-level-3.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version blockstore-level-v3.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [blockstore-s3-v3.0.0](blockstore-s3-2.0.5...blockstore-s3-3.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136)) ### Trivial Changes * bump sinon from 20.0.0 to 21.0.0 ([#351](#351)) ([f24dd4f](f24dd4f))
🎉 This PR is included in version blockstore-s3-v3.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [datastore-fs-v11.0.0](datastore-fs-10.0.6...datastore-fs-11.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version datastore-fs-v11.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [datastore-idb-v4.0.0](datastore-idb-3.0.4...datastore-idb-4.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version datastore-idb-v4.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [datastore-level-v12.0.0](datastore-level-11.0.4...datastore-level-12.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136))
🎉 This PR is included in version datastore-level-v12.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [datastore-s3-v13.0.0](datastore-s3-12.0.5...datastore-s3-13.0.0) (2025-10-03) ### ⚠ BREAKING CHANGES * blockstore.get and similar now return streams of bytes ### Features * streaming blockstores ([#358](#358)) ([4dbb136](4dbb136)) ### Trivial Changes * bump sinon from 20.0.0 to 21.0.0 ([#351](#351)) ([f24dd4f](f24dd4f))
🎉 This PR is included in version datastore-s3-v13.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Changes the blockstore interface to return (and accept) streams of
Uint8Array
s instead of individualUint8Array
s.This is to enable future work on large blocks (for streaming hashes) and also to reduce memory usage since we can stream from the filesystem in smaller chunks (typically 64KiB) rather than 256KiB at a time.
BREAKING CHANGE: blockstore.get and similar now return streams of bytes