20 Oct 2026
Listing unfinished uploads now follows the S3 rules
- What was broken
- The list of unfinished uploads ignored where to resume, came back in the wrong order, and could claim there was more when the page was complete.
- What I changed
- The list is now sorted by name, resumes after the given name, and reports whether there is more and where to continue.
- Why it matters
- Tools that page through uploads end cleanly and miss nothing.
see the code, #11833 ↗ (opens in a new tab)
19 Oct 2026
Folder entries that hold data now list their real size
- What was broken
- In SeaweedFS's S3 storage, a name ending in a slash can hold data. Reading it gave back the data, but a folder listing said its size was zero.
- What I changed
- The listing now counts the data stored with such an entry, and empty ones still show zero.
- Why it matters
- Apps that trust listing sizes see the same size they get when they read the file.
see the code, #11830 ↗ (opens in a new tab)
18 Oct 2026
Deleting a folder over WebDAV deletes what is inside
- What was broken
- Over WebDAV, a folder with anything in it could not be deleted, and nothing could be moved or copied on top of an existing folder.
- What I changed
- I made deletes remove the folder with its contents, with checks so a move or upload can never wipe the wrong folder.
- Why it matters
- File managers that mount SeaweedFS can clean up and reorganize folders normally.
see the code, #11811 ↗ (opens in a new tab)
18 Oct 2026
New folders over WebDAV show up every time
- What was broken
- Creating a folder over WebDAV with a name that had been used before said it worked but made nothing. File managers lost the second "New Folder" after a rename, and a deleted folder could not be made again.
- What I changed
- I fixed how the folder name was split from its path, so the folder itself is created and not an empty name inside it.
- Why it matters
- Folders made from a file manager on a WebDAV share appear as expected.
see the code, #11810 ↗ (opens in a new tab)
15 Oct 2026
Small files uploaded by form keep their size
- What was broken
- A file uploaded by form and stored inside its own record kept its bytes but was recorded as 0 bytes. Downloads, listings and WebDAV then treated it as empty.
- What I changed
- That upload now records the real size and checksum, the same as other uploads.
- Why it matters
- Small config files uploaded this way can be read back.
see the code, #11734 ↗ (opens in a new tab)
15 Oct 2026
Small files read over WebDAV are no longer blank
- What was broken
- SeaweedFS keeps very small files inside its index instead of in separate pieces. Reading one over WebDAV, a way to open server files like a network drive, gave the right size but all zeros.
- What I changed
- I made WebDAV read those small files from where they are kept.
- Why it matters
- Settings files and other small files open with their real content, and copying them no longer makes blank copies.
see the code, #11733 ↗ (opens in a new tab)
13 Oct 2026
Resumed file uploads no longer wipe the start of the file
- What was broken
- When an upload over SFTP was cut off and then resumed, the server kept the new part but replaced everything before it with zeros. The file looked complete but was damaged, with no error.
- What I changed
- When a file is opened to continue writing, the server now starts from the bytes already there instead of an empty copy.
- Why it matters
- Resuming a big upload gives back the whole file, not a silently broken one.
see the code, #11723 ↗ (opens in a new tab)
12 Oct 2026
File transfer listings no longer hang or come back short
- What was broken
- SeaweedFS can serve files over SFTP, a common way to transfer files. If storage hiccupped during a folder listing, the server got stuck forever, and a single hidden file could cut a big listing short.
- What I changed
- I made a storage error end the listing with a clear failure, and made hidden files stop cutting the listing short.
- Why it matters
- Users see every file they are allowed to see, or a clear error, never a silently partial list or a stuck server.
see the code, #11724 ↗ (opens in a new tab)
← every project