azure-rest-api-specs icon indicating copy to clipboard operation
azure-rest-api-specs copied to clipboard

Storage STG 85/86

Open seanmcc-msft opened this issue 2 years ago • 6 comments

This is not a breaking change

In some cases, storage features are implemented with a service version, but not activated until late. That is what happened here.

This is not a breaking change

seanmcc-msft avatar Oct 18 '22 15:10 seanmcc-msft

Hi, @seanmcc-msft Thanks for your PR. I am workflow bot for review process. Here are some small tips.

  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use API Specs Comparison Report Generator
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. How to fix?
  • Any feedback about review process or workflow bot, pls contact swagger and tools team. [email protected]

    Swagger Validation Report

    ️❌BreakingChange: 10 Errors, 0 Warnings failed [Detail]
    compared swaggers (via Oad v0.9.7)] new version base version
    DataLakeStorage.json 2021-06-08(c0422ff) 2021-06-08(main)
    Rule Message
    1043 - AddingOptionalParameter The optional parameter 'x-ms-lease-action' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L1996:9
    1043 - AddingOptionalParameter The optional parameter 'x-ms-lease-duration' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L1996:9
    1043 - AddingOptionalParameter The optional parameter 'x-ms-proposed-lease-id' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L1996:9
    1043 - AddingOptionalParameter The optional parameter 'x-ms-content-encoding' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L1996:9
    1043 - AddingOptionalParameter The optional parameter 'x-ms-lease-action' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L2177:9
    1043 - AddingOptionalParameter The optional parameter 'x-ms-lease-duration' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L2177:9
    1043 - AddingOptionalParameter The optional parameter 'x-ms-proposed-lease-id' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L2177:9
    1043 - AddingOptionalParameter The optional parameter 'x-ms-encryption-key-sha256' was added in the new version.
    New: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L2177:9
    1046 - RemovedOptionalParameter The optional parameter 'x-ms-cache-control' was removed in the new version.
    Old: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L1996:9
    1046 - RemovedOptionalParameter The optional parameter 'x-ms-client-request-id' was removed in the new version.
    Old: Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json#L2163:9
    ️❌Breaking Change(Cross-Version): 121 Errors, 0 Warnings failed [Detail]
    compared swaggers (via Oad v0.9.7)] new version base version
    blob.json 2021-12-02(c0422ff) 2021-08-06(main)
    file.json 2021-12-02(c0422ff) 2021-06-08(main)

    The following breaking changes are detected by comparison with the latest preview version:

    Only 30 items are listed, please refer to log for more details.

    Rule Message
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L39:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L94:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L173:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L257:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L341:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L428:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L540:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L618:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L704:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L782:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L936:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1019:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1121:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1206:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1314:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1404:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1494:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1585:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1684:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1810:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L1928:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L2051:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L2174:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L2300:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L2406:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L2515:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L2625:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L3242:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L3714:9
    1019 - RemovedEnumValue The new version is removing enum value(s) '2021-08-06' from the old version.
    Old: Microsoft.BlobStorage/preview/2021-08-06/blob.json#L3909:9
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️️✔️LintDiff succeeded [Detail] [Expand]
    Validation passes for LintDiff.
    compared tags (via openapi-validator v1.13.0) new version base version
    package-2021-12 package-2021-12(c0422ff) default(main)
    package-2021-12 package-2021-12(c0422ff) default(main)
    package-2021-06 package-2021-06(c0422ff) package-2021-06(main)
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️️✔️ApiReadinessCheck succeeded [Detail] [Expand]
    ️️✔️~[Staging] ServiceAPIReadinessTest succeeded [Detail] [Expand]
    Validation passes for ServiceAPIReadinessTest.
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️️✔️PoliCheck succeeded [Detail] [Expand]
    Validation passed for PoliCheck.
    ️️✔️SDK Track2 Validation succeeded [Detail] [Expand]
    Validation passes for SDKTrack2Validation

    • The following tags are being changed in this PR
      • "https://github.com/Azure/azure-rest-api-specs/blob/c0422ff394cd47b776ad1f8976233affe8a67891/specification/storage/data-plane/Microsoft.BlobStorage/readme.md#tag-package-2021-12">storage/data-plane/Microsoft.BlobStorage/readme.md#package-2021-12
      • "https://github.com/Azure/azure-rest-api-specs/blob/c0422ff394cd47b776ad1f8976233affe8a67891/specification/storage/data-plane/Microsoft.FileStorage/readme.md#tag-package-2021-12">storage/data-plane/Microsoft.FileStorage/readme.md#package-2021-12
      • "https://github.com/Azure/azure-rest-api-specs/blob/c0422ff394cd47b776ad1f8976233affe8a67891/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md#tag-package-2021-06">storage/data-plane/Azure.Storage.Files.DataLake/readme.md#package-2021-06
    ️️✔️PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    ️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
    Validation passes for Lint(RPaaS).
    ️️✔️CadlValidation succeeded [Detail] [Expand]
    Validation passes for CadlValidation.
    ️️✔️PR Summary succeeded [Detail] [Expand]
    Validation passes for Summary.
    Posted by Swagger Pipeline | How to fix these errors?

    Swagger pipeline restarted successfully, please wait for status update in this comment.

    Swagger pipeline restarted successfully. If there is ApiView generated, it will be updated in this comment.

    Hi @seanmcc-msft, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki. If you want to know the production traffic statistic, please see ARM Traffic statistic. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

    NewApiVersionRequired reason: A service’s API is a contract with customers and is represented by using the api-version query parameter. Changes such as adding an optional property to a request/response or introducing a new operation is a change to the service’s contract and therefore requires a new api-version value. This is critically important for documentation, client libraries, and customer support. EXAMPLE: if a customer calls a service in the public cloud using api-version=2020-07-27, the new property or operation may exist but if they call the service in a government cloud, air-gapped cloud, or Azure Stack Hub cloud using the same api-version, the property or operation may not exist. Because there is no clear relationship between the service api-version and the new property/operation, customers can’t trust the documentation and Azure customer have difficulty helping customers diagnose issues. In addition, each client library version documents the service version it supports. When an optional property or new operation is added to a service and its Swagger, new client libraries must be produced to expose this functionality to customers. Without updating the api-version, it is unclear to customers which version of a client library supports these new features.

    The diff for Blobs looks fine, but I'm concerned about the encoded string change in the diff for Files.

    How is changing Name from a simple string into an object not a breaking change?

    tg-msft avatar Oct 20 '22 19:10 tg-msft

    The diff for Blobs looks fine, but I'm concerned about the encoded string change in the diff for Files.

    How is changing Name from a simple string into an object not a breaking change?

    Previous, Name could be something like this:

    <Name>fileName</Name>

    Now, Name could look like this:

    <Name Encoded="true">file%EF%BF%BF</Name>

    The Encoded XML attribute was added to the Name element.

    seanmcc-msft avatar Oct 20 '22 19:10 seanmcc-msft

    Got it - thank you for the clarification. I'm not as used to thinking through XML evolution as JSON.

    tg-msft avatar Oct 24 '22 21:10 tg-msft

    I added the Approved-BreakingChange label as it's not really a break.

    tg-msft avatar Oct 24 '22 21:10 tg-msft