Releases: awspring/spring-cloud-aws
3.4.0
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.4.0/reference/html/index.html
What's Changed
SQS
- Observability Support for SQS by @tomazfernandes in #1369
- Add auto-configuration for maxDelayBetweenPollsby @krutip7 in #1365
- ImmediateRetryAsyncErrorHandlerchanges msg visibility timeout to zero. (#1314) by @rafaelcgpava in #1370
- Rename bean producer method to a unique name in SqsManualAckSampleby @joseiedo in #1384
- Properly handle Errors in listeners by @isaacvando in #1383
- Add ExponentialBackoffErrorHandlerto manage message visibility timout by @brun0-4ugusto in #1381
DynamoDB
- Ability to override separator in DefaultDynamoDbTableNameResolverby @beccagaspard in #1380
Dependency Upgrades
- Upgrade AWS SDK to 2.31.54 and Localstack to 4.4.0 by @MatejNedic in #1402
- Upgrade to Spring Cloud 2025.0.0 and Spring Boot 3.5.0 by @MatejNedic in #1401
- Do not manage WireMock version. by @maciejwalkowiak in #1343
- Do not manage ByteBuddy version by @maciejwalkowiak in #1342
- Upgrade Jakarta mail versions by @MatejNedic in #1323
- Upgrade Wiremock to 3.13.0 by @MatejNedic in #1321
New Contributors
- @krutip7 made their first contribution in #1365
- @rafaelcgpava made their first contribution in #1370
- @shreyas957 made their first contribution in #1382
- @isaacvando made their first contribution in #1383
- @brun0-4ugusto made their first contribution in #1381
Full Changelog: v3.3.1...v3.4.0
v3.3.1
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.3.1/reference/html/index.html
What's Changed
S3
- Fix setting endpoint from connection details to S3Presignerby @maciejwalkowiak (#1390)
- Do not create S3 CRT client if aws-crt library is not on the classpath by @maciejwalkowiak (#1359)
- Set S3AsyncClientendpoint from Localstack if available in tests by @ofir-popowski in #1330
- Fix S3 AOT by movingaot.factoriesto correct path by @MatejNedic in #1335
- Fix the capitalization of property for S3EncryptionConditional.KmsKeyPropertyby @gbaso in #1337
- Polish S3 encryption docs. by @maciejwalkowiak in #1338
SQS
- Document SqsTemplate#sendMany()10-messages limitation by @shreyas957 (#1382)
- Fix documentation for sqs:GetQueueUrlaction by @PatrickGotthard (#1372)
- Document incompatibility of Spring Boot DevTools with @SqsListenerby @PatrickGotthard (#1348)
- Add SqsListenerargument resolver to extract the subject of an SNS message by @n-n-nebbl in #1318
Others
- Fix generating aggregated Javadocs. by @maciejwalkowiak in #1351
- Exclude ImdsAutoConfigurationfrom unrelated tests to speed up startup time by @maciejwalkowiak in #1394
- Fix: Include IMDS starter in parent pom. by @maciejwalkowiak in #1396
New Contributors
- @n-n-nebbl made their first contribution in #1318
- @ofir-popowski made their first contribution in #1330
- @gbaso made their first contribution in #1337
Full Changelog: v3.3.0...v3.3.1
3.3.0
Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.3.0/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:
- experimental support for GraalVM native image builds contributed by @MatejNedic
- 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)
- Add support for spring.config.importwith S3 backend by @kunalvarpe in #849
- 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 PropertySourcewith 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
- Add GraalVM native image support by @MatejNedic in #856 and #1297
- Add dualstack-enabledproperty toAwsClientProperties. by @maciejwalkowiak in #1294
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 S3EncrpytionClientby @MatejNedic in #1033
- S3OutputStreamcan 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
- Add a constructor to S3ProtocolResolver allowing its usage outside of Spring context by @klach-ocado in #1276
- Add support for spring.config.importwith S3 backend by @kunalvarpe in #849
- Specify Content-MD5 when generating presigned URL for uploading object (#1161) by @hardikSinghBehl in #1252
- Align S3ConfigDataLocationResolverresolving behavior with Spring Boot resolvers by @MatejNedic in #1299
SQS
- Propagate AWSTraceHeaderby @acomofcg in #1287
- Fix deserializing lists with @SnsNotificationMessageby @frjonsen in #1282
- Fix setting timeout in seconds in SqsTemplateby @joey in #1250
- Add more detailed error message for SQS exceptions in QueueAttributesResolverby @joseiedo in #1200
SNS
- SnsTemplateprovides functionality to validate topic existence (#1137) by @hardikSinghBehl in #1142
SecretsManager
- Fix AutoConfigureAfterforSecretsManagerAutoConfigurationby @marcindabrowski in #1235
Parameter Store
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
- Remove s3-transfer-managerfromspring-cloud-aws-dependenciesby @vchrisb in #1275
- Upgrade Spring Cloud to 4.2.0 by @abilng in #1290
- Upgrade AWS S3 Encryption Client to 3.3.0 by @MatejNedic in #1303
- Manage Testcontainers version through Spring Boot dependency management by @maciejwalkowiak in #1218
- Upgrade LocalStack to 3.8.1 by @maciejwalkowiak in #1217
- Upgrade Spring Modulith to 1.3 by @odrotbohm in #1317
- Upgrade AWS versions to 2.29.52 by @MatejNedic in #1320
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
- @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
- @odrotbohm made their first contribution in #1317
Full Changelog: v3.2.1...v3.3.0
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.importwith S3 backend by @kunalvarpe in #849
- Specify Content-MD5 when generating presigned URL for uploading object (#1161) by @hardikSinghBehl in #1252
- Align S3ConfigDataLocationResolverresolving behavior with Spring Boot resolvers by @MatejNedic in #1299
Core
- Add GraalVM native image support by @MatejNedic in #856 and #1297
- Add dualstack-enabledproperty toAwsClientProperties. by @maciejwalkowiak in #1294
SQS
- Propagate AWSTraceHeaderby @acomofcg in #1287
- Fix deserializing lists with @SnsNotificationMessageby @frjonsen in #1282
- Fix setting timeout in seconds in SqsTemplateby @joey in #1250
- Add more detailed error message for SQS exceptions in QueueAttributesResolverby @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-managerfromspring-cloud-aws-dependenciesby @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 PropertySourcewith 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 S3EncrpytionClientby @MatejNedic in #1033
- S3OutputStreamcan 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
- SnsTemplateprovides functionality to validate topic existence (#1137) by @hardikSinghBehl in #1142
SecretsManager
- Fix AutoConfigureAfterforSecretsManagerAutoConfigurationby @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 InMemoryBufferingS3OutputStreamwrongly appliescontentLengthtoUploadPartRequestcausing 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 getUrlreturn location of bucket if object is empty ornullby @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
- SqsMessageListenerContainerfails 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 @SnsNotificationpayload by @tomazfernandes in #1191
- Enable receiving messages from different message groups in the same batch for FIFO queues by @tomazfernandes in #1192
- Add BatchVisibilitylistener method parameter by @tomazfernandes in #1193
- Auto-configure default MessageConverterby @tomazfernandes in #1194
- Enable SqsMessagingMessageConverterto 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 getUrlreturn location of bucket if object is empty ornullby @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 @ServiceConnectionsupport. by @maciejwalkowiak in #1075
- Add LocalstackAwsClientFactoryto 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 SqsMessageListenerContainerandSqsMessageListenerContainerFactoryby @sefabal in #1102
S3
- Remove Cross Region S3 client. by @maciejwalkowiak in #1103
Core
- Add @NestedConfigurationPropertyto 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 SecretsManagerClienteven 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: QueueAttributesResolverthrows 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 @SnsNotificationMessageby @msosa in #898
- Simplify not adding type header when sending a message with SqsTemplate. (#659) by @levys17 in #1066
- Add support for Spring Retry BackOffPolicywhen 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 SqsMessageListenerContainerandSqsMessageListenerContainerFactory(#1102) by @sefabal
Simple Email Service`
- Add configurationSetNameconfiguration property by @thomas-burko in #1007
- Add fromArnconfiguration property @thomas-burko in #1026
Parameter Store and Secrets Manager
- Secrets Manager integration can be disabled by setting enablefield to false. by @maciejwalkowiak in #1009
- Parameter Store integration can be disabled by setting enablefield 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
- AnonymousCredentialsProvideris used now with by default when STS integration is enabled @MatejNedic in #1089
- Fixed property name StsProperties#asyncCredentialsUpdateby @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