Releases: aws/aws-cdk
Releases · aws/aws-cdk
v0.26.0
Bug Fixes
- aws-cdk: fix VpcNetwork.importFromContext() (#2008) (e1a1a7b), closes #1998
- aws-cdk: update F# template to latest CDK version (#2006) (bda12f2)
- cdk: merge cloudFormation tags with aspect tags (#1762) (bfb14b6), closes #1725
- cfn2ts: properly de-Tokenize L1 string-arrays (#2033) (1e50383), closes #2030
- core: allow embedding condition expression as strings (#2007) (6afa87f), closes #1984
- ecs: make TaskDefinition accept IRoles (#2034) (f32431a), closes #1925
- lambda: expose underlying function's role on the alias (#2024) (de296de)
- stepfunctions: Actually perform rendering of NotCondition (06b59d9)
- toolkit: 'cdk deploy' support updates to Outputs (#2029) (23509ae), closes #778
- toolkit: increase number of retries (#2053) (133dc98), closes #1647
- rename core classes adding a Cfn prefix (#1960) (5886bf6), closes #1462 #288
Code Refactoring
- name "toCloudFormation" internal (renamed to
_toCloudFormation
) (#2047) (515868b), closes #2044 #2016
Features
- aws-cdk: support fixed repository name for DockerImageAsset (#2032) (942f938)
- aws-rds: ability to add an existing security group to RDS cluster (#2021) (1f24336)
- cfn2ts: make cfn2ts output TSDoc-compatible docblocks (#2000) (c6c66e9)
- cfnspec: update to version 2.28.0 (#2035) (6a671f2)
- cloudformation: allow specifying additional inputs for deploy Actions (#2020) (2d463be), closes #1247
- core: can use Constructs to model applications (#1940) (32c2377), closes #1479
- ecs: support private registry authentication (#1737) (11ed691), closes #1698
- glue: add L2 resources for
Database
andTable
(#1988) (3117cd3) - region-info: Model region-specific information (#1839) (946b444), closes #1282
- servicediscovery: AWS Cloud Map construct library (#1804) (1187366)
- ses: add constructs for email receiving (#1971) (3790858)
- add more directories excluded and treated as source in the JetBrains script. (#1961) (a1df717)
BREAKING CHANGES
- “toCloudFormation” is now internal and should not be called directly. Instead use “app.synthesizeStack”
- ecs:
ContainerImage.fromDockerHub
has been renamed toContainerImage.fromRegistry
. - rename Condition to CfnCondition.
- rename StackElement to CfnElement.
- rename Parameter to CfnParameter.
- rename Resource to CfnResource.
- rename Output to CfnOutput.
- rename Mapping to CfnMapping.
- rename Referenceable to CfnRefElement.
- rename IConditionExpression to ICfnConditionExpression.
- rename CfnReference to Reference.
- rename Rule to CfnRule.
v0.25.3
v0.25.2
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
- aws-certificatemanager: add DNSValidatedCertificate (#1797) (ae8870d), closes #605
- aws-ecs: add Fargate version 1.3.0 (#1968) (b529ad7)
- core: democratize synthesis and introduce artifacts (#1889) (4ab1cd3), closes #1716 #1893
- ec2: add support for vpn connections (#1899) (e150648), closes awslabs/jsii#231
- toolkit: add '--reuse-asset' option (#1918) (1767b61), closes #1916
v0.25.1
v0.25.0
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 aReadWriteType
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
, renameparameter.valueAsList
=>
parameter.stringListValue
, renamessmParameter.parameterValue
=>
ssmParameter.stringValue
orssmParameter.stringListValue
depending
on type, renamesecretString.value
=>secretString.stringValue
,
renamesecret.toSecretString()
=>secret.secretString
- cloudwatch: Rename 'MetricAarmProps' => 'MetricAlarmProps'.
- core:
Stack.find(c)
andStack.tryFind(c)
were
replaced byc.node.stack
. - **dynamo...
v0.24.1
v0.24.0
Bug Fixes
- aws-ecs: correctly sets MinimumHealthyPercentage to 0 (#1661) (ce5966f), closes #1660
- cdk: only make Outputs Exports when necessary (#1624) (ebb8aa1), closes #903 #1611
- elbv2: fix specifying TargetGroup name (#1684) (1d7198a), closes #1674
- sns: create subscription object under subscriber (#1645) (0cc11ca), closes #1643 #1534
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 tocdk.CfnTag
to enablecdk.Tag
to be the Tag Aspect.
v0.23.0
Bug Fixes
- apig: Move
selectionPattern
tointegrationResponses
(#1636) (7cdbcec), closes #1608 - aws-cdk: Improvements to IAM diff rendering (#1542) (3270b47), closes #1458 #1495 #1549
- aws-cdk: Java init template works on Windows (#1503) (24f521a)
- sns: create subscription object under subscriber (5c4a9e5), closes #1643 #1534
- Improve error message in SSMParameterProvider (#1630) (6a8e010), closes #1621
- aws-ec2: CfnNetworkAclEntry.CidrBlock should be optional (#1565) (4af7c0d), closes #1517
- aws-ec2: change maxAZs default for VPCs to 3 (#1543) (32a4b29), closes #996
- aws-events: ergonomics improvements to CloudWatch Events (#1570) (5e91a0a), closes #1514 #1198 #1275
- aws-s3-deployment: clean up tempfiles after deployment (#1367) (e291d37)
- dynamodb: grant also gives access to indexes (#1564) (33c2a6d), closes #1540
- Report stack metadata in assertions (#1547) (c2d17f5)
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 onIRole
(#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 todeploymentRole
. - aws-codepipeline: the
role
property in theapp-delivery
package has been renamed todeploymentRole
.
v0.22.0
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
- apigateway: add tracingEnabled property to APIGW Stage (#1482) (fefa764)
- assets: enable local tooling scenarios such as lambda debugging (#1433) (0d2b633), closes #1432
- aws-cdk: better stack dependency handling (#1511) (b4bbaf0), closes #1508 #1505
- aws-codepipeline: jenkins build and test actions (#1216) (471e8eb)
- aws-codepipeline: support notifications on the ManualApprovalAction (#1368) (068fa46), closes #1222
- aws-ecs: add support Amazon Linux 2 (#1484) (82ec0ff), closes #1483
- aws-kms: allow tagging kms keys (#1485) (f43b4d4)
- aws-lambda: add input and output artifacts to the CodePipeline action (#1390) (fbd7728), closes #1384
- cdk: transparently use constructs from another stack (d7371f0), closes #1324
- cli: allow specifying options using env vars (#1447) (7cd84a0)
- aws resource api linting (breaking changes) (#1434) (8c17ca7), closes #742 #1428
- core: cloudformation condition chaining (#1494) (2169015), closes #1457
- diff: better diff of arbitrary json objects (#1488) (607f997)
- route53: support cname records (#1487) (17eddd1), closes #1420
- step-functions: support parameters option (#1492) (935054a), closes #1480
- core: construct base class changes (breaking) (#1444) (fb22a32), closes #1431 #1441 #189 #1441 #1431
- core: idiomize cloudformation intrinsics functions (#1428) (04217a5), closes #202
- cloudformation: no more generated attribute types in CFN layer (L1) (#1489) (4d6d5ca), closes #1455 #1406
- cloudformation: stop generating legacy cloudformation resources (#1493) (81b4174)
BREAKING CHANGES
- Construct API has been moved under
construct.node
in order to reduce pollution of APIs of derived classes. - Construct
parent
renamed toscope
and now available under theconstruct.node
API - Cross-stack references: if you are using
export()
andimport()
to share constructs between stacks, you can stop doing that, instead ofFooImportProps
accept anIFoo
directly on the consuming stack, and use that object as usual. ArnUtils.fromComponents()
andArnUtils.parse()
have been moved ontoStack
.- All CloudFormation pseudo-parameter (such as
AWS::AccountId
etc) are now also accessible viaStack
, asstack.accountId
etc. - All CloudFormation intrinsic functions are now represented as static methods under the
Fn
class (e.g.Fn.join(...)
instead ofnew FnJoin(...).toString()
) resolve()
has been moved tothis.node.resolve()
.CloudFormationJSON.stringify()
has been moved tothis.node.stringifyJson()
.validate()
now should beprotected
.- The deprecated
cloudformation.XxxResource
classes have been removed. Use theCfnXxx
classes instead. - Any
CfnXxx
resource attributes that represented a list of strings are now typed asstring[]
s (via #1144). Attributes that represent strings, are still typed asstring
(#712) and all other attribute types are represented ascdk.Token
. - route53: The
route53.TXTRecord
class was renamed toroute53.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
tolambda.Function
. - Many AWS resource classes have been changed to conform to API guidelines:
XxxRef
abstract classes are nowIXxx
interfacesXxxRefProps
are nowXxxImportProps
XxxRef.import(...)
are nowXxx.import(...)
acceptXxxImportProps
and returnIXxx
export(): XxxImportProps
is now defined inIXxx
and implemented by imported resources
v0.21.0
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
- aws-codebuild: change the API of GitHub and BitBucket Sources. (#1345) (9cebf0d)
- add "engines.node" key to all packages (#1358) (b595cf0), closes #1337
- deprecate "cloudformation" namespace in favor of "CfnXxx" (#1311) (d20938c), closes #878 awslabs/jsii#283 awslabs/jsii#270
- update CloudFormation resources v2.18.0 (#1407) (0f80b56), closes #1409
- aws-codebuild: allow setting Webhook for GitHub Sources. (#1387) (d5cae61)
- aws-ec2: can now use PrefixList in ingress rules (#1360) (c3cfcd5)
- aws-iam: configure ExternalId for Role (#1359) (3d200c9), closes #235
- aws-lambda: Add python 3.7 runtime (#1379) (8c733ef)
- cdk: add the CodeDeployLambdaAlias Update Policy. (#1346) (d648b58), closes #1177
- core: convert "/" in construct id to "--" and disallow tokens (#1375) (011aac0), closes #1351 #1374
- iam: CompositePrincipal and allow multiple principal types (#1377) (b942ae5), closes #1201
BREAKING CHANGES
- aws-cloudformation: this changes the type of the
role
property in CFN CodePipeline Actions
fromRole
toIRole
. 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 toincludeBuildId
(note the
lower-case trailingd
).