Releases: aws/aws-cdk
Release list
v2.269.0
Features
- bedrockagentcore: graduate Policy submodule to stable (#38687) (2b95e32), closes #37219
- update L1 CloudFormation resource definitions (#38784) (1b5e2e0)
- logs: support DELIVERY log group class (#38703) (b7a057a), closes #34338
- s3-deployment: expose deployed object version IDs (#38766) (09342df), closes #38765
Bug Fixes
- awslint: use a default import for chalk (#38110) (36d14e0), closes #38109 #38058
- core: cdk-nag warnings cannot be suppressed (#38787) (211029f)
- core: cdk-nag's findings duplicated in multi-environment apps (#38707) (4b7b2e7), closes #38483 #38135
- core: tree.json generation is quadratic in the number of subtrees (#38761) (3d034b6), closes #38762
- core: unnecessary warnings around builtins and AZs (#38673) (6860777)
- core: upgrade CloudFormation validation to latest version (#38804) (d703eb6)
- dynamodb:
TableV2emits internal grants deprecation warnings (#38806) (57b3043), closes #38709 #38399 #37892 - ecs: allow ephemeralStorageGiB for Windows Fargate platform version 1.0.0 (#37589) (855dfeb), closes #37510
- ecs: removing the last target group from a service is not deployed (#38776) (73100f6), closes #35446 #35446 #35452
- lambda-go: escape generated go build path arguments (#38785) (279d101)
- s3-deployment: sanitize all log outputs to mitigate CWE-117/93 (#37670) (47a3a38), closes #37671 #30746 #28469 #30211
Alpha modules (2.269.0-alpha.0)
⚠ BREAKING CHANGES
- glue-alpha: Glue job constructs now reject construct-managed and Glue-reserved
arguments passed throughdefaultArguments. Previously, a managed argument set via
defaultArgumentswas silently honored inSparkJobandPythonShellJob(customer
value won over the construct default) and silently ignored inRayJob(construct
default won). Both behaviors let a caller bypass the construct's security and
observability defaults with no error. Passing any of the following through
defaultArgumentsnow throws aValidationErrorat synthesis time: - construct-managed arguments —
--enable-continuous-cloudwatch-log,
--continuous-log-logGroup,--continuous-log-logStreamPrefix,
--continuous-log-conversionPattern,--enable-continuous-log-filter,
--enable-metrics,--enable-observability-metrics,--enable-spark-ui,
--spark-event-logs-path,--job-language,--class,--extra-jars,
--user-jars-first,--extra-py-files,--extra-files,library-set - Glue-reserved arguments —
--debug,--mode,--JOB_NAME,--endpoint
A managed argument is rejected whether or not the current configuration emits it, so a
disabled feature (e.g. enableMetrics: false) cannot be re-enabled through
defaultArguments. Configure these through their dedicated props instead
(continuousLogging, enableMetrics, enableObservabilityMetrics, sparkUI,
className, extraJars, extraJarsFirst, extraPythonFiles, extraFiles). For
example, replace defaultArguments: { '--enable-continuous-cloudwatch-log': 'false' }
with continuousLogging: { enabled: false }. Arguments without a dedicated prop (e.g.
--enable-glue-datacatalog) are unaffected and remain settable via defaultArguments.
The checkNoReservedArgs(defaultArguments?) method on the Job base class was removed.
It is replaced by two protected members: setManagedArgument(key, value?), which each
job class calls to declare (and, when a value is present, emit) a managed argument, and
mergeDefaultArguments(defaultArguments?), which validates the caller-supplied
defaultArguments against the accumulated reserved set and returns the merged map.
- route53resolver-alpha:
FirewallRuleGroupAssociationnow honors the previously-ignoredmutationProtectionandnameprops. Stacks that setmutationProtection: truewill enable mutation protection on redeploy (which blocks further CloudFormation update/delete until it is set back to false); stacks that setnamewill write it to the template, which may replace the association. - glue-alpha: trigger
ActionandConditionare no longer plain objects — useAction.job(...)/Action.crawler(...)andCondition.job(...)/Condition.crawler(...). Jobs are referenced viaIJobRefand crawlers viaICrawlerRef(aCfnCrawlerinstance orCfnCrawler.fromCrawlerName(...)) instead of aCfnCrawlerfield or crawler-name string;IJobnow extends the generatedIJobRef.addDailyScheduledTrigger/addWeeklyScheduledTrigger/addCustomScheduledTriggerare replaced byaddScheduledTrigger(id, { schedule, ... })(useTriggerSchedule.daily()/weekly()/cron(...)).addNotifyEventTriggeris renamedaddEventTrigger(NotifyEventTriggerOptions→EventTriggerOptions). AlladdXxxTriggermethods now returnITriggerRefinstead ofCfnTrigger. - glue-alpha: PartitionProjectionConfiguration's variant fields (integerRange, dateRange, interval, digits, format, intervalUnit, values) are no longer public; DATE projection now takes
step: { interval, intervalUnit }instead of top-levelinterval/intervalUnit. - glue-alpha: ConnectionOptions no longer has
subnet,vpc, orvpcSubnets; usenetwork: ConnectionNetwork.subnet(...)ornetwork: ConnectionNetwork.vpc(...)instead.
Features
- glue-alpha: ensure job parameters consistency (#38480) (bc7dc0c)
- glue-alpha: model Connection VPC placement as a value object (#38729) (f72e9fe)
- glue-alpha: model partition projection variants as internal state (#38726) (16527cd)
- glue-alpha: overhaul the workflow trigger API (#38579) (c8f917d)
Bug Fixes
v2.268.0
⚠ BREAKING CHANGES
L1 resources are automatically generated from public CloudFormation Resource Schemas. They are built to closely reflect the real state of CloudFormation. Sometimes these updates can contain changes that are incompatible with previous types, but more accurately reflect reality. In this release we have changed:
- aws-athena:
AWS::Athena::Sessionremoved. - aws-bcmdataexports:
AWS::BCMDataExports::Tableremoved. - aws-bedrock:
AWS::Bedrock::DefaultPromptRouterandAWS::Bedrock::ModelInvocationJobremoved. - aws-bedrockagentcore:
AWS::BedrockAgentCore::Browser,AWS::BedrockAgentCore::CodeInterpreter, andAWS::BedrockAgentCore::TokenVaultremoved;AWS::BedrockAgentCore::PaymentConnectorConnectorTypeandAWS::BedrockAgentCore::PaymentCredentialProviderCredentialProviderVendorare now immutable;AWS::BedrockAgentCore::CapacityProviderOperatingSystemallowed values in theLaunchParameterstype reduced from [LINUX_X86_64,LINUX_ARM64,MAC_ARM64,WINDOWS_X86_64] to [LINUX_X86_64,LINUX_ARM64]. - aws-certificatemanager:
AWS::CertificateManager::CertificateIdattribute removed. - aws-chime: on both
AWS::Chime::AppInstanceandAWS::Chime::AppInstanceBot, theCreatedTimestampandLastUpdatedTimestampattribute types changed fromnumbertostring. - aws-cloudformation:
AWS::CloudFormation::ResourceScanremoved. - aws-codeartifact:
AWS::CodeArtifact::Packageremoved. - aws-codebuild:
AWS::CodeBuild::Sandboxremoved;AWS::CodeBuild::SourceCredentialIdattribute removed. - aws-dax:
AWS::DAX::ParameterGroupIdattribute removed;Descriptionproperty is now immutable. - aws-dms:
Idattribute removed fromAWS::DMS::Endpoint,AWS::DMS::EventSubscription, andAWS::DMS::ReplicationSubnetGroup;AWS::DMS::ReplicationTaskMigrationTypeproperty is now immutable. - aws-docdb:
Idattribute removed fromAWS::DocDB::DBClusterParameterGroupandAWS::DocDB::DBSubnetGroup. - aws-dynamodb:
AWS::DynamoDB::Exportremoved. - aws-elasticache:
AWS::ElastiCache::ReservedCacheNoderemoved. - aws-emr:
AWS::EMR::NotebookExecutionremoved. - aws-events:
AWS::Events::Replayremoved. - aws-fis:
AWS::FIS::SafetyLeverremoved. - aws-glue:
Idattribute removed fromAWS::Glue::Classifier,AWS::Glue::Connection,AWS::Glue::CustomEntityType,AWS::Glue::DataQualityRuleset,AWS::Glue::MLTransform,AWS::Glue::SecurityConfiguration,AWS::Glue::TableOptimizer, andAWS::Glue::Workflow.AWS::Glue::Connection: complex-property typesAuthenticationConfigurationInputandOAuth2PropertiesInputrenamed toAuthenticationConfigurationandOAuth2Propertiesrespectively.AWS::Glue::DataQualityRuleset:Name,TargetTable.DatabaseName, andTargetTable.TableNameproperties are now required;Nameproperty is now immutable;Tagsproperty type changed fromjsontomap<string>.AWS::Glue::CustomEntityType:Nameproperty is now immutable;Tagsproperty is no longer recognised as resource tags.AWS::Glue::MLTransform:TransformEncryptionproperty is now immutable.
- aws-greengrassv2:
AWS::GreengrassV2::ComponentandAWS::GreengrassV2::CoreDeviceremoved. - aws-identitystore:
AWS::IdentityStore::AllGroupMembershipsremoved. - aws-imagebuilder:
AWS::ImageBuilder::AllImageBuildVersions,AWS::ImageBuilder::AllWorkflowBuildVersions,AWS::ImageBuilder::WorkflowExecution, andAWS::ImageBuilder::WorkflowStepExecutionremoved. - aws-medialive:
AWS::MediaLive::Offeringremoved. - aws-mediaconvert:
AWS::MediaConvert::PresetIdattribute removed. - aws-mediapackage:
AWS::MediaPackage::HarvestJobremoved. - aws-memorydb:
AWS::MemoryDB::MultiRegionParameterGroupandAWS::MemoryDB::ReservedNoderemoved. - aws-omics:
AWS::Omics::Referenceremoved. - aws-osis:
AWS::OSIS::PipelineBlueprintremoved. - aws-personalize:
AWS::Personalize::DataDeletionJobandAWS::Personalize::Reciperemoved. - aws-redshiftserverless:
AWS::RedshiftServerless::RecoveryPointremoved. - aws-route53:
AWS::Route53::RecordSetGeoProximityLocationproperty removed, along with its supportingGeoProximityLocationandCoordinatescomplex-property types;Idattribute removed. - aws-sagemaker:
AWS::SageMaker::ModelCardExportJob,AWS::SageMaker::MonitoringScheduleAlert, andAWS::SageMaker::TransformJobremoved. - aws-ses:
AWS::SES::ReceiptRuleSetIdattribute removed. - aws-signer:
AWS::Signer::SigningJobremoved. - aws-ssm:
AWS::SSM::Sessionremoved;AWS::SSM::AssociationInstanceIdproperty is now immutable. - aws-sso:
AWS::SSO::ApplicationProviderremoved. - aws-stepfunctions:
AWS::StepFunctions::MapRunremoved. - aws-transcribe:
AWS::Transcribe::MedicalTranscriptionJobremoved. - aws-vpclattice:
AWS::VpcLattice::ServiceNetworkSharingConfigproperty is now immutable.
Features
- update L1 CloudFormation resource definitions (#38732) (53fdc99)
- codebuild: add Node.js 24 Lambda build image constants (#38471) (41ca888), closes #38172 #34197
- ec2: support CpuOptions on LaunchTemplate (#38193) (b0f7d9c), closes #38187
- medialive: new AWS Elemental MediaLive L2 Construct with integration on MediaConnect L2 alpha (#38563) (730b2ee)
- update L1 CloudFormation resource definitions (#38645) (e238f54)
- update L1 CloudFormation resource definitions (#38693) (51234fd)
- s3-deployment: run the deployment handler on arm64 (Graviton) (#37174) (c2df7a3), closes #29996
Bug Fixes
- core: ignored external symlinks throw validation error (#38679) (8fd1ef6)
- core: templates are not checked for circular dependencies (#38712) (688b0c1)
- core: upgrade CloudFormation validation to latest version (#38668) (d5df2ee)
- eks-v2: generate and export L1 constructs from aws-eks-v2 (#37640) (ecdafa9), closes #37563 #37350 #37350
- s3-deployment: replace deprecated addDependency in integ test (#38684) (43c4921)
Alpha modules (2.268.0-alpha.0)
⚠ BREAKING CHANGES
- glue-alpha:
DataQualityTargetTable's constructor is removed — useDataQualityTargetTable.fromTable(database, table)orfromTableName(database, tableName);IDatabasenow extendsIDatabaseRef. - glue-alpha:
DataQualityRulesetProps.clientTokenis removed; use theCfnDataQualityRulesetL1 for request-level idempotency. - glue-alpha: S3Table.clientSideEncryptionKey is now kms.IKeyRef instead of kms.IKey.
- glue-alpha:
DataQualityRulesetProps.rulesetNameis now required.AWS::Glue::DataQualityRulesetmadeNamea required property, so the name can no longer be left for CloudFormation to generate.