Skip to content

seaweedfs

v4.29 Feature

This release adds 4 notable features for engineering teams evaluating rollout.

Published 8d Cloud Management
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

blob-storage cloud-drive distributed-file-system distributed-storage distributed-systems erasure-coding
+10 more
fuse hadoop-hdfs hdfs kubernetes s3 posix replication s3-storage seaweedfs tiered-file-system

Summary

AI summary

Admin server updates, S3 API enhancements including ObjectTransaction and lock optimizations, FUSE mount POSIX locking improvements, plus miscellaneous fixes.

Changes in this release

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

Track seaweedfs

Get notified when new releases ship.

Sign up free

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.

All releases →

Related context

Earlier breaking changes

  • v4.24 Version 4.23 is unsafe with multiple disks when using erasure coding (EC).

Beta — feedback welcome: [email protected]