4.47
eyaltoledano/claude-task-master4.47Sep 14, 2026by chrislusf
Upgrading?
AI Summary
A major update to SeaweedFS focusing on S3 API security, IAM policy management, and mount operations. It introduces bucket quotas and improves OAuth token handling for Iceberg.
Key Highlights
- Added bucket quota S3 extension via `?seaweedfs-quota`.
- IAM policy improvements include preserving native Admin and preventing deletion while attached.
- S3 API security fixes regarding source IP evaluation and bucket-policy Deny overrides.
- Iceberg OAuth token expiry handling with configurable TTL.
- Mount cache improvements and ChunkGroup seeking tests added.
New Features
- Add bucket quota S3 extension via `?seaweedfs-quota`.
- IAM policy improvements (preserve native Admin, prevent deletion while attached).
- S3 API security fixes (evaluate aws:SourceIp from direct TCP peer).
- Iceberg OAuth token expiry handling.
- ChunkGroup seeking tests and boundary handling fixes.
Full Release Notes
## What's Changed * release: wait for Go proxy propagation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11219 * [Mount] Add ChunkGroup seeking tests and fix boundary handling by @ssshr-66 in https://github.com/seaweedfs/seaweedfs/pull/11223 * fix(mount): bound reader cache memory across open files by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11220 * iam: preserve native Admin when IAM policies are attached (#11226) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11232 * fix(s3api): evaluate aws:SourceIp from the direct TCP peer, not forwarded headers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11231 * admin: reject IAM policy deletion while still attached to a user/group by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11230 * filer/postgres: create filemeta table on startup via createTable config by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11229 * helm: pass -ip to admin so StatefulSet becomes Ready on 4.46 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11236 * admin: allow insecurely binding to any IP if -allowInsecureNoAuth is set by @AlessandroZanatta in https://github.com/seaweedfs/seaweedfs/pull/11228 * filer: widen metadata-subscription readahead buffers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11237 * volume server: release the store lock before scrubbing EC volumes by @franchb in https://github.com/seaweedfs/seaweedfs/pull/11235 * helm: supply admin auth in CI renders that enable admin by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11239 * fix(volume): handle faulty storage media (Go + Rust) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11233 * fix: rebase on latest master before pushing star history chart by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11240 * [Volume] Validate record counts after volume copy by @ssshr-66 in https://github.com/seaweedfs/seaweedfs/pull/11238 * fix(filer): use path.Split instead of filepath.Split for filer paths by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11246 * rust volume: move the crate to edition 2024 by @franchb in https://github.com/seaweedfs/seaweedfs/pull/11244 * iceberg: fix OAuth token expiry handling (401 + token-exchange + configurable TTL) by @lucndm in https://github.com/seaweedfs/seaweedfs/pull/11242 * Mount req with collection by @shaofeng66 in https://github.com/seaweedfs/seaweedfs/pull/11249 * rust: prevent phantom volumes + validate collection hint in mount_volume_by_id by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11254 * s3: bucket-policy Allow must not override an identity explicit Deny by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11256 * filer: end local-only metadata subscriptions when remote peers appear by @Tyagiquamar in https://github.com/seaweedfs/seaweedfs/pull/11251 * fix(volume): Harden Volume Copy Validation and Failure Handling by @ssshr-66 in https://github.com/seaweedfs/seaweedfs/pull/11252 * rust volume: stop glibc retaining freed EC buffers as unreturnable heap by @franchb in https://github.com/seaweedfs/seaweedfs/pull/11255 * fix(s3api/sts): respect MaxSessionLength config in DurationSeconds validation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11267 * rust volume: honour is_last in the tail sender instead of rescanning the whole volume by @franchb in https://github.com/seaweedfs/seaweedfs/pull/11273 * build(deps): bump github.com/rclone/rclone from 1.75.0 to 1.75.1 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/11274 * fix(s3api/iam): avoid transient AccessDenied from full reloads on single IAM file changes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11271 * fix: write the new key when a remote-synced file is renamed by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11270 * fix(s3api/audit): surface OIDC identity claim in audit log for STS sessions by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11269 * mount: rebuild expired directory cache on entry lookup by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11268 * fix(vacuum): stop comparing compact size against the live needle map by @Koalk in https://github.com/seaweedfs/seaweedfs/pull/11263 * s3 sink: report the source read error the SDK hides by @AdzerKI in https://github.com/seaweedfs/seaweedfs/pull/11277 * s3: fail closed on unsupported bucket-policy condition operators by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11283 * feat(s3api): add bucket quota S3 extension via ?seaweedfs-quota by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11279 * s3: close list-type / ownership-controls routing mismatch by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11280 * s3: reject virtual-host bucket retargeting via X-Forwarded-Host by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11281 * fix(master): stop goraft server on shutdown and bump raft to v1.2.1 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11284 * test(fuse_failover): dump chunk list and hex on append corruption by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11285 * [Volume] Scrub every disk's EC shards for a volume id, not just the first by @franchb in https://github.com/seaweedfs/seaweedfs/pull/11258 * Fix mount eio on manifest resolve failure by @giftz in https://github.com/seaweedfs/seaweedfs/pull/11287 * [Mount] Cache Chunk Manifest Resolution for Repeated File Opens by @ssshr-66 in https://github.com/seaweedfs/seaweedfs/pull/11266 * fix(vacuum): batch fsync in makeupDiff to prevent test timeout by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11289 * master: name the unlabeled disk layout plainly in assign errors by @lucndm in https://github.com/seaweedfs/seaweedfs/pull/11290 * s3: gate internal LifecycleDelete gRPC behind admin Bearer auth by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11291 * iceberg/s3tables: confine stored metadataLocation to the authorized table bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11292 * test/ec: fix EC interruption matrix slot exhaustion by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11295 * filer: accept gcs credentials file paths in the guarded remote client builder by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11296 * filer: apply SSRF guard to the lazy-remote fetch/list/delete paths by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/11294 ## New Contributors * @AlessandroZanatta made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/11228 * @lucndm made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/11242 * @Tyagiquamar made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/11251 * @AdzerKI made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/11277 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/4.46...4.47
Related Repositories
affaan-m/ECC★ 285,699
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
react/react★ 251,622
The library for web and native user interfaces.
nodejs/node★ 122,511
Node.js JavaScript runtime ✨🐢🚀✨
Leonxlnx/taste-skill★ 100,554
Agent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
louislam/uptime-kuma★ 92,731
A fancy self-hosted monitoring tool