currently our gemspecs uses constrains on logstash-core (and soon logstash-core-event), let's call them the core gems, using a pattern similar to:
s.add_runtime_dependency "logstash-core", '>= 1.4.0', '< 2.0.0'
the problem with this notation is that a logstash-core gem release version 2.0.0.rc1 is considered prior to 2.0.0, because it is a "pre-release" version so a gem version 2.0.0.rc1 would satisfy the < 2.0.0 constrain.
Obviously the intent in specifying < 2.0.0 is to exclude anything 2.0.ish but I guess that semantically the current behaviour is arguable.
One possible solution is to specify ~> 1.4 but then this notation does not allow any pre-release versions to satisfy the constrain which is bad since we need to release pre-release beta/rc packages that uses pre-release gem versions.
I am not sure what our options are. A solution is required for current and future releases and should ideally be also applied to the 1.5 branch.
This related to #4235 logstash-plugins/logstash-output-file#22 #4188 #4231
currently our gemspecs uses constrains on logstash-core (and soon logstash-core-event), let's call them the core gems, using a pattern similar to:
the problem with this notation is that a logstash-core gem release version 2.0.0.rc1 is considered prior to 2.0.0, because it is a "pre-release" version so a gem version
2.0.0.rc1would satisfy the< 2.0.0constrain.Obviously the intent in specifying
< 2.0.0is to exclude anything 2.0.ish but I guess that semantically the current behaviour is arguable.One possible solution is to specify
~> 1.4but then this notation does not allow any pre-release versions to satisfy the constrain which is bad since we need to release pre-release beta/rc packages that uses pre-release gem versions.I am not sure what our options are. A solution is required for current and future releases and should ideally be also applied to the 1.5 branch.
This related to #4235 logstash-plugins/logstash-output-file#22 #4188 #4231