Skip to content

Underestimates of incompatibility #3

@GrahamTheCoder

Description

@GrahamTheCoder

Place to discuss binary breaking changes which aren't visible in the output file.

Need further investigation/testing:

  • TargetFramework changes - increasing the targeted framework version should probably count as a breaking change since it may stop the assembly loading in some environments. There may be other scenarios in this area worth considering too.

Might address in future version:

  • Known name clashes - When a member is added, it'd usually be considered not to be a breaking change, however sometimes it will clash with the name of something already defined depending on what scope it's referenced from. If it's possible for the new member to clash with a member within the solution for some set of using statements, it should probably be considered a breaking change.

Unlikely to address:

  • Unknown name clashes - When a member is added, it'd usually be considered not to be a breaking change, however sometimes it will clash with the name of something already defined depending on what scope it's referenced from. If it's possible for the new member to clash with a member outside the solution it will not be considered a breaking change, since this makes almost all additions breaking changes. Possible example is adding a method where the consumer has defined an extended property with the same name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions