4.37
TrafficGuard/typedai4.37Jun 29, 2026by chrislusf
AI Summary
A performance and stability release featuring CI improvements, Rust volume server fixes for streaming and crash safety, EC shard recovery, and S3 bucket policy support.
Key Highlights
- Performance CI added for profiling, throughput, and memory usage benchmarking.
- Rust volume server fixes for streaming copy and crash-safe tier-down operations.
- EC shard recovery improvements for shards with missing .ecx indices.
- S3 support for bucket policy Principal and NotPrincipal.
- FUSE mount directory cache optimization to reduce InodeEntry size.
New Features
- Prometheus metrics for EC rebuild/reconstruct operations.
- S3 support for AWS object form in bucket policies.
- Volume Mark Readonly routing to raft leader.
- Performance CI for Rust volume server profiling.
- FUSE directory cache state moved to a side map.
Full Release Notes
## What's Changed ### CI / Build & Performance - Add performance CI (profiling, throughput, S3 read/write) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10105 - Perf CI: benchmark the Rust volume server and report memory usage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10111 - docker release: per-platform builds on native runners, drop mode=max cache by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10109 ### Volume Server (Rust) - fix (Volume [Rust]): stream copy_file and volume_incremental_copy instead of buffering the whole file in memory by @justadri in https://github.com/seaweedfs/seaweedfs/pull/10110 - fix(volume): serve reads from remote after tier upload (Rust) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10112 - fix(volume): make tier-down crash-safe and serve from local (Rust) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10113 ### Volume Server & EC - volume server: route VolumeMarkReadonly to raft leader by @jk2lx in https://github.com/seaweedfs/seaweedfs/pull/10120 - fix: apply collectionPattern during detection in volume.fix.replication by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/10115 - ec: recover EC shards whose .ecx index lives only on a peer server by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10108 - feat(metrics): Add EC rebuild/reconstruct Prometheus metrics by @rushikesh90 in https://github.com/seaweedfs/seaweedfs/pull/10124 ### Master - fix(master): shed assign load when volume growth is already in flight by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10121 ### S3 - s3: support AWS object form for bucket policy Principal, add NotPrincipal by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10125 ### Filer - fix(filer.sync.verify): sort listings client-side before merge by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10117 ### Mount / FUSE - mount: move directory cache state to a side map to shrink InodeEntry (152 to 32 bytes) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10114 ### Admin - fix(admin): volume TTL in dashboard by @jayl1e in https://github.com/seaweedfs/seaweedfs/pull/10107 ## New Contributors * @jayl1e made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10107 * @justadri made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10110 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/4.36...4.37