-
Notifications
You must be signed in to change notification settings - Fork 469
Description
Is there an existing issue for this?
- I have searched the existing issues
Did you read the "Reporting a bug" section on Contributing file?
- I have read the "Reporting a bug" section on Contributing file: https://github.com/CommunityToolkit/Maui/blob/main/CONTRIBUTING.md#reporting-a-bug
Current Behavior
Please enable package validation to all the maui toolkit packages. The Media Player package had a major breaking change between 6.0 and 6.1, and it makes me hesitate taking a dependency on toolkit packages in my libraries, because it puts a lot of work on 3rd party dependencies to immediately provide updates if you break binary compatibility.
First of all, I'd like to understand better your bar for breaking changes, both in minor releases, but just as much in major releases. I'd like to get to a point where we can trust the ecosystem not to constantly break us, even in major releases if it can be avoided.
Second, I'd like to propose you add Package Validation to all your nuget packages. This ensures breaking changes doesn't happen on accident, and you'd have to consciously make a decision on breaking changes to fix the build if it does happen. It is so easy to enable, there's really not a reason not to. See more here: https://learn.microsoft.com/en-us/dotnet/fundamentals/apicompat/package-validation/baseline-version-validator
/cc @jfversluis
Expected Behavior
Any breaking changes breaks the build without explicitly adding suppressions, forcing developers to make a conscious decision to break the API.
Steps To Reproduce
- Build an app that uses CommunityToolkit.Maui.MediaElement v6.0.2
- Reference CommunityToolkit.Maui.Core.Primitives.MediaElementState in code.
- Upgrade to 6.1.1 and notice the MediaElementState moved to a new namespace
Environment
- .NET MAUI CommunityToolkit: 6.1.1Anything else?
OMD highlighting all the breaking changes. Every single member of MediaElement and its interface had breaking changes.
