4.33
alyssaxuu/screenity4.33Jun 11, 2026by chrislusf
AI Summary
The release prioritizes S3 API stability and Filer performance, addressing memory issues and optimizing metadata replay processes.
Key Highlights
- S3 API fixes for HTTP-date conditionals and IAM authorization
- Filer metadata replay optimizations to prevent OOM and improve concurrency
- New Elasticsearch 8 support for the Filer
- Admin server improvements including JSON export of cluster volume list
New Features
- JSON export of cluster volume list
- Elasticsearch 8 filer store
- Object size distribution metrics
- S3 API HTTP-date conditionals support
Full Release Notes
## What's Changed * S3 API * fix(s3api): accept HTTP-date conditionals by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9863 * fix(s3api): drop ancestor directory markers from prefixed ListObjectVersions by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9885 * fix(s3api): clear stale object lock years by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9890 * fix(s3api): normalize checksum trailer header names by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9905 * fix(s3api): reject empty v4 signed header names by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9910 * Remote Cache * fix(remote): correct content and permissions when syncing/caching remote objects by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9879 * Filer Sync and Backup * Don't mangle filer paths with the OS separator on Windows by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9878 * fix(filer.sync): guard batched events against nil EventNotification by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9877 * fix(filer.backup): skip replay events whose source chunk was superseded or deleted by @kisow in https://github.com/seaweedfs/seaweedfs/pull/9886 * fix(filer.sync): scope filesystem key sanitization to the local sink by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9894 * fix(filer.sync): replicate a rename as an atomic move, not a no-op update by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9895 * Admin Server and Worker * feat(admin): export full cluster volume list as JSON by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9876 * admin: pre-gzip embedded static assets, add cache headers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9918 * Misc * fix(util): return full uint64 randomness by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9864 * fix(http): accept no content delete responses by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9893 * ci: route Docker Hub pulls through a mirror to cut registry timeouts by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9904 * ci(s3tables): stop Lakekeeper flaking on Docker Hub pull timeouts by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9920 * Rust Volume Server * fix(seaweed-volume): stop EC shard deletion from phantom .dat on restart by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9874 * Shell * fix(shell): move files into existing destination directories by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9887 * Make shell command `ec.scrub` return shard details upon scrub failures in `LOCAL` mode. by @plisandro in https://github.com/seaweedfs/seaweedfs/pull/9913 * `volume.scrub` and `ec.scrub` shell commands: make the display of scrub details optional. by @plisandro in https://github.com/seaweedfs/seaweedfs/pull/9911 * Filer * fix(mongodb): merge URI auth fields with username/password override by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9889 * feat(filer): object size distribution metric and dashboard panels by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9902 * Fix filer metadata-replay OOM under mount reconnect storms by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9901 * Share decoded metadata-log entries across subscriber replays by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9903 * Share metadata-log replays per chunk instead of per file by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9906 * Bound the metadata-log flush queue by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9907 * add elastic8 filer store for Elasticsearch 8 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9916 * log_buffer: stop dumping the whole log entry on callback errors by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9919 * Cut per-subscriber replay decode and widen replay concurrency by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9917 * Volume Server * batch drain delta heartbeat messages by @giftz in https://github.com/seaweedfs/seaweedfs/pull/9914 * fix(ec): don't mix EC shards from different encode runs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9880 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/4.32...4.33