From 929745af6ef9d85ace1645d3378d022bc24b7087 Mon Sep 17 00:00:00 2001 From: David Christopher <137860927+davidchrisr@users.noreply.github.com> Date: Tue, 15 Sep 2026 16:46:11 +0700 Subject: [PATCH] Document POST policy upload versioning behavior (#11316) --- S3-Object-Versioning.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/S3-Object-Versioning.md b/S3-Object-Versioning.md index 460b68a..64f02cc 100644 --- a/S3-Object-Versioning.md +++ b/S3-Object-Versioning.md @@ -112,6 +112,23 @@ aws --endpoint-url $S3_ENDPOINT s3api delete-object \ - **GET Object**: Returns the current version - **DELETE Object**: Permanently deletes the object +### POST Policy Uploads: + +Uploads using an S3 POST policy, including presigned POST uploads, follow +the bucket's versioning state: + +* Enabled: Creates a new version with a unique version ID and returns it + in the `x-amz-version-id` response header. +* Suspended: Replaces the null version while preserving existing non-null + versions. The `x-amz-version-id` response header is omitted. +* Never enabled: Uses the unversioned write path and omits the + `x-amz-version-id` response header. + +POST-created versions can be listed and retrieved using the same APIs +shown above. + +Added in [PR #11316](https://github.com/seaweedfs/seaweedfs/pull/11316). + ## Storage Layout SeaweedFS stores versioned objects using the following structure: