Skip to content

Conversation

@DaveTryon
Copy link
Contributor

@DaveTryon DaveTryon commented Feb 4, 2025

This PR started by adding the InterfaceConcretionTests class, which includes concrete versions of all of the interfaces that I was able to identify as being exposed in the 3.0.1 version of the API. Ideally, these should also cover the data types that are in the API interface, but that's for another PR. These interface versions were based on the commit that shipped in release 3.0.1, then added to the current bits in main--the PinnedIConfiguration class broke, which is what flagged the fact that we had accidentally broken the IConfiguration class in #773, which added the LicenseInformationTimeoutInSeconds property to the IConfiguration interface.

The proposed fix is to move the new LicenseInformationTimeoutInSeconds property into the IConfiguration2 interface, which derives from IConfiguration. It then makes the InputConfiguration class derive from IConfiguration2 and updates the usages of LicenseInformationTimeoutInSeconds so that we get there via the IConfiguration2 interface.

@DaveTryon DaveTryon requested a review from a team as a code owner February 4, 2025 07:31
@github-actions
Copy link

github-actions bot commented Feb 4, 2025

This PR changes files in the API project. Does it change any of the API interfaces in any way? Please note that this includes the following types of changes:

  • Changing the signature of an existing interface method
  • Adding a new method to an existing interface
  • Adding a required data member to a class that an existing interface method consumes

Because any of these changes can potentially break a downstream consumer with customized interface implementations, these changes need to be treated as breaking changes. Please do one of the following:

Option 1 - Publish this as a breaking change

  1. Update the documentation to show the new functionality
  2. Bump the major version in the next release
  3. Be sure to highlight the breaking changes in the release notes

Option 2 - Refactor the changes to be non-breaking

  1. Review this commit, which adds a new interface in a backward-compatible way
  2. Refactor the change to follow this pattern so that existing interfaces are left completely intact
  3. Bump the minor version in the next release

@DaveTryon
Copy link
Contributor Author

/azp run

@sfoslund sfoslund merged commit c6c54df into main Feb 4, 2025
5 checks passed
@sfoslund sfoslund deleted the DaveTryon/add-interface-pins branch February 4, 2025 16:20
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.

3 participants