Releases: aws/aws-cdk
v0.8.0
Refer to the README for this release for detailed instructions.
This is the first public release of the AWS CDK!
- Change license to Apache-2.0 (@RomainMuller in #428)
- Multiple README updates, including animated gif screencast, as preparation for
public release (@rix0rrr in #433, @eladb in #439) - Multiple documentation updates for public release (@Doug-AWS in #420,
@eladb in #436) - Toolkit (bug fix): Correctly account for
CDK::Metadata
incdk diff
(@RomainMuller in #435) - AWS CodeBuild (BREAKING): Usability improvements for the CodeBuild
library (@skinny85 in #412)
v0.7.4-beta
Refer to the README for this release for detailed instructions.
S3 Location:
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.4-beta+f20b380.zip ~/Downloads
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.4-beta+f20b380.zip.sig ~/Downloads
Highlights
- A huge shout-out to our first external contributor, @moofish32, for many
valuable improvements to the EC2 VPC construct (@moofish32 in #250). - The
AWS::CDK::Metadata
resource is injected to templates to analyze usage
and notify about deprecated modules to improve security. To opt-out, use the
switch--no-version-reporting
or setversion-reporting
tofalse
in your
cdk.json
(@RomainMuller in #221). - Added capability for bundling local assets (files/directories) and referencing
them in CDK constructs. This allows, for example, to define Lambda functions
with runtime code in the same project and deploy them using the toolkit
(@eladb in #371). - Reorganization of CodePipeline actions into separate libraries (@skinny85 in #401 and #402).
- A new library for CloudWatch Logs (@rix0rrr in #307).
AWS Construct Library
- BREAKING: All AWS libraries renamed from
@aws-cdk/xxx
to
@aws-cdk/aws-xxx
in order to avoid conflicts with framework modules
(@RomainMuller in #384). - BREAKING: The @aws-cdk/resources module has been removed.
Low-level CloudFormation resources (e.g.BucketResource
) are now integrated
into their respective library under thecloudformation
namespace to improves
discoverability and organization of the layers (@RomainMuller in #264).
Framework
- Introducing CDK Assets which are local files or directories that can be
"bundled" into CDK constructs and apps. During deployment assets are packaged
(i.e. zipped), uploaded to S3 and their deployed location can be referenced in
CDK apps via thes3BucketName
ands3ObjectKey
ands3Url
and read
permissions can be granted viaasset.grantRead(principal)
(@eladb in
#371) - Return dummy values instead of fail synthesis if environmental context (AZs,
SSM parameters) doesn't exist in order to support unit tests. When
synthesizing through the toolkit, an error will be displayed if the context
cannot be found (@eladb in #227) - Added
construct.addError(msg)
,addWarning(msg)
andaddInfo(msg)
which
will emit messages during synthesis via the toolkit. Errors will fail
synthesis (unless--ignore-errors
is used), warnings will be displayed and
will fail synthesis if--strict
is used (@eladb in #227)
Command Line Toolkit
- The toolkit now injects a special CloudFormation resource
AWS::CDK::Metadata
to all synthesized templates which includes library versions used in the app.
This allows the CDK team to analyze usage and notify users if they use
deprecated versions (@RomainMuller in #221). - Bug fix: Fixed "unknown command: docs" (@RomainMuller in #256)
- Changed output of
cdk list
to just print stack names (scripting-compatible).
Usecdk ls -l
to print full info (@eladb in #380)
AWS EC2
- BREAKING: Add the ability customize subnet configurations.
Subnet allocation was changed to improve IP space efficiency.VpcNetwork
instances will need to be replaced (@moofish32 in #250) - BREAKING: Renamed
Fleet
toAutoScalingGroup
to align with service
terminology (@RomainMuller in #318)
AWS Lambda
- Supports runtime code via local files or directories through assets (@eladb
in #405) - Support custom execution role in props (@rix0rrr in #205)
- Add static
metricAllConcurrentExecutions
and
metricAllUnreservedConcurrentExecutions
which returns account/region-level
metrics for all functions (@rix0rrr in #379)
AWS CloudWatch
- Added
Metric.grantMetricPutData
which grants cloudwatch:PutData
to IAM principals (@rix0rrr in #214) - Bug fix: Allow text included in dashboard widgets to include characters
that require JSON-escaping (@eladb in #406).
AWS CloudWatch Logs (new)
- A new construct library for AWS CloudWatch Logs with support for log groups,
metric filters, and subscription filters (@rix0rrr in #307).
AWS S3
AWS CodeBuild
AWS CodePipeline
- BREAKING: Moved CodeCommit and CodeBuild and LambdaInvoke actions from
the CodePipeline library to@aws-cdk/aws-xxx-codepipline
modules
(@skinny85 in #401 and #402). - Added attributes
pipelineName
andpipelineVersion
(@eladb in #408)
Docs
v0.7.3-beta
Refer to the README for this release for detailed instructions.
S3 Location:
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.3-beta+eb3f31a.zip ~/Downloads
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.3-beta+eb3f31a.zip.sig ~/Downloads
Highlights
- Introducing Java support (see the Getting Started documentation topic for
instructions on how to set up a Java project). - Introduce a new programming model for CloudWatch metrics, alarms and
dashboards (see the @aws-cdk/cloudwatch documentation). - Multiple documentation improvements (open with
cdk docs
).
Known Issues
- Missing instructions for Windows Setup ([#138])
cdk docs
works but a message Unknown command: docs is printed (#256)- Java: passing
null
behaves differently than no arguments. Workaround is to
build an empty object (#157)
Changes
- Introduce Java support (@eladb in #229, #245, #148, #149)
- Changed the way the beta archive is structured to no longer bundle a
pre-installednode_modules
directory but rather only a local npm
repository. This changes the setup instructions to requirey-npm i -g aws-cdk
to install the toolkit on the system, which is more inline with the
setup experience post-beta (@RomainMuller in #161, #162 and
awslabs/jsii#43). - CloudWatch (new): introduce a rich programming model for metrics, alarms and
dashboards (@rix0rrr in #180, #194) - S3 (feature): add support for SSE-S3 encryption (@rix0rrr in #257)
- Lambda (feature): add support for node.js 8.10 runtime (@RomainMuller in
#187) - Runtime Values (fix): use allowed characters in SSM parameter name when
advertising a runtime value (@eladb in #208) - SNS (docs): convert examples in README into compiled code (@rix0rrr in
#107) - Toolkit (feature): introduce
cdk doctor
to collect information for
diagnostics (@RomainMuller in #177) - Toolkit (feature): align AWS credentials behavior to AWS CLI (@RomainMuller
in #175) - Toolkit (performance): cache default AWS account ID on disk (@eladb in
#220) - Docs: multiple updates ([@Doug-AWS] in #142)
- Docs: improve topic on logical IDs (@eladb in #209)
- Docs: add support for code snippets in multiple tabs (@eladb in #231)
- Docs: rewrote the "Getting Started" documentation topic to include
step-by-step project setup details instead of usingcdk-init
. This is in
order to improve understanding of how the CDK works when users get started
(@eladb in #245) - Resource bundler: generate
.d.ts
(@rix0rrr in #172)
v0.7.2-beta
Optionally, you may also obtain this release from S3:
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.2-beta+ff3cf4c.zip /tmp/aws-cdk.zip
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.2-beta+ff3cf4c.zip.sig /tmp/aws-cdk.zip.sig
See README for setup/update instructions.
- Add: initial construct library for AWS Kinesis Data Streams (@sam-goodwin in #86)
- Update low-level resources from CloudFormation resource specification
- Update dependencies (@eladb in #119)
- Fix: Adopt SDK-standard behavior when no environment is specified (@RomainMuller in #128)
- Fix: Have cdk diff output render 'number' value changes (@RomainMuller in #136)
Known issues
- Windows setup has not been vetted and might be broken - no workaround
(#138) - If region is not defined, error message is unclear - workaround: make sure
to defineregion
when runningaws configure
(#131) cdk docs
opens the index instead of the welcome page - workaround:
click on "Welcome" in the sidebar (#129)- The runtime values library (@aws-cdk/rtv) is broken (#151)
v0.7.1-beta
Optionally, you may also obtain this release from S3:
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.1-beta+e3fdef2.zip /tmp/aws-cdk.zip
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.1-beta+e3fdef2.zip.sig /tmp/aws-cdk.zip.sig
See README for setup/update instructions.
Framework
- Two-way IAM policy statement additions have been removed for S3 and SNS,
because those services treat resource and identity policies as additive.
KMS grants are still added on both resource and identity because KMS
requires permissions set from both sides.
Toolkit
cdk init
interface changed to accept the template name as a positional
argument, and the language as an option. A--list
option was added to
allow listing available templates.cdk-beta-npm
is a wrapper tonpm
that executes commands with a local registry
that has the CDK packages available. It should be used instead ofnpm
for
subcommands such asnpm install
.- CDK now respects
AWS_DEFAULT_REGION
environment variable if set.
v0.7.0-beta
Optionally, you may also obtain this release from S3:
aws s3 cp s3://aws-cdk-beta/aws-cdk-0.7.0-beta+5a0418a.zip /tmp/aws-cdk.zip
See README for setup/update instructions.
Framework
- BREAKING: All CDK packages are now under the scope
@aws-cdk
(e.g.
@aws-cdk/s3
). - BREAKING: The
jsii
compiler now configurestsconfig.json
to produce definition
files (files with a .d.ts extension). This requires updating your existing
package.json
filestypes
key to replace the .ts extension with a .d.ts
extension. - Java bindings now include static methods and constants.
SecretParameter
can be used to load values from the SSM parameter store
during deployment and use them asSecret
s.Stack
is locked for mutations during synthesis to protect against
accidental changes in lazy values.- An overhaul of documentation updates, edits and improvements.
ACM
- Fix:
cloudFrontDefaultCertificate
is mutually exclusive withacmCertificateArn
.
CloudFront (new)
- Added a new construct library for AWS CloudFront.
CodeBuild
- Added support for specifying environment variables at the container and
project levels.
CodePipeline
- Fix: GitHub action "owner" changed to
ThirdParty
. - Removed all fluent APIs
- Use "master" as the default branch for Source actions
- BREAKING:
AmazonS3SourceProps
- renamedkey
tobucketKey
Custom Resources
- BREAKING: Require that Lambda is referenced explicitly when defining a custom resource.
SingletonLambda
can be used to encapsulate the custom resource's lambda
function but only have a single instance of it in the stack.
Events (new)
A new cross-stack programming model is introduced to support CloudWatch Events.
Event sources implement onXxx
methods for various events that can emitted by
that source and event targets implement IEventRuleTarget
, so they can be
polymorphically added to rules.
const repo = new Repository(stack, 'MyRepo', { repositoryName: 'my-repo' });
const project = new BuildProject(stack, 'MyProject', { source: new CodeCommitSource(repo) });
const topic = new Topic(stack, 'MyTopic');
topic.subscribeEmail('Personal', '[email protected]');
project.onStateChange(topic);
Coverage to all event sources and target will be added in subsequent releases.
Supported targets:
codebuild.BuildProject
codepipline.Pipeline
sns.Topic
Supported sources:
- CodeBuild:
onStateChange
,onPhaseChange
,onBuildStarted
,onBuildFailed
,onBuildSucceeded
. - CodeCommit:
onEvent
,onStateChange
,onReferenceCreated
,onReferenceUpdated
,onReferenceDeleted
,onPullRequestStateChange
,onCommentOnPullRequest
,onCommentOnCommit
,onCommit
. - CodePipeline:
pipeline.onStateChange
,stage.onStateChange
,action.onStateChange
.
IAM
- Add
CanonicalUserPrincipal
- Add
statementCount
toPolicyDocumennt
. - Extended support for
FederatedPrincipal
.
Lambda
- Add
initialPolicy
prop which allows specifying a set ofPolicyStatement
s
upon definition.
S3
- Added support for lifecycle rules
- Add
domainName
anddualstackDomainName
attributes
Serverless
version
field ofFunctionResource
is now optional.
SNS
- BREAKING:
subscribeXxx
APIs now do not require a name when possible
(for queue, Lambda). - Unique SID assigned to resource policy statements.
Toolkit
cdk docs
opens your browser with the bundled documentation content.cdk init
interface changed to specify--lang
and--type
separately.- Plug-in architecture improved.