Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
Changelog
aab083f : Add server configuration (port, data directory, log level) (#28 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
7649073 : S3: Implement core HTTP router with AWS SigV4 request handling (#29 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
033610e : S3: Implement filesystem-based storage backend (#30 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
13a2a6f : [Bug]: DynamoDB ReturnConsumedCapacity parameter accepted but ConsumedCapacity omitted from all responses (#213 ) (#229 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
a8ef424 : [Bug]: DynamoDB TTL expiry and Select parameter support (#186 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
70fc292 : [Bug]: DynamoDB UpdateItem SET clause does not support if_not_exists() and list_append() (#197 ) (#208 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
eb24b5b : [Bug]: FilterExpression does not validate ExpressionAttributeValues references before item evaluation (#206 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
53aac94 : [Bug]: S3 CopyObject does not apply bucket default ObjectLock retention to destination objects (#191 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
35880a0 : [Bug]: S3 Lifecycle Expiration.Date and ExpiredObjectDeleteMarker not evaluated (#212 ) (#226 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
510a018 : [Bug]: S3 PutObjectLockConfiguration default retention is not applied to new objects (#189 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
2c8880c : [Bug]: S3 RestoreObject does not restrict object access before restore completes (#192 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
5685de1 : [Bug]: S3 multipart upload does not enforce 5 MB minimum part size (#187 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
df71a5f : [Bug]: S3 storage class not surfaced in GetObject, HeadObject, ListObjects, and GetObjectAttributes responses (#195 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
64d56d4 : [Feature]: DynamoDB IN operator support in filter expressions (#204 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
6acd2f4 : [Feature]: DynamoDB nested attribute path support in FilterExpression, ConditionExpression, and UpdateExpression (#209 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
04a9740 : [Feature]: DynamoDB: Add GSI and LSI support (#151 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
555f4e0 : [Feature]: DynamoDB: Implement DescribeContinuousBackups, UpdateContinuousBackups, and Kinesis streaming destination APIs (#166 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
3adbfba : [Feature]: DynamoDB: Implement DescribeLimits, DescribeEndpoints, UpdateTimeToLive, DescribeTimeToLive, TagResource, UntagResource, ListTagsOfResource, UpdateTable (#135 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
4b5d19e : [Feature]: DynamoDB: Implement TransactWriteItems and TransactGetItems (#152 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
33163db : [Feature]: DynamoDB: Improve Query with Limit, ScanIndexForward, ExclusiveStartKey pagination (#149 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
5d44a8a : [Feature]: DynamoDB: Scan pagination, parallel scan, and AWS spec compliance (#150 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
c369ef5 : [Feature]: DynamoDB: Support ADD and DELETE clauses in UpdateExpression (#146 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
9b562e8 : [Feature]: DynamoDB: Support FilterExpression for Scan and Query (#133 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
5e25809 : [Feature]: DynamoDB: Support ProjectionExpression for GetItem, Query, Scan, BatchGetItem (#148 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
002f291 : [Feature]: DynamoDB: Support ReturnValues ALL_OLD for PutItem and DeleteItem (#137 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
daa9616 : [Feature]: DynamoDB: Support ReturnValues UPDATED_NEW, UPDATED_OLD, ALL_OLD for UpdateItem (#134 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
c248160 : [Feature]: DynamoDB: Validate ReturnValues enum for UpdateItem (#138 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
26a7d9c : [Feature]: Implement DynamoDB BatchGetItem and BatchWriteItem (#57 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
a5d2360 : [Feature]: Implement DynamoDB UpdateItem and Query (#56 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
d61828a : [Feature]: Implement GetBucketLocation endpoint (#38 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
88edf45 : [Feature]: Implement S3 CopyObject endpoint (#22 ) (#39 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
dd22db4 : [Feature]: Implement S3 bucket operations and HTTP logging (#34 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
42ce43a : [Feature]: Implement S3 multipart upload operations (#41 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
4ea7fb9 : [Feature]: Implement S3 presigned URL support (#42 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
374abc5 : [Feature]: Introduce Nix flake for reproducible dev environment and CI (#168 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
835b202 : [Feature]: Make storage ephemeral by default (#44 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
21ee9b0 : [Feature]: Migrate log → log/slog for structured logging (#33 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
95347ac : [Feature]: S3 bucket config, ACL, and RestoreObject stubs (#118 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
537c606 : [Feature]: S3 pagination for ListMultipartUploads, ListObjectVersions, and ListParts (#210 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
77d45fe : [Feature]: S3: Enforce lifecycle rules via background goroutine (#145 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
a3a9a86 : [Feature]: S3: Implement CORS OPTIONS preflight response enforcement (#120 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
0cb12d9 : [Feature]: S3: Implement DeleteObjects (batch delete) (#58 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
431adbb : [Feature]: S3: Implement GetObjectAttributes (#144 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
f2a7367 : [Feature]: S3: Implement ListMultipartUploads and ListParts (#61 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
01f8393 : [Feature]: S3: Implement ListObjectVersions and versioned object operations (#112 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
bf48016 : [Feature]: S3: Implement ListObjects V1 (#59 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
3ce519d : [Feature]: S3: Implement ListObjectsV2 pagination, delimiter, and fetch-owner (#117 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
88170f6 : [Feature]: S3: Implement Object Lock (bucket config, object retention, legal hold, delete enforcement) (#125 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
c9376f1 : [Feature]: S3: Implement bucket CORS configuration (PutBucketCors, GetBucketCors, DeleteBucketCors) (#74 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
0f4ebfc : [Feature]: S3: Implement bucket policy (PutBucketPolicy, GetBucketPolicy, DeleteBucketPolicy) (#75 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
33cc4a9 : [Feature]: S3: Implement bucket tagging (GetBucketTagging, PutBucketTagging, DeleteBucketTagging) (#72 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
0ac6b31 : [Feature]: S3: Implement bucket versioning (PutBucketVersioning, GetBucketVersioning) (#73 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
9ab34d7 : [Feature]: S3: Implement object tagging (GetObjectTagging, PutObjectTagging, DeleteObjectTagging) (#70 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
773f9cd : [Feature]: S3: Stream-validate Content-MD5 instead of buffering full body (#142 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
5edacdc : [Feature]: S3: Support Range header and conditional GET (If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since) (#111 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
7c0b92c : [Feature]: S3: Support SSE header pass-through for PutObject, CopyObject, CreateMultipartUpload (#119 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
289095e : [Feature]: S3: Support conditional PutObject via If-None-Match: * (#130 ) (#141 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
2d79281 : [Feature]: S3: Support user-defined metadata (x-amz-meta-*) for PutObject, HeadObject, GetObject, CopyObject (#110 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
2513590 : [Feature]: S3: Validate Content-MD5 header on PutObject and UploadPart (#140 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
32ad610 : [Feature]: S3: Validate x-amz-checksum-* headers on PutObject and UploadPart (#143 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
85ec194 : [Feature]: STS: Implement GetCallerIdentity, AssumeRole, and GetSessionToken (#165 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
05cdb55 : [Task]: Add AWS SDK v2 integration tests for S3, DynamoDB, and STS (#171 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
26795c5 : [Task]: Add CHANGELOG.md and Known Limitations for v0.1.0 (#223 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
f81ed6d : [Task]: Add CODE_OF_CONDUCT.md (#180 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
9e07a3f : [Task]: Add MIT LICENSE and README.md (#167 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
5937b69 : [Task]: Add e2e verification for AWS CLI and Terraform against kumolo (#43 ) (#174 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
3c2d84a : [Task]: Add integration tests for S3 Multipart Upload (#172 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
e16de7c : [Task]: Add supported operations list to README (#193 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
859909f : [Task]: Audit DynamoDB operations against AWS spec and create spec docs (#221 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
9460683 : [Task]: Audit S3 operations against AWS spec and create spec docs (#217 ) (#222 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
8854d45 : [Task]: Audit STS operations against AWS spec (#219 ) (#220 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
06d63c3 : [Task]: Integrate CodeRabbit for automated PR review (#155 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
29de554 : [Task]: Pin GitHub Actions to SHA for supply chain security (#234 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
772827f : [Task]: S3: Split router.go into focused handler files (#115 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
dfca0fe : [Task]: Set up CI workflow (build, test, lint) (#27 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
61be561 : [Task]: Set up Go module and project directory structure (#25 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
7a28cbe : [Task]: Set up GoReleaser for automated binary releases (#169 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
3967909 : [Task]: Speed up CI with golangci-lint-action and parallel jobs (#62 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
7c9a1b9 : [Task]: Update Known Limitations and CHANGELOG after v0.1.0 bug fixes (#231 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
b191554 : [Task]: test(s3): add storage-level coverage for ListMultipartUploads and ListParts (#67 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
a675ebb : chore(ci): bump actions/checkout from v4 to v5 (#71 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
0e66dd3 : chore(ci): remove redundant cache step (#40 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
24a9d65 : chore(ci): remove redundant install step and cache golangci-lint (#60 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
5774f80 : chore(deps): bump actions/github-script from 7 to 9 (#64 ) (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
f7babf9 : chore(deps): bump actions/setup-go from 5 to 6 (#65 ) (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
064057a : chore(deps): bump docker/build-push-action from 6 to 7 (#68 ) (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
c3a189b : chore(deps): bump docker/login-action from 3 to 4 (#178 ) (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
745ec95 : chore(deps): bump docker/metadata-action from 5 to 6 (#177 ) (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
6f48e83 : chore(deps): bump docker/setup-buildx-action from 3 to 4 (#63 ) (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
69271a2 : chore(deps): bump golangci/golangci-lint-action from 7 to 9 (#66 ) (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
555870c : chore(dynamodb): split large files into focused handler and storage files (#164 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
b62e96b : feat(dynamodb): implement DynamoDB HTTP router and filesystem storage (#11 , #20 ) (#55 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
6296c20 : feat(dynamodb): support ConditionExpression for PutItem, DeleteItem, UpdateItem (#147 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
dfac1a7 : feat(infra): add Dockerfile and compose.yaml (#37 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
7aa8376 : feat(logging): log HTTP requests at level based on response status (#46 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
f5a02f6 : feat(s3): implement S3 object operations (#36 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
6c72c0f : feat(s3): implement UploadPartCopy (#121 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
4ebb635 : feat: add startup banner with version info and project URL (#176 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
dc8fd46 : fix(s3): Object Lock header compliance and MPU propagation (#126 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
8827353 : fix: use absolute URL in SECURITY.md for GitHub Security Advisories link (#179 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
3ddbc91 : refactor(s3): apply best practice improvements (#32 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
9e3299d : test(s3): add coverage for versioning error paths and mark untestable branches (#116 ) (Hisanari Kikuchi hisanari.kikuchi.dev@gmail.com )
You can’t perform that action at this time.