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

Modify build.fsx to use a version number based on the Rx package version #16

Closed jack-pappas closed 9 years ago

jack-pappas commented 10 years ago

It may make sense to modify the build.fsx script to create the AssemblyInfo.fs and NuGet package using a version number based on the Rx package version.

For example, for Rx 2.2.2, we might create the FSharp.Reactive package with version number 2.2.2.0. This would make it easier for users to know they're using a version of FSharp.Reactive that matches a specific version of the Rx packages, which is important if Rx is being used in a polyglot solution (e.g., F#/C#, F#/VB.NET). The Rx packages only use the first three numbers in the version number, so we could use the fourth to allow updates/fixes to the FSharp.Reactive package without breaking the versioning scheme.

panesofglass commented 10 years ago

Good idea. This would be easier after moving to the FSharp.ProjectScaffold.

panesofglass commented 10 years ago

I don't think this is now possible with the latest commits, as we have now broken backwards compatibility, thereby requiring a major version increment.

panesofglass commented 10 years ago

It's possible we just ignore that break and fix this when we move to Rx 2.4.

panesofglass commented 10 years ago

@cloudRoutine @dsyme @forki what are your thoughts on this? Be rigid with respect to SemVer or follow Rx release versions? We do need to update to Rx 2.4; at least that would be nice. We can therefore set a new package version at 2.4.* or 3.0.*.

cloudRoutine commented 10 years ago

If there's a long term intention for this library to include modules related to Functional Reactive Programming outside of the scope of the Reactive Extensions (e.g. an implementation of Elm's Signal Graphs) then semantic versioning should be followed, the version of the Rx library referenced can be stated in the package notes and the readme for the repository.

Otherwise the 2.4.* scheme seems preferable.

forki commented 10 years ago

Don't follow their releases. This would be insane since then you would have to release everytime they release.

Just embrace semver. Maybe by using paket

panesofglass commented 10 years ago

@forki :+1: for packet. I anxiously await your PR! ;)

rodrigovidal commented 10 years ago

@panesofglass I agree with @forki, I think you should not follow their releases.

panesofglass commented 9 years ago

Majority perspective is to follow SemVer, so that is what we will do going forward. Please re-open or create a new issue if you would like to discuss further.