diff --git a/.github/workflows/maven-ci-and-prb.yml b/.github/workflows/maven-ci-and-prb.yml index 4d5c41a4a..7b560b840 100644 --- a/.github/workflows/maven-ci-and-prb.yml +++ b/.github/workflows/maven-ci-and-prb.yml @@ -48,8 +48,8 @@ jobs: - name: Set up JDK uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 with: - java-version: 21 - distribution: 'temurin' + java-version: 25 + distribution: 'oracle' cache: 'maven' - name: Build with Maven run: ./mvnw -B -V -Dstyle.color=always clean verify diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d0f67b85..023705338 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,9 @@ Whenever a 3rd party library is updated, S3Mock will update it's MINOR version. * [PLANNED - 5.x - RELEASE TBD](#planned---5x---release-tbd) * [Planned changes](#planned-changes) * [CURRENT - 4.x - THIS VERSION IS UNDER ACTIVE DEVELOPMENT](#current---4x---this-version-is-under-active-development) + * [4.11.0 - PLANNED](#4110---planned) * [4.10.0 - PLANNED](#4100---planned) - * [4.9.0 - PLANNED](#490---planned) + * [4.9.0](#490) * [4.8.0](#480) * [4.7.0](#470) * [4.6.0](#460) @@ -148,24 +149,43 @@ Running S3Mock in unit tests is still supported by using [TestContainers](https: # CURRENT - 4.x - THIS VERSION IS UNDER ACTIVE DEVELOPMENT Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration. -**The current major version 4 will receive new features, dependency updates and bug fixes on a continuous basis.** +**The current major version 4 will receive new features, dependency updates and bug fixes on a continuous basis. We usually follow the Spring Boot release cycle.** -## 4.10.0 - PLANNED +## 4.11.0 - PLANNED Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration. +**This is the last currently planned minor release of 4.x.** + * Features and fixes * TBD * Refactorings * TBD * Version updates (deliverable dependencies) + * Update to Spring Boot 3.5.8 + * Planned release November 20th 2025 + * TBD: link to milestone +* Version updates (build dependencies) * TBD + +## 4.10.0 - PLANNED +Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Java integration. + +* Features and fixes + * TBD +* Refactorings + * TBD +* Version updates (deliverable dependencies) + * Update to Spring Boot 3.5.7 + * Planned release October 23rd 2025 + * https://github.com/spring-projects/spring-boot/milestone/399 * Version updates (build dependencies) * TBD -## 4.9.0 - PLANNED +## 4.9.0 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 @@ -177,11 +197,21 @@ Version 4.x is JDK17 LTS bytecode compatible, with Docker and JUnit / direct Jav * 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) - * TBD + * 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.1 + * 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 diff --git a/README.md b/README.md index 5d40695da..0f75e8de4 100755 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ * [Contributing](#contributing) * [Licensing](#licensing) * [Powered by](#powered-by) + * [Star History](#star-history) ## S3Mock diff --git a/docker/pom.xml b/docker/pom.xml index 2c0644a0b..358ee8dd2 100644 --- a/docker/pom.xml +++ b/docker/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-parent - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-docker diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 5726cb0a6..c1449dd1b 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-parent - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-integration-tests diff --git a/integration-tests/src/test/kotlin/com/adobe/testing/s3mock/its/VersionsIT.kt b/integration-tests/src/test/kotlin/com/adobe/testing/s3mock/its/VersionsIT.kt index 5b0a5cc16..3527d8111 100644 --- a/integration-tests/src/test/kotlin/com/adobe/testing/s3mock/its/VersionsIT.kt +++ b/integration-tests/src/test/kotlin/com/adobe/testing/s3mock/its/VersionsIT.kt @@ -238,14 +238,15 @@ internal class VersionsIT : S3TestBase() { RequestBody.fromFile(UPLOAD_FILE), ).versionId() - s3Client - .putObject( - { - it.bucket(bucketName) - it.key(UPLOAD_FILE_NAME) - }, - RequestBody.fromFile(UPLOAD_FILE), - ).versionId() + val versionId = + s3Client + .putObject( + { + it.bucket(bucketName) + it.key(UPLOAD_FILE_NAME) + }, + RequestBody.fromFile(UPLOAD_FILE), + ).versionId() s3Client .deleteObject { @@ -255,6 +256,11 @@ internal class VersionsIT : S3TestBase() { assertThat(it.deleteMarker()).isEqualTo(true) } + val listObjectVersions = s3Client.listObjectVersions { it.bucket(bucketName) } + assertThat(listObjectVersions.hasVersions()).isTrue + assertThat(listObjectVersions.versions()[0].key()).isEqualTo(UPLOAD_FILE_NAME) + assertThat(listObjectVersions.versions()[0].versionId()).isEqualTo(versionId) + assertThatThrownBy { s3Client.getObject { it.bucket(bucketName) diff --git a/pom.xml b/pom.xml index 0f27905c6..35551f171 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ com.adobe.testing s3mock-parent - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT pom S3Mock - Parent diff --git a/server/pom.xml b/server/pom.xml index 3380e5f7f..60d53078a 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-parent - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock diff --git a/server/src/main/java/com/adobe/testing/s3mock/BucketController.java b/server/src/main/java/com/adobe/testing/s3mock/BucketController.java index d4259e51a..d8f1628ad 100644 --- a/server/src/main/java/com/adobe/testing/s3mock/BucketController.java +++ b/server/src/main/java/com/adobe/testing/s3mock/BucketController.java @@ -231,8 +231,7 @@ public ResponseEntity getVersioningConfiguration(@PathV }, params = { VERSIONING - }, - consumes = APPLICATION_XML_VALUE + } ) @S3Verified(year = 2025) public ResponseEntity putVersioningConfiguration( diff --git a/testsupport/common/pom.xml b/testsupport/common/pom.xml index 76d4d7581..17a96cc16 100644 --- a/testsupport/common/pom.xml +++ b/testsupport/common/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-testsupport-reactor - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-testsupport-common diff --git a/testsupport/junit4/pom.xml b/testsupport/junit4/pom.xml index 3ffd6ed24..9bae31de6 100644 --- a/testsupport/junit4/pom.xml +++ b/testsupport/junit4/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-testsupport-reactor - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-junit4 diff --git a/testsupport/junit5/pom.xml b/testsupport/junit5/pom.xml index 047076779..cc7152a8e 100644 --- a/testsupport/junit5/pom.xml +++ b/testsupport/junit5/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-testsupport-reactor - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-junit5 diff --git a/testsupport/pom.xml b/testsupport/pom.xml index 683507ce3..3acf3ebef 100644 --- a/testsupport/pom.xml +++ b/testsupport/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-parent - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-testsupport-reactor diff --git a/testsupport/testcontainers/pom.xml b/testsupport/testcontainers/pom.xml index 85cbde21d..968df2dd8 100644 --- a/testsupport/testcontainers/pom.xml +++ b/testsupport/testcontainers/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-testsupport-reactor - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-testcontainers diff --git a/testsupport/testng/pom.xml b/testsupport/testng/pom.xml index 25c3921e7..699284240 100644 --- a/testsupport/testng/pom.xml +++ b/testsupport/testng/pom.xml @@ -22,7 +22,7 @@ com.adobe.testing s3mock-testsupport-reactor - 4.8.1-SNAPSHOT + 4.9.0-SNAPSHOT s3mock-testng