fsprojects / FSharp.Control.TaskSeq

A computation expression and module for seamless working with IAsyncEnumerable<'T> as if it is just another sequence
MIT License
93 stars 8 forks source link

Consider adding Package Validation to document binary compatibility #259

Open bartelink opened 3 months ago

bartelink commented 3 months ago

https://devblogs.microsoft.com/dotnet/package-validation/#validation-against-baseline-package-version has been working well with me for Equinox (see https://github.com/jet/equinox/pull/455)

TL;DR it fails the build if there's a binary incompatibility compared to the public API of an earlier version

Of course, there's a selfishness to my request/suggestion too: I have multiple public packages that depend on TaskSeq >= 0.4.0 and would need to reissue quite a few packages if there was to be a binary breaking change. What I like about how this scheme works is that there's a clear line in the fsproj that documents how far back the binary compatibility stretches for any given package.