CommunityToolkit / CommunityToolkit/Maui

[BUG] Please enable PackageValidation

Open
#2,884 2 comments 3 reactions 0 assignees View on GitHub
feature request :mailbox_with_mail:
Dominant language
C#
Stars
2.7k
Forks
500
Avg merge
2d 14h
Merged PRs (30d)
7

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

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

- [x] 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](https://github.com/CommunityToolkit/Maui/pull/2540) 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

```markdown
- .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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.