4.37

dubinc/dub4.37Jun 29, 2026by chrislusf

AI Summary

SeaweedFS 4.37 brings significant performance improvements to the Rust volume server, including streaming copy operations and remote read serving, alongside enhancements to Erasure Coding recovery and S3 bucket policies.

Key Highlights

  • Performance CI with profiling and throughput benchmarks
  • Streaming copy to reduce memory buffering
  • EC shard recovery for .ecx index only
  • S3 support for AWS Principal in bucket policies

New Features

  • Performance CI infrastructure
  • Streaming volume copy operations
  • Tier-down crash safety
  • EC rebuild/reconstruct Prometheus metrics
  • Remote read serving after tier upload

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