4.43
PaddlePaddle/PaddleSpeech4.43Aug 21, 2026by chrislusf
AI Summary
SeaweedFS 4.43 introduces significant S3 gateway improvements, Mount path optimizations, and upgrades the Go language version to 1.26.
Key Highlights
- S3 gateway now stamps its own UID/GID on PutObject operations.
- Mount path reading has been optimized to drop consumed entries and reuse paths.
- Rust volume server now supports fsync and exposes health/metrics.
- Fixed unrouted bucket subresource listing issues.
- Go 1.26 language bump with compatibility fixes.
New Features
- S3 gateway UID/GID stamping
- Mount path optimization
- Rust volume server fsync support
- Rust volume server metrics
- Go 1.26 upgrade
Full Release Notes
## What's Changed ## S3 * s3: stop unrouted bucket subresources from being answered with a listing by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10814 * S3: stamp the gateway's own uid/gid on PutObject and copy entries by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10844 * s3: place multipart part chunks by the destination object's storage rule by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10845 * s3: allow-unordered is a listing parameter, not an unimplemented subresource by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10846 ## Filer * filer: use bind variables for request-controlled values in the arangodb store by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10795 * filer: close the empty-folder race by checking after each mutation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10799 * filer: stop remote.unmount from deleting the remote objects by @Koalk in https://github.com/seaweedfs/seaweedfs/pull/10811 * fix(filer): bound aggregated metadata reads by peer watermarks by @kisow in https://github.com/seaweedfs/seaweedfs/pull/10803 ## Mount * Recover from a dead volume server on the mount read path by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10798 * mount: drop consumed entries when reading a directory through by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10802 * mount: reuse the listed entry's path instead of rebuilding it by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10817 * mount: fold an inode's single link into its entry by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10818 * mount: move the inode table when a rename arrives from the cluster by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10822 * mount: index directory state by path by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10827 * mount: discard a path-cache insert that raced a purge by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10842 ## Read path * Re-look-up a chunk's locations as soon as they all fail by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10800 * Give the WebDav chunk reader a bounded, invalidatable location cache by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10801 ## Volume server and topology * Guard the gcs credential path in FetchAndWriteNeedle like the other backends by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10796 * volume: forward fsync=true to replicas in ReplicatedWrite by @sunchao6106 in https://github.com/seaweedfs/seaweedfs/pull/10805 * topology: refresh oversized mark on every heartbeat by @sunchao6106 in https://github.com/seaweedfs/seaweedfs/pull/10829 ## Rust volume server * rust: honor fsync on the volume server write path by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10816 * rust: stop writing when a durable write's index flush fails by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10825 ## Lance catalog and plugin workers * Lance catalog, and a Rust plugin worker to maintain it by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10841 * seaweed-worker: serve health, readiness and metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10848 * metrics: graph the plugin workers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10849 * mini: state the format of a -tableBucket, do not infer it by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10851 ## gRPC * Give the local Unix socket gRPC transport room to breathe by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10824 ## Kubernetes * Add monitoring label to filer servicemonitor by @slimes28 in https://github.com/seaweedfs/seaweedfs/pull/10835 ## Go 1.26 * Fix what the Go 1.26 language bump breaks by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10794 * go 1.26 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10797 ## Tests * fix(test/s3/versioning): dropped test error by @alrs in https://github.com/seaweedfs/seaweedfs/pull/10813 * test(s3/versioning): read the whole version body instead of one Read by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10815 * test: drive the Lance namespace with LanceDB by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10850 ## CI * ci: fall through to another Ubuntu mirror when one is unreachable by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10828 * ci: install the runner's own packages through the mirror fallback too by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10831 * ci: build protoc into the crate instead of installing it per job by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10830 * ci: call the apt helper from the workflow's working directory by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10832 * ci: stop installing FUSE headers nothing links against by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10840 ## Documentation * readme: fold RustFS into the MinIO comparison by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/10788 ## Dependencies * build(deps): bump golang.org/x/crypto from 0.54.0 to 0.55.0 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/10786 * build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.43.4 to 1.43.5 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/10787 * build(deps): bump google.golang.org/api from 0.289.0 to 0.293.0 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/10792 * build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/10790 * build(deps): bump github.com/rabbitmq/amqp091-go from 1.11.0 to 1.13.0 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/10791 * build(deps): bump go.etcd.io/etcd/client/v3 from 3.6.12 to 3.7.1 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/10789 ## New Contributors * @Koalk made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10811 * @sunchao6106 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10805 * @slimes28 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/10835 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/4.42...4.43