Ben McClelland
873148a5c4
fix: add Host header to HTTP test requests for fasthttp v1.70.0 compatibility
...
fasthttp v1.70.0 now enforces the HTTP/1.1 requirement of exactly
one Host header, rejecting requests that omit it. Fix tests that
were failing due to missing host.
2026-04-13 19:13:58 -07:00
dependabot[bot]
ccba8a5736
chore(deps): bump the dev-dependencies group with 9 updates
...
Bumps the dev-dependencies group with 9 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager](https://github.com/aws/aws-sdk-go-v2 ) | `0.1.14` | `0.1.15` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) | `1.98.0` | `1.99.0` |
| [github.com/valyala/fasthttp](https://github.com/valyala/fasthttp ) | `1.69.0` | `1.70.0` |
| [golang.org/x/sys](https://github.com/golang/sys ) | `0.42.0` | `0.43.0` |
| [github.com/mattn/go-isatty](https://github.com/mattn/go-isatty ) | `0.0.20` | `0.0.21` |
| [github.com/mattn/go-runewidth](https://github.com/mattn/go-runewidth ) | `0.0.22` | `0.0.23` |
| [golang.org/x/crypto](https://github.com/golang/crypto ) | `0.49.0` | `0.50.0` |
| [golang.org/x/net](https://github.com/golang/net ) | `0.52.0` | `0.53.0` |
| [golang.org/x/text](https://github.com/golang/text ) | `0.35.0` | `0.36.0` |
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager` from 0.1.14 to 0.1.15
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/transfermanager/v0.1.14...feature/s3/transfermanager/v0.1.15 )
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.98.0 to 1.99.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.98.0...service/s3/v1.99.0 )
Updates `github.com/valyala/fasthttp` from 1.69.0 to 1.70.0
- [Release notes](https://github.com/valyala/fasthttp/releases )
- [Commits](https://github.com/valyala/fasthttp/compare/v1.69.0...v1.70.0 )
Updates `golang.org/x/sys` from 0.42.0 to 0.43.0
- [Commits](https://github.com/golang/sys/compare/v0.42.0...v0.43.0 )
Updates `github.com/mattn/go-isatty` from 0.0.20 to 0.0.21
- [Commits](https://github.com/mattn/go-isatty/compare/v0.0.20...v0.0.21 )
Updates `github.com/mattn/go-runewidth` from 0.0.22 to 0.0.23
- [Commits](https://github.com/mattn/go-runewidth/compare/v0.0.22...v0.0.23 )
Updates `golang.org/x/crypto` from 0.49.0 to 0.50.0
- [Commits](https://github.com/golang/crypto/compare/v0.49.0...v0.50.0 )
Updates `golang.org/x/net` from 0.52.0 to 0.53.0
- [Commits](https://github.com/golang/net/compare/v0.52.0...v0.53.0 )
Updates `golang.org/x/text` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.35.0...v0.36.0 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager
dependency-version: 0.1.15
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.99.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/valyala/fasthttp
dependency-version: 1.70.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: golang.org/x/sys
dependency-version: 0.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/mattn/go-isatty
dependency-version: 0.0.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/mattn/go-runewidth
dependency-version: 0.0.23
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: golang.org/x/crypto
dependency-version: 0.50.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
dependency-version: 0.36.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-13 21:50:24 +00:00
Ben McClelland
efd1885d21
Merge pull request #2023 from versity/sis/move-versionid-validation-backend
...
fix: move versionId validation to backend
2026-04-10 11:23:20 -07:00
Ben McClelland
aa3c223adb
Merge pull request #2027 from anaelorlinski/fix-multipart-upload
...
fix for multipart upload when using sidecar meta
2026-04-10 11:21:59 -07:00
Ben McClelland
9b7781ffe7
Merge pull request #2025 from utafrali/fix/issue-2024-bug-copyobject-fails-with-invalid-copy-s
...
Bump actions/download-artifact to v8
2026-04-10 11:18:26 -07:00
Ben McClelland
50f5856821
Merge pull request #2032 from versity/sis/scoutfs-headobject-restore-status
2026-04-09 09:00:45 -07:00
niksis02
48bfa9f4cf
fix: correct HeadObject restore status for offline objects in scoutfs
...
Fixes #2030
When an object has offline blocks, the restore status was incorrectly set to `ongoing-request="false"` instead of omitting the header entirely, which causes s3 clients fail on parsing the x-amz-restore header.
Remove the incorrect `stageNotInProgress` constant and simplify the `requestOngoing` initialization to reflect the correct default.
2026-04-09 19:15:31 +04:00
Ben McClelland
e995e21982
Merge pull request #2022 from versity/dependabot/go_modules/dev-dependencies-f39e42f16f
2026-04-08 21:38:27 -07:00
Ben McClelland
825358b45f
Merge pull request #1998 from versity/test/rest_list_objects_queries
2026-04-08 21:37:33 -07:00
Anael ORLINSKI
a673900b51
fix for multipart upload when using sidecar meta
2026-04-07 23:37:47 +02:00
Luke McCrone
d7d9179db0
test: ListObjectsV1 updates, file code changes, multipart updates
2026-04-07 15:24:20 -03:00
Ben McClelland
69901f95e7
Bump actions/download-artifact to v8
2026-04-07 19:05:26 +03:00
niksis02
b473aa0545
fix: move versionId validation to backend
...
Closes #1813
We use a specific `versionId` format(`ulid` package) to generate versionIds in posix, which is not compatible to S3. The versionId validation was performed in frontend which is a potential source of failure for s3 proxy configured on an s3 service which doesn't use ulid for versionId generation(e.g. aws S3). These changes move the specific `ulid` versionId validation to posix to not force any specific versionId format in the gateway.
2026-04-07 01:56:51 +04:00
dependabot[bot]
f8e188a42d
chore(deps): bump the dev-dependencies group with 11 updates
...
Bumps the dev-dependencies group with 11 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2 ) | `1.32.13` | `1.32.14` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.13` | `1.19.14` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager](https://github.com/aws/aws-sdk-go-v2 ) | `0.1.12` | `0.1.14` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) | `1.97.3` | `1.98.0` |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go ) | `1.24.2` | `1.24.3` |
| [github.com/Azure/azure-sdk-for-go/sdk/internal](https://github.com/Azure/azure-sdk-for-go ) | `1.11.2` | `1.12.0` |
| [github.com/AzureAD/microsoft-authentication-library-for-go](https://github.com/AzureAD/microsoft-authentication-library-for-go ) | `1.7.0` | `1.7.1` |
| [github.com/andybalholm/brotli](https://github.com/andybalholm/brotli ) | `1.2.0` | `1.2.1` |
| [github.com/aws/aws-sdk-go-v2/service/sso](https://github.com/aws/aws-sdk-go-v2 ) | `1.30.14` | `1.30.15` |
| [github.com/aws/aws-sdk-go-v2/service/ssooidc](https://github.com/aws/aws-sdk-go-v2 ) | `1.35.18` | `1.35.19` |
| [github.com/mattn/go-runewidth](https://github.com/mattn/go-runewidth ) | `0.0.21` | `0.0.22` |
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.13 to 1.32.14
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.13...config/v1.32.14 )
Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.19.13 to 1.19.14
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.19.13...credentials/v1.19.14 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager` from 0.1.12 to 0.1.14
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/transfermanager/v0.1.12...feature/s3/transfermanager/v0.1.14 )
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.97.3 to 1.98.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.97.3...service/s3/v1.98.0 )
Updates `github.com/aws/smithy-go` from 1.24.2 to 1.24.3
- [Release notes](https://github.com/aws/smithy-go/releases )
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/aws/smithy-go/compare/v1.24.2...v1.24.3 )
Updates `github.com/Azure/azure-sdk-for-go/sdk/internal` from 1.11.2 to 1.12.0
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/internal/v1.11.2...sdk/azcore/v1.12.0 )
Updates `github.com/AzureAD/microsoft-authentication-library-for-go` from 1.7.0 to 1.7.1
- [Release notes](https://github.com/AzureAD/microsoft-authentication-library-for-go/releases )
- [Changelog](https://github.com/AzureAD/microsoft-authentication-library-for-go/blob/main/changelog.md )
- [Commits](https://github.com/AzureAD/microsoft-authentication-library-for-go/compare/v1.7.0...v1.7.1 )
Updates `github.com/andybalholm/brotli` from 1.2.0 to 1.2.1
- [Commits](https://github.com/andybalholm/brotli/compare/v1.2.0...v1.2.1 )
Updates `github.com/aws/aws-sdk-go-v2/service/sso` from 1.30.14 to 1.30.15
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/acm/v1.30.14...service/acm/v1.30.15 )
Updates `github.com/aws/aws-sdk-go-v2/service/ssooidc` from 1.35.18 to 1.35.19
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/pi/v1.35.18...service/pi/v1.35.19 )
Updates `github.com/mattn/go-runewidth` from 0.0.21 to 0.0.22
- [Commits](https://github.com/mattn/go-runewidth/compare/v0.0.21...v0.0.22 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
dependency-version: 1.32.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
dependency-version: 1.19.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager
dependency-version: 0.1.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.98.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/smithy-go
dependency-version: 1.24.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/internal
dependency-version: 1.12.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/AzureAD/microsoft-authentication-library-for-go
dependency-version: 1.7.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/andybalholm/brotli
dependency-version: 1.2.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sso
dependency-version: 1.30.15
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ssooidc
dependency-version: 1.35.19
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/mattn/go-runewidth
dependency-version: 0.0.22
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-06 21:12:54 +00:00
Ben McClelland
09413c5f60
Merge pull request #2014 from versity/sis/webui-unix-socket
...
fix: fix webui port validation to allow unix socket paths
2026-04-03 13:19:52 -07:00
niksis02
b151d4626a
fix: fix webui port validation to allow unix socket paths
...
Fixes #2009
The webui address validation loop called net.SplitHostPort on every address without first checking whether it was a unix socket path, causing an error for unix domain socket paths. The fix includes skipping the host:port validation for unix socket paths for webui.
2026-04-03 21:12:22 +04:00
Ben McClelland
1fca33e738
Merge pull request #2006 from versity/ben/racing-put-delete
...
fix: retry link on ENOENT caused by racing DeleteObject
v1.4.0
2026-04-02 09:57:48 -07:00
Ben McClelland
98a186cc4e
Merge pull request #2008 from versity/sis/object-post-boundary-prefix
...
fix: remove POST object multipart boundary prefix trimming
2026-04-02 08:27:02 -07:00
Ben McClelland
71ae9bf045
Merge pull request #2005 from versity/sis/copyobject-expected-source-bucket-owner
...
feat: implement x-amz-source-expected-bucket-owner for CopyObject and UploadPartCopy
2026-04-02 08:25:50 -07:00
Ben McClelland
c26012905c
fix: retry link on ENOENT caused by racing DeleteObject
...
A concurrent PutObject and DeleteObject on the same prefix directory
can race:
PutObject opens an O_TMPFILE in MetaTmpDir (not yet visible in the fs)
DeleteObject removes the last visible object in the prefix directory
and calls removeParents(), which rmdir's the now-empty prefix
directory
PutObject's link() tries to link the fd into a parent directory that
no longer exists
Fix by detecting ENOENT in the final link step (Linkat, Rename, and
MoveFile) and retrying after recreating the parent directory.
Also extract linkatOTmpfile() to consolidate the Linkat+EEXIST→Renameat
logic that was previously inline in link().
Fixes #1988
2026-04-02 08:14:44 -07:00
niksis02
a25408c225
fix: remove POST object multipart boundary prefix trimming
...
Fixes the [comment](https://github.com/versity/versitygw/issues/1648#issuecomment-4175425099 )
Removes the unnecessary multipart/form-data boundary normalizing. The boundary prefix(`--`) was trimmed in `NewMultipartParser`, which caused incorrect boundary check for the boundaries starting with 2 dashes(e.g. `----WebKitFormBoundaryABC123`).
2026-04-02 17:20:23 +04:00
Ben McClelland
a6fffc6372
Merge pull request #2003 from versity/sis/missing-date-header-err-status-code
...
fix: change ErrMissingDateHeader http status code to 403
2026-04-01 20:56:37 -07:00
Ben McClelland
e009f692d4
Merge pull request #2002 from versity/sis/listobjects-bucket-region-header
...
fix: add x-amz-bucket-region to ListObjects(V2) response headers.
2026-04-01 20:55:34 -07:00
Luke McCrone
6b93190922
test: fix response code
2026-04-01 15:13:58 -03:00
niksis02
052f2364cc
feat: implement x-amz-source-expected-bucket-owner for CopyObject and UploadPartCopy
...
Closes #1897
Extract the `X-Amz-Source-Expected-Bucket-Owner` header for CopyObject and UploadPartCopy. Verify the source bucket owner in the backend and if the provided access key id doesn't match, return an `AccessDenied` error.
2026-04-01 21:44:33 +04:00
niksis02
90e240d23f
fix: change ErrMissingDateHeader http status code to 403
...
Fixes #1934
The HTTP status code for `ErrMissingDateHeader` was `400`. Now it's changed to correct `403`.
2026-04-01 16:21:07 +04:00
niksis02
3d47e7fed1
fix: add x-amz-bucket-region to ListObjects(V2) response headers.
...
Fixes #1814
The `x-amz-bucket-region` is not mentioned in AWS S3 documentation, however s3 sends it in all ListObjects(V2) successful responses. The header is now added.
2026-04-01 15:22:33 +04:00
Ben McClelland
e0209ebab4
Merge pull request #1997 from versity/sis/copyobject-threshold
...
fix: enforce 5gb copy source object size threshold.
2026-03-31 12:27:11 -07:00
Ben McClelland
89ab7a4f2b
Merge pull request #1982 from versity/sis/POST-object
...
feat: add browser-based POST object upload support
2026-03-31 12:25:00 -07:00
Ben McClelland
56b9c67905
Merge pull request #2001 from versity/sis/headobject-response-overrides
...
feat: support response header overrides in HeadObject
2026-03-31 12:23:57 -07:00
niksis02
59002b2650
feat: implement integration tests for browser-based POST object
2026-03-31 22:47:04 +04:00
niksis02
285d130a47
feat: add browser-based POST object upload support
...
Closes #1648
Fixes #1980
Fixes #1981
This PR implements browser-based POST object uploads for S3-compatible form uploads. It adds support for handling `multipart/form-data` object uploads submitted from browsers, including streaming multipart parsing so file content is not buffered in memory, POST policy decoding and evaluation, SigV4-based form authorization, and integration with the existing `PutObject` backend flow. The implementation covers the full browser POST upload path, including validation of required form fields, credential scope and request date checks, signature verification, metadata extraction from `x-amz-meta-*` fields, checksum field parsing, object tagging conversion from XML into the query-string format expected by `PutObject`, and browser-compatible success handling through `success_action_status` and `success_action_redirect`. It also wires the new flow into the router and metrics layer and adds POST-specific error handling and debug logging across policy parsing, multipart parsing, and POST authorization. AWS S3 also accepts the `redirect` form field alongside `success_action_redirect`, but since AWS has marked `redirect` as deprecated and is planning to remove it, this gateway intentionally does not support it.
2026-03-31 22:44:54 +04:00
niksis02
bbe246e8ec
fix: enforce 5gb copy source object size threshold.
...
Fixes #1896
Enforces the S3 `5 GiB` copy source size limit across the posix and azure
backends for `CopyObject` and `UploadPartCopy`, returning `InvalidRequest` when
the source object exceeds the threshold.
The limit is now configurable via `--copy-object-threshold`
(`VGW_COPY_OBJECT_THRESHOLD`, default 5 GiB).
A new `--mp-max-parts flag` (`VGW_MP_MAX_PARTS`, default `10000`) has been added to make multipart upload parts number limit configurable.
No integration test has been added, as GitHub Actions cannot reliably
handle large objects.
2026-03-31 22:44:03 +04:00
niksis02
3b17f05d17
feat: support response header overrides in HeadObject
...
Closes #1967
Add support for response header override query parameters(`response-cache-control`, `response-content-disposition`, `response-content-encoding`, `response-content-language`, `response-content-type`, `response-expires`) in `HeadObject`. Anonymous requests with override params are rejected with `ErrAnonymousResponseHeaders`.
2026-03-31 17:19:03 +04:00
Ben McClelland
69b23fe139
Merge pull request #2000 from versity/dependabot/go_modules/dev-dependencies-961b21b1c2
2026-03-30 20:42:58 -07:00
Ben McClelland
2d91e0203e
Merge pull request #1999 from versity/dependabot/github_actions/sigstore/cosign-installer-4.1.1
2026-03-30 20:42:24 -07:00
dependabot[bot]
fe61e3070b
chore(deps): bump the dev-dependencies group with 17 updates
...
Bumps the dev-dependencies group with 17 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2 ) | `1.41.4` | `1.41.5` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2 ) | `1.32.12` | `1.32.13` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.12` | `1.19.13` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager](https://github.com/aws/aws-sdk-go-v2 ) | `0.1.11` | `0.1.12` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) | `1.97.2` | `1.97.3` |
| [github.com/nats-io/nats.go](https://github.com/nats-io/nats.go ) | `1.49.0` | `1.50.0` |
| [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://github.com/aws/aws-sdk-go-v2 ) | `1.18.20` | `1.18.21` |
| [github.com/aws/aws-sdk-go-v2/internal/configsources](https://github.com/aws/aws-sdk-go-v2 ) | `1.4.20` | `1.4.21` |
| [github.com/aws/aws-sdk-go-v2/internal/endpoints/v2](https://github.com/aws/aws-sdk-go-v2 ) | `2.7.20` | `2.7.21` |
| [github.com/aws/aws-sdk-go-v2/internal/v4a](https://github.com/aws/aws-sdk-go-v2 ) | `1.4.21` | `1.4.22` |
| [github.com/aws/aws-sdk-go-v2/service/internal/checksum](https://github.com/aws/aws-sdk-go-v2 ) | `1.9.12` | `1.9.13` |
| [github.com/aws/aws-sdk-go-v2/service/internal/presigned-url](https://github.com/aws/aws-sdk-go-v2 ) | `1.13.20` | `1.13.21` |
| [github.com/aws/aws-sdk-go-v2/service/internal/s3shared](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.20` | `1.19.21` |
| [github.com/aws/aws-sdk-go-v2/service/signin](https://github.com/aws/aws-sdk-go-v2 ) | `1.0.8` | `1.0.9` |
| [github.com/aws/aws-sdk-go-v2/service/sso](https://github.com/aws/aws-sdk-go-v2 ) | `1.30.13` | `1.30.14` |
| [github.com/aws/aws-sdk-go-v2/service/ssooidc](https://github.com/aws/aws-sdk-go-v2 ) | `1.35.17` | `1.35.18` |
| [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2 ) | `1.41.9` | `1.41.10` |
Updates `github.com/aws/aws-sdk-go-v2` from 1.41.4 to 1.41.5
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.41.4...v1.41.5 )
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.12 to 1.32.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.12...config/v1.32.13 )
Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.19.12 to 1.19.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/sqs/v1.19.12...credentials/v1.19.13 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager` from 0.1.11 to 0.1.12
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/transfermanager/v0.1.11...feature/s3/transfermanager/v0.1.12 )
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.97.2 to 1.97.3
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.97.2...service/s3/v1.97.3 )
Updates `github.com/nats-io/nats.go` from 1.49.0 to 1.50.0
- [Release notes](https://github.com/nats-io/nats.go/releases )
- [Commits](https://github.com/nats-io/nats.go/compare/v1.49.0...v1.50.0 )
Updates `github.com/aws/aws-sdk-go-v2/feature/ec2/imds` from 1.18.20 to 1.18.21
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.18.21/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.20...config/v1.18.21 )
Updates `github.com/aws/aws-sdk-go-v2/internal/configsources` from 1.4.20 to 1.4.21
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/internal/v4a/v1.4.20...internal/v4a/v1.4.21 )
Updates `github.com/aws/aws-sdk-go-v2/internal/endpoints/v2` from 2.7.20 to 2.7.21
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/internal/endpoints/v2.7.20...internal/endpoints/v2.7.21 )
Updates `github.com/aws/aws-sdk-go-v2/internal/v4a` from 1.4.21 to 1.4.22
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/internal/v4a/v1.4.21...internal/v4a/v1.4.22 )
Updates `github.com/aws/aws-sdk-go-v2/service/internal/checksum` from 1.9.12 to 1.9.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/grafana/v1.9.12...service/grafana/v1.9.13 )
Updates `github.com/aws/aws-sdk-go-v2/service/internal/presigned-url` from 1.13.20 to 1.13.21
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.13.20...credentials/v1.13.21 )
Updates `github.com/aws/aws-sdk-go-v2/service/internal/s3shared` from 1.19.20 to 1.19.21
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/codebuild/v1.19.20...service/codebuild/v1.19.21 )
Updates `github.com/aws/aws-sdk-go-v2/service/signin` from 1.0.8 to 1.0.9
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/m2/v1.0.8...service/m2/v1.0.9 )
Updates `github.com/aws/aws-sdk-go-v2/service/sso` from 1.30.13 to 1.30.14
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/acm/v1.30.13...service/acm/v1.30.14 )
Updates `github.com/aws/aws-sdk-go-v2/service/ssooidc` from 1.35.17 to 1.35.18
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/pi/v1.35.17...service/pi/v1.35.18 )
Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.41.9 to 1.41.10
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ecs/v1.41.9...service/ecs/v1.41.10 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
dependency-version: 1.41.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/config
dependency-version: 1.32.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
dependency-version: 1.19.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager
dependency-version: 0.1.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.97.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/nats-io/nats.go
dependency-version: 1.50.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds
dependency-version: 1.18.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/internal/configsources
dependency-version: 1.4.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
dependency-version: 2.7.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/internal/v4a
dependency-version: 1.4.22
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/internal/checksum
dependency-version: 1.9.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
dependency-version: 1.13.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/internal/s3shared
dependency-version: 1.19.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/signin
dependency-version: 1.0.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sso
dependency-version: 1.30.14
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ssooidc
dependency-version: 1.35.18
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
dependency-version: 1.41.10
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-30 22:13:59 +00:00
dependabot[bot]
1ec724b7a4
chore(deps): bump sigstore/cosign-installer from 4.1.0 to 4.1.1
...
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer ) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/sigstore/cosign-installer/releases )
- [Commits](https://github.com/sigstore/cosign-installer/compare/v4.1.0...v4.1.1 )
---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
dependency-version: 4.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-30 21:59:18 +00:00
Ben McClelland
2b12a5b81c
Merge pull request #1989 from versity/test/rest_list_objects_encoding
...
test: REST ListObjects encoding
2026-03-30 14:43:12 -07:00
Ben McClelland
f6cd991d89
Merge pull request #1993 from versity/ben/racing-mp-complete
...
fix: serialize concurrent CompleteMultipartUpload calls via rename
2026-03-30 09:05:54 -07:00
Luke McCrone
8feed3b333
test: ListObjects encoding-type tests
2026-03-30 10:24:03 -03:00
Ben McClelland
13b3dc5267
fix: serialize concurrent CompleteMultipartUpload calls via rename
...
When two requests raced to complete the same multipart upload, the first
caller to finish would remove the part files and upload directory. The
second caller, already past the initial existence check, would then fail
mid-flight with confusing errors such as ErrInvalidPart or an I/O error
when trying to open a part that no longer exists.
Fix this by atomically renaming the upload directory from <uploadID> to
<uploadID>.inprogress at the very start of CompleteMultipartUploadWithCopy,
before any part data is read. A concurrent caller will now find the
original directory absent and receive a clean NoSuchUpload error. A
deferred rename restores the original name if the complete does not
succeed, allowing the client to retry.
ListMultipartUploads is updated to skip any directories whose name ends
in .inprogress so in-flight completes do not appear as pending uploads.
2026-03-27 16:14:20 -07:00
Ben McClelland
fab9f1f813
Merge pull request #1994 from versity/test/rest_go_and_eval_fix
...
test: remove eval, go command generation overhaul
2026-03-27 15:56:13 -07:00
Ben McClelland
0234f3ecc7
Merge pull request #1992 from versity/ben/cleanup-fd
...
fix: cleanup file descriptor leaks with chown fails
2026-03-27 11:43:31 -07:00
Ben McClelland
52fa3f1f76
Merge pull request #1991 from versity/ben/scoutfs-fail-upload
...
fix: abort scoutfs multipart uploads on error after successful moveblocks
2026-03-27 11:43:17 -07:00
Luke McCrone
ccd0ba2762
test: remove eval, go command generation overhaul
2026-03-27 15:00:56 -03:00
Ben McClelland
495b38a899
fix: abort scoutfs multipart uploads on error after successful moveblocks
...
The scoutfs backend uses the move blocks ioctl when combining parts into the
final multipart upload object. Once a move blocks from any part is successful,
the original data is no longer in the part file. If the multipart upload fails
and retries, future complete multipart upload calls will not have the correct
data within the part files anymore.
To prevent this case, once a move blocks call is successful for an upload, any
future failure for the complete upload is set to auto-abort the upload to force
clients to re-upload the part data again.
2026-03-26 16:28:42 -07:00
Ben McClelland
927d1d668a
fix: cleanup file descriptor leaks with chown fails
...
We were missing a few cases of cleaning up temp files and file
descriptors in the openTmpFile Chown() error cases.
2026-03-26 15:45:20 -07:00
Ben McClelland
6c8eba12e3
Merge pull request #1987 from versity/dependabot/go_modules/dev-dependencies-a33a00629d
...
chore(deps): bump the dev-dependencies group with 5 updates
2026-03-24 08:12:38 -07:00
dependabot[bot]
3a8d658a7f
chore(deps): bump the dev-dependencies group with 5 updates
...
Bumps the dev-dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager](https://github.com/aws/aws-sdk-go-v2 ) | `0.1.10` | `0.1.11` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) | `1.97.1` | `1.97.2` |
| [github.com/go-ldap/ldap/v3](https://github.com/go-ldap/ldap ) | `3.4.12` | `3.4.13` |
| [github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream](https://github.com/aws/aws-sdk-go-v2 ) | `1.7.7` | `1.7.8` |
| [github.com/klauspost/compress](https://github.com/klauspost/compress ) | `1.18.4` | `1.18.5` |
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager` from 0.1.10 to 0.1.11
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/transfermanager/v0.1.10...feature/s3/transfermanager/v0.1.11 )
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.97.1 to 1.97.2
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.97.1...service/s3/v1.97.2 )
Updates `github.com/go-ldap/ldap/v3` from 3.4.12 to 3.4.13
- [Release notes](https://github.com/go-ldap/ldap/releases )
- [Commits](https://github.com/go-ldap/ldap/compare/v3.4.12...v3.4.13 )
Updates `github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream` from 1.7.7 to 1.7.8
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/m2/v1.7.7...service/m2/v1.7.8 )
Updates `github.com/klauspost/compress` from 1.18.4 to 1.18.5
- [Release notes](https://github.com/klauspost/compress/releases )
- [Commits](https://github.com/klauspost/compress/compare/v1.18.4...v1.18.5 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager
dependency-version: 0.1.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.97.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/go-ldap/ldap/v3
dependency-version: 3.4.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream
dependency-version: 1.7.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/klauspost/compress
dependency-version: 1.18.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-23 21:08:32 +00:00