Releases: awspring/spring-cloud-aws
2.3.0-RC2
Spring Cloud AWS 2.3 RC2 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:
Core
Configurable ClientConfiguration
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
.
Speed-up Startup Time
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 Version Upgrade
AWS SDK has been upgraded to 1.11.951
Configurable endpoint for each integration
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.
Deprecate XML configuration
XML Configuration is now deprecated and is going to be removed in the major version upgrade.
Configurable region for each integration
In addition to global region configuration, each integration can have a different region set statically. Read More
Deprecate @EnableXXX
annotations
@EnableXXX
annotations have been deprecated. We recommend using Spring Boot auto-configurations.
Simplify disabling integrations
Each service can be now enabled/disabled with enabled
property.
Simplify SDK configuration
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.
CloudFormation
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
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
.
Cognito
Spring Cloud AWS comes with basic support for AWS Cognito, simplifying configuring OAuth2. Read More
Parameter Store
- Support loading properties through
spring.config.import
introduced in Spring Cloud 2020.0 Read More - Dropped the dependency to
javax.validation:validation-api
Secrets Manager
- 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
SQS
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
S3
SimpleStorageResource
sets content-type
property on the S3 object metadata #262
SNS
@NotificationMessageMapping
handles properly special characters #645- Support String Array SNS messageAttributeDataType #368
RDS
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
CloudWatch
Removed spring-cloud-aws-actuator
module. Instead we recommend using the dependency to micrometer-registry-cloudwatch
directly. #571
Spring Cloud AWS 2.3.0-RC1
v2.3.0-RC1 Add Upload docs step to release workflow