fsprojects / FSharp.Control.Reactive

Extensions and wrappers for using Reactive Extensions (Rx) with F#.
http://fsprojects.github.io/FSharp.Control.Reactive
Other
284 stars 60 forks source link

Consider an explicit FSharp.Core version dependency #160

Closed cartermp closed 3 years ago

cartermp commented 3 years ago

See this section in this doc (to be merged upstream soon) for more details: https://github.com/dotnet/fsharp/blob/c1faff8f23d87a0a634b6be53ea63bb2d2338e86/docs/fsharp-core-notes.md#package-authors-should-pin-their-fsharpcore-reference

With a version-less FSharp.Core reference, the paket.lock file has locked FSharp.Core to be the highest FSharp.Core available on NuGet. Currently, this means that no default F# project can use this library without a nuget downgrade warning and potential runtime error at runtime. Eventually new templates will be updated and that goes away, but it does mean that anyone who isn't on the latest bleeding edge will also be unable to use this package.

I recommend changing the line in paket.dependencies to be this:

nuget FSharp.Core >= 4.7.2

This will match the current F# shipped in .NET Core 3.1 LTS, which will mean pretty widespread use.

That said, you can afford it and don't need any additional functionality or whatnot, you can go even lower and be available to people in older (perhaps unsupported) environments.