Reference documentation
📗 https://docs.awspring.io/spring-cloud-aws/docs/4.0.0-M1/reference/html/index.html
What's Changed
Spring Cloud AWS 4.0.0-M1 introduces compatibility with Spring Boot 4.0.0 and Spring Cloud 5.0.0. This milestone brings extensive improvements across SQS, SNS, S3, DynamoDB, and Kinesis, and marks the major merger of Spring Integration AWS into Spring Cloud AWS, a significant achievement that unifies the ecosystem and brings Spring Integration support directly into the project. It also includes substantial dependency upgrades.
Migration Guide
Since Spring Cloud AWS only supports Jackson 2 for now, you will either have to include the spring-boot-jackson2 dependency or create an ObjectMapper Bean. Auto-configuration will pick up the Jackson 2 ObjectMapper and configure the classes accordingly. In future releases, we will be supporting Jackson 3.
SQS
- Support of handling multiple different objects by same
@SqsListeneris now possible by using@SqsHandlerannotation by @joseiedo in #1377 - Support for SNS message payload and metadata is now possible with
SnsNotification@chomatdam in #1419 - Add Error Handler Exponential and Linear Strategies by @brun0-4ugusto in #1422
- Support for toggling
SqsListenerstarting up on context startup withspring.cloud.aws.sqs.listener.auto-startupby @techadri in #1435 - Add SemaphoreBackPressureHandler as an optional fallback by @tomazfernandes in #1524
- Dynamically configure SemaphoreBackPressureHandler with BackPressureLimiter (#1251) by @loicrouchon in #1308
- Refine BackPressureHandlerFactories API; clarify backpressure by @tomazfernandes in #1469
- Consolidate ExponentialErrorHandlers by @tomazfernandes in #1474
- Introduce automatic SQS request batching support component: sqs by @khc41 in #1438
- fix: Visibility Timeout Extension for Fifo message Batches by @marcotesche in #1432
- fix: future is cleaned now on exception failure by @dzmitry-dulko in #1455
- Fix
maxMessagesPerPollvalidation message inAbstractContainerOptionsby @richardfearn in #1480 - Fix: remove failed queue attributes from cache by @LeeHyungGeol in #1491
SQS Integration
- Add Spring Integration channel adapter for SQS by @artembilan in #1467
DynamoDb Integration
- Add Spring Integration support for AWS DynamoDB by @artembilan in #1458
SNS Integration
- Add Spring Integration channel adapters for SNS by @artembilan in #1473
DynamoDb
- Enhance DefaultDynamoDbTableNameResolver with caching and improved table name resolution by @marcusvoltolim in #1464
- Implement DynamoTemplate update partial using UpdateItemEnhancedRequest by @marcusvoltolim in #1448
- Introduce conditional save, update and delete operation support for DynamoDB entities. Fixes #gh-1147 by @vyomrastogi in #1371
S3
- Introduce listAllObjects method to S3Template by @Tooa in #1443
- S3 vector client autoconfiguration by @MatejNedic in #1425
S3 Integration
- Add Spring Integration for S3 support by @artembilan in #1476
Kinesis Integration
- Introduce Spring Integration for Kinesis support by @artembilan in #1479
- Add Kinesis Producer Library with Spring Integration by @artembilan in #1493
- Add Spring Integration support with KCL by @artembilan in #1496
STS
- Configure STS Credentials provider only if either
spring.cloud.aws.stsproperties, system property or environment variable is set. by @maciejwalkowiak in #1444
SES
Aligh sending message with multiple MimeMessagePreparators with default implementation in JavaMailSender by @maciejwalkowiak #1503
Parameter Store
- Custom exceptions are now logged by Spring Cloud AWS instead of Spring Core by @MatejNedic #1309
Core
- Delete deprecated
AwsClientCustomizerand it's usages. by @maciejwalkowiak in #1410
Dependency Upgrades
- Upgrade to Spring Boot 4.0.0 and Spring Cloud 5.0.0 by @MatejNedic in #1521
- Upgrade to Spring Boot 4.0.0-M1 and Spring Cloud 5.0.0-M1. by @maciejwalkowiak in #1413
- Upgrade AWS sdk to 2.39.0 and dax to 2.0.6 by @MatejNedic in #1525
- Fix compilation issues and imports after upgrading to Spring Boot 4.0 by @maciejwalkowiak in #1445
- Fix: add missing 'spring-cloud-aws-starter-imds' module in the project's BOM (#1484) by @olbat in #1488
- Delete .DS_Store by @Rattiel in #1437
Documentation
- Update SQS DOCs with latest change by @MatejNedic in #1431
- Add docs for Spring Integration DynamoDB support by @artembilan in #1472
- IMDS doc fix by @DennisRippinger #1518
New Contributors
- @chomatdam made their first contribution in #1419
- @marcotesche made their first contribution in #1432
- @Rattiel made their first contribution in #1437
- @marcinfigiel made their first contribution in #1440
- @dependabot[bot] made their first contribution in #1434
- @artembilan made their first contribution in #1458
- @loicrouchon made their first contribution in #1308
- @dzmitry-dulko made their first contribution in #1455
- @marcusvoltolim made their first contribution in #1464
- @vyomrastogi made their first contribution in #1371
- @richardfearn made their first contribution in #1480
- @olbat made their first contribution in #1488
- @LeeHyungGeol made their first contribution in #1491
- @khc41 made their first contribution in #1438
Full Changelog: v3.4.0...v4.0.0-M1