Skip to content

Releases: adobe/S3Mock

4.9.1

19 Sep 16:13
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Remove Content-Type expectation from PutBucketVersioning (Fixes #2635)
    • Let S3Mock validate bucket names according to AWS rules
  • Refactorings
    • Let TaggingHeaderConverter convert XML tags
    • Let Spring convert StorageClass in postObject
    • Fix build errors: skip JavaDoc generation for POM type modules.
    • Build robustness: execute unit and integration tests in parallel and in random order.
    • Faster startup time through lazy initialization
    • Build: move "checkstyle.xml" to "etc/". The "build-config" module was never necessary.
    • Build: update Google Checkstyle to the latest version and fix violations.
    • Build: use ktlint-maven-plugin to validate Kotlin code style.
  • Version updates (deliverable dependencies)
    • Bump spring-boot.version from 3.5.5 to 3.5.6
    • Bump aws-v2.version from 2.32.31 to 2.33.12
    • Bump aws.version from 1.12.788 to 1.12.791
  • Version updates (build dependencies)
    • Bump Java 21 to Java 25 to build S3Mock.
    • Bump kotlin.version from 2.2.10 to 2.2.20
    • Bump aws.sdk.kotlin:s3-jvm from 1.5.26 to 1.5.41
    • Bump org.xmlunit:xmlunit-assertj3 from 2.10.3 to 2.10.4
    • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.3 to 3.5.4
    • Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.3 to 3.5.4
    • Bump com.puppycrawl.tools:checkstyle from 11.0.0 to 11.0.1
    • Bump digital.pragmatech.testing:spring-test-profiler from 0.0.11 to 0.0.12
    • Bump actions/stale from 9.1.0 to 10.0.0
    • Bump github/codeql-action from 3.29.11 to 3.30.3
    • Bump step-security/harden-runner from 2.13.0 to 2.13.1
    • Bump maven from 3.9.9 to 3.9.11
    • Bump maven wrapper from 3.3.2 to 3.3.3

What's Changed

Full Changelog: 4.8.0...4.9.1

4.8.0

29 Aug 22:05

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • CompleteMultipartUpload is idempotent (fixes #2586)
  • Refactorings
    • UploadId is always a UUID. Use UUID type in S3Mock instead of String.
    • Validate partNumbers to be positive integers.
    • Force convergence on the newest available transitive dependency versions.
    • Optimize file storage for large objects by using buffered streams.
  • Version updates (deliverable dependencies)
    • Bump spring-boot.version from 3.5.4 to 3.5.5
    • Bump aws-v2.version from 2.32.7 to 2.32.31
    • Bump org.apache.commons:commons-compress from 1.27.1 to 1.28.0
  • Version updates (build dependencies)
    • Bump kotlin.version from 2.2.0 to 2.2.10
    • Bump aws.sdk.kotlin:s3-jvm from 1.4.125 to 1.5.26
    • Bump digital.pragmatech.testing:spring-test-profiler from 0.0.5 to 0.0.11
    • Bump com.puppycrawl.tools:checkstyle from 10.26.1 to 11.0.0
    • Bump github/codeql-action from 3.29.4 to 3.29.11
    • Bump actions/checkout from 4.2.2 to 5.0.0
    • Bump actions/setup-java from 4.7.1 to 5.0.0
    • Bump actions/dependency-review-action from 4.7.2 to 4.7.3

What's Changed

Full Changelog: 4.7.0...4.8.0

4.7.0

25 Jul 16:09

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Fix store property overrides for "com.adobe.testing.s3mock.store" properties. (Fixes #2524)
  • Refactorings
    • Enable Spring Boot Actuator in "debug" and "trace" profiles.
    • Enable Spring Test Profiler during test runs.
  • Version updates (deliverable dependencies)
    • Bump spring-boot.version from 3.5.3 to 3.5.4
    • Bump aws-v2.version from 2.31.77 to 2.32.7
    • Bump aws.version from 1.12.787 to 1.12.788
    • Bump commons-io:commons-io from 2.19.0 to 2.20.0
    • Bump alpine from 3.22.0 to 3.22.1 in /docker
  • Version updates (build dependencies)
    • Bump aws.sdk.kotlin:s3-jvm from 1.4.109 to 1.4.125
    • Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.6.0 to 3.6.1
    • Bump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0
    • Bump step-security/harden-runner from 2.12.2 to 2.13.0
    • Bump github/codeql-action from 3.29.2 to 3.29.4

What's Changed

Full Changelog: 4.6.0...4.7.0

4.6.0

07 Jul 12:34

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Fail PUT object with match on non-existent keys (fixes #2502)
  • Refactorings
    • Remove unused imports
    • Fix Kotlin 2.2 usage
    • Ignore .vscode and .cursor configurations
    • Minor refactorings for clarity.
    • Use fixed list of StorageClass values in tests. New values added by AWS sometimes break tests. We want to make sure to test a few different storage classes, no need to test every one.
  • Version updates (deliverable dependencies)
    • Bump aws-v2.version from 2.31.67 to 2.31.77
    • Bump testcontainers.version from 1.21.2 to 1.21.3
  • Version updates (build dependencies)
    • Bump aws.sdk.kotlin:s3-jvm from 1.4.109 to 1.4.119
    • Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8
    • Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.5.0 to 3.6.0
    • Bump com.puppycrawl.tools:checkstyle from 10.26.0 to 10.26.1
    • Bump github/codeql-action from 3.29.1 to 3.29.2
    • Bump step-security/harden-runner from 2.12.1 to 2.12.2

What's Changed

  • Bump github/codeql-action from 3.29.1 to 3.29.2 by @dependabot in #2492
  • Bump step-security/harden-runner from 2.12.1 to 2.12.2 by @dependabot in #2490
  • Bump com.puppycrawl.tools:checkstyle from 10.26.0 to 10.26.1 by @dependabot in #2487
  • Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 by @dependabot in #2498
  • Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.5.0 to 3.6.0 by @dependabot in #2496
  • Fail PUT object with match on non-existent keys & code optimizations by @afranken in #2503
  • Bump aws.sdk.kotlin:s3-jvm from 1.4.109 to 1.4.119 by @dependabot in #2500
  • Bump testcontainers.version from 1.21.2 to 1.21.3 by @dependabot in #2491
  • Bump aws-v2.version from 2.31.67 to 2.31.77 by @dependabot in #2501

Full Changelog: 4.5.1...4.6.0

4.5.1

02 Jul 12:50

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • ListObjectVersions API returns "isLatest=true" if versioning is not enabled. (fixes #2481)
    • Tags are now verified for correctness.
  • Refactorings
    • README.md fixes, typos, wording, clarifications
  • Version updates (deliverable dependencies)
    • None
  • Version updates (build dependencies)
    • Bump kotlin.version from 2.1.21 to 2.2.0
    • Bump github/codeql-action from 3.29.0 to 3.29.1
    • Bump com.puppycrawl.tools:checkstyle from 10.25.0 to 10.26.0

What's Changed

Full Changelog: 4.5.0...4.5.1

4.5.0

23 Jun 16:16

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Implement DeleteObjectTagging API
  • Refactorings
    • Add JSpecify annotations to S3Mock code
    • Migrate unit tests in "testsupport" modules to Kotlin
    • Deprecation of legacy-style Spring properties in favor of current environment variables.
    • Various fixes and clarifications in README.md
  • Version updates (deliverable dependencies)
    • Bump alpine from 3.21.3 to 3.22.0 in /docker
    • Bump aws-v2.version from 2.31.50 to 2.31.67
    • Bump aws.version from 1.12.783 to 1.12.787
    • Bump spring-boot.version from 3.5.0 to 3.5.3
    • Bump testcontainers.version from 1.21.0 to 1.21.2
  • Version updates (build dependencies)
    • Bump aws.sdk.kotlin:s3-jvm from 1.4.91 to 1.4.109
    • Bump org.xmlunit:xmlunit-assertj3 from 2.10.2 to 2.10.3
    • Bump org.codehaus.mojo:exec-maven-plugin from 3.5.0 to 3.5.1
    • Bump org.apache.maven.plugins:maven-clean-plugin from 3.4.1 to 3.5.0
    • Bump com.puppycrawl.tools:checkstyle from 10.24.0 to 10.25.0
    • Bump maven from 3.9.6 to 3.9.9
    • Bump maven-wrapper from 3.2.0 to 3.3.2
    • Bump ossf/scorecard-action from 2.4.1 to 2.4.2
    • Bump github/codeql-action from 3.28.18 to 3.29.0
    • Bump step-security/harden-runner from 2.12.0 to 2.12.1

What's Changed

Full Changelog: 4.4.0...4.5.0

4.4.0

27 May 15:13

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Fix order of ListObjectVersions (fixes #2412)
  • Refactorings
    • Remove configuration exclusions for Spring Security classes
      • We don't include Spring Security dependencies anymore.
  • Version updates (deliverable dependencies)
    • Bump spring-boot.version from 3.4.5 to 3.5.0
    • Bump aws-v2.version from 2.31.42 to 2.31.50
  • Version updates (build dependencies)
    • Bump aws.sdk.kotlin:s3-jvm from 1.4.83 to 1.4.91
    • Bump org.xmlunit:xmlunit-assertj3 from 2.10.0 to 2.10.2
    • Bump com.puppycrawl.tools:checkstyle from 10.23.1 to 10.24.0
    • Bump github/codeql-action from 3.28.17 to 3.28.18

What's Changed

Full Changelog: 4.3.0...4.4.0

4.3.0

15 May 13:55

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • S3Mock accepts * for conditional requests on all APIs. (fixes #2371)
    • Clarifications for S3Mock with custom SSL certificate usage in README.md
    • Clarifications for S3Mock with provided SSL certificate usage in README.md
  • Refactorings
    • none
  • Version updates (deliverable dependencies)
    • Bump aws-v2.version from 2.31.38 to 2.31.42
  • Version updates (build dependencies)
    • Bump aws.sdk.kotlin:s3-jvm from 1.4.80 to 1.4.83
    • Bump kotlin.version from 2.1.20 to 2.1.21
    • Bump actions/dependency-review-action from 4.7.0 to 4.7.1

What's Changed

Full Changelog: 4.2.0...4.3.0

4.2.0

08 May 22:17

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Support checksum algorithm CRC64NVME (fixes #2334)
  • Refactorings
    • API / DTO consistency check 2025/04
      • Check AWS API for changes
        • Update S3Mock API / DTOs
        • Add tests for changed API / DTOs
      • CreateBucket API now accepts "CreateBucketConfiguration" request body
      • HeadBucket API now returns region and location headers
      • CompleteMultipartUpload API now accepts checksums and returns checksums
      • ListObjects API now returns "delimiter"
      • ListObjects V2 API now accepts "fetch-owner" and returns "delimiter"
      • ListBuckets API now accepts parameters listed in AWS S3 API
      • ListMultipartUploads now accepts parameters listed in AWS S3 API
      • ListParts now accepts parameters listed in AWS S3 API
      • UploadPartCopy now accepts and returns encryption headers
      • CreateMultipartUpload now accepts checksum headers and returns checksum and encryption headers
      • CompleteMultipartUpload now accepts checksum headers and returns checksum and encryption headers
        • Checksum validation on complete
      • DeleteObject now supports conditional requests
      • PutObject now supports conditional requests
  • Version updates (deliverable dependencies)
    • Bump aws-v2.version from 2.31.25 to 2.31.38
    • Bump aws.sdk.kotlin:s3-jvm from 1.4.67 to 1.4.80
    • Bump aws.version from 1.12.782 to 1.12.783
    • Bump spring-boot.version from 3.4.4 to 3.4.5
    • Bump testcontainers.version from 1.20.6 to 1.21.0
  • Version updates (build dependencies)
    • Bump actions/dependency-review-action from 4.6.0 to 4.7.0
    • Bump github/codeql-action from 3.28.15 to 3.28.17
    • Bump com.puppycrawl.tools:checkstyle from 10.23.0 to 10.23.1

What's Changed

Full Changelog: 4.1.1...4.2.0

4.1.1

22 Apr 10:48

Choose a tag to compare

Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Content-Encoding: aws-chunked should not be stored (fixes #2218)
  • Refactorings
    • none
  • Version updates (deliverable dependencies)
    • none
  • Version updates (build dependencies)
    • none

What's Changed

Full Changelog: 4.1.0...4.1.1