Skip to content

Releases: aws/aws-cdk

v0.39.0

09 Jul 00:41
c3a3c88
Compare
Choose a tag to compare

Bug Fixes

  • codepipeline: mark crossRegionReplicationBuckets and crossRegionSupport as experimental. (#3226) (f8256e7)
  • assets: packages assets, aws-ecr-assets and aws-s3-assets are now experimental instead of stable

BREAKING CHANGES

  • codepipeline: Pipeline.crossRegionReplicationBuckets is now experimental
  • codepipeline: Pipeline.crossRegionSupport is now experimental
  • codepipeline: CrossRegionSupport is now experimental
  • assets: package assetsis now experimental instead of stable
  • aws-ecr-assets: package aws-ecr-assetsis now experimental instead of stable
  • aws-s3-assets: package aws-s3-assetsis now experimental instead of stable

v0.38.0

08 Jul 14:12
feac997
Compare
Choose a tag to compare

Bug Fixes

Features

  • use classes for structs in Python (#3232) (161a459)
  • codebuild: allow specifying principals and credentials for pulling build images. (#3049) (3319fe5), closes #2175

BREAKING CHANGES

  • codebuild: LinuxBuildImage.fromDockerHub() has been renamed to fromDockerRegistry() and WindowsBuildImage.fromDockerHub() has been renamed to fromDockerRegistry()
  • iam: aws-iam.User and Group: managedPolicyArns =>
    managedPolicies.
  • in all identifiers, renamed IPv4 => Ipv4, IPv6 =>
    Ipv6, AZs => Azs.

v0.37.0

04 Jul 20:32
c4bdb54
Compare
Choose a tag to compare

Bug Fixes

BREAKING CHANGES

  • core: construct.findChild() now only looks up direct children
  • ec2: Port.toRuleJSON was renamed to toRuleJson
  • codebuild: PipelineProject.addSecondaryArtifact now returns void (formerly any)
  • codebuild: Project.addSecondaryArtifact now returns void (formerly any)

v0.36.2

03 Jul 13:37
4b88621
Compare
Choose a tag to compare

Bug Fixes

  • cli: generate metadata resource for region-independent stacks (#3149) (0fb7ea3), closes #3142
  • cli: stop processing on metadata errors (#3168) (0936bde)
  • codepipeline: correctly pass the replication buckets to Action.bind() (#3131) (99ae5e7)
  • codepipeline: grant missing permisisons to the CloudFormationExecuteChangeSetAction. (#3178) (958acc2), closes #3160
  • codepipeline: grant the CodeCommit source Action read-write permissions to the Pipeline's Bucket. (#3175) (bd46e49), closes #3170
  • core: prevent volatile physical name generation (#2984) (af2680c)
  • ecs: remove temporary workaround for long arn support (#3072) (9fdb63f), closes #2176

Features

  • codedeploy: allow setting a Deployment Configuration for an imported Lambda Deployment Group. (#3158) (05a49f0)
  • iam: can configure 'deny' for policy statements (#3165) (6679e86)

v0.36.1

01 Jul 18:03
1ba8a14
Compare
Choose a tag to compare

Bug Fixes

  • aws-codepipeline-actions: use SecretValue (#3097) (b84caab)
  • cli: fix broken sample-app templates for TypeScript and JavaScript (#3101) (800ecf2)
  • cli: fix broken test in Java init template (#3108) (f696efc), closes #3065
  • cli: fix Python sample-app template (#3071) (796d6bb), closes #3058 #3069
  • cli: improve description of --json to reflect behavior (#3086) (68cfa54), closes #2965
  • cli: Python blank app should call app.synth(), not app.run() (16345dc), closes #3123
  • cli: update TypeScript lib init template (#3134) (629e963)
  • code: make CfnResource#_toCloudFormation null-safe (#3121) (71cb421), closes #3093
  • codepipeline-actions: set service as backing resource for EcsDeployAction (#3085) (f2293e0)
  • core: improve context providers error message for env-agnostic stacks (#3137) (5b80146), closes #2922 #3078 #3120 #3130
  • documentation: auto-labeling fixed (#3089) (7fb82ad)
  • documentation: removed duplicate generated template (#3090) (590b05c)
  • elasticloadbalancingv2: fix to be able to set deregistrationDelay (#3075) (22ab4b4)
  • events: correct token resolution in RuleTargetInput (#3127) (a20c841), closes #3119
  • sns: create subscriptions in consumer scope (#3065) (64a203f), closes #3064

Features

v0.36.0

25 Jun 15:05
6d38487
Compare
Choose a tag to compare

Bug Fixes

Code Refactoring

Features

BREAKING CHANGES

  • IMPORTANT: previous versions of the CDK CLI will not be fully compatible with this version of the framework and vice versa.
  • core: the @aws-cdk/cdk module was renamed to @aws-cdk/core, python: aws_cdk.core, java: the artifact cdk in groupId software.amazon.awscdk was renamed to core
  • all enum and public static readonly members have been renamed to use "ALL_CAPS" capitalization
  • properties throughout the AWS Construct Libraries that represent lengths of time have been re-typed to be @aws-cdk/cdk.Duration instead of number, and were renamed to exclude any unit indication.
  • core: The deprecated app.run() has been removed (use app.synth()).
  • core: The CfnResource.options property was renamed to CfnResource.cfnOptions to avoid conflicts with properties introduced by derived classes.
  • core CfnXxx.cfnResourceTypeName is now CFN_RESOURCE_TYPE_NAME in generated CFN resources.
  • core: ContextProvider is no longer designed to be extended. Use ContextProvider.getValue and ContextProvider.getKey as utilities.
  • core: Context.getSsmParameter has been removed. Use ssm.StringParameter.valueFromLookup
  • core: Context.getAvailabilityZones has been removed. Use stack.availabilityZones
  • core: Context.getDefaultAccount and getDefaultRegion have been removed an no longer available. Use the environment variables CDK_DEFAULT_ACCOUNT and CDK_DEFAULT_REGION instead.
  • core: StackProps.autoRun was renamed to StackProps.autoSynth.
  • core: CfnElement.refAsString renamed to ref of string type. The IResolvable version have been removed.
  • core: IStringValue renamed to IStringProducer
  • core: Include renamed to CfnInclude
  • core: Cfn prefix was added to the following types: CfnCreationPolicy, CfnResourceAutoScalingCreationPolicy, CfnResourceAutoScalingCreationPolicy, CfnDeletionPolicy, CfnUpdatePolicy, CfnAutoScalingRollingUpdate, CfnAutoScalingReplacingUpdate, CfnAutoScalingScheduledAction, CfnCodeDeployLambdaAliasUpdate, CfnTag CfnRuleAssertion, CfnDynamicReferenceProps
  • core: deepMerge is no longer exported.
  • core: CfnOutputProps.export was renamed to exportName.
  • core: CfnOutput all properties are now private
  • core: StringListCfnOutput has been removed
  • core: all instance methods of Fn were made static, and the Fn constructor was made private.
  • ec2: VpcNetworkProvider has been removed. Use Vpc.fromLookup.
  • ec2: ec2.MachineImage will now resolve AMIs from SSM during deployment.
  • ecs: ecs.EcsOptimizedAmi will now resolve AMis from SSM during deployment.
  • ecs: previously, the default generation is conditionally set to Amazon Linux v1 if hardwareType was STANDARD. Now it always de...
Read more

v0.35.0

19 Jun 17:10
c5e43e2
Compare
Choose a tag to compare

Bug Fixes

Code Refactoring

Features

  • cli: Expose props in CFN resources and remove propertyOverrides (#2372) (#2372) (aa61dfb), closes #2100
  • cli: deploy/destory require explicit stack selection if app contains more than a single stack (#2772) (118a716), closes #2731
  • cli: Remove stack rename support (#2819) (0f30e39), closes #2670
  • cloudformation: add option to restrict data returned AwsCustomResource (#2859) (a691900), closes #2825
  • cloudformation: Add removalPolicy on CustomResource (#2770) (859248a)
  • cloudfront: add Lambda associations (#2760) (b088c8c)
  • codepipeline: final form of the CodeBuild Pipeline action. (#2716) (c10fc9a)
  • core: show token creation stack trace upon resolve error (#2886) (f4c8dcd)
  • ecs: add metrics for Fargate services (#2798) (acf015d)
  • ecs-patterns: LoadBalancedFargateService - allow specifying containerName and role (#2764) (df12197)
  • elasticloadbalancing: add crossZone load balancing (#2787) (192bab7), closes #2786
  • lambda: Expose $LATEST function version (#2792) (55d1bc8), closes #2776
  • s3: add CORS Property to S3 Bucket (#2101) (#2843) (1a386d8)
  • s3: add missing storage classes and API cleanups (#2834) (5cd9609), closes #2708
  • stepfunctions: add grantStartExecution() ([#2793](https://github.com...
Read more

v0.34.0

10 Jun 15:37
523807c
Compare
Choose a tag to compare

Bug Fixes

  • build: Correct buildspec so it does not fail (#2737) (e362ac8)
  • certificatemanager: correct certificateArn typo in the README (#2712) (2bfc1c2)
  • cli: don't fail if region cannot be determined (#2721) (0c72ef3), closes #2697
  • cli: remove support for applets (#2691) (0997ee2)
  • cloudwatch: move SNS Alarm Action to aws-cloudwatch-actions (#2688) (e3df21a)
  • codebuild: grant the Project's Role permissions to the KMS Key if it was passed. (#2715) (4e12fe6)
  • core: apply overrides after rendering properties (#2685) (f2636e5), closes #2677
  • core: Make filterUndefined null-safe (#2789) (e4fb811), closes awslabs/jsii#523
  • ecs: remove LoadBalancedFargateServiceApplet, no longer supported (#2779) (a610017)
  • ecs-patterns: expose service on queue worker services (#2780) (6d83cb9)
  • pkglint: Adjust stability banner style (#2768) (da94d8b)
  • route53: support zone roots as record names (#2705) (08a2852)
  • stepfunctions: improve Task payload encoding (#2706) (1c13faa)

Code Refactoring

Features

BREAKING CHANGES

  • route53: recordValue: string prop in route53.TxtRecord changed to values: string[]
  • recordValue prop in route53.CnameRecord renamed to domainName
  • route53.AliasRecord has been removed, use route53.ARecord or route53.AaaaRecord with the target prop.
  • kms: The EncryptionKeyAlias class was renamed to Alias.
    Associated types (such as EncryptionKeyAliasProps) were renamed in the
    same way.
  • cli: This release requires CDK CLI >= 0.34.0
  • core: App.run() was renamed to App.synth() (soft deprecation, it will be removed in the next release).
  • core: node.stack is now Stack.of(construct) (fixes #2766)
  • core: node.resolve has been moved to stack.resolve.
  • core: node.stringifyJson has been moved to stack.stringifyJson.
  • core: node.validateTree is now ConstructNode.validate(node)
  • core: node.prepareTree is now ConstructNode.prepare(node)
  • core: node.getContext is now node.tryGetContext
  • core: node.recordReference is now node.addReference
  • core: node.apply is now node.applyAspect
  • core: node.ancestors() is now node.scopes
  • core: node.required has been removed.
  • core: node.typename has been removed.
  • core: node.addChild is now private
  • core: node.findReferences() is now node.references
  • core: node.findDependencies() is now node.dependencies
  • core: stack.dependencies() is now stack.dependencies
  • core: CfnElement.stackPath has been removed.
  • core: CloudFormationLang is now internal (use stack.toJsonString())
  • cloudwatch: using an SNS topic as CloudWatch Alarm Actxion now
    requires an integration object from the @aws-cdk/aws-cloudwatch-actions
    package.
  • event-targets: targets.EcsEc2Task renamed to targets.EcsTask
  • SNS - Subscription endpoint is now type string (previously any)
  • Step Functions - result in the Pass state is now type map (previously any)
  • the following modules are no longer released: @aws-cdk/applet-js, @aws-cdk/aws-autoscaling-api, @aws-cdk/aws-codedeploy-api
  • cli: applets are no longer supported as an app type, use "decdk" instead.
  • core: Properties passed to addPropertyOverride should match in capitalization to the CloudFormation schema (normally pascal case). For example, addPropertyOverride('accessControl', 'xxx') should now be addPropertyOverride('AccessControl', 'xxx').
  • rds: rds.RotationSingleUser renamed to rds.SecretRotation
  • rds: rds.ClusterParameterGroup no longer has setParameter() and removeParameter() methods, use the parameters prop directly in the constructor instead.

v0.33.0

30 May 15:46
50d71bf
Compare
Choose a tag to compare

IMPORTANT: apps created with the CDK version 0.33.0 and above cannot be used with an older CLI version.

Bug Fixes

  • core: Fn.cidr should return a list and not a string (#2678) (9d2ea2a), closes #2671
  • cli: fix ts-node usage on Windows (#2660) (5fe0af5)
  • cli: make cdk docs open the new API reference (#2633) (6450758)
  • cli: correctly pass build args to docker build (#2634) (9c58d6f)
  • core: hide dependencyRoots from public API (#2668) (2ba5ad2), closes #2348
  • autoscaling: move lifecycle hook targets to their own module (#2628) (b282132), closes #2447
  • codepipeline: no longer allow providing an index when adding a Stage to a Pipeline. (#2624) (ce39b12)
  • codepipeline-actions: correctly serialize the userParameters passed to the Lambda invoke Action. (#2537) (ceaf54a)
  • cx-api: improve compatibility messages for cli <=> app (#2676) (38a9894)
  • ecs: move high level ECS constructs into aws-ecs-patterns (#2623) (f901313)
  • logs: move log destinations into 'aws-logs-destinations' (#2655) (01601c2), closes #2444
  • s3: move notification destinations into their own module (#2659) (185951c), closes #2445

Features

BREAKING CHANGES

  • logs: using a Lambda or Kinesis Stream as CloudWatch log subscription destination now requires an integration object from the @aws-cdk/aws-logs-destinations package.
  • codepipeline-actions: removed the addPutJobResultPolicy property when creating LambdaInvokeAction.
  • cli: --interactive has been removed
  • cli: --numbered has been removed
  • cli: --staging is now a boolean flag that indicates whether assets should be copied to the --output directory or directly referenced (--no-staging is useful for e.g. local debugging with SAM CLI)
  • assets: Assets (e.g. Lambda code assets) are now referenced relative to the output directory.
  • assert: SynthUtils.templateForStackName has been removed (use SynthUtils.synthesize(stack).template).
  • cx-api: cxapi.SynthesizedStack renamed to cxapi.CloudFormationStackArtifact with multiple API changes.
  • core: cdk.App.run() now returns a cxapi.CloudAssembly instead of cdk.ISynthesisSession.
  • s3: using a Topic, Queue or Lambda as bucket notification destination now requires an integration object from the @aws-cdk/aws-s3-notifications package.
  • autoscaling: using a Topic, Queue or Lambda as Lifecycle Hook Target now requires an integration object from the @aws-cdk/aws-autoscaling-hooktargets package.
  • codepipeline: the property atIndex has been removed from the StagePlacement interface.
  • aws-ecs: These changes move all L3 and higher constructs out of the aws-ecs module into the aws-ecs-patterns module. The following constructs have been moved into the aws-ecs-patterns module: EcsQueueWorkerService, FargateQueueWorkerService, LoadBalancedEcsService, LoadBalancedFargateService and LoadBalancedFargateServiceApplets.
  • cloudwatch: rename leftAxisRange => leftYAxis, rightAxisRange => rightYAxis, rename YAxisRange => YAxisProps.

v0.32.0

24 May 10:58
ca6c342
Compare
Choose a tag to compare

Bug Fixes

  • update all 'onXxx' methods to be CloudWatch Events (#2609) (28942d2), closes #2278
  • appscaling: fix StepScaling (#2522) (1f004f6)
  • aws-ecs: allow linux parameters to be settable (#2397) (417e5e8), closes #2380
  • aws-glue: fix glue tableArn and integer schema name (#2585) (99e173e)
  • cdk: CfnMapping.findInMap with tokens (#2531) (756e2b6), closes #1363
  • cloudfront: Use regional endpoint for S3 bucket origins (64c3c6b)
  • codebuild: correctly pass the VPC subnet IDs to the Policy Statement's condition when using a VPC. (#2506) (145da28), closes #2335
  • codecommit: add a Repository.fromRepositoryName() method. (#2515) (6fc3718), closes #2514
  • codedeploy: change the load balancer API in server Deployment Group. (#2548) (8e05d49), closes #2449
  • codepipeline: correctly validate Artifacts used by Actions in the same Stage. (#2558) (cfe46f6), closes #2549
  • core: Correctly search for loaded modules in node 12 (#2612) (286866a), closes nodejs/node#27583
  • ec2: allow disabling privateDnsEnabled on VPCs (#2596) (4d2fbe9), closes #2556
  • ec2: fix VPC endpoint name for SageMaker Notebooks (#2598) (aec8ec2)
  • iam: allow CompositePrincipal construction with spread (#2507) (eb13741)
  • lambda: compare Runtimes by value instead of identity (#2543) (584579e)
  • lambda: deprecate old Lambda runtimes (#2594) (20f4ec1)
  • route53-targets: move Alias Targets into their own package (#2617) (f40fe98), closes #2448
  • s3: Make IBucket.arnForObject accept only (exactly) one key pattern (5ac6e77)

Code Refactoring

Features

BREAKING CHANGES

  • route53-targets: using a CloudFront Distribution or an ELBv2
    Load Balancer as an Alias Record Target now requires an integration
    object from the @aws-cdk/aws-route53-targets package.
  • s3: The IBucket.arnForObject method no longer
    concatenates path fragments on your behalf. Pass the /-concatenated
    key pattern instead.
  • All export methods from all AWS resources have been removed. CloudFormation Exports are now automatically created when attributes are referenced across stacks within the same app. To export resources manually, you can explicitly define a CfnOutput.
  • kms: kms.EncryptionKey renamed to kms.Key
  • ec2: ec2.VpcNetwork renamed to ec2.Vpc
  • ec2: ec2.VpcSubnet renamed to ec2.Subnet
  • cloudtrail: cloudtrail.CloudTrail renamed to cloudtrail.Trail`
  • Deleted a few XxxAttribute and XxxImportProps interfaces which were no longer in used after their corresponding export method was deleted and there was no use for them in imports.
  • ecs: ecs.ClusterAttributes now accepts IVpc and ISecurityGroup instead of attributes. You can use th...
Read more