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) di
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.
What's New in v4.23
What's Changed
Shell
- fix(shell): correct volume.list -writable filter unit and comparison by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/9231
- shell: expand
~in local file path arguments by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9265 - fix(shell): use exact match for volume.balance -racks/-nodes filter by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/9279
S3 API
- fix(s3api): return 503 + Retry-After when remote object not cached yet by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9233
- fix(s3api): fix uint16 overflow in doListFilerEntries Limit calculation by @chenshi5012 in https://github.com/seaweedfs/seaweedfs/pull/9271
- fix(s3api): clear stale latest-version pointer when .versions dir cleanup is blocked by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9269
- test(s3): force-drop collection after deleteBucket in tagging/versioning/cors/copying by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9270
- fix(s3api): re-encrypt UploadPartCopy bytes for the destination's SSE config (#8908) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9280
- fix(s3api): cross-SSE copy operations and bring them back into CI (#9281) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9282
- ci: bring previously-uncovered integration tests into CI (#9281 follow-up) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9283
- fix(s3): honor X-Forwarded-For in audit log remote_ip by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9295
- fix(s3api,iamapi): avoid full SaveConfiguration when creating a single IAM user by @ykatchou in https://github.com/seaweedfs/seaweedfs/pull/9261
- fix(s3): cache remote-only source before CopyObject (#9304) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9305
Filer
- fix(filer): return 503 + Retry-After when remote object not cached yet by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9236
- filer(mysql): TLS hostname/SNI knobs + MariaDB upsert documentation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9260
- feat(filer.sync): add -verifySync mode to filer.sync for cross-cluster file comparison by @kisow in https://github.com/seaweedfs/seaweedfs/pull/9284
Misc
- fix(kafka): evict expired group members on rejoin to unblock fast restart by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9243
- Export
file_read_invalid_needlesmetric for REST read requests on invalid file IDs. by @plisandro in https://github.com/seaweedfs/seaweedfs/pull/9241 - chore(weed/topology): prune unused functions by @alrs in https://github.com/seaweedfs/seaweedfs/pull/9249
- fix(grpc): require host match before routing dials to local Unix socket (#9254) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9257
- Export Prometheus metrics for scrubbing operations. by @plisandro in https://github.com/seaweedfs/seaweedfs/pull/9264
- chore(shell): fix typo in EC shard helper param names by @qzhello in https://github.com/seaweedfs/seaweedfs/pull/9277
- chore(weed/mq/kafka/protocol): prune dead code by @alrs in https://github.com/seaweedfs/seaweedfs/pull/9288
- chore(weed/mq/kafka/protocol): prune no-op test by @alrs in https://github.com/seaweedfs/seaweedfs/pull/9287
- refactor(weed/storage): log volume file removal failures by @alrs in https://github.com/seaweedfs/seaweedfs/pull/9297
- refactor(command): expand "~" in all path-style CLI flags by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9306
Volume Server
- fix(volume_server): pin EC shard auto-select to the .ecx-owning disk (#9212) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9245
- fix(volume_server): load orphan EC shards across disks on startup (#9212) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9244
- fix(storage): fix verifyDeletedNeedleIntegrity using wrong offset by @chenshi5012 in https://github.com/seaweedfs/seaweedfs/pull/9273
Table Buckets and Iceberg Catalog
- fix(iceberg): default namespace location so fresh CTAS does not race metadata write (#9074) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9246
- test(iceberg): cross-engine regression coverage for deterministic table locations (#9074) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9253
- test(s3tables): add Dremio Iceberg catalog integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9299
- test(s3tables): expand Dremio Iceberg catalog test coverage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9303
Docker
- feat(docker): default CMD to
mini -dir=/datafor service-container use by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9255
- feat(docker): default CMD to
Admin Server and Workers
- fix(admin): use protocol-relative URLs for component links so HTTPS clusters don't break clicks by @pmiriyev in https://github.com/seaweedfs/seaweedfs/pull/9256
- feat(admin): prefer stored S3 Content-Type metadata over key-extension MIME inference by @baracudaz in https://github.com/seaweedfs/seaweedfs/pull/9286
- fix(admin/view): define basePath in plugin IIFE scopes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9298
- refactor(worker): co-locate plugin handlers with their task packages by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9301
NFS server
- fix(nfs): reject NFSv4 calls with PROG_MISMATCH so clients fall back to v3 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9262
- feat(nfs): UDP MOUNT v3 responder + real-Linux e2e mount harness by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9267
- fix(nfs): accept dirpath any-where under the export, mirroring rclone by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9291
FUSE Mount
- mount: expose -fuse.maxBackground and -fuse.congestionThreshold flags (closes #9258) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9268
- fix(mount): copy xattr value bytes to avoid FUSE buffer aliasing by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9278
- fix(mount): keep async flush when LockOwner has no POSIX locks by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9300
Master
- fix(master): bump seaweedfs/raft to v1.1.8 for Windows syncDir fix by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9296
Mini
- feat(mini): add -bucket flag to pre-create an S3 bucket on startup by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9302
Rust Volume Server
- fix(seaweed-volume): ceil EC shard slots in maybe_adjust_volume_max by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9232
- fix(seaweed-volume): parse host:port.grpcPort in master address by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9235
- fix(seaweed-volume): accept redb aliases for --index by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9237
- fix(seaweed-volume): port EC shard placement fix to Rust (#9212, mirrors #9245) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9250
- feat(seaweed-volume): auto-load EC shards on startup (#9212) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9251
- feat(seaweed-volume): cross-disk EC shard reconciliation (#9212) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9252
- rust(volume): export Prometheus metrics for scrubbing operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9266
- rust(volume): strip grpc-port suffix from master URL before HTTP lookup by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9276
New Contributors
- @chenshi5012 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/9271
- @baracudaz made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/9286
- @ykatchou made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/9261
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.22...4.23
Legal Notice
This software is provided by its original developers. We only index and provide links to official download sources. All downloads are from the original publishers and are completely legal and safe.
Download Information
Related Apps
Musify
GitHubUnlock the full potential of music: Stream effortlessly with one app!
mpv-android
GitHubvideo player for Android based on libmpv ↦ #mpv-android @ irc.libera.chat
mpv-android
GitHubvideo player for Android based on libmpv ↦ #mpv-android @ irc.libera.chat
musicat
GitHubA sleek desktop music player and tagger for offline music 🪕. With gapless playback, smart playlists, and a map view! Built with Svelte and Tauri