Skip to content

Releases: aws/aws-cdk

v0.25.2

07 Mar 22:51
558d81f
Compare
Choose a tag to compare

Bug Fixes

  • awslint: Don't fail if the @aws-cdk/cdk module is not present (#1953) (929e854)
  • cdk-integ: Update cdk-integ to use new context file (#1962) (dbd2401)
  • cloudfront: allow IBucket as CloudFront source (855f1f5), closes #1946
  • cloudfront: pass viewerProtocolPolicy to the distribution's behaviors (#1932) (615ecd4)
  • eks: remove 'const' from NodeType enum (#1970) (ac52989), closes #1969
  • init: update the C# init sample with the new App API (#1919) (02f991d)

Features

v0.25.1

05 Mar 00:35
Compare
Choose a tag to compare

Bug Fixes

v0.25.0

28 Feb 12:07
54b5da1
Compare
Choose a tag to compare

Bug Fixes

  • toolkit: Don't collect runtime information when versionReporting is disabled (#1890) (f827a88)
  • aws-codepipeline: update CFN example. (#1653) (5dec01a)
  • aws-s3-deployment: add setup.cfg to fix pip install bug on mac (#1826) (759c708)
  • cdk: move apply() from Construct to ConstructNode (#1738) (642c8a6), closes #1732
  • cloudtrail: addS3EventSelector does not expose all options (#1854) (5c3431b), closes #1841
  • cloudtrail: Invalid resource for policy when using sendToCloudWatchLogs (#1851) (816cfc0), closes #1848
  • cloudwatch: fix name of 'MetricAlarmProps' (#1765) (c87f09a), closes #1760
  • codebuild: accept IRole instead of Role (#1781) (f08ca15), closes #1778
  • codedeploy: LambdaDeploymentGroup now takes IRole (#1840) (f6adb7c), closes #1833
  • codepipeline: allow providing Tokens as the physical name of the Pipeline. (#1800) (f6aea1b), closes #1788
  • core: improve error message if construct names conflict (#1706) (0ea4a78)
  • core: performance improvements (#1750) (77b516f)
  • ecs: rename capacity adding methods (#1715) (e3738ac)
  • elbv2: explicitly implement IApplicationTargetGroup (#1806) (828a2d7), closes #1799
  • init: add new parameter to C# example (#1831) (c7b99d8)
  • kms: have EncryptionKeyBase implement IEncryptionKey (#1728) (49080c6)
  • lambda: Add 'provided' runtime (#1764) (73d5bef), closes #1761
  • lambda: add region check for environment variables (#1690) (846ed9f)
  • ssm: Generate correct SSM Parameter ARN (#1726) (39df456)
  • toolkit: correctly reset context from the shell command (#1903) (58025c0)
  • toolkit: correcty load cdk.json file without context (#1900) (7731565)
  • toolkit: ignore hidden files for 'cdk init' (#1766) (afdd173), closes #1758
  • toolkit: only fail if errors are on selected stacks (#1807) (9c0cf8d), closes #1784 #1783
  • toolkit: support diff on multiple stacks (#1855) (72d2535)
  • build: Npm ignores files and folders named "core" by default (#1767) (42876e7), closes npm/npm-packlist#24
  • core: stack.partition is never scoped (#1763) (c968588)

Features

  • apigateway: add support for MethodResponse to aws-apigateway. (#1572) (46236d9)
  • autoscaling: bring your own IAM role (#1727) (2016b8d), closes #1701
  • aws-eks: add construct library for EKS (#1655) (22fc8b9), closes #991
  • cfnspec: manually add VPCEndpointService (#1734) (f782958), closes #1659
  • codebuild: add support for setting the gitCloneDepth property on Project sources. (#1798) (5408a53), closes #1789
  • core: Add construct.node.stack attribute (#1753) (a46cfd8), closes #798
  • dynamodb: partitionKey and sortKey are now immutable (#1744) (63ae0b4)
  • ecs: allow ECS to be used declaratively (#1745) (2480f0f), closes #1618
  • kms: Allow opting out of "Retain" deletion policy (#1685) (7706302)
  • lambda: allow specify event sources in props (#1746) (a84157d)
  • lambda-event-sources: "api" event source (#1742) (5c11680)
  • route53: Convenience API for creating zone delegations (#1853) (f974531), closes #1847
  • sns: Support raw message delivery (#1827) (cc0a28c)
  • ssm: allow referencing "latest" version of SSM parameter (#1768) (9af36af), closes #1587
  • toolkit: improve docker build time in CI (#1776) (1060b95), closes #1748
  • codepipelines: re-structure the CodePipeline Construct library API. (#1590) (3c3db07)
  • decdk: Prototype for declarative CDK (decdk) (#1618) (8713ac6)

BREAKING CHANGES

  • cloudtrail: The CloudTrail.addS3EventSelector accepts an options
    object instead of only a ReadWriteType value.
  • codedeploy: If an existing role is provided to a LambdaDeploymentGroup,
    you will need to provide the assuming service principal (codedeploy.amazonaws.com)
    yourself.
  • core:$$** 'Aws' class returns unscoped Tokens, introduce a
    new class 'ScopedAws' which returns scoped Tokens.
  • ssm: Rename parameter.valueAsString =>
    parameter.stringValue, rename parameter.valueAsList =>
    parameter.stringListValue, rename ssmParameter.parameterValue =>
    ssmParameter.stringValue or ssmParameter.stringListValue depending
    on type, rename secretString.value => secretString.stringValue,
    rename secret.toSecretString() =>secret.secretString
  • cloudwatch: Rename 'MetricAarmProps' => 'MetricAlarmProps'.
  • core: Stack.find(c) and Stack.tryFind(c) were
    replaced by c.node.stack.
  • **dynamo...
Read more

v0.24.1

07 Feb 17:24
67fcf6d
Compare
Choose a tag to compare

Bug Fixes

  • reference documentation is missing (8fba8bc)

v0.24.0

07 Feb 13:46
c34e910
Compare
Choose a tag to compare

Bug Fixes

Features

  • aws-s3: add option to specify block public access settings (#1664) (299fb6a)
  • cdk: aspect framework and tag implementation (#1451) (f7c8531), closes #1136 #1497 #360
  • cdk: metric functions now automatically generated (#1617) (36cfca8)
  • cognito: Implement user pool and user pool client constructs (#1615) (8e03ed6)
  • core: overrideLogicalId: override IDs of CFN elements (#1670) (823a1e8), closes #1594
  • secretsmanager: L2 construct for Secret (#1686) (8da9115)
  • serverless: add AWS::Serverless::Application to CFN spec (#1634) (bfa40b1)
  • ssm: Add L2 resource for SSM Parameters (#1515) (9858a64)

BREAKING CHANGES

  • cdk: if you are using TagManager the API for this object has completely changed. You should no longer use TagManager directly, but instead replace this with Tag Aspects. cdk.Tag has been renamed to cdk.CfnTag to enable cdk.Tag to be the Tag Aspect.

v0.23.0

04 Feb 15:17
1d705e7
Compare
Choose a tag to compare

Bug Fixes

Features

  • alexa-ask: Add deploy action for Alexa (#1613) (0deea61)
  • apigateway: support function alias in LambdaIntegration (9f8bfa5)
  • app: add source map support to TS app template (#1581) (5df22d9), closes #1579
  • autoscaling: Support AssociatePublicIpAddress (#1604) (23c9afc), closes #1603
  • aws-codepipeline: support setting a Role for a CFN Action (#1449) (77fe077)
  • aws-ecs: add additional configuration to Volume (#1357) (ff96f3f)
  • aws-ecs: add support for Event Targets (#1571) (aa68db5), closes #1370
  • aws-ecs: ECS service scaling on ALB RequestCount (#1574) (2b491d4)
  • aws-s3: add the option to not poll to the CodePipeline Action. (#1260) (876b26d)
  • cdk: Support UpdateReplacePolicy on Resources (#1610) (f49c33b)
  • cdk: treat the "fake" CFN intrinsics (Fn::GetArtifactAtt, Fn::GetParam) specially when stringifying JSON. (#1605) (2af2426), closes #1588
  • cfnspec: Upgrade to CFN Resource Specification v2.21.0 (#1622) (21a5529)
  • cloudwatch: Support 'datapointsToAlarm' on Alarms (#1631) (828ac20), closes #1626
  • core: Generalization of dependencies (#1583) (53e68257)
  • ecs: environment variables for LoadBalancedXxxService (#1537) (b633505)
  • ecs: VPC link for API Gatweay and ECS services (#1541) (6642ca2)
  • iam: Make roleName available on IRole (#1589) (9128390)
  • lambda: reserved concurrent executions (#1560) (f7469c1)
  • lambda: Support AWS Lambda Layers (#1411) (036cfdf)
  • s3: Add DeployAction for codepipeline (#1596) (8f1a5e8)
  • s3: export bucket websiteURL (#1521) (#1544) (4e46d3c)
  • s3: imported bucket format option for website URL format (#1550) (28a423d)
  • toolkit: disable colors if a terminal is not attached to stdout (#1641) (58b4685)

BREAKING CHANGES

  • aws-codepipeline: the role property in the CloudFormation Actions has been renamed to deploymentRole.
  • aws-codepipeline: the role property in the app-delivery package has been renamed to deploymentRole.

v0.22.0

11 Jan 10:18
Compare
Choose a tag to compare

This is a major release with multiple breaking changes in the core layers.
Please consult the breaking changes section below for details.

We are focusing these days on finalizing the common patterns and APIs of the CDK
framework and the AWS Construct Library, which is why you are seeing all these
breaking changes. Expect a few more releases with changes of that nature as we
stabilize these APIs, so you might want to hold off with upgrading. We will
communicate when this foundational work is complete.

Bug Fixes

  • core: automatic cross-stack refs for CFN resources (#1510) (ca5ee35)
  • ecs: correct typo and other minor mistakes in ecs readme (#1448) (9c91b20)
  • elbv2: unable to specify load balancer name (#1486) (5b24583), closes #973 #1481
  • lambda: use IRole instead of Role to allow imports (#1509) (b909dcd)
  • toolkit: fix typo in --rename option description (#1438) (1dd56d4)
  • toolkit: support multiple toolkit stacks in the same environment (#1427) (095da14), closes #1416

Features

BREAKING CHANGES

  • Construct API has been moved under construct.node in order to reduce pollution of APIs of derived classes.
  • Construct parent renamed to scope and now available under the construct.node API
  • Cross-stack references: if you are using export() and import() to share constructs between stacks, you can stop doing that, instead of FooImportProps accept an IFoo directly on the consuming stack, and use that object as usual.
  • ArnUtils.fromComponents() and ArnUtils.parse() have been moved onto Stack.
  • All CloudFormation pseudo-parameter (such as AWS::AccountId etc) are now also accessible via Stack, as stack.accountId etc.
  • All CloudFormation intrinsic functions are now represented as static methods under the Fn class (e.g. Fn.join(...) instead of new FnJoin(...).toString())
  • resolve() has been moved to this.node.resolve().
  • CloudFormationJSON.stringify() has been moved to this.node.stringifyJson(). validate() now should be protected.
  • The deprecated cloudformation.XxxResource classes have been removed. Use the CfnXxx classes instead.
  • Any CfnXxx resource attributes that represented a list of strings are now typed as string[]s (via #1144). Attributes that represent strings, are still typed as string (#712) and all other attribute types are represented as cdk.Token.
  • route53: The route53.TXTRecord class was renamed to route53.TxtRecord.
  • route53: record classes now require a zone when created (not assuming zone is the parent construct).
  • lambda: the static "metric" methods moved from lambda.FunctionRef to lambda.Function.
  • Many AWS resource classes have been changed to conform to API guidelines:
    • XxxRef abstract classes are now IXxx interfaces
    • XxxRefProps are now XxxImportProps
    • XxxRef.import(...) are now Xxx.import(...) accept XxxImportProps and return IXxx
    • export(): XxxImportProps is now defined in IXxx and implemented by imported resources

v0.21.0

20 Dec 16:43
91ecdda
Compare
Choose a tag to compare

Bug Fixes

  • aws-cloudformation: change the type of Role in CodePipeline Actions to IRole. (#1364) (3d07e48), closes #1361
  • codebuild: Rename includeBuildID property of S3BucketBuildArtifacts (#1354) (84eb7ad), closes #1347
  • toolkit: scrutiny dialog should fail with no tty (#1382) (478a714), closes #1380

Features

BREAKING CHANGES

  • aws-cloudformation: this changes the type of the role property in CFN CodePipeline Actions
    from Role to IRole. This is needed to use imported Roles when creating Actions.
  • aws-codebuild: this changes the API of CodeBuild's GitHub and BitBucket Sources
    to take an owner/repo pair instead of an entire cloneUrl,
    to make it consistent with the GitHubSourceAction in the CodePipeline package. Also adds handling the reportBuildStatus and insecureSsl Source properties.
  • codebuild: the includeBuildID property of
    S3BucketBuildArtifacts was renamed to includeBuildId (note the
    lower-case trailing d).

v0.20.0

13 Dec 10:46
cbeea75
Compare
Choose a tag to compare

Bug Fixes

Features

BREAKING CHANGES

  • assert: the behavior change of haveResource can cause tests to
    fail. If allowing extension of the expected values is the intended behavior, you can
    switch to the haveResourceLike matcher instead, which exposes the previous
    behavior.

v0.19.0

04 Dec 12:41
2625a05
Compare
Choose a tag to compare

Bug Fixes

Features

  • aws-codebuild: allow using docker image assets as build images (#1233) (72413c1), closes #1232 #1219
  • aws-codebuild: rename the Project methods for adding Actions to CodePipeline. (#1254) (825e448), closes #1211
  • aws-ecr: add an ECR Repository source CodePipeline Action. (#1255) (01cc8a2)
  • app-delivery: IAM policy for deploy stack (#1165) (edc9a21), closes #1165 #1151
  • Update to CloudFormation spec v2.16.0 (#1280) (9df5c54)

BREAKING CHANGES

  • aws-codebuild: ecr.RepositoryRef has been replaced by ecr.IRepository, which
    means that RepositoryRef.import is now Repository.import. Futhermore, the CDK
    Toolkit must also be upgraded since the docker asset protocol was modified.
    IRepository.grantUseImage was renamed to IRepository.grantPull.
  • aws-codebuild: addBuildToPipeline was renamed to addToPipeline
    and addTestToPipeline was renamed to addPipelineToTest in order to align
    with naming conventions.
  • CloudFormationCapabilities.IAM renamed to
    CloudFormation.AnonymousIAM and PipelineCloudFormationDeployActionProps.capabilities?: CloudFormationCapabilities[] has been changed to
    PipelineCloudFormationDeployActionProps.capabilities?: CloudFormationCapabilities no longer an array.
    PipelineCloudFormationDeployActionProps.fullPermissions?: has been
    renamed to PipelineCloudFormationDeployActionProps.adminPermissions:
    and is required instead of optional.