Releases: awspring/spring-cloud-aws
3.3.0 RC1
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.3.0-RC1/reference/html/index.html
What has changed
Spring Cloud AWS 3.3.0 brings compatibility with Spring Boot 3.4 and Spring Cloud 2024.0. RC1 is hopefully the only release candidate, if not bugs are found, no code changes are planned before GA.
The highlight of the release is experimental support for GraalVM native image builds contributed by @MatejNedic
RC1 contains all changes listed in M1 plus:
S3
- Add a constructor to S3ProtocolResolver allowing its usage outside of Spring context by @klach-ocado in #1276
- Add support for
spring.config.import
with S3 backend by @kunalvarpe in #849 - Specify Content-MD5 when generating presigned URL for uploading object (#1161) by @hardikSinghBehl in #1252
- Align
S3ConfigDataLocationResolver
resolving behavior with Spring Boot resolvers by @MatejNedic in #1299
Core
- Add GraalVM native image support by @MatejNedic in #856 and #1297
- Add
dualstack-enabled
property toAwsClientProperties
. by @maciejwalkowiak in #1294
SQS
- Propagate
AWSTraceHeader
by @acomofcg in #1287 - Fix deserializing lists with
@SnsNotificationMessage
by @frjonsen in #1282 - Fix setting timeout in seconds in
SqsTemplate
by @joey in #1250 - Add more detailed error message for SQS exceptions in
QueueAttributesResolver
by @joseiedo in #1200
Documentation
- Fix testing documentation header levels by @maciejwalkowiak in #1273
- Update AWS S3 CRT Client dependency in docs by @vchrisb in #1274
- Fix broken link for Spring Docker Compose support by @Tooa in #1281
- Document SecretsManager cross-account access by @mmaeller in #1302
Dependencies Upgrades
- Remove
s3-transfer-manager
fromspring-cloud-aws-dependencies
by @vchrisb in #1275 - Upgrade Spring Cloud to 4.2.0 by @abilng in #1290
- Upgrade AWS SDK to 2.29.35 and AWS S3 Encryption Client to 3.3.0 by @MatejNedic in #1303
New Contributors
- @vchrisb made their first contribution in #1274
- @abilng made their first contribution in #1290
- @klach-ocado made their first contribution in #1276
- @Tooa made their first contribution in #1281
- @acomofcg made their first contribution in #1287
- @frjonsen made their first contribution in #1282
- @joey made their first contribution in #1250
- @joseiedo made their first contribution in #1200
- @mmaeller made their first contribution in #1302
Full Changelog: v3.3.0-M1...v3.3.0-RC1
3.3.0 M1
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.3.0-M1/reference/html/index.html
What's Changed
Spring Cloud AWS 3.3.0 brings compatibility with Spring Boot 3.4 and Spring Cloud 2024.0. Highlights of the M1 release:
- auto-configuration of amazon-s3-encryption-client-java for effortless encryption objects on the client side before they get sent to S3 by @MatejNedic (docs)
- auto-configuration of aws-s3-accessgrants-plugin-java-v2 by @MatejNedic (docs)
- populating Spring property source from EC2 instance metadata by @kennyk65 (docs)
- reworked and simplified customizing AWS client beans by @maciejwalkowiak (docs)
Full list of changes:
Core
- Automatically populate
PropertySource
with instance metadata when running within an EC2-based environment by @kennyk65 in #962 - Add client customizer interface for each supported integration by @maciejwalkowiak in #1229
S3
- Fine grained access control of S3 files via S3 Access Grant is now supported out of the box via S3AccessPlugin by @MatejNedic in #1247
- Add KMS, RSA or AES ClientSide file encryption support through
S3EncrpytionClient
by @MatejNedic in #1033 S3OutputStream
can now be canceled at any time during upload by @zhemaituk in #1221- Remove throws IOException that is never thrown in S3Resource methods by @alexisgra in #1222
- Add
S3Operations#createResource
. by @maciejwalkowiak in #1223 - Fix: Do not apply ObjectMetadata#contentLength for UploadPartRequest by @Mobe91 in #1249
SNS
SnsTemplate
provides functionality to validate topic existence (#1137) by @hardikSinghBehl in #1142
SecretsManager
- Fix
AutoConfigureAfter
forSecretsManagerAutoConfiguration
by @marcindabrowski in #1235
Parameter Store
Dependencies
- Upgrade Spring Cloud to 4.2.0 M2 by @MatejNedic in #1267
- Upgrade Spring Cloud Dependencies to 4.1.3 and Spring Modulith to 1.2.3 by @maciejwalkowiak in #1215
- Upgrade AWS SDKv2 to 2.29.6 by @MatejNedic in #1266
- Manage Testcontainers version through Spring Boot dependency management by @maciejwalkowiak in #1218
- Upgrade LocalStack to 3.8.1 by @maciejwalkowiak in #1217
Github pipeline
- Update labeler action to v5 by @marcindabrowski in #1236
- Update checkout action to v4 by @marcindabrowski in #1237
- Update cache action to v4 by @marcindabrowski in #1238
- Add "type: maintenance" label for GitHub files by @marcindabrowski in #1240
- Update setup-java action to v4 by @marcindabrowski in #1241
- Update github-script action to v7 by @marcindabrowski in #1242
- Enable Dependabot for GitHub Actions by @marcindabrowski in #1243
New Contributors
- @hardikSinghBehl made their first contribution in #1142
- @kennyk65 made their first contribution in #962
- @zhemaituk made their first contribution in #1221
- @Forfend made their first contribution in #1233
- @marcindabrowski made their first contribution in #1236
- @Mobe91 made their first contribution in #1249
Full Changelog: v3.2.0...v3.3.0-M1
3.2.1
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.2.1/reference/html/index.html
What's Changed
- Fix for
InMemoryBufferingS3OutputStream
wrongly appliescontentLength
toUploadPartRequest
causing timeout by @Mobe91 in #1249 - Update Spring Modulith by @maciejwalkowiak in #1260
Full Changelog: v3.2.0...v3.2.1
3.0.5
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.0.5/reference/html/index.html
What's Changed
S3
- Make
getUrl
return location of bucket if object is empty ornull
by @MatejNedic in #1226
3.2.0
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.2.0/reference/html/index.html
What's Changed
Spring Cloud AWS 3.2.0 brings compatibility with Spring Boot 3.3.x and contains all changes introduced in version 3.2.0-M1.
Highlights
Simplified integration testing with LocalStack through new modules:
spring-cloud-aws-testcontainers
- adds support for@ServiceConnection
&LocalStackContainer
spring-cloud-aws-docker-compose
- support for LocalStack via Docker Compose integration by @dominik-kovacs in #1123
Integration with Spring Modulith:
- SQS and SNS integration for Spring Modulith's Externalized Events has been migrated to Spring Cloud AWS by @maciejwalkowiak in #1068
SQS
SqsMessageListenerContainer
fails fast if queue names are not all FIFO or Standard by @internetstaff in #1001- Add default behaviour for queue not found strategy by @tomazfernandes in #1190
- Batch now supports
@SnsNotification
payload by @tomazfernandes in #1191 - Enable receiving messages from different message groups in the same batch for FIFO queues by @tomazfernandes in #1192
- Add
BatchVisibility
listener method parameter by @tomazfernandes in #1193 - Auto-configure default
MessageConverter
by @tomazfernandes in #1194 - Enable
SqsMessagingMessageConverter
to handle JSON Strings with JSON Mime Type by @tomazfernandes in #1195
DynamoDb
- Delete operation now returns entity which was deleted @MatejNedic in #1185
S3
- Make
getUrl
return location of bucket if object is empty ornull
by @MatejNedic in #1158
SES
- Fix: when sending emails field 'to' is not taking into consideration when sending CC and BCC types @buckett in #1174
Docker Compose
- Add LocalStack docker compose support by @dominik-kovacs in #1123
Dependencies
- Upgrade AWS SDK to 2.25.70 by @maciejwalkowiak in #1207
New Contributors
- @elkkhan made their first contribution in #1128
- @lawseff made their first contribution in #1139
- @internetstaff made their first contribution in #1001
- @manakbisht made their first contribution in #1151
- @buckett made their first contribution in #1174
- @dominik-kovacs made their first contribution in #1123
Full Changelog: v3.2.0-M1...v3.2.0
3.2.0 M1
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.2.0-M1/reference/html/index.html
What's Changed
Testcontainers
Added a module spring-cloud-aws-testcontainers
that simplifies testing Spring Cloud AWS against LocalStack:
- Add
@ServiceConnection
support. by @maciejwalkowiak in #1075 - Add
LocalstackAwsClientFactory
to simplify creating AWS clients pointing to LocalStack by @maciejwalkowiak in #1106
Spring Modulith
SQS and SNS integration for Spring Modulith's Externalized Events has been migrated to Spring Cloud AWS:
- Add Spring Modulith integration with SQS and SNS by @maciejwalkowiak in #1068
SQS
- Document behavior change when sending / receiving List of messages. by @alexisgra in #1101
- Polished Javadocs examples in
SqsMessageListenerContainer
andSqsMessageListenerContainerFactory
by @sefabal in #1102
S3
- Remove Cross Region S3 client. by @maciejwalkowiak in #1103
Core
- Add
@NestedConfigurationProperty
to display profile name and path when configuring application properties by @kcsurapaneni in #1109 - Upgrade AWS SDK to 2.25.21 by @edelauna in #1115
Secrets Manager
- Auto-configure
SecretsManagerClient
even if config import is not used. by @maciejwalkowiak in #1114
SNS
New Contributors
- @sefabal made their first contribution in #1102
- @kcsurapaneni made their first contribution in #1109
- @edelauna made their first contribution in #1115
- @sondemar made their first contribution in #1105
Full Changelog: v3.1.1...v3.2.0-M1
3.1.1
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.1.1/reference/html/index.html
What's Changed
SQS
- Fix:
QueueAttributesResolver
throws when creating Fifo queue (#995) by @tomazfernandes in #1002 - Fix: Permits are not released when Conversion Error happens. by @tomazfernandes in #1090
- Fix: Acknowledgement Graceful Shutdown. @tomazfernandes in #1082
- Fix: Add Missing Synchronization in Ack Buffer Access by @tomazfernandes in #1038
- Fix: time unit in log message for slow acknowledgements by @PatrickGotthard in #1030
- Deserialize SNS messages posted to SQS queue with
@SnsNotificationMessage
by @msosa in #898 - Simplify not adding type header when sending a message with
SqsTemplate
. (#659) by @levys17 in #1066 - Add support for Spring Retry
BackOffPolicy
when SQS Polling thread throws an exception. by @tomazfernandes in #1008 - Document default value for Acknowledgement Shutdown Timeout and Listener Shutdown Timeout by @mt-ocado in #1034
- Document changes in sending & receiving list of messages between 2.x and 3.x (#1101) by @alexisgra
- Fixed legacy Javadoc examples in
SqsMessageListenerContainer
andSqsMessageListenerContainerFactory
(#1102) by @sefabal
Simple Email Service`
- Add
configurationSetName
configuration property by @thomas-burko in #1007 - Add
fromArn
configuration property @thomas-burko in #1026
Parameter Store and Secrets Manager
- Secrets Manager integration can be disabled by setting
enable
field to false. by @maciejwalkowiak in #1009 - Parameter Store integration can be disabled by setting
enable
field to false. @MatejNedic in #1039 - Update documentation on reload feature in Parameter Store and Secrets Manager by @maciejwalkowiak in #1088
- Added trailing slash to parameter store examples by @thelateperseus in #1086
- Parameter Store 2.x.x -> to 3.x.x migration documentation @rratliff in #1032
DynamoDb
- DynamoDb integration now supports global suffix automatically assigned to table names via global property. @vldr-ivakhnenko in #1081
Core
AnonymousCredentialsProvider
is used now with by default when STS integration is enabled @MatejNedic in #1089- Fixed property name
StsProperties#asyncCredentialsUpdate
by @MatejNedic in #1011
Dependency Upgrades
- Upgrade AWS SDK to 2.21.46 by @maciejwalkowiak in #1085
New Contributors
- @thomas-burko made their first contribution in #1007
- @PatrickGotthard made their first contribution in #1030
- @rratliff made their first contribution in #1032
- @thelateperseus made their first contribution in #1086
- @vldr-ivakhnenko made their first contribution in #1081
- @msosa made their first contribution in #898
- @levys17 made their first contribution in #1066
Big thanks to all contributors! 🙂
Full Changelog: v3.1.0...v3.1.1
3.1.0
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.1.0/reference/html/index.html
What's Changed
Spring Cloud AWS 3.1.0 brings compatibility with Spring Boot 3.2.x and contains all changes introduced in version 3.0.4.
Secrets Manager
Dependencies
- Upgrade to Spring Cloud 4.1.0 by @maciejwalkowiak in #981
New Contributors
3.0.4
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.0.4/reference/html/index.html
What's Changed
DynamoDB
- Configure DynamoDb TableSchema as a bean by @maciejwalkowiak in #957
S3
- fix: correct conditional for S3CrtAsyncClientAutoConfiguration by @iuliiasobolevska in #970
- Add support for SDK's cross-region S3 client. by @maciejwalkowiak in #960
- Fix S3Template.createSignedPutURL not applying given ObjectMetadata by @LucasJC in #974
- Add S3Client objectExists support in S3Template by @Ziemowit in #978
- apply path-style-access-enabled config to CRT client by @chrisrhut in #872
Core
- Fix startup when only base starter is included in classpath. by @maciejwalkowiak in #955
SQS
- Add ContentBasedDeduplication option when sending SQS messages (#938) by @tomazfernandes in #987
Maintenance
New Contributors
- @iuliiasobolevska made their first contribution in #970
- @LucasJC made their first contribution in #974
- @Ziemowit made their first contribution in #978
- @chrisrhut made their first contribution in #872
Big thanks to all contributors! 🙂
Full Changelog: v3.0.3...v3.0.4
3.0.3
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.0.3/reference/html/index.html
What's Changed
SQS
- Add manual container instantiation sample by @mcruzdev in #788
- Add Validator setter in
EndpointRegistrar
by @maksym-telepchuk-ocado in #893 - Enhance
SqsAutoConfiguration
to use an availableObjectMapper
by @postalservice14 in #906 - Add acknowledgement mode on
@SqsListener
annotation by @jvcalassio in #870
S3
- Fix S3 file listing if the prefix resolves to slash by @klopfdreh in #912
- Add a method to check if bucket exists in
S3Template
by @straurob in #915 - Fix
S3Presigner
region resolution by @anappi-vc in #937
Parameter Store
- Adds array properties support to Parameter Store by @deki in #894
- Add option to set property prefix on Parameter Store property sources by @beccagaspard in #927
Secrets Manager
- Log reason why retrieving secrets failed. by @maciejwalkowiak in #928
SNS
- Set more detailed data type on
timestamp
attribute in SNS message. by @maciejwalkowiak in #932
Core
- Fixed
AwsClientCustomizer
to handleasyncHttpClientBuilder
properly by @mokamoto12 in #875
Documentation
- Update docs and labels to use correct casing for LocalStack by @tinyg210 in #895
- Fix link to index page from appendix. by @maciejwalkowiak in #930
Dependency Updates
- Upgrade Spring Cloud Commons to 4.0.4 by @straurob in #916
- Upgrade AWS SDK v2 to 2.21.12
- Upgrade Amazon DAX Client to 2.0.4
- Upgrade AWS CRT to 0.28.3
New Contributors
- @maksym-telepchuk-ocado made their first contribution in #893
- @postalservice14 made their first contribution in #906
- @tinyg210 made their first contribution in #895
- @straurob made their first contribution in #916
- @deki made their first contribution in #894
- @anappi-vc made their first contribution in #937
- @beccagaspard made their first contribution in #927
- @jvcalassio made their first contribution in #870
Full Changelog: v3.0.2...v3.0.3