4.37

boratanrikulu/gecit4.37Jun 29, 2026by chrislusf

AI Summary

This release focuses on performance improvements, Rust volume server stability, and Erasure Coding (EC) recovery enhancements. It introduces performance CI infrastructure and optimizes memory usage in the FUSE mount layer.

Key Highlights

  • Added performance CI for profiling throughput, memory usage, and S3 operations.
  • Fixed Rust volume server streaming operations to avoid buffering entire files in memory.
  • Enhanced EC shard recovery logic to handle cases where .ecx indexes exist only on peer servers.
  • Introduced Prometheus metrics for EC rebuild and reconstruct operations.

New Features

  • Prometheus metrics for EC rebuild/reconstruct.
  • S3 support for AWS object form in bucket policies (Principal, NotPrincipal).
  • Performance CI setup using per-platform builds on native runners.

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