forked from aws/aws-cdk
-
Notifications
You must be signed in to change notification settings - Fork 1
/
allowed-breaking-changes.txt
241 lines (206 loc) · 13.9 KB
/
allowed-breaking-changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# Actually adding any artifact type will break the load() type signature because I could have written
# const x: A | B = Manifest.load();
# and that won't typecheck if Manifest.load() adds a union arm and now returns A | B | C.
change-return-type:@aws-cdk/cloud-assembly-schema.Manifest.load
# Adding any new context queries will add to the ContextQueryProperties type,
# which changes the signature of MissingContext.
weakened:@aws-cdk/cloud-assembly-schema.MissingContext
removed:@aws-cdk/core.BootstraplessSynthesizer.DEFAULT_ASSET_PUBLISHING_ROLE_ARN
removed:@aws-cdk/core.DefaultStackSynthesizer.DEFAULT_ASSET_PUBLISHING_ROLE_ARN
removed:@aws-cdk/core.DefaultStackSynthesizerProps.assetPublishingExternalId
removed:@aws-cdk/core.DefaultStackSynthesizerProps.assetPublishingRoleArn
# merge asset manifest schema into cloud assembly schema
removed:@aws-cdk/cdk-assets-schema.AssetManifestSchema
removed:@aws-cdk/cdk-assets-schema.AwsDestination
removed:@aws-cdk/cdk-assets-schema.DockerImageAsset
removed:@aws-cdk/cdk-assets-schema.DockerImageDestination
removed:@aws-cdk/cdk-assets-schema.DockerImageSource
removed:@aws-cdk/cdk-assets-schema.FileAsset
removed:@aws-cdk/cdk-assets-schema.FileDestination
removed:@aws-cdk/cdk-assets-schema.FileSource
removed:@aws-cdk/cdk-assets-schema.ManifestFile
removed:@aws-cdk/cdk-assets-schema.FileAssetPackaging
changed-type:@aws-cdk/aws-codedeploy.IServerDeploymentGroup.autoScalingGroups
changed-type:@aws-cdk/aws-codedeploy.ServerDeploymentGroup.autoScalingGroups
changed-type:@aws-cdk/aws-rds.Credentials.secret
# We were leaking L1 types in L2 APIs, which now have changed required -> optional
# when ECS moved to the CloudFormation Registry spec.
change-return-type:@aws-cdk/aws-ecs.ContainerDefinition.renderContainerDefinition
change-return-type:@aws-cdk/aws-ecs.FirelensLogRouter.renderContainerDefinition
change-return-type:@aws-cdk/aws-ecs.LinuxParameters.renderLinuxParameters
# These were accidentally not marked @experimental
removed:@aws-cdk/core.BootstraplessSynthesizer.synthesizeStackArtifacts
removed:@aws-cdk/core.DefaultStackSynthesizer.synthesizeStackArtifacts
removed:@aws-cdk/core.LegacyStackSynthesizer.synthesizeStackArtifacts
removed:@aws-cdk/core.NestedStackSynthesizer.synthesizeStackArtifacts
removed:@aws-cdk/core.IStackSynthesizer.synthesizeStackArtifacts
# DockerVolumeConfiguration.labels has changed types from string[] to map<string, string>
# The string[] was actually a latent bug we weren't aware of because we passing volumes through
# to the underlying CFN resource as Lazy.anyValue.
# The change to map<string, string> caused all these inputs to break.
incompatible-argument:@aws-cdk/aws-ecs.Ec2TaskDefinition.<initializer>
incompatible-argument:@aws-cdk/aws-ecs.Ec2TaskDefinition.addVolume
incompatible-argument:@aws-cdk/aws-ecs.FargateTaskDefinition.<initializer>
incompatible-argument:@aws-cdk/aws-ecs.FargateTaskDefinition.addVolume
incompatible-argument:@aws-cdk/aws-ecs.TaskDefinition.<initializer>
incompatible-argument:@aws-cdk/aws-ecs.TaskDefinition.addVolume
# We made properties optional and it's really fine but our differ doesn't think so.
weakened:@aws-cdk/cloud-assembly-schema.DockerImageSource
weakened:@aws-cdk/cloud-assembly-schema.FileSource
# Changed required deprecated props from required -> optional.
# These are fine, since they shouldn't be widely used.
weakened:@aws-cdk/core.FileAssetLocation
weakened:@aws-cdk/aws-events.RuleTargetConfig
# replace interface with untyped properties to order to break stable to experimental dependencies
removed:@aws-cdk/aws-stepfunctions-tasks.CallApiGatewayHttpApiEndpointProps.api
strengthened:@aws-cdk/aws-stepfunctions-tasks.CallApiGatewayHttpApiEndpointProps
removed:@aws-cdk/aws-route53-targets.ApiGatewayv2Domain
removed:@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps.jobDefinition
removed:@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps.jobDefinition
removed:@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps.jobQueue
removed:@aws-cdk/aws-stepfunctions-tasks.BatchSubmitJobProps.jobQueue
removed:@aws-cdk/aws-stepfunctions-tasks.BatchSubmitJobProps.jobDefinition
strengthened:@aws-cdk/aws-stepfunctions-tasks.BatchSubmitJobProps
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.cluster
strengthened:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps
# Remove IO2 from autoscaling EbsDeviceVolumeType. This value is not supported
# at the moment and was not supported in the past.
removed:@aws-cdk/aws-autoscaling.EbsDeviceVolumeType.IO2
# Remove autoTerminationPolicy from stepfunctions-tasks EmrCreateClusterProps. This value is not supported by stepfunctions at the moment and was not supported in the past.
removed:@aws-cdk/aws-stepfunctions-tasks.EmrCreateCluster.AutoTerminationPolicyProperty
removed:@aws-cdk/aws-stepfunctions-tasks.EmrCreateClusterProps.autoTerminationPolicy
# Changed property securityGroupId to optional because either securityGroupId or
# securityGroupName is required. Therefore securityGroupId is no longer mandatory.
weakened:@aws-cdk/cloud-assembly-schema.SecurityGroupContextQuery
# refactor autoscaling lifecycle hook target bind() methods to make role optional by
# having bind() methods create the role if it isn't passed to them
incompatible-argument:@aws-cdk/aws-autoscaling-hooktargets.FunctionHook.bind
incompatible-argument:@aws-cdk/aws-autoscaling-hooktargets.QueueHook.bind
incompatible-argument:@aws-cdk/aws-autoscaling-hooktargets.TopicHook.bind
incompatible-argument:@aws-cdk/aws-autoscaling.ILifecycleHookTarget.bind
# removed properties from kafka eventsources as they are not supported
removed:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps.bisectBatchOnError
removed:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps.maxRecordAge
removed:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps.parallelizationFactor
removed:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps.reportBatchItemFailures
removed:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps.retryAttempts
removed:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps.tumblingWindow
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.bisectBatchOnError
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.maxRecordAge
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.parallelizationFactor
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.reportBatchItemFailures
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.retryAttempts
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.tumblingWindow
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.bisectBatchOnError
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.maxRecordAge
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.parallelizationFactor
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.reportBatchItemFailures
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.retryAttempts
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.tumblingWindow
base-types:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps
base-types:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps
base-types:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps
# fixed vpc property of BaseLoadBalancer so it correctly implements I(Application|Network)LoadBalancer (i.e: must be optional)
changed-type:@aws-cdk/aws-elasticloadbalancingv2.ApplicationLoadBalancer.vpc
changed-type:@aws-cdk/aws-elasticloadbalancingv2.BaseLoadBalancer.vpc
changed-type:@aws-cdk/aws-elasticloadbalancingv2.NetworkLoadBalancer.vpc
# removed methods and properties related to event bridge notifications for S3 buckets as they are not yet supported (19 Jan 2022)
removed:@aws-cdk/aws-s3.Bucket.enableEventBridgeNotification
removed:@aws-cdk/aws-s3.BucketBase.enableEventBridgeNotification
removed:@aws-cdk/aws-s3.BucketProps.eventBridgeEnabled
# changed the type of RDS's SnapshotCredentials.secret from Secret to ISecret,
# shouldn't matter
changed-type:@aws-cdk/aws-rds.SnapshotCredentials.secret
# removed property from kafka eventsources as they are not supported
removed:@aws-cdk/aws-lambda-event-sources.BaseStreamEventSourceProps.onFailure
removed:@aws-cdk/aws-lambda-event-sources.KafkaEventSourceProps.onFailure
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.onFailure
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.onFailure
# removed kubernetes version from EKS
removed:@aws-cdk/aws-eks.KubernetesVersion.V1_22
# change the type of vpcEndpoint from ec2.IInterfaceVpcEndpoint to ec2.InterfaceVpcEndpoint.
# even though it accepted IInterfaceVpcEndpoint, the actual implementation required a
# managed construct ec2.InterfaceVpcEndpoint
incompatible-argument:@aws-cdk/aws-route53-targets.InterfaceVpcEndpointTarget.<initializer>
# changed the type of requiresBootstrapStackVersion to Optional<number> (formerly number)
# to allow the CLI to skip validating the bootstrap stack when the stack is not needed
changed-type:@aws-cdk/cx-api.AssetManifestArtifact.requiresBootstrapStackVersion
# removed mistyped ec2 instance class
removed:aws-cdk-lib.aws_ec2.InstanceClass.COMPUTE6_GRAVITON2_HIGH_NETWORK_BANDWITH
# added new required property StackOutputsMap
strengthened:@aws-cdk/pipelines.ProduceActionOptions
strengthened:aws-cdk-lib.pipelines.ProduceActionOptions
# reverted a change that broke deployments for anyone using Triggers
removed:aws-cdk-lib.triggers.InvocationType
removed:aws-cdk-lib.triggers.TriggerProps.invocationType
removed:aws-cdk-lib.triggers.TriggerProps.timeout
# broken: it used to return a tuple type, that was incorrectly interpreted by jsii
change-return-type:aws-cdk-lib.aws_ec2.SecurityGroup.determineRuleScope
# broken only in non-JS/TS, where that was not previously usable
strengthened:aws-cdk-lib.aws_s3_deployment.BucketDeploymentProps
# Fix for non-working property
# loadBalancerName is used to idenitfy a Classic Load Balancer
# However TaskSet only works with modern Application or Network LBs
removed:aws-cdk-lib.aws_ecs.CfnTaskSet.LoadBalancerProperty.loadBalancerName
# Introduction of a new feature
# Previously only BlueGreenUpdatePolicy could be set, now BlueGreenUpdatePolicy or new RollingUpdatePolicy can be provided
weakened:aws-cdk-lib.aws_sagemaker.CfnEndpoint.DeploymentConfigProperty
# Removed for being unused
removed:@aws-cdk/region-info.FactName.DEFAULT_CR_NODE_VERSION
removed:aws-cdk-lib.region_info.FactName.DEFAULT_CR_NODE_VERSION
# These should have been marked external
weakened:aws-cdk-lib.aws_events.CfnRule.RedshiftDataParametersProperty
weakened:aws-cdk-lib.aws_ivs.CfnRecordingConfiguration.DestinationConfigurationProperty
weakened:aws-cdk-lib.aws_ivs.CfnRecordingConfiguration.ThumbnailConfigurationProperty
removed:aws-cdk-lib.aws_sam.CfnFunction.AlexaSkillEventProperty.variables
strengthened:aws-cdk-lib.aws_sam.CfnFunction.AlexaSkillEventProperty
removed:aws-cdk-lib.aws_cloudwatch.CfnAlarm.attrId
removed:aws-cdk-lib.aws_ec2.CfnNetworkInterface.enablePrimaryIpv6
removed:aws-cdk-lib.aws_ec2.CfnNetworkInterfaceAttachment.attrId
removed:aws-cdk-lib.aws_ec2.CfnNetworkInterfaceProps.enablePrimaryIpv6
# Changed type from GraphqlApi to IGraphqlApi to support import from a different stack, should not matter.
weakened:aws-cdk-lib.aws_appsync.SourceApi
# Due to https://github.com/aws/aws-cdk/issues/27259, none of these could have worked
# When reimplemented, we can remove this entry entirely
removed:aws-cdk-lib.Schedule
removed:aws-cdk-lib.aws_backup.Schedule
removed:aws-cdk-lib.CronOptions
base-types:aws-cdk-lib.aws_applicationautoscaling.Schedule
removed:aws-cdk-lib.aws_applicationautoscaling.Schedule.protectedAt
removed:aws-cdk-lib.aws_applicationautoscaling.Schedule.protectedCron
removed:aws-cdk-lib.aws_applicationautoscaling.Schedule.protectedExpression
removed:aws-cdk-lib.aws_applicationautoscaling.Schedule.protectedRate
removed-argument:aws-cdk-lib.aws_applicationautoscaling.Schedule.at
incompatible-argument:aws-cdk-lib.aws_applicationautoscaling.Schedule.cron
removed-argument:aws-cdk-lib.aws_applicationautoscaling.Schedule.expression
removed:aws-cdk-lib.aws_applicationautoscaling.Schedule.timeZone
base-types:aws-cdk-lib.aws_autoscaling.Schedule
removed:aws-cdk-lib.aws_autoscaling.Schedule.protectedAt
removed:aws-cdk-lib.aws_autoscaling.Schedule.protectedCron
removed:aws-cdk-lib.aws_autoscaling.Schedule.protectedExpression
removed:aws-cdk-lib.aws_autoscaling.Schedule.protectedRate
incompatible-argument:aws-cdk-lib.aws_autoscaling.Schedule.cron
removed-argument:aws-cdk-lib.aws_autoscaling.Schedule.expression
removed:aws-cdk-lib.aws_autoscaling.Schedule.timeZone
base-types:aws-cdk-lib.aws_events.Schedule
removed:aws-cdk-lib.aws_events.Schedule.protectedAt
removed:aws-cdk-lib.aws_events.Schedule.protectedCron
removed:aws-cdk-lib.aws_events.Schedule.protectedExpression
removed:aws-cdk-lib.aws_events.Schedule.protectedRate
removed:aws-cdk-lib.aws_events.Schedule.timeZone
base-types:aws-cdk-lib.aws_applicationautoscaling.CronOptions
removed:aws-cdk-lib.aws_applicationautoscaling.CronOptions.timeZone
base-types:aws-cdk-lib.aws_autoscaling.CronOptions
removed:aws-cdk-lib.aws_autoscaling.CronOptions.timeZone
removed:aws-cdk-lib.aws_autoscaling.CronOptions.year
removed:aws-cdk-lib.aws_backup.BackupPlanRuleProps.schedule
# This data identifer was added by mistake; it had never worked.
removed:aws-cdk-lib.aws_logs.DataIdentifier.PHONENUMBER
# This interface should not have been exported, it is not used in any public way.
removed:aws-cdk-lib.aws_logs.DataProtectionPolicyConfig
# These newly exported classes have been reverted and are no longer publicly consumeable
removed:aws-cdk-lib.custom_resources.WaiterStateMachine
removed:aws-cdk-lib.custom_resources.LogOptions
removed:aws-cdk-lib.custom_resources.WaiterStateMachineProps
removed:aws-cdk-lib.custom_resources.ProviderProps.disableWaiterStateMachineLogging
removed:aws-cdk-lib.custom_resources.ProviderProps.waiterStateMachineLogOptions