Skip to content

Releases: aws/aws-cdk

v0.8.0

31 Jul 13:23
bb95676
Compare
Choose a tag to compare

Refer to the README for this release for detailed instructions.

This is the first public release of the AWS CDK!

v0.7.4-beta

26 Jul 11:38
f20b380
Compare
Choose a tag to compare
v0.7.4-beta Pre-release
Pre-release

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 set version-reporting to false 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 the cloudformation 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 the s3BucketName and s3ObjectKey and s3Url and read
    permissions can be granted via asset.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) and addInfo(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).
    Use cdk 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 to AutoScalingGroup 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

  • Added bucketUrl and urlForObject(key) to BucketRef (@eladb in #370)

AWS CodeBuild

  • Add CloudWatch metrics to BuildProject (@eladb in [#407])

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 and pipelineVersion (@eladb in #408)

Docs

  • fix: add instructions and fix Windows setup (@mpiroc in #320)
  • fix: show emphasis of modified code in code snippets (@eladb in #396)

v0.7.3-beta

09 Jul 13:06
eb3f31a
Compare
Choose a tag to compare
v0.7.3-beta Pre-release
Pre-release

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-installed node_modules directory but rather only a local npm
    repository. This changes the setup instructions to require y-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 using cdk-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

19 Jun 22:15
ff3cf4c
Compare
Choose a tag to compare
v0.7.2-beta Pre-release
Pre-release

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.

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 define region when running aws 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

15 Jun 19:13
e3fdef2
Compare
Choose a tag to compare
v0.7.1-beta Pre-release
Pre-release

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 to npm that executes commands with a local registry
    that has the CDK packages available. It should be used instead of npm for
    subcommands such as npm install.
  • CDK now respects AWS_DEFAULT_REGION environment variable if set.

v0.7.0-beta

13 Jun 12:59
5a0418a
Compare
Choose a tag to compare
v0.7.0-beta Pre-release
Pre-release

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 configures tsconfig.json to produce definition
    files (files with a .d.ts extension). This requires updating your existing
    package.json files types 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 as Secrets.
  • 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 with acmCertificateArn.

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 - renamed key to bucketKey

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 to PolicyDocumennt.
  • Extended support for FederatedPrincipal.

Lambda

  • Add initialPolicy prop which allows specifying a set of PolicyStatements
    upon definition.

S3

  • Added support for lifecycle rules
  • Add domainName and dualstackDomainName attributes

Serverless

  • version field of FunctionResource 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.