-
-
Notifications
You must be signed in to change notification settings - Fork 310
Release Notes
Spring Cloud AWS 2.3 is compatible with Spring Boot 2.4 and Spring Cloud 2020.0. It's a first release in the new community driven organisation awspring
- which means that module group ids and package names have changed from org.springframework.cloud.aws
to io.awspring.cloud
.
Find most important changes organised by Spring Cloud AWS module:
ClientConfiguration
used when initializing AWS clients, can be now defined by creating a bean with name "com.amazonaws.ClientConfiguration.BEAN_NAME".
It’s also possible to provide ClientConfiguration for particular integration by defining a bean of type ClientConfiguration
and a name specific to the integration, for example for SQS client, the bean name must be sqsClientConfiguration
.
In order to speed up startup times applications that do not use EC2 instance data, ContextInstanceDataAutoConfiguration
is disabled by default. To enable it, set cloud.aws.instance.data.enabled
to true
.
AWS SDK has been upgraded to 1.11.951
For each integrated AWS service you can configure Spring Cloud AWS to use a custom endpoint using configuration properties. For example:
cloud.aws.s3.endpoint=http://localhost:4566
cloud.aws.sqs.endpoint=http://localhost:4566
cloud.aws.rds.endpoint=http://localhost:4566
Using custom endpoint can be especially useful when using Localstack in integration tests.
XML Configuration is now deprecated and is going to be removed in the major version upgrade.
In addition to global region configuration, each integration can have a different region set statically. Read More
@EnableXXX
annotations have been deprecated. We recommend using Spring Boot auto-configurations.
Each service can be now enabled/disabled with enabled
property.
DefaultAWSCredentialsProvider
and DefaultAWSRegionProviderChain
are used now by default. cloud.aws.credentials.use-default-aws-credentials-chain
and cloud.aws.region.use-default-aws-region-chain
properties were dropped.
To simplify project setup for applications that do not use CloudFormation support, CloudFormation related auto-configurations have been disabled by default. To enable CloudFormation support in Spring Cloud AWS you must add following dependency that will trigger ContextStackAutoConfiguration
:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-cloudformation</artifactId>
</dependency>
SES support has been extracted from context
module to separate spring-cloud-aws-ses
module. There is also a dedicated starter spring-cloud-aws-ses-starter
.
Spring Cloud AWS comes with basic support for AWS Cognito, simplifying configuring OAuth2. Read More
- Support loading properties through
spring.config.import
introduced in Spring Cloud 2020.0 Read More - Dropped the dependency to
javax.validation:validation-api
- Support loading properties through
spring.config.import
introduced in Spring Cloud 2020.0 Read More - Removed the dependency to auto-configure module #526
- Dropped the dependency to
javax.validation:validation-api
- Allow Secrets Manager prefix without "/" in the front #736
-
SimpleMessageListenerContainer#isQueueRunning
method is now visible to extending classes. #350 - Added support for SQS custom data types #410
- Added support for native SQS messages in
SqsListener
argument #295 - Added global configuration for message deletion policy #188
- Fixed queue listener graceful shutdown by increasing queue stop time to 20 seconds.
queueStopTimeout
can be configurable via SimpleMessageListenerContainerFactory #504 #507 - Added support for primitives and no specific data type in SQS message attributes. #221 #374
- Added support for resolving
SqsMessageHeaders
inSqsListener
. AddedApproximateFirstReceiveTimestamp
,ApproximateReceiveCount
andSentTimestamp
headers #296 - SQS listeners by default instead of creating custom
ObjectMapper
instance, use one present in the application context #533, #522, #540 - Add support for SQS FIFO queues #40
SimpleStorageResource
sets content-type
property on the S3 object metadata #262
-
@NotificationMessageMapping
handles properly special characters #645 - Support String Array SNS messageAttributeDataType #368
Make RDS instance name configuration more flexible. For example, for instance name test
, instead of setting cloud.aws.rds.test.username=user
property you must now set:
cloud.aws.rds.instances[0].db-instance-identifier=test
cloud.aws.rds.instances[0].username=user
Removed spring-cloud-aws-actuator
module. Instead we recommend using the dependency to micrometer-registry-cloudwatch
directly. #571