Skip to content

[BUG] Please enable PackageValidation #2884

@dotMorten

Description

@dotMorten

Is there an existing issue for this?

  • I have searched the existing issues

Did you read the "Reporting a bug" section on Contributing file?

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

  1. Build an app that uses CommunityToolkit.Maui.MediaElement v6.0.2
  2. Reference CommunityToolkit.Maui.Core.Primitives.MediaElementState in code.
  3. Upgrade to 6.1.1 and notice the MediaElementState moved to a new namespace

Environment

- .NET MAUI CommunityToolkit: 6.1.1

Anything else?

OMD highlighting all the breaking changes. Every single member of MediaElement and its interface had breaking changes.

Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions