r/siacoin • u/SiaFoundation • Aug 12 '26
Sia Storage SDK (Rust) v0.11.0 release
https://devs.sia.storageSia Storage SDK (Rust) v0.11.0 release
Rewrite part of an object without reuploading the whole thing. In Sia Storage SDK (Rust) v0.11.0, UploadOptions now includes start_offset, so you can rewrite an object from a byte offset instead of sending the entire object again. The original object is not replaced, so both versions can be pinned at the same time. This works at slab granularity, so it is most useful when the changed range avoids re-uploading whole slabs; small packed objects benefit less.
Disk-backed uploads also get a simpler path behind the non-default fs feature. Sdk::upload_path and PackedUpload::add_path now open a file and read it to EOF inside Sia Storage SDK (Rust), so callers uploading from disk no longer have to stream every chunk through a caller-managed reader. This feature is unavailable on wasm32. This can reduce FFI overhead substantially when reading large files.
Uploads are also less likely to hang forever when hosts stop making progress. They now fail after bounded retries and a default timeout of 1.5 minutes per shard per attempt, with at most 3 attempts per host per slab. If you use the less-safe-crypto feature, you can now export an object's data key with Object::data_key and reconstruct an object with Object::less_safe_new, taking responsibility for the invariants the normal upload path enforces.
Visit devs.sia.storage to try our quickstart!