Changelog
- acc14a9 change cors check order ; test
- 783381a chore(deps): bump actions/download-artifact from 6 to 8
- e836eb7 chore(deps): bump actions/upload-artifact from 6 to 7
- 3742fa6 chore(deps): bump github/codeql-action from 4.37.9 to 4.38.0
- 8162344 chore(deps): bump github/codeql-action from 4.38.0 to 4.38.1
- a37aead chore(deps): bump github/codeql-action from 4.38.1 to 4.38.2
- 3daad06 chore(deps): bump the dev-dependencies group with 11 updates
- 0e61bd6 chore(deps): bump the dev-dependencies group with 21 updates
- 3798f8f chore(deps): bump the dev-dependencies group with 23 updates
- 57c256d chore(deps): bump the dev-dependencies group with 29 updates
- fd3864d cuobjclient: select GID index 0 on InfiniBand ports in the host client
- ea44925 docs(netutil): correct the comment on handing sniffed bytes to the handshake
- 658c379 feat: add OIDC endpoint relaxations for private/isolated networks
- 0c79ae7 feat: add directio option for scoutfs backend
- f997770 feat: add helm chart hooks for SPIRE support
- 3979267 feat: add opt-in --fsync to flush new objects before acknowledging them
- 1c1272c feat: add per-provider OIDC discovery URL override
- 23d8384 feat: add s3:if-match and s3:if-none-match policy condition keys
- 3b5c74a feat: add storage class to put object flows input
- 13b6bb0 feat: add utils command to convert preexisting posix datasets
- 23317c7 feat: add versioning support for directory objects in posix
- 7e9f556 feat: add webui concurrent uploads with progress tracking
- 966a6a8 feat: admin API path prefix, Helm WebUI prefixes and separate IAM storage
- e448a8a feat: expose POSIX I/O buffer size to scoutfs options
- c354e1a feat: validate SSE-C headers and reject SSE-C in posix and azure
- 25f9790 fix(s3api): strip
aws-chunkedonly for streaming uploads - daa25ed fix: accept upload-id-marker together with key-marker in ListMultipartUploads
- 3610edd fix: add explicit RDMA build constraints
- 241571a fix: align signing region mismatch errors with s3 regional endpoints
- a7f1336 fix: allow vgwrdma explicit RC GID selection
- b939fc8 fix: answer plaintext HTTP sent to a TLS listener with a 400
- d313772 fix: apply bucket CORS right before auth middleware
- 0667514 fix: authorize browser-based
POSTobject uploads against the object ARN - 834ce25 fix: authorize multi-action requests per action across bucket and identity policies
- 11a517c fix: avoid nil-pointer panic in mtime
- 00fa54d fix: clear stale delete-marker metadata on reupload
- c366966 fix: close connections with unread chunked bodies
- 41783bd fix: combine bucket policy with ACL so a policy no longer locks the owner out
- 592e91b fix: compute IsTruncated from the absolute index in ListMultipartUploads
- 293d9f5 fix: deprecations in JWK and IPA RSA handling
- 070b030 fix: drop upload-id-marker without key-marker in ListMultipartUploads
- 24f6273 fix: echo only the request continuation token in ListObjectsV2
- e8f6be5 fix: echo the full Authorization header in Unsupported Authorization Type errors
- 08c0904 fix: enforce destination If-Match/If-None-Match on CopyObject
- 1b9fedb fix: enforce object lock on browser-based
POSTobject uploads - e1d7290 fix: handle the null version id correctly in posix versioning
- 51c2873 fix: harden RC device initialization
- 3db22f3 fix: hide webui user management when server in single-user mode
- d7895e3 fix: honor the per-object ETag and Size conditions in DeleteObjects
- 027a36d fix: include the empty
TagKeyinInvalidTagerrors and match S3 tag validation - 752da31 fix: keep O_DIRECT active for object uploads and reads
- bb59020 fix: keep the last modified time of promoted object versions in posix
- 7093e91 fix: keep the object on DeleteObject with a versionId in a never-versioned bucket
- 4826502 fix: list only the objects not deleted in DeleteObjects quiet mode
- 3de8228 fix: make ListMultipartUploads ordering deterministic and stabilize test timing
- 9c363b2 fix: make conditional publish lock modes explicit
- 859f81f fix: map azure
AuthorizationPermissionMismatchtoAccessDenied - bca801b fix: match S3 for conditional deletes of missing keys, delete markers and versions
- 888fd5c fix: match S3's
Content-Encodingerror details for aws-chunked withUNSIGNED-PAYLOAD - 0ab0db4 fix: object verson mtime
- 6518246 fix: omit ObjectLockConfiguration Rule when there is no default retention
- cdbebb0 fix: place the null version by its recorded position in posix versioning
- ee25c95 fix: port the cuObjServer wrapper to libcuobjserver 2.0.0
- f21434c fix: prevent path traversal via multipart upload IDs and DeleteObjects keys
- 84e8b0d fix: reject DeleteObjects requests with more than 1000 keys
- 6c6b14f fix: reject ListMultipartUploads requests that also carry uploadId
- ee46df2 fix: reject a ListBuckets bucket-region other than the gateway region
- d03ac3c fix: reject a PutObject whose body ends before Content-Length
- aed4617 fix: reject an empty start-after and continuation-token in ListObjects (V1)
- 1e0d7b2 fix: reject empty
versionIdquery parameter in object actions - 44dc2e7 fix: reject the start-after query in ListObjects (V1)
- 2ebe5be fix: reload standalone IAM and private-channel mTLS certs on SIGHUP
- 9c98084 fix: remove legacy rdma header descriptors
- 03a6e82 fix: replace fixed sleep with readiness polling in azurite CI
- 20b3334 fix: report the delete time as the last modified time of delete markers in posix
- 95a6da8 fix: report the last upload in ListMultipartUploads next markers on a single page
- a014c7c fix: report the upload, part and ETag in InvalidPart for a malformed part ETag
- aa1e82b fix: require
s3:PutObjectTaggingfor tagged browser-basedPOSTobject uploads - 2a86b86 fix: require an integrity check for uploads with Object Lock parameters and authorize every action of anonymous requests
- d68efb6 fix: restore IPA KRA compatibility and fix JWK parse panic
- 2d087f9 fix: return AccessDenied for filesystem permission errors on posix writes
- c99f9ba fix: return InvalidAccessKeyId for unknown access keys in single, Vault and IPA IAM
- 915fc7a fix: return InvalidArgument for an empty website configuration
- 5d5ee06 fix: return InvalidURI for a malformed escape in the request path
- 63922ed fix: return MalformedXML for a DeleteObjects request without objects
- 1a68d10 fix: return Marker when the request omits it
- c02173d fix: return NextMarker in ListObjects only when a delimiter is set
- a58e125 fix: return
BucketAlreadyExistsfor existing dirs without acl meta attr - 4432f2d fix: scope CompleteMultipartUpload retries to the completed upload
- 7c6fcad fix: set the CreateBucket location constraint from the S3 backend region
- dc0265b fix: snapshot the replaced object before storing metadata in posix
CompleteMultipartUpload - c339f39 fix: staticcheck on cuObject stubs
- 4887633 fix: stop object annotation, rename and torrent requests from reaching plain object handlers
- d204d2e fix: stop posix copying data from a delete marker
- bd6cfe6 fix: stop posix mixing up keys that differ only by a trailing slash
- 729ced9 fix: stop posix publish lock serializing the same key across buckets
- ba02c76 fix: stop posix rewriting the current version on a copy to itself
- 5b13559 fix: stop sidecar attributes leaking into new and promoted object versions
- bbad4b5 fix: store bucket default retention on each object at write time and support Object Lock fields in browser POST
- d21828e fix: store posix object keys with Windows-invalid characters under encoded names on Windows
- 370d909 fix: strip
aws-chunkedfrom storedContent-Encoding - bbe398a fix: strip
aws-chunkedwhen the request declares no payload type - d383e1f fix: track how the request body ended before closing the connection
- cc48b75 fix: treat root-level non-directory entries as non-existing buckets in posix
- e0d98d0 fix: unblock govulncheck and staticcheck CI after Go 1.27.2 release
- 5847f04 fix: update the example systemd configs with latest options
- 20a5778 fix: use content-legnth for PutObject and UploadPart allocation sizes
- aaf7321 fix: validate and apply the ListBuckets bucket-region query
- 7ae119d posix: add AbsolutePaths option for embedding without chdir
- ae2a3a6 rdma: acquire session admission credit atomically
- 50b098c rdma: add --rc-device to pick the RC data plane's verbs device by name
- d782e62 rdma: add a log callback ABI to the RC data plane
- c07f75a rdma: add a point-in-time session snapshot to the RC C ABI
- 138504d rdma: add terminal notification callback to the RC server ABI
- 368dae0 rdma: address the RC peer by LID on InfiniBand link layers
- 96be4d1 rdma: bound publication backpressure and close the reservation window
- 51e63e2 rdma: cap the session-less publication backlog
- f92d6d6 rdma: carry the session id in the reaped session record
- 39aae54 rdma: close publication gaps for RC pre-session failures
- b0954d9 rdma: correct the license header on newly authored RC files
- 8e23315 rdma: dispatch poll_cq/post_send/post_recv through the object's own context
- 7c19b34 rdma: drop Inc. from our copyright notices
- 9edd21e rdma: drop the personal name from copyright notices
- 6eb574d rdma: expose live RC sessions on the admin server
- 980078d rdma: expose the RC data plane resource limits as gateway flags
- 60bec2c rdma: gate session admission on audit publication backlog
- 279f5e7 rdma: harden RC outcome publication ownership and record fidelity
- e7edb71 rdma: install the gateway shutdown wrapper at function entry
- d30ace7 rdma: keep reaper callbacks off sink threads
- c9668b4 rdma: keep sinks outside the publication lock and self-close metrics
- 23a7121 rdma: make the teardown callback the single RC publication owner
- 06a3463 rdma: name the deviceless init failures in the RC server
- e9a2a2f rdma: never run operational sinks on callback threads
- 34a3e41 rdma: pin session strings passed to the RC cgo ABI
- 49b1c6f rdma: publish RC transfer outcomes into the gateway operational services
- 97238d8 rdma: reserve session publication before completion calls
- 09bbe9c rdma: resolve the inline-only verbs calls from the provider ops table
- 55c82f5 rdma: size publications to session capacity and preserve committed PUT facts
- 64a6ed0 rdma: synchronize publication acceptance with the drain boundary
- d3e45fd rdma: track terminal events held off by an active reservation
- 49e0c36 s3api: report the bound addresses from the listen hook
- 745926a tests: build the integration SDK config without the host's AWS setup
- b1f8cea webui: show upload progress in the Explorer