Azure / openapi-diff

Command line tool to detect breaking changes between two openapi specifications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

False positivizes and undetailed errors for RequiredStatusChange

cataggar opened this issue · comments

I'm working on https://github.com/Azure/azure-rest-api-specs-pr/pull/15631 and there are some required differences reported between the old API version and the generated from TypeSpec version regarding properties. The errors are not very accurate. They should say what required values changes. Many look to be false positives.

~/ms/azure-rest-api-specs-pr> open breaking-changes.json | where code == RequiredStatusChange | select message old.path | to md
message old_path
The 'required' status changed from the old version('False') to the new version('True'). definitions.PrivateCloudList.properties New list has "required": ["value"]
The 'required' status changed from the old version('True') to the new version('False'). definitions.PrivateCloud.properties Neither has required.
The 'required' status changed from the old version('True') to the new version('False'). definitions.ManagementCluster.properties Neither has required.
The 'required' status changed from the old version('False') to the new version('True'). definitions.PrivateCloudIdentity.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.ClusterList.properties
The 'required' status changed from the old version('True') to the new version('False'). definitions.Cluster.properties Neither has required.
The 'required' status changed from the old version('False') to the new version('True'). definitions.DatastoreList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.HcxEnterpriseSiteList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.ExpressRouteAuthorizationList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.GlobalReachConnectionList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkSegmentsList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkDhcpList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkGatewayList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkPortMirroringList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkVMGroupsList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkVirtualMachinesList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkDnsServicesList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkDnsZonesList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.WorkloadNetworkPublicIPsList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.CloudLinkList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.AddonList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.VirtualMachinesList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.PlacementPoliciesList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.ScriptPackagesList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.ScriptCmdletsList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.ScriptExecutionsList.properties
The 'required' status changed from the old version('False') to the new version('True'). definitions.TrackedResource.properties