This release adds 4 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+10 more
Summary
AI summaryAdmin server updates, S3 API enhancements including ObjectTransaction and lock optimizations, FUSE mount POSIX locking improvements, plus miscellaneous fixes.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Introduces ObjectTransaction for atomic multi‑entry object writes in filer. Introduces ObjectTransaction for atomic multi‑entry object writes in filer. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Adds ObjectTransactionBatch for multi‑key object writes in filer. Adds ObjectTransactionBatch for multi‑key object writes in filer. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Routes single‑entry object writes to the owner filer, off the DLM in S3 APIs. Routes single‑entry object writes to the owner filer, off the DLM in S3 APIs. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Implements POSIX advisory lock set primitive (phase 1) for FUSE mount. Implements POSIX advisory lock set primitive (phase 1) for FUSE mount. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Serializes POSIX lock set for entry metadata (phase 2) in FUSE mount. Serializes POSIX lock set for entry metadata (phase 2) in FUSE mount. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Routes POSIX advisory locks to the owner filer under -dlm in FUSE mount. Routes POSIX advisory locks to the owner filer under -dlm in FUSE mount. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Adds session lease and reaping for POSIX locks in filer. Adds session lease and reaping for POSIX locks in filer. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Adds Prometheus metrics exposure to the admin server. Adds Prometheus metrics exposure to the admin server. Source: llm_adapter@2026-05-26 Confidence: low |
— |
| Feature | Low |
Exposes Prometheus metrics via the admin server endpoint. Exposes Prometheus metrics via the admin server endpoint. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes SetAttr/GetAttr crash from concurrent chunk append in FUSE mount. Fixes SetAttr/GetAttr crash from concurrent chunk append in FUSE mount. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Medium |
Re‑registers volumes missing from the lookup index on master. Re‑registers volumes missing from the lookup index on master. Source: llm_adapter@2026-05-26 Confidence: low |
— |
Full changelog
What's Changed
-
Admin Server and Worker
- EC placement: shared replica-placement resolver, snapshot + Place core, capacity fixes, tiering by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9621
- EC encode: place shards via ecbalancer.Place + configurable replica placement by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9623
- Delete the EC placement package now that encode/repair use ecbalancer.Place by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9624
- EC detection: build placement snapshot once per cycle (fix large-topology timeout) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9625
- admin: expose Prometheus metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9652
-
S3 APIs
- filer: serialize same-path mutations with a per-path lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9639
- filer: evaluate a write precondition in CreateEntry by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9650
- filer: add ObjectTransaction for atomic multi-entry object writes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9646
- filer: add RECOMPUTE_LATEST mutation to ObjectTransaction by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9647
- filer: add extended-attribute guard clauses for object-lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9648
- s3: use oidc: prefix for trust-policy conditions in IAM example by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9653
- filer: add ObjectTransactionBatch for multi-key object writes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9649
- filer: reuse the caller's fetched entry in CreateEntry by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9645
- filer: let PATCH_EXTENDED replace Entry.content by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9654
- s3: dial the object lock's primary filer directly by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9626
- s3: route single-entry object writes to the owner filer, off the DLM by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9629
- s3: serialize bucket config writes with field-level filer patches by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9655
- s3: route versioned PutObject finalize off the DLM by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9631
- s3: route object-lock object writes off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9635
- s3: route versioned COPY and delete-marker off the DLM by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9633
- s3: route multipart-upload completion off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9632
- s3: route object-lock version-specific deletes off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9657
- s3: route metadata-only self-copy off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9638
- ObjectTransaction: filer-side forwarding via route_key by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9659
-
FUSE Mount
- filer: POSIX advisory lock set primitive (phase 1 of distributed FUSE locking) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9660
- filer: serialize the POSIX lock set for entry metadata (phase 2) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9661
- filer: in-memory POSIX lock authority (Manager) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9663
- filer: routed PosixLock RPC over the in-memory authority by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9664
- mount: fix SetAttr/GetAttr crash from concurrent chunk append under writebackCache by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9667
- mount: route POSIX advisory locks to the owner filer under -dlm by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9669
- mount: keep the posix-lock hint until the release RPC succeeds by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9670
- filer: session lease + reaping for POSIX locks by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9666
- mount,filer: re-assert POSIX locks via keepalive (ownership migration + restart) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9668
- fix: avoid rclone nil close panics by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9674
- filer: cooling-off dual-read for POSIX locks during ring changes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9672
- filer: warm-up + fail-closed cooling for POSIX locks on owner (re)start by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9673
- filer/posixlock: remove the unused lock-set serde by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9676
- test/fuse_dlm: cross-mount POSIX locks + survival across a ring change by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9677
-
Misc
- test: wait for a writable volume before lifecycle tests' first write by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9658
- fix(master): re-register volumes missing from the lookup index by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9620
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.28...4.29
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About seaweedfs
SeaweedFS is a distributed storage system for object storage (S3), file systems, and Iceberg tables, designed to handle billions of files with O(1) disk access and effortless horizontal scaling.
Related context
Related tools
Earlier breaking changes
- v4.24 Version 4.23 is unsafe with multiple disks when using erasure coding (EC).
Beta — feedback welcome: [email protected]