celluloid / celluloid-io

UNMAINTAINED: See celluloid/celluloid#779 - Evented sockets for Celluloid actors
https://celluloid.io
MIT License
879 stars 93 forks source link

Prerelease versioning scheme violates semantic versioning and breaks gem dependencies #144

Closed ghost closed 9 years ago

ghost commented 9 years ago

Gem::DependencyError: Unable to resolve dependencies: berkshelf-api requires celluloid (~> 0.16.0.pre); reel requires celluloid (>= 0.15.1); ridley requires celluloid (~> 0.16.0); celluloid-io requires celluloid (>= 0.17.0.pre12)

ghost commented 9 years ago

Prerelease identifiers should be separated from the main version by a hyphen: 0.17.0-pre12.

tarcieri commented 9 years ago

According to what? It certainly isn't documented that way at RubyGems.org:

http://guides.rubygems.org/patterns/#prerelease-gems

Furthermore, semantic versioning doesn't apply to 0.x releases:

http://semver.org/

  1. Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.
tarcieri commented 9 years ago

I think your problem is actually the way you're locking to versions. Don't lock to ~> 0.16.0.pre

digitalextremist commented 9 years ago

We are at 0.17.1 in this gem, and 0.17.1.2 in the other. No .pre releases are currently in the wild, and we are well on our way to 1.* across all libraries.

ioquatix commented 9 years ago

Hmm. Yes, I tend to use versions like "1.0.0-rc11" for release candidates.