Skip to content

Conversation

@CumpsD
Copy link
Contributor

@CumpsD CumpsD commented Jun 24, 2020

This changes all overloads from f00c27c to be binary compatible for not having 1.2.0 break 1.1.4 upgrades

@ghost
Copy link

ghost commented Jun 24, 2020

CLA assistant check
All CLA requirements met.

@CumpsD
Copy link
Contributor Author

CumpsD commented Jun 24, 2020

@darrelmiller any idea if there were more of these around? Then I can get them all in the PR

@CumpsD CumpsD marked this pull request as ready for review June 24, 2020 21:17
@CumpsD
Copy link
Contributor Author

CumpsD commented Jun 24, 2020

Found one more in f00c27c

@darrelmiller
Copy link
Member

I'm hunting also

@CumpsD
Copy link
Contributor Author

CumpsD commented Jun 24, 2020

I had hoped PublicApiGenerator/PublicApiGenerator#199 would've helped me find them.

But the only diffs it gave me is these new types in 1.2.1:

namespace Microsoft.OpenApi.Writers
{
    public class OpenApiWriterSettings { }
    public enum ReferenceInlineSetting
    {
        DoNotInlineReferences = 0,
        InlineLocalReferences = 1,
        InlineAllReferences = 2,
    }
}

And the removal of

namespace Microsoft.OpenApi.Services
{
    public static class OpenApiComparer { }
    public class OpenApiDifference { }
}

But no indication about the default params

@CumpsD
Copy link
Contributor Author

CumpsD commented Jun 24, 2020

Gotcha! Diffed the XML comments between 2 packages:

New in 1.2.1:

<member name="M:Microsoft.OpenApi.Any.OpenApiString.#ctor(System.String,System.Boolean)">
    <summary>
    Initializes the <see cref="T:Microsoft.OpenApi.Any.OpenApiString"/> class.
    </summary>
    <param name="value"></param>
    <param name="isExplicit">Used to indicate if a string is quoted.</param>
</member>

We solved that one.

<member name="M:Microsoft.OpenApi.Any.OpenApiString.IsExplicit">
    <summary>
    True if string was specified explicitly by the means of double quotes, single quotes, or literal or folded style.
    </summary>
</member>
<member name="M:Microsoft.OpenApi.OpenAPIWriterExtensions.GetSettings(Microsoft.OpenApi.Writers.IOpenApiWriter)">
    <summary>
    Temporary extension method until we add Settings property to IOpenApiWriter in next major version
    </summary>
    <param name="openApiWriter"></param>
    <returns></returns>
</member>
<member name="P:Microsoft.OpenApi.Writers.OpenApiWriterBase.Settings">
    <summary>
    Settings for controlling how the OpenAPI document will be written out.
    </summary>
</member>
<member name="M:Microsoft.OpenApi.Writers.OpenApiWriterExtensions.WriteRequiredProperty(Microsoft.OpenApi.Writers.IOpenApiWriter,System.String,System.String)">
    <summary>
    Write required string property.
    </summary>
    <param name="writer">The writer.</param>
    <param name="name">The property name.</param>
    <param name="value">The property value.</param>
</member>
<member name="T:Microsoft.OpenApi.Writers.ReferenceInlineSetting">
    <summary>
    Indicates if and when the reader should convert references into complete object renderings
    </summary>
</member>
<member name="F:Microsoft.OpenApi.Writers.ReferenceInlineSetting.DoNotInlineReferences">
    <summary>
    Create placeholder objects with an OpenApiReference instance and UnresolvedReference set to true.
    </summary>
</member>
<member name="F:Microsoft.OpenApi.Writers.ReferenceInlineSetting.InlineLocalReferences">
    <summary>
    Convert local references to references of valid domain objects.
    </summary>
</member>
<member name="F:Microsoft.OpenApi.Writers.ReferenceInlineSetting.InlineAllReferences">
    <summary>
    Convert all references to references of valid domain objects.
    </summary>
</member>
<member name="T:Microsoft.OpenApi.Writers.OpenApiWriterSettings">
    <summary>
    Configuration settings to control how OpenAPI documents are written
    </summary>
</member>
<member name="P:Microsoft.OpenApi.Writers.OpenApiWriterSettings.ReferenceInline">
    <summary>
    Indicates how references in the source document should be handled.
    </summary>
</member>

Harmless.

<member name="M:Microsoft.OpenApi.Extensions.OpenApiSerializableExtensions.Serialize``1(``0,System.IO.Stream,Microsoft.OpenApi.OpenApiSpecVersion,Microsoft.OpenApi.OpenApiFormat,Microsoft.OpenApi.Writers.OpenApiWriterSettings)">

<member name="M:Microsoft.OpenApi.Writers.OpenApiJsonWriter.#ctor(System.IO.TextWriter,Microsoft.OpenApi.Writers.OpenApiWriterSettings)">

<member name="M:Microsoft.OpenApi.Writers.OpenApiWriterBase.#ctor(System.IO.TextWriter,Microsoft.OpenApi.Writers.OpenApiWriterSettings)">
    <summary>
    Initializes a new instance of the <see cref="T:Microsoft.OpenApi.Writers.OpenApiWriterBase"/> class.
    </summary>
    <param name="textWriter"></param>
    <param name="settings"></param>
</member>

<member name="M:Microsoft.OpenApi.Writers.OpenApiYamlWriter.#ctor(System.IO.TextWriter,Microsoft.OpenApi.Writers.OpenApiWriterSettings)">

A new default param!

@CumpsD
Copy link
Contributor Author

CumpsD commented Jun 24, 2020

Ok, seems I got them all in this PR, all yours now @darrelmiller :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants