Skip to content

Releases: adobe/S3Mock

2.7.1

27 Sep 19:45
Compare
Choose a tag to compare

2.x is JDK8 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Avoid root folder temporary directory race condition (fixes #837)

What's Changed

  • Avoid root folder temporary directory race condition (closes #837) by @ginkel in #838

New Contributors

Full Changelog: 2.7.0...2.7.1

2.7.0

26 Sep 13:03
Compare
Choose a tag to compare

2.x is JDK8 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Add support for ACL APIs (fixes #213 / #290)
      • Implement GetObjectACL / PutObjectACL
      • Return / accept String instead of a POJO. We need to use JAX-B annotations instead of Jackson annotations
        because AWS decided to use xsi:type annotations in the XML representation, which are not supported
        by Jackson. It doesn't seem to be possible to use bot JAX-B and Jackson for (de-)serialization in parallel.
  • Version updates
    • Bump aws-java-sdk-s3 from 1.12.298 to 1.12.309
    • Bump aws-v2.version from 2.17.269 to 2.17.281
    • Bump spring-boot.version from 2.7.3 to 2.7.4
    • Bump maven-jar-plugin from 3.2.2 to 3.3.0

What's Changed

Full Changelog: 2.6.3...2.7.0

2.6.3

25 Sep 11:47
Compare
Choose a tag to compare

2.x is JDK8 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • Handle all incoming and outgoing ETags according to RFC2616 / RFC7232 (fixes #807)
      • Fixes ETag handling in GetObject, HeadObject, CopyObject, UploadPartCopy APIs.
      • We are now generating and storing ETags in the "RFC-Format" with enclosing double quotes.
      • Incoming ETags are used verbatim to compare against the internally held representation.
      • Wildcard ETags are also correctly handled.

What's Changed

  • Handle all incoming and outgoing ETags according to RFC2616 / RFC7232 by @afranken in #828

Full Changelog: 2.6.2...2.6.3

2.6.2

23 Sep 12:06
Compare
Choose a tag to compare

2.x is JDK8 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • LastModified must be updated when copying an object onto itself (fixes #811)
  • Refactorings
    • Split up integration tests by type

What's Changed

  • Various IntegrationTest refactorings by @afranken in #820
  • LastModified must be updated when copying an object onto itself. by @afranken in #827

Full Changelog: 2.6.1...2.6.2

2.6.1

09 Sep 15:20
Compare
Choose a tag to compare

2.x is JDK8 LTS bytecode compatible, with Docker and JUnit / direct Java integration.

  • Features and fixes
    • ETags in requests and responses must comply to RFC-2616 (fixes #801)
      • Fixes ListObjects and ListObjectsV2 APIs.
      • Whenever S3Mock uses Serialization / Deserialization with Jackson, we must use our custom
        EtagSerializer / EtagDeserializer that wraps and unwraps the etag for the DTO.
  • Version updates
    • Bump aws-v2.version from 2.17.267 to 2.17.269
    • Bump aws-java-sdk-s3 from 1.12.296 to 1.12.298

What's Changed

  • ETags in requests and responses must comply to RFC-2616 by @afranken in #802
  • Bump aws-java-sdk-s3 from 1.12.296 to 1.12.298 by @dependabot in #800
  • Bump aws-v2.version from 2.17.267 to 2.17.269 by @dependabot in #798

Full Changelog: 2.6.0...2.6.1

2.6.0

07 Sep 16:56
Compare
Choose a tag to compare
  • Features and fixes
    • Add support for LegalHold APIs (fixes #157)
      • Implement GetObjectLegalHold / PutObjectLegalHold
      • Implement GetObjectLockConfiguration / PutObjectLockConfiguration
      • In S3, object locking can only be activated for versioned buckets, versions are currently not supported by S3Mock.
        S3 enforces LegalHold only for versions, so S3Mock currently can't enforce the legal hold.
    • Add support for Retention APIs
      • Implement GetObjectRetention / PutObjectRetention
      • In S3, object locking can only be activated for versioned buckets, versions are currently not supported by S3Mock.
        S3 enforces retention only for versions, so S3Mock currently can't enforce the retention.
  • Refactorings
    • Added support for IntegrationTests to use a dedicated bucket per test method
      • Refactored some IntegrationTests to this pattern.
    • Use AWS SDK internal Utils for instants and encoding
      • Using software.amazon.awssdk.utils.DateUtils and software.amazon.awssdk.utils.http.SdkHttpUtils
      • These classes are marked as software.amazon.awssdk.annotations.SdkProtectedApi
        which means that SDK users (liek S3Mock) should not use these classes, but S3Mock has to exactly match the
        behaviour and expectations of the AWS SDKs, and it's easier to depend on internal AWS SDK classes
        instead of replicating or copying the code.
      • S3Mock may have violated the AWS SDK license before by including source code without explicitly
        stating that it's AWS copyrighted code. (In the JavaDoc it did say that this is a copy with
        a reference to the class, though)
  • Version updates
    • Bump aws-v2.version from 2.17.263 to 2.17.267
    • Bump aws-java-sdk-s3 from 1.12.292 to 1.12.296

2.5.4

02 Sep 22:35
Compare
Choose a tag to compare
  • Features and fixes
    • Rename local storage files, add file system structure documentation to README.md (fixes #220)
    • @Configuration / @ConfigurationProperties classes now public to enable customers to use @Import / @ContextConfiguration on them. (fixes #751)

2.5.3

01 Sep 15:53
Compare
Choose a tag to compare
  • Features and fixes
    • Remove Spring Component Index from S3Mock (fixes #786)
      • Adding a Spring Component Index file is a breaking change for all clients of the s3mock.jar
      • If Spring finds even one Component Index file in the classpath, all other configuration in the application
        is completely ignored by default.

2.5.2

01 Sep 08:27
Compare
Choose a tag to compare
  • Features and fixes
    • Correctly detect and use existing root folder (fixes #786)

2.5.1

31 Aug 21:37
Compare
Choose a tag to compare
  • Features and fixes
    • Use @SpringBootApplication to configure S3Mock (fixes #782)