rspeele / TaskBuilder.fs

F# computation expression builder for System.Threading.Tasks
Creative Commons Zero v1.0 Universal
237 stars 27 forks source link

Support for netstandard2.0 #29

Open isaacabraham opened 5 years ago

isaacabraham commented 5 years ago

Would it be possible to release a new version of this package that targets netstandard2.0 rather than 1.6? This has some benefits, one of which is that with the recent release of FSharp.Core 4.7, much simpler dependency graphs in Paket.

rspeele commented 5 years ago

My concern with this is that, given that TaskBuilder.fs is riddled with inline code, there's a good chance a new build targeting netstandard20 will not be binary-compatible with the old builds.

If so, releasing it would do more harm than good as it could lead to dependency conflicts that cannot be solved with binding redirects. For this reason I'm very hesitant to make any releases other than fixing correctness bugs, which fortunately have not been a problem. I would push for progress on the feature's eventual inclusion in F# Core instead, which should make life better for everybody.

isaacabraham commented 5 years ago

Hi. I can't comment on the binary compatibility risk so won't go there :-) But perhaps a major release number would alleviate those concerns? Also, if you keep the netstandard1.6 TFM, wouldn't that mean that people using 1.6 could continue to use it without a problem?

The eventual inclusion into F# Core would indeed resolve this in general but would necessitate a complete release of for all existing projects that use this. Releasing a new version here would mean that that was not necessary, and would benefit people using this library immediately.

slang25 commented 5 years ago

I can't see binary compatibility being an issue here, like Isaac says it's an additional TFM. The benefits of a ns2.0 release would be worth adding IMO

isaacabraham commented 5 years ago

Now that NET Core 3 is out and FSharp.Core is completely on netstandard2.0, I'd love it if you would re-consider doing this now :-)

forki commented 4 years ago

Please release a new version. netstandard1.6 was a big mistake and the whole ecosystem is moving away from it

isaacabraham commented 4 years ago

@rspeele I understand that you might be busy with other things - I know you do this in your spare time. Would you consider bringing in someone to support you on this project in order to accept a PR on this?

Thanks!

rspeele commented 4 years ago

Hi,

Sorry I'm way behind on this one. I merged Isaac's PR and put it out at 2.2.0-alpha. If that seems to work well when mixed with existing libraries that reference 2.1.0, I'll re-release the same thing as 2.2.1 (not alpha).

isaacabraham commented 4 years ago

Happy to close this issue if everyone else is? :-)

isaacabraham commented 4 years ago

@rspeele any chance of pushing this as a non-alpha release? :-)

slang25 commented 4 years ago

The alpha package looks good, would love for a release @rspeele

slang25 commented 4 years ago

@rspeele Would you be happy to release a 2.2.1 of this package, it's looking good from tests here 😃