Releases: adobe/S3Mock
4.9.1
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
- Tests, maintenance, refactorings by @afranken in #2594
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #2599
- Bump github/codeql-action from 3.29.11 to 3.30.1 by @dependabot[bot] in #2610
- Bump actions/stale from 9.1.0 to 10.0.0 by @dependabot[bot] in #2607
- Bump com.puppycrawl.tools:checkstyle from 11.0.0 to 11.0.1 by @dependabot[bot] in #2596
- Tests, maintenance, refactorings by @afranken in #2600
- Bump step-security/harden-runner from 2.13.0 to 2.13.1 by @dependabot[bot] in #2616
- Bump github/codeql-action from 3.30.1 to 3.30.3 by @dependabot[bot] in #2619
- Bump kotlin.version from 2.2.10 to 2.2.20 by @dependabot[bot] in #2620
- Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.3 to 3.5.4 by @dependabot[bot] in #2629
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.3 to 3.5.4 by @dependabot[bot] in #2628
- Bump org.xmlunit:xmlunit-assertj3 from 2.10.3 to 2.10.4 by @dependabot[bot] in #2630
- Bump digital.pragmatech.testing:spring-test-profiler from 0.0.11 to 0.0.12 by @dependabot[bot] in #2639
- Bump spring-boot.version from 3.5.5 to 3.5.6 by @dependabot[bot] in #2638
- Bump aws.version from 1.12.788 to 1.12.791 by @dependabot[bot] in #2612
- Bump aws.sdk.kotlin:s3-jvm from 1.5.26 to 1.5.41 by @dependabot[bot] in #2636
- Bump aws-v2.version from 2.32.31 to 2.33.12 by @dependabot[bot] in #2637
- Prepare for 4.9.0 by @afranken in #2626
Full Changelog: 4.8.0...4.9.1
4.8.0
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
- Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #2559
- Bump github/codeql-action from 3.29.4 to 3.29.9 by @dependabot[bot] in #2561
- Bump com.puppycrawl.tools:checkstyle from 10.26.1 to 11.0.0 by @dependabot[bot] in #2551
- Bump digital.pragmatech.testing:spring-test-profiler from 0.0.5 to 0.0.11 by @dependabot[bot] in #2537
- Bump org.apache.commons:commons-compress from 1.27.1 to 1.28.0 by @dependabot[bot] in #2535
- Bump kotlin.version from 2.2.0 to 2.2.10 by @dependabot[bot] in #2566
- junie-evaluation by @afranken in #2557
- Bump aws.sdk.kotlin:s3-jvm from 1.4.125 to 1.5.19 by @dependabot[bot] in #2570
- Bump aws-v2.version from 2.32.7 to 2.32.23 by @dependabot[bot] in #2569
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 by @dependabot[bot] in #2575
- Bump actions/dependency-review-action from 4.7.1 to 4.7.2 by @dependabot[bot] in #2573
- Bump github/codeql-action from 3.29.9 to 3.29.10 by @dependabot[bot] in #2572
- Bump actions/setup-java from 4.7.1 to 5.0.0 by @dependabot[bot] in #2579
- Bump github/codeql-action from 3.29.10 to 3.29.11 by @dependabot[bot] in #2580
- Bump spring-boot.version from 3.5.4 to 3.5.5 by @dependabot[bot] in #2582
- Junie tasks ctd by @afranken in #2571
- Bump actions/dependency-review-action from 4.7.2 to 4.7.3 by @dependabot[bot] in #2590
- Bump aws-v2.version from 2.32.23 to 2.32.31 by @dependabot[bot] in #2591
- Bump aws.sdk.kotlin:s3-jvm from 1.5.19 to 1.5.26 by @dependabot[bot] in #2592
- CompleteMultipartUpload is idempotent by @afranken in #2593
Full Changelog: 4.7.0...4.8.0
4.7.0
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
- Bump step-security/harden-runner from 2.12.2 to 2.13.0 by @dependabot[bot] in #2507
- Bump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0 by @dependabot[bot] in #2510
- Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.6.0 to 3.6.1 by @dependabot[bot] in #2512
- Bump alpine from 3.22.0 to 3.22.1 in /docker by @dependabot[bot] in #2508
- Bump aws.version from 1.12.787 to 1.12.788 by @dependabot[bot] in #2511
- Bump github/codeql-action from 3.29.2 to 3.29.4 by @dependabot[bot] in #2521
- Bump commons-io:commons-io from 2.19.0 to 2.20.0 by @dependabot[bot] in #2519
- Bump aws-v2.version from 2.31.77 to 2.32.7 by @dependabot[bot] in #2525
- Bump spring-boot.version from 3.5.3 to 3.5.4 by @dependabot[bot] in #2526
- Fix legacy property overrrides. by @afranken in #2528
- Test coverage and improvements by @afranken in #2529
Full Changelog: 4.6.0...4.7.0
4.6.0
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
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
- Bump kotlin.version from 2.1.21 to 2.2.0 by @dependabot in #2475
- Bump com.puppycrawl.tools:checkstyle from 10.25.0 to 10.25.1 by @dependabot in #2474
- Bump com.puppycrawl.tools:checkstyle from 10.25.1 to 10.26.0 by @dependabot in #2478
- Always return "isLatest=true" if versioning is disabled by @afranken in #2484
- Bump github/codeql-action from 3.29.0 to 3.29.1 by @dependabot in #2486
- Verify object tagging by @afranken in #2473
Full Changelog: 4.5.0...4.5.1
4.5.0
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
- Bump org.codehaus.mojo:exec-maven-plugin from 3.5.0 to 3.5.1 by @dependabot in #2415
- Bump ossf/scorecard-action from 2.4.1 to 2.4.2 by @dependabot in #2420
- Bump alpine from 3.21.3 to 3.22.0 in /docker by @dependabot in #2421
- Bump testcontainers.version from 1.21.0 to 1.21.1 by @dependabot in #2423
- Update Maven to 3.9.9, Wrapper to 3.3.2 by @afranken in #2425
- Bump com.puppycrawl.tools:checkstyle from 10.24.0 to 10.25.0 by @dependabot in #2427
- Bump org.apache.maven.plugins:maven-clean-plugin from 3.4.1 to 3.5.0 by @dependabot in #2429
- Bump github/codeql-action from 3.28.18 to 3.28.19 by @dependabot in #2433
- Bump aws.version from 1.12.783 to 1.12.785 by @dependabot in #2437
- Bump step-security/harden-runner from 2.12.0 to 2.12.1 by @dependabot in #2446
- Bump github/codeql-action from 3.28.19 to 3.29.0 by @dependabot in #2447
- Changelog for 4.5.0 by @afranken in #2452
- Re-enable dependency based JRE by @afranken in #2434
- Nullability annotations, JavaDoc, refactorings by @afranken in #2456
- Bump spring-boot.version from 3.5.0 to 3.5.2 by @dependabot in #2464
- Bump org.xmlunit:xmlunit-assertj3 from 2.10.2 to 2.10.3 by @dependabot in #2465
- Bump testcontainers.version from 1.21.1 to 1.21.2 by @dependabot in #2463
- Bump spring-boot.version from 3.5.2 to 3.5.3 by @dependabot in #2469
- Bump aws.version from 1.12.785 to 1.12.787 by @dependabot in #2455
- Bump aws-v2.version from 2.31.50 to 2.31.67 by @dependabot in #2467
- Bump aws.sdk.kotlin:s3-jvm from 1.4.91 to 1.4.109 by @dependabot in #2468
- Deprecate legacy properties, README fixes. by @afranken in #2470
Full Changelog: 4.4.0...4.5.0
4.4.0
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.
- Remove configuration exclusions for Spring Security classes
- 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
- Bump spring-boot.version from 3.4.5 to 3.5.0 by @dependabot in #2407
- Bump github/codeql-action from 3.28.17 to 3.28.18 by @dependabot in #2393
- Bump aws.sdk.kotlin:s3-jvm from 1.4.83 to 1.4.91 by @dependabot in #2409
- Bump org.xmlunit:xmlunit-assertj3 from 2.10.0 to 2.10.2 by @dependabot in #2410
- Bump aws-v2.version from 2.31.42 to 2.31.50 by @dependabot in #2411
- 2412 correct order for listversions by @afranken in #2413
- Bump com.puppycrawl.tools:checkstyle from 10.23.1 to 10.24.0 by @dependabot in #2405
Full Changelog: 4.3.0...4.4.0
4.3.0
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
- Security and contribution clarifications by @afranken in #2381
- Bump actions/dependency-review-action from 4.7.0 to 4.7.1 by @dependabot in #2386
- Bump kotlin.version from 2.1.20 to 2.1.21 by @dependabot in #2387
- Bump aws.sdk.kotlin:s3-jvm from 1.4.80 to 1.4.83 by @dependabot in #2388
- Bump aws-v2.version from 2.31.38 to 2.31.42 by @dependabot in #2389
- Let S3Mock accept * and "*" for conditional requests by @afranken in #2382
Full Changelog: 4.2.0...4.3.0
4.2.0
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
- Check AWS API for changes
- API / DTO consistency check 2025/04
- 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
- Bump github/codeql-action from 3.28.15 to 3.28.16 by @dependabot in #2350
- Bump spring-boot.version from 3.4.4 to 3.4.5 by @dependabot in #2352
- Bump testcontainers.version from 1.20.6 to 1.21.0 by @dependabot in #2353
- Support crc64nvme checksum by @afranken in #2354
- Bump com.puppycrawl.tools:checkstyle from 10.23.0 to 10.23.1 by @dependabot in #2360
- Bump github/codeql-action from 3.28.16 to 3.28.17 by @dependabot in #2369
- Bump aws.version from 1.12.782 to 1.12.783 by @dependabot in #2367
- Bump aws-v2.version from 2.31.25 to 2.31.37 by @dependabot in #2376
- Bump aws.sdk.kotlin:s3-jvm from 1.4.67 to 1.4.79 by @dependabot in #2377
- 2025/04 API and DTO sync by @afranken in #2357
- Bump actions/dependency-review-action from 4.6.0 to 4.7.0 by @dependabot in #2378
- Bump aws-v2.version from 2.31.37 to 2.31.38 by @dependabot in #2380
- Bump aws.sdk.kotlin:s3-jvm from 1.4.79 to 1.4.80 by @dependabot in #2379
Full Changelog: 4.1.1...4.2.0
4.1.1
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