NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1502 most downloaded on PyPI
Version 2 of the AWS Cloud Development Kit library
Last release 4 days ago
30 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
6 years old
403 releases · first in 2021
One column per quarter.
AppSync: addRdsDataSource support for DatabaseCluster (#29544) (1894f2d), closes #29302
UserPoolIdentityProviderSaml (#29588) (375f1a6), closes #29494 #29598AwsSdkCall and create Logging class (#29648) (b049064)DNSSEC zone signing (#28604) (213fffc)installLatestAwsSdk breaks Security Group reference (#29620) (ece7eb6), closes #23796 /github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-globalaccelerator/lib/_accelerator-security-group.ts#L32IdentityPoolProviderUrl.userPool() has been changed from url: string to userPool: UserPool, userPoolClient: UserPoolClient. If you want to specify custom identifier string, use IdentityPoolProviderUrl.custom() instead.assertions: add stack tagging assertions (#29247) (72f189d), closes #27620
NatInstanceProviderV2 improvements (#29729) (4eb02a4), closes #29720BucketDeployment fails when bootstrap stack's StagingBucket is encrypted with customer managed KMS key (#29540) (0b429fb), closes #25100 #25100 #25100chore(ec2): update WindowsVersions enum (#29737) (0e9d5ca), closes #29736
rds: specify PreferredMaintenanceWindow in reader or writer props (#29686) (615ee2d), closes #29687
LambdaAction fails if added to multiple action types (#29515) (a12887b), closes #29514lambda: adding support for Ruby3.3 lambda runtime
update L1 CloudFormation resource definitions
WebSocketIntegration props (#29566) (7534dcd), closes #29562cdk destroy (#27921) (f0d1d67), closes #27179denyAllIgwTraffic and clientRoutingPolicy for NLB (#29521) (7fe8ad3), closes #29520secret.grantRead() invokes when using DataAPI with Aurora cluster (#29399) (bc9d0b4), closes #29362 /github.com/aws/aws-cdk/pull/29338#discussion_r1512026791cdk diff stack deletion causes a race condition (#29492) (067539a), closes #29265cdk destroy" (#29577) (f60e6e9), closes aws/aws-cdk#27921 40aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts#L190 /github.com/aws/aws-cdk/blob/07ce8ecc42782475d099b89944571375341c28d3/packages/aws-cdk/lib/api/cxapp/cloud-executable.ts#L86CLI: improved nested stack diff
securityGroups in NetworkLoadBalancedFargateService (#29431) (00e8a7b), closes #29430 /github.com/aws/aws-cdk/pull/29186#issuecomment-1959231406cdk ls returns stack id instead of stack display name (#29447) (77189be), closes #29420cli: cdk ls returns stack id instead of stack display name (#29447) (effad1c), closes #29420
autoscaling: add support for InstanceRefresh suspended process
executionMode property for Pipeline (#29148) (3bb2944), closes #29147integ.alb-ecs-service-command-entry-point (#29333) (6a69d5b), closes /github.com/aws/aws-cdk/pull/29186#issuecomment-1959231406DatabaseCluster.instanceEndpoints doesn't include writer endpoint (#29337) (ca59616), closes #29279redrivePermission is set to byQueue no matter what value is specified (#29130) (aa8484a), closes #29129 #29129apigatewayv2-integrations: stepfunctions integration (#28982) (19d75d6), closes #28904
environmentVariables property for GraphqlApi (#29064) (f0af5b1)grant method to the imported GraphqlApi (#29086) (7e8239b), closes #23031description to exportValue and exportStringListValue methods (#29150) (2e080fe), closes #29092Python_3_12 instead of Python_3_7 lambda runtime (#29305) (8d07b85)Tags.of() (#28989) (7a4c189)autoscalingGroup attribute does not exist on ImportedCluster (#29244) (98b9bf2), closes #29241custom-resources-handlers: s3 deployment handler log injection vulnerability (#28599) (83aa395), closes #28469
update L1 CloudFormation resource definitions
launchType property for ECS task (#29069) (b4daf84), closes #28990Ipv6AllowedforDualStack support for Lambda function (#28928) (90caad9)lambda: @deprecated tag to deprecated runtimes
TableWidget (#29078) (4599aa3), closes #28975grant methods to IEmailIdentity (#29084) (c3c771c), closes #29083stagingBucketEncryption property is now required. For existing apps, specify BucketEncryption.KMS to retain existing behavior. For new apps, choose the bucket encryption that makes most sense for your use case. BucketEncryption.S3_MANAGED is available and is intended to be the default when this module is stabilized.stagingBucketEncryption and note that we intend to default to S3_MANAGED in the future (#28978) (fc8b955), closes #28815 #28903 /github.com/aws/aws-cdk/pull/28978#issuecomment-1930007176SageMakerStartPipelineExecution Target (#28927) (db260b0), closes #27457appconfig: deprecate deploy method
idleTimeout and perRequestTimeout for service connect (#28877) (ffcae2f)healthCheck property for ApplicationLoadBalancedFargateService (#28797) (5996856), closes #28796ipv6AssignAddressOnCreation is set to true (#28902) (9de77bb), closes /github.com/aws/aws-cdk/issues/28843#issuecomment-1909006632 #28843--from-stack does not retrieved processed template (#29035) (74c4c6f)migrate: Add CDK Migrate --from-scan functionality
revert deprecation of logRetention properties (#28934) (f89a7d2), closes #28919
evaluationPeriods and datapointsToAlarm for step scaling policy (#28880) (4034adb)logRetention properties (#28934) (f89a7d2), closes #28919--language <language> to be interpreted as a language as well. This prevented passing a test name after providing cli options. To overcome this limitation, integ-runner now requires an explicit --language option for each language you want to include: integ-runner --language javascript --language python. This was already documented that way and always the intended way to use this feature.update L1 CloudFormation resource definitions (#28878) (98cea43), closes /docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create
Wait (#28830) (7a30f5d), closes #28831core: custom resources deprecate logRetention in favor of logGroup (#28783) (ea34c89), closes #28737
datapointsToAlarm property for step scaling policy (#28792) (baf2bfb), closes #28749logRetention in favor of logGroup (#28783) (ea34c89), closes #28737cdk diff is not clear enough about using read-only change sets (#28741) (bb50f97)AWS_CODEGURU_PROFILER properties when creating Amazon CodeGuruProfiler profiling group (#28762) (2511956), closes #23511lambda: deprecate logRetention properties in favor of logGroup
FileSystem (#28719) (03c08b0), closes #28720logRetention properties in favor of logGroup (#28737) (4a09720)deploymentStrategyId prop in fromDeploymentStrategyId now takes a DeploymentStrategyId rather than a string. To import a predefined deployment strategy id, use DeploymentStrategyId.CANARY_10_PERCENT_20_MINUTES. Otherwise, use DeploymentStrategyId.fromString('abc123').ApplicationProps.name renamed to ApplicationProps.applicationName
EnvironmentProps.name renamed to EnvironmentProps.environmentNameDeploymentStrategyProps.name renamed to DeploymentStrategyProps.deploymentStrategyNameExtensionProps.name renamed to ExtensionProps.extensionNameallowing log group config for SFN CR (#28699) (f3f217e), closes #27310
ec2: add dual stack vpc support (#28480) (754fd99), closes #894
ecs: support for capacity provider managed instance draining
certificatemanager: key algorithm support for PrivateCertificate and Certificate (#28597) (1822cc9), closes #22887
PrivateCertificate and Certificate (#28597) (1822cc9), closes #22887cdk diff falsely reports resource replacements on trivial template changes (#28336) (10ed194)appsync: IntrospectionConfig property (#28500) (98ed6b3), closes #28429
InstanceRequirements property (#28464) (276e3a6), closes #28393CacheControl (#28491) (a59dc0c), closes #25477interactive option in ContainerDefinitionOptions (#28536) (1f9788f), closes #24326timeout and timeoutAction properties to ServerlessCluster (#28534) (508825b), closes #27183timeout parameter for EmrCreateCluster (#28532) (ca91626), closes /github.com/aws/aws-cdk/pull/28529#discussion_r1438587964cfn-glue-table-tableinput-parameters to Glue table construct (#27643) (8e15482)update L1 CloudFormation resource definitions (#28489) (607dccb), closes /docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#cr
Error: Cannot find module '../dist/core/<file>.generated' (#28467) (cd54c42), closes #28251 #28465ApplicationMultipleTargetGroupsEc2Service ignores load balancer name (#28394) (9c0fecf), closes #23535core: core constructs fail with Error: Cannot find module '../dist/core/ .generated' (#28467) (e8be128), closes #28251 #28465
apigateway: validate integrationHttpMethod with non-MOCK integration types
annotations.ts can show up as [object Object] (#28414) (3e6f10d)AnyPrincipal fails (#27787) (0b2ba1c), closes #27783eks: support Bottlerocket Nvidia AMIs (#28287) (6aa1b1b), closes #28241
metricSentToDLQTrunacted to metricSentToDLQTruncated and metricAllSentToDLQTrunacted to metricAllSentToDLQTruncated.route53: delete old NS records on cross-account delegation renaming (#21249) (#27523) (8c38a3a), closes #25285
rds: grantConnect method enables iam auth to rds cluster
KinesisDataFirehosePutRecord Target (#27842) (46f3a00), closes #27450KinesisStreamPutRecord Target (#27845) (47a09b5), closes #27451msk-alpha: MSK Kafka versions 2.8.2.tiered and 3.5.1 and StorageMode property
apigatewayv2: graduate to stable 🚀
cdk diff throws toUpperCase is not a function when ipProtocol is a number (#28023) (182bafc), closes #28021InvocationType property from REQUEST_RESPONE to REQUEST_RESPONSEInspectorStartAssessmentRun Target (#27850) (073958f), closes #27453SnsPublish scheduler target (#27838) (ff203a1), closes #27459ap-southeast-1 (#28112) (0ee4199), closes #28108aws-logs: add LogGroupClass property to AWS::Logs::LogGroup
cli: hotswap cannot evaluate nested stacks within nested stacks
lambda: support for advanced logging
"chore(cdk): boostrap template uses deprecated AccessControl property" (#27939) (093c4ed), closes aws/aws-cdk#27764
AmazonLinuxImage construct generates incorrect SSM parameter name for AL2023 images (#27698) (f6c1e62), closes /github.com/aws/aws-cdk/blob/d0d75478e1cf3bb9a06f33642b9a06fc68d0c99d/packages/aws-cdk-lib/aws-ec2/lib/machine-image/amazon-linux2.ts#L77-L84 /github.com/aws/aws-cdk/blob/d0d75478e1cf3bb9a06f33642b9a06fc68d0c99d/packages/aws-cdk-lib/aws-ec2/lib/machine-image/amazon-linux-2023.ts#L59-L66 #27638elasticloadbalancingv2: access logging fails on imported bucket (#27948) (8243601), closes #27928
lambda: add python 3.12 runtime
### Features * lambda: node20 runtime (#27897) (a5acd0f) --- ## Alpha modules (2.107.0-alpha.0)
"chore(cdk): boostrap template uses deprecated AccessControl property" (#27939) (bede2d1), closes aws/aws-cdk#27764
cloudformation-diff: use awscdk-service-spec as data source
Environment.fromEnvironmentAttributes function signature changed; property called attr is now attrs. This should affect only Python users.
Extension.fromExtensionAttributes function signature changed; property called attr is now attrs. This should affect only Python users.lambda: new lambda runtime provided.al2023
apigateway: add useDefaultMethodResponses property for StepFunctionsIntegrations (#27645) (22a3234), closes #27520
federated-user and assumed-role for Cloud9 environment ownership (#27001) (00d2ff2)"fix(pipelines): using the same source (s3, connection, or codecommit) in a pipeline causes duplicate id error" (#27700) (47db081), closes aws/aws-cdk
cli: support Fn::ImportValue intrinsic function for hotswap deployments
Fn::ImportValue intrinsic function for hotswap deployments (#27292) (a54ea0f)ec2.InitFile.fromAsset() on multiple instances in the same stack (#27468) (fc3be31), closes #16891 /github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-ec2/lib/cfn-init-elements.ts#L427region-info: adding missing regions for kinesisfirehose (#27672) (46372e0), closes #27656
custom-resources: custom resource provider can't exceed 1 hour (#27533) (b655b08), closes #24974
"fix(s3): grantRead does not allow s3:HeadObject (#27416)"
ec2: Add SubnetFilter for CIDR Range (#27425) (b1ce47b), closes #27421
ExecutionParameters to AthenaStartQueryExecution (#27287) (3fc86ca), closes #27286SparkUIProps.prefix strings in the original /prefix-name format will now result in a validation error. To retain the same behavior, prefixes must be changed to the new prefix-name/ format.aws-cdk-lib: reduce JavaScript load time, second attempt (#27362) (0bb49b4), closes #27314 #27353
cdk import stable (#27390) (1057ef0)### Bug Fixes * load time regression (#27314) (fca5a73) --- ## Alpha modules (2.99.1-alpha.0)
rds: prevent rendering deprecated credentials when creating a database cluster from a snapshot (under feature flag) (#27174) (1fd22a7), closes #23815
"feat(core): Schedule class" (#27284) (e2fc724), closes aws/aws-cdk#27105 #27259
Schedule class" (#27284) (e2fc724), closes aws/aws-cdk#27105 #27259appsync: Standalone L2 construct for SourceApiAssociation (#27121) (7b9652e), closes #27025 #26986
Schedule class (#27105) (a8f0a71), closes #19197 #27052 #27012end time must also have a start time (#27124) (097bd0f), closes /github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-cloudwatch/lib/graph.ts#L245-L247start and end times, including relative values (#26969) (2866240), closes #26945validateRepositoryName errors human readable (#27186) (e15d0c0), closes #26715custom-resources: does not accept strings where numbers are expected, skips recursive types
"chore(ecs): clarify it's possible to use image digest on fromEcrRepository" (#27143) (049153e), closes aws/aws-cdk#27115
batch: Stabilize Batch (#27059) (5fc707a), closes #27054
dynamodb: update CfnGlobalTable in TableV2 constructor to use this instead of scope (#27075) (afd3890), closes #27062
dynamodb: TableV2 supports imports, drift detection, and better control over replicas
CrossAccountZoneDelegationRecord is still using Node 16 (#26980) (d69c51a), closes #26212 #26593 #26976Your coding agent can read these notes before it upgrades. Set up the MCP server →