Skip to content

Add new AWS checksums#2221

Open
klauspost wants to merge 2 commits intominio:masterfrom
klauspost:new-aws-checksums
Open

Add new AWS checksums#2221
klauspost wants to merge 2 commits intominio:masterfrom
klauspost:new-aws-checksums

Conversation

@klauspost
Copy link
Copy Markdown
Contributor

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for additional checksum algorithms (MD5, SHA-512, XXHash64, XXH3-64, XXH3-128) across the client’s S3 request/response handling and functional validation.

Changes:

  • Extend ChecksumType to include MD5/SHA512/XXHash variants and provide hashing/size/header-key support.
  • Propagate new checksum fields through object/part data structures and response parsing paths (Put, multipart, list versions, object attributes).
  • Expand functional tests to exercise the new checksum types; update example modules to Go 1.25 and add required hashing dependencies.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
utils.go Include new checksum headers when building ObjectInfo from response headers.
checksum.go Add new checksum types, header keys, hashers, raw sizes, and string representations.
api-datatypes.go Add new checksum fields to UploadInfo and ObjectInfo.
api-s3-datatypes.go Extend XML datatypes (versions, parts, multipart results) with new checksum fields.
api-get-object-attributes.go Extend GetObjectAttributes checksum XML fields and mapping helpers.
api-put-object.go Carry new per-part checksum fields through multipart stream flows.
api-put-object-streaming.go Carry new per-part checksum fields through streaming multipart flows and PutObject response parsing.
api-put-object-multipart.go Carry new per-part checksum fields and include them in complete-multipart results.
api-append-object.go Include new checksum headers in append response parsing.
api-list.go Populate new checksum fields when listing object versions.
functional_tests.go Add coverage for the new checksum algorithms in put/streaming/multipart checksum tests.
go.mod Add xxhash/v2 and zeebo/xxh3 dependencies.
go.sum Add checksums for new dependencies and transitive modules.
examples/s3/go.mod Align example module to Go 1.25.
examples/minio/go.mod Align example module to Go 1.25.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread checksum.go
Comment thread checksum.go Outdated
Comment thread api-s3-datatypes.go Outdated
@klauspost
Copy link
Copy Markdown
Contributor Author

klauspost commented Apr 24, 2026

Obviously running mint fails since it tests against old minio version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants