The headliners of this release are __.NET support__, and a wealth of commits by external contributors who are stepping
up to fix the CDK for their use cases! Thanks all for the effort put into this release!
* Add strongly-named .NET targets, and a `cdk init` template for C# projects ([@mpiroc] in [#617](https://github.com/awslabs/aws-cdk/pull/617), [#643](https://github.com/awslabs/aws-cdk/pull/643)).
* __@aws-cdk/aws-autoscaling__: Allow attaching additional security groups to Launch Configuration ([@moofish32] in [#636](https://github.com/awslabs/aws-cdk/pull/636)).
* __@aws-cdk/aws-autoscaling__: Support update and creation policies on AutoScalingGroups ([@rix0rrr] in [#595](https://github.com/awslabs/aws-cdk/pull/595)).
* __@aws-cdk/aws-codebuild__: Add support for running script from an asset ([@rix0rrr] in [#677](https://github.com/awslabs/aws-cdk/pull/677)).
* __@aws-cdk/aws-codebuild__: New method `addBuildToPipeline` on Project ([@skinny85] in [783dcb3](https://github.com/awslabs/aws-cdk/commit/783dcb3bd10058a25785d0964b37c181617a203a)).
* __@aws-cdk/aws-codecommit__: New method `addToPipeline` on Repository ([@skinny85] in [#616](https://github.com/awslabs/aws-cdk/pull/616)).
* __@aws-cdk/aws-codedeploy__: Add initial support for CodeDeploy ([@skinny85] in [#593](https://github.com/awslabs/aws-cdk/pull/593), [#641](https://github.com/awslabs/aws-cdk/pull/641)).
* __@aws-cdk/aws-dynamodb__: Add support for DynamoDB autoscaling ([@SeekerWing] in [#637](https://github.com/awslabs/aws-cdk/pull/637)).
* __@aws-cdk/aws-dynamodb__: Add support for DynamoDB streams ([@rhboyd] in [#633](https://github.com/awslabs/aws-cdk/pull/633)).
* __@aws-cdk/aws-dynamodb__: Add support for server-side encryption ([@jungseoklee] in [#684](https://github.com/awslabs/aws-cdk/pull/864)).
* __@aws-cdk/aws-ec2__ (_**BREAKING**_): SecurityGroup can now be used as a Connectable [#582](https://github.com/awslabs/aws-cdk/pull/582)).
* __@aws-cdk/aws-ec2__: Add VPC tagging ([@moofish] in [#538](https://github.com/awslabs/aws-cdk/pull/538)).
* __@aws-cdk/aws-ec2__: Add support for `InstanceSize.Nano` ([@rix0rrr] in [#581](https://github.com/awslabs/aws-cdk/pull/581))
* __@aws-cdk/aws-lambda__: Add support for dead letter queues ([@SeekerWing] in [#663](https://github.com/awslabs/aws-cdk/pull/663)).
* __@aws-cdk/aws-lambda__: Add support for placing a Lambda in a VPC ([@rix0rrr] in [#598](https://github.com/awslabs/aws-cdk/pull/598)).
* __@aws-cdk/aws-logs__: Add `extractMetric()` helper function ([@rix0rrr] in [#676](https://github.com/awslabs/aws-cdk/pull/676)).
* __@aws-cdk/aws-rds__: Add support for Aurora PostreSQL/MySQL engines ([@cookejames] in [#586](https://github.com/awslabs/aws-cdk/pull/586))
* __@aws-cdk/aws-s3__: Additional grant methods for Buckets ([@eladb] in [#591](https://github.com/awslabs/aws-cdk/pull/591))
* __@aws-cdk/aws-s3__: New method `addToPipeline` on Bucket ([@skinny85] in [c8b7a49](https://github.com/awslabs/aws-cdk/commit/c8b7a494259ad08bbd722564591e320888e47c48)).
* __aws-cdk__: Add support for HTTP proxies ([@rix0rrr] in [#666](https://github.com/awslabs/aws-cdk/pull/666)).
* __aws-cdk__: Toolkit now shows failure reason if stack update fails ([@rix0rrr] in [#609](https://github.com/awslabs/aws-cdk/pull/609)).
* __cdk-build-tools__: Add support for running experiment JSII versions ([@RomainMuller] in [#649](https://github.com/awslabs/aws-cdk/pull/649)).
* _**BREAKING**_: Generate classes and types for the CloudFormation resource `.ref` attributes ([@rix0rrr] in [#627](https://github.com/awslabs/aws-cdk/pull/627)).
* _**BREAKING**_: Make types accepted in Policy-related classes narrower (from `any` to `Arn`, for example) to reduce typing mistakes ([@rix0rrr] in [#629](https://github.com/awslabs/aws-cdk/pull/629)).
* __@aws-cdk/aws-codepipeline__ (_**BREAKING**_): Align the CodePipeline APIs ([@skinny85] in [#492](https://github.com/awslabs/aws-cdk/pull/492), [#568](https://github.com/awslabs/aws-cdk/pull/568))
* __@aws-cdk/aws-ec2__ (_**BREAKING**_): Move Fleet/AutoScalingGroup to its own package ([@rix0rrr] in [#608](https://github.com/awslabs/aws-cdk/pull/608)).
* __aws-cdk__: Simplify plugin protocol ([@RomainMuller] in [#646](https://github.com/awslabs/aws-cdk/pull/646)).
* __@aws-cdk/aws-cloudfront__: Fix CloudFront behavior for ViewerProtocolPolicy ([@mindstorms6] in [#615](https://github.com/awslabs/aws-cdk/pull/615)).
* __@aws-cdk/aws-ec2__: VPC Placement now supports picking Isolated subnets ([@rix0rrr] in [#610](https://github.com/awslabs/aws-cdk/pull/610)).
* __@aws-cdk/aws-logs__: Add `export()/import()` capabilities ([@rix0rrr] in [#630](https://github.com/awslabs/aws-cdk/pull/630)).
* __@aws-cdk/aws-rds__: Fix a bug where a cluster with 1 instance could not be created ([@cookejames] in [#578](https://github.com/awslabs/aws-cdk/pull/578))
* __@aws-cdk/aws-s3__: Bucket notifications can now add dependencies, fixing creation order ([@eladb] in [#584](https://github.com/awslabs/aws-cdk/pull/584)).
* __@aws-cdk/aws-s3__: Remove useless bucket name validation ([@rix0rrr] in [#628](https://github.com/awslabs/aws-cdk/pull/628)).
* __@aws-cdk/aws-sqs__: Make `QueueRef.encryptionMasterKey` readonly ([@RomainMuller] in [#650](https://github.com/awslabs/aws-cdk/pull/650)).
* __assets__: S3 read permissions are granted on a prefix to fix lost permissions during asset update ([@rix0rrr] in [#510](https://github.com/awslabs/aws-cdk/pull/510)).
* __aws-cdk__: Remove bootstrapping error if multiple stacks are in the same environment ([@RomainMuller] in [#625](https://github.com/awslabs/aws-cdk/pull/625)).
* __aws-cdk__: Report and continue if git throws errors during `cdk init` ([@rix0rrr] in [#587](https://github.com/awslabs/aws-cdk/pull/587)).
* __@aws-cdk/cfnspec__: Updated [CloudFormation resource specification] to `v2.6.0` ([@RomainMuller] in [#594](https://github.com/awslabs/aws-cdk/pull/594))
+ **New AWS Construct Library**
- `@aws-cdk/aws-sagemaker` supports AWS::SageMaker resources
+ **New Resource Types**
- AWS::AmazonMQ::Broker
- AWS::AmazonMQ::Configuration
- AWS::CodePipeline::Webhook
- AWS::Config::AggregationAuthorization
- AWS::Config::ConfigurationAggregator
- AWS::EC2::VPCEndpointConnectionNotification
- AWS::EC2::VPCEndpointServicePermissions
- AWS::IAM::ServiceLinkedRole
- AWS::SSM::ResourceDataSync
- AWS::SageMaker::Endpoint
- AWS::SageMaker::EndpointConfig
- AWS::SageMaker::Model
- AWS::SageMaker::NotebookInstance
- AWS::SageMaker::NotebookInstanceLifecycleConfig
+ **Attribute Changes**
- AWS::CodePipeline::Pipeline Version (__added__)
+ **Property Changes**
- AWS::AppSync::DataSource HttpConfig (__added__)
- AWS::DAX::Cluster SSESpecification (__added__)
- AWS::DynamoDB::Table Stream (__added__)
- AWS::DynamoDB::Table AutoScalingSupport (__added__)
- AWS::EC2::VPCEndpoint IsPrivateDnsEnabled (__added__)
- AWS::EC2::VPCEndpoint SecurityGroupIds (__added__)
- AWS::EC2::VPCEndpoint SubnetIds (__added__)
- AWS::EC2::VPCEndpoint VPCEndpointType (__added__)
- AWS::EC2::VPCEndpoint RouteTableIds.DuplicatesAllowed (__deleted__)
- AWS::EC2::VPCPeeringConnection PeerRegion (__added__)
- AWS::EFS::FileSystem ProvisionedThroughputInMibps (__added__)
- AWS::EFS::FileSystem ThroughputMode (__added__)
- AWS::EMR::Cluster KerberosAttributes (__added__)
- AWS::Glue::Classifier JsonClassifier (__added__)
- AWS::Glue::Classifier XMLClassifier (__added__)
- AWS::Glue::Crawler Configuration (__added__)
- AWS::Lambda::Lambda DLQConfigurationSupport (__added__)
- AWS::Neptune::DBInstance DBSubnetGroupName.UpdateType (__changed__)
- Old: Mutable
- New: Immutable
- AWS::SNS::Subscription DeliveryPolicy (__added__)
- AWS::SNS::Subscription FilterPolicy (__added__)
- AWS::SNS::Subscription RawMessageDelivery (__added__)
- AWS::SNS::Subscription Region (__added__)
- AWS::SQS::Queue Tags (__added__)
- AWS::ServiceDiscovery::Service HealthCheckCustomConfig (__added__)
+ **Property Type Changes**
- AWS::AppSync::DataSource.HttpConfig (__added__)
- AWS::DAX::Cluster.SSESpecification (__added__)
- AWS::EMR::Cluster.KerberosAttributes (__added__)
- AWS::Glue::Classifier.JsonClassifier (__added__)
- AWS::Glue::Classifier.XMLClassifier (__added__)
- AWS::ServiceDiscovery::Service.HealthCheckCustomConfig (__added__)
- AWS::CloudFront::Distribution.CacheBehavior FieldLevelEncryptionId (__added__)
- AWS::CloudFront::Distribution.DefaultCacheBehavior FieldLevelEncryptionId (__added__)
- AWS::CodeBuild::Project.Artifacts EncryptionDisabled (__added__)
- AWS::CodeBuild::Project.Artifacts OverrideArtifactName (__added__)
- AWS::CodeBuild::Project.Environment Certificate (__added__)
- AWS::CodeBuild::Project.Source ReportBuildStatus (__added__)
- AWS::ServiceDiscovery::Service.DnsConfig RoutingPolicy (__added__)
- AWS::WAF::WebACL.ActivatedRule Action.Required (__changed__)
- Old: true
- New: false
* __@aws-cdk/cfnspec__: Updated Serverless Application Model (SAM) Resource Specification ([@RomainMuller] in [#594](https://github.com/awslabs/aws-cdk/pull/594))
+ **Property Changes**
- AWS::Serverless::Api MethodSettings (__added__)
+ **Property Type Changes**
- AWS::Serverless::Function.SQSEvent (__added__)
- AWS::Serverless::Function.EventSource Properties.Types (__changed__)
- Added SQSEvent