Plugins Specifying Compatible Rails Versions

Does the core team (or anybody in the community) have any plans to
implement a way for plugins to specify compatible Rails versions? What
does everybody think about this? It seems important, especially with
new releases and deprecation. I am willing to write a patch, but I
wanted to check with the community first.

I searched through the mailing lists and Trac but could not find any
discussion on it.

-Dan Manges

Luke Redpath and I had some plans to incorporate this into the plugin
repository, but as I recall, some members of core weren't so keen.

Basically it involved sharing plugin test results automatically with
the central repository, so an organic picture of the compatibility of
a particular plugin release with a specific Rails (Ruby, Platform)
version could be built up and used by others when installing the
plugin.

Speaking of the plugin repository + core, could one of you guys get in
touch with Luke and I so we can catch up on plans?

- James

I am thinking more along the lines of including a simple yaml file with
plugins, like how Firefox extensions specify versions in XML:
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>1.5</em:minVersion>
        <em:maxVersion>2.0.0.*</em:maxVersion>
      </Description>
    </em:targetApplication>

At a minimum, Rails could issue a warning that "plugin xyz may not be
compatible with the version of Rails you're using." It may not be
critical at this stage, but a few more 1.x releases, and definitely
after deprecated code is _removed_ in 2.0, I think it would be valuable.

At a minimum, Rails could issue a warning that "plugin xyz may not be
compatible with the version of Rails you're using." It may not be
critical at this stage, but a few more 1.x releases, and definitely
after deprecated code is _removed_ in 2.0, I think it would be valuable.

If plugins only work with a specific version of rails, you can simply check

Rails::VERSION::STRING or MAJOR,MINOR,TINY. Whatever you need to do.
I really don't think we need to implement something as complicated and
cumbersome as the firefox RDF extension mechanism.

I say let people add this to the plugin if you know your plugin is messing with internals. A lot of plugins don't mess with internals and are A OK for 1.0+ apps.

A standard method to check the version of Rails on plugin init and produce a (silence-able) warning (like the deprecation warnings) might be handy though. It'll at least encourage hacky plugins to be up front about forward-compatibility.

-- tim

Michael Koziarski wrote:

I really don't think we need to implement something as complicated and
cumbersome as the firefox RDF extension mechanism.

Just to follow up, I remembered reading this:
http://weblog.techno-weenie.net/2006/5/23/rails-plugin-meta-data

I'm not sure if Geoffrey and Rick still support an about.yml, but it is
what I was looking for when I brought this up - a standard place to
specify compatible Rails versions other than randomly in the readme.