Releases: adobe/S3Mock
Releases · adobe/S3Mock
2.5.0
- Features and fixes
- Add Spring Component Index to S3Mock (fixes #751)
- Bucket lifecycle
- S3Mock now validates incoming Bucket names.
- S3 SDKs (for Java) validated the names before sending, so this should not matter for most use-cases.
- S3Mock now throws errors on duplicate creation (409 Conflict) / deletion (404 Not Found)
- These errors are defined in the S3 API, the S3Mock just never implemented them.
- S3Mock now validates incoming Bucket names.
- DTOs
- Fix names, methods, return values to match AWS API
- Remove internal field "path" from
Bucket
serializations. Fortunately this did not break AWS SDKs in the past, since the "path" field is not expected in those responses.
- Various other fixes like
- Removal of duplicated / simplification of code where possible
- Add (hopefully useful?) logging with all incoming parameters on errors.
- Fix IntelliJ IDEA warnings
- Better assertions in tests
- Fix various JavaDoc issues, add links to S3 API where possible
- Refactorings
- Major refactoring towards smaller classes with well-defined responsibilities.
- Many of the existing lines of code in the S3Mock core were changed, moved or removed.
- All IntegrationTests were/are still green, HTTP API did not change (other than fixed listed above)
- Refactor into layers
Controller -> Service -> Store
- Controllers handle request/response only, Services implement higher level functionality on top of their stores, Stores read and write data from/to disk.
- Handle Multipart requests in
MultipartController
->MultipartService
->MultipartStore
- Handle Bucket requests in
BucketController
->BucketService
->BucketStore
- Handle Object requests in
ObjectController
->ObjectService
->ObjectStore
- Code and documentation cleanup
- Let
BucketStore
storeBucketMetadata
just likeS3ObjectMetadata
locally. For now, only store the "core" metadata like creationDate and name. - Store object keys in
BucketMetadata
, assign UUIDs (fixes #94) - Store objects in UUID folders, clean up name usage
- Extract header helper methods into
HeaderUtil
fromFileStoreController
/ObjectController
.
- Major refactoring towards smaller classes with well-defined responsibilities.
- Version updates
- Bump maven-javadoc-plugin from 3.4.0 to 3.4.1
- Bump aws-v2.version from 2.17.248 to 2.17.263
- Bump aws-java-sdk-s3 from 1.12.278 to 1.12.292
- Bump checkstyle from 10.3.2 to 10.3.3
- Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0
- Bump spring-boot.version from 2.7.2 to 2.7.3
2.4.16
- Features and fixes
- Fix ListMultiPartUploads for Amazon SDK Java v2 (fixes #734)
- Refactorings
- Add Maven Wrapper for reliable builds
- Add Spring Boot "devtools" for better local development
- Add "debug" profile that logs request output and enables JMX and all actuator endpoints
- Version updates
- Bump aws-java-sdk-s3 from 1.12.267 to 1.12.278
- Bump aws-v2.version from 2.17.239 to 2.17.248
- Bump docker-maven-plugin from 0.40.1 to 0.40.2
- Bump alpine from 3.16.1 to 3.16.2 in /docker
- Bump checkstyle from 10.3.1 to 10.3.2
2.4.14
- Features and fixes
- Refactorings
- Add sortpom-maven-plugin, run sortpom
- To run manually, execute
mvn com.github.ekryd.sortpom:sortpom-maven-plugin:sort
- To run manually, execute
- Enable Kotlin compiler for integration-tests only.
- Add sortpom-maven-plugin, run sortpom
- Version updates
- Bump alpine from 3.16.0 to 3.16.1 in /docker
- Bump aws-java-sdk-s3 from 1.12.240 to 1.12.267
- Bump aws-v2.version from 2.17.211 to 2.17.239
- Bump spring-boot.version from 2.7.0 to 2.7.2
- Bump kotlin.version from 1.7.0 to 1.7.10
- Bump testng from 7.6.0 to 7.6.1
- Bump testcontainers.version from 1.17.2 to 1.17.3
- Bump checkstyle from 10.3 to 10.3.1
- Bump maven-deploy-plugin from 3.0.0-M2 to 3.0.0
- Bump docker-maven-plugin from 0.40.0 to 0.40.1
- Bump sortpom-maven-plugin from 3.1.3 to 3.2.0
- Bump maven-install-plugin from 3.0.0-M1 to 3.0.1
- Bump maven-resources-plugin from 3.2.0 to 3.3.0
- Bump exec-maven-plugin from 3.0.0 to 3.1.0
2.4.13
- Features and fixes
- Adds missing x-amz-server-side-encryption and x-amz-server-side-encryption-aws-kms-key-id header (fixes #639)
- Version updates
- Bump alpine from 3.15.4 to 3.16.0 in /docker
- Bump aws-java-sdk-s3 from 1.12.212 to 1.12.240
- Bump aws-v2.version from 2.17.182 to 2.17.211
- Bump spring-boot.version from 2.6.7 to 2.7.0
- Bump kotlin.version from 1.6.21 to 1.7.0
- Bump testng from 7.5 to 7.6.0
- Bump docker/setup-qemu-action from 1 to 2
- Bump checkstyle from 10.2 to 10.3
- Bump docker-maven-plugin from 0.39.1 to 0.40.0
- Bump maven-failsafe-plugin from 3.0.0-M6 to 3.0.0-M7
- Bump maven-surefire-plugin from 3.0.0-M6 to 3.0.0-M7
- Bump maven-release-plugin from 3.0.0-M5 to 3.0.0-M6
- Bump maven-enforcer-plugin from 3.0.0 to 3.1.0
2.4.10
- Features and fixes
- Refactorings
- Migrate integration tests to kotlin
- Version updates
- Bump alpine from 3.15.0 to 3.15.4 in /docker
- Bump aws-java-sdk-s3 from 1.12.170 to 1.12.212
- Bump aws-v2.version from 2.17.141 to 2.17.182
- Bump spring-boot.version from 2.6.3 to 2.6.7
- Bump spring-security-oauth2 from 2.5.1.RELEASE to 2.5.2.RELEASE
- Bump testcontainers.version from 1.16.3 to 1.17.1
- Bump maven-surefire-plugin from 3.0.0-M5 to 3.0.0-M6
- Bump maven-failsafe-plugin from 3.0.0-M5 to 3.0.0-M6
- Bump maven-compiler-plugin from 3.10.0 to 3.10.1
- Bump maven-clean-plugin from 3.1.0 to 3.2.0
- Bump maven-dependency-plugin from 3.2.0 to 3.3.0
- Bump kotlin.version from 1.6.10 to 1.6.21
- Bump maven-javadoc-plugin from 3.3.2 to 3.4.0
- Bump checkstyle from 9.3 to 10.2
2.4.9
- Verify source key exists on CopyObject and CopyObjectPart (fixes #459)
- Various refactorings
- Tagging does not have a "versionId" property in S3 API.
- CompleteMultipartUpload children are of type "CompletedPart".
- BatchDeleteResponse children are of type "DeletedObject".
- DeleteResult contains Error elements for failed deletes.
- Fixed JavaDoc of various classes and methods
- Add deprecation notice / documentation (fixes #418)
- Remove unnecessary methods and constructors
- Rename classes to better match their counterpart in S3 API
- Convert Integration Test to Kotlin
- Various patch and minor version updates:
- Bump aws-java-sdk-s3 from 1.12.162 to 1.12.170
- Bump aws-v2.version from 2.17.133 to 2.17.141
- Bump docker-maven-plugin from 0.39.0 to 0.39.1
2.4.8
- Let S3Mock run with custom application.properties on classpath (fixes #434)
- Change Docker image entrypoint to exec form (fixes #421)
- Various patch and minor version updates:
- Bump aws-java-sdk-s3 from 1.12.150 to 1.12.162
- Bump aws-v2.version from 2.17.120 to 2.17.133
- Bump docker-maven-plugin from 0.38.1 to 0.39.0
- Bump maven-javadoc-plugin from 3.3.1 to 3.3.2
- Bump maven-compiler-plugin from 3.9.0 to 3.10.0
2.4.7
2.4.6
2.4.1
- Make contextPath of FileStoreController configurable (Fixes #388)
- Add multi-part upload checks, S3 has a minimum size allowed of 5MB (Fixes #392)
- Handle Content-MD5 header. (Fixes #208)
- Etags are Hex encoded digests. (Fixes #208)
- Various refactorings
- Introduce @configuration for packages.
- Move all remaining DTOs to "dto" package.
- Rename "domain" package to "store".
- Reduced visibility of some classes and methods to package / private.
- Use Java 17 for CI and release.
- Various patch and minor version updates:
- Bump aws-java-sdk-s3 from 1.12.131 to 1.12.150
- Bump aws-v2.version from 2.17.102 to 2.17.120
- Bump xmlunit-assertj3 from 2.8.4 to 2.9.0
- Bump spring-boot.version from 2.6.2 to 2.6.3
- Bump testcontainers.version from 1.16.2 to 1.16.3
- Bump maven-compiler-plugin from 3.8.1 to 3.9.0
- Bump maven-release-plugin from 3.0.0-M4 to 3.0.0-M5
- Bump maven-jar-plugin from 3.2.0 to 3.2.2
- Bump testng from 7.4.0 to 7.5