What's Changed
Added
S3
PutObjectLockConfigurationwithDefaultRetentionnow enforces the configured mode (GOVERNANCE / COMPLIANCE) and period (days or years) on every new object uploaded viaPutObject,CopyObject, andCompleteMultipartUpload- BucketLifecycle now evaluates
NoncurrentVersionExpirationandNoncurrentVersionTransitionrules - BucketLifecycle now accepts the
x-amz-transition-default-minimum-object-sizerequest header (required by Terraform AWS Provider v6) - BucketReplication now replicates delete markers when
DeleteMarkerReplicationis enabled in the replication configuration - BucketReplication now supports tag-based filter rules (
Filter.TagandFilter.And.Tags) in addition to key prefix matching - Presigned POST (
POST Object): browser-based direct-to-S3 uploads via HTML multipart form; supports${filename}substitution in the object key andsuccess_action_status/success_action_redirectresponse control
Server
- Request logs now include method, path, status code, and latency in a structured, color-coded format; color is disabled automatically when stderr is not a terminal or
NO_COLORis set
Fixed
S3
PutBucketVersioningnow returnsInvalidBucketStatewhen attempting to suspend versioning on an Object Lock-enabled bucket
Server
- Fixed Windows build failure caused by
syscall.Stderr(uintptr) being incompatible withterm.IsTerminalaftergolang.org/x/termv0.44.0 unified the signature toint; replaced withint(os.Stderr.Fd())
Full Changelog: v0.2.2...v0.2.3