Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 4 123 ... LastLast
Results 1 to 10 of 32
  1. #1
    Senior Member Philip Meyer's Avatar
    Join Date
    Apr 2005
    Location
    UK
    Posts
    5,568

    plugin versioning

    Having switched to 7.1/trunk, I found that no third-party plugins load, due to the max version checking.

    I was suprised, because most of them have "<maxVersion>7.0+</maxVersion>" in the install.xml. I thought that meant that there was effectively no restriction. Do I remove the <maxVersion> node if there is no reason to have a max version restriction instead?

    Phil

  2. #2
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    18,932

    plugin versioning

    > Having switched to 7.1/trunk, I found that no third-party plugins load, due to the max version checking.

    This issue should have been fixed a few days ago (and there's been quite some talk about it). Are you on the latest version?

    --

    Michael

  3. #3
    Administrator andyg's Avatar
    Join Date
    Jan 2006
    Location
    Pittsburgh, PA
    Posts
    7,396

    plugin versioning

    On Apr 3, 2008, at 4:07 AM, Michael Herger wrote:
    >> Having switched to 7.1/trunk, I found that no third-party plugins
    >> load, due to the max version checking.

    >
    > This issue should have been fixed a few days ago (and there's been
    > quite some talk about it). Are you on the latest version?


    Actually I didn't fix the bug in the version parser that made '7.0+'
    not work as you'd expect. I just replaced all our maxVersion values
    with '*', which does work and is effectively the same thing. If
    someone wants to tackle the version parser bug feel free.

  4. #4
    Senior Member Philip Meyer's Avatar
    Join Date
    Apr 2005
    Location
    UK
    Posts
    5,568

    plugin versioning

    >This issue should have been fixed a few days ago (and there's been quite some talk about it). Are you on the latest version?
    I have latest SVN. I picked up a change for all internal plugins, when maxVersion is now set to *. But third-party plugins with maxVersion=7.0+ still don't load.

    Phil

  5. #5
    Senior Member max.spicer's Avatar
    Join Date
    Apr 2005
    Location
    York, United Kingdom
    Posts
    1,661
    Quote Originally Posted by Philip Meyer View Post
    >This issue should have been fixed a few days ago (and there's been quite some talk about it). Are you on the latest version?
    I have latest SVN. I picked up a change for all internal plugins, when maxVersion is now set to *. But third-party plugins with maxVersion=7.0+ still don't load.
    They won't. You need to change the 7.0+ to * or 7.1+. 7.0+ only catches 7.0 releases. It sounds like the desired behaviour was for it to mean > 7.0. I guess that would actually be 7+.

    Max
    Some people think the title of this song is irrelevant,
    but it's not irrelevant - it's a hippopotamus.

  6. #6
    Senior Member erland's Avatar
    Join Date
    Dec 2005
    Location
    Sweden
    Posts
    10,318
    How far can I increase maxVersion without risking that the plugin won't work due to changes in the plugin API or other behaviour ?

    I assume that I can trust that if I've tested my plugin towards 7.0.0 it will probably work with all 7.0.x releases ?
    What about 7.1 if I've tested it against 7.0.0 ?
    What about 7.5 if I've tested it against 7.0.0 ?

    I assume that I at least shouldn't set the maxVersion so the plugin is allowed to run in 8.0 because there is a risk that the plugin API will change between 7.x and 8.0.
    Erland Isaksson (My homepage)
    (Developer of many plugins/applets (both free and commercial).
    If you like to encourage future presence on this forum and/or third party plugin/applet development, consider purchasing some plugins)
    You may also want to try my Android apps Squeeze Display and RSS Photo Show
    Interested in the future of music streaming ? ickStream - A world of music at your fingertips.

  7. #7
    Quote Originally Posted by max.spicer View Post
    They won't. You need to change the 7.0+ to * or 7.1+. 7.0+ only catches 7.0 releases. It sounds like the desired behaviour was for it to mean > 7.0. I guess that would actually be 7+.

    Max
    Would "7.+" catch any 7.x release (7.0.1, 7.1, 7.5, etc)?

    Thanks.
    http://www.tux.org/~peterw/
    Note: The best way to reach me is email or PM, as I don't spend time on the forums.
    Free plugins: AllQuiet Auto Dim/AutoDisplay BlankSaver ContextMenu DenonSerial
    FuzzyTime KidsPlay KitchenTimer PlayLog PowerCenter/BottleRocket SaverSwitcher
    SettingsManager SleepFade StatusFirst SyncOptions VolumeLock

  8. #8
    Senior Member Philip Meyer's Avatar
    Join Date
    Apr 2005
    Location
    UK
    Posts
    5,568

    plugin versioning

    I don't really get the purpose of allowing wildcards in <minVersion> and/or <maxVersion>.

    A plugin developer must know what the minimum supported version is, so that can always be fixed, or not present if it works in any version of SlimServer/SqueezeCenter (I assume the plugin developer should set minVersion to the lowest version number that he's tested it with).

    Similarly for maxVersion. If it works with the latest version, it can be assumed to work with any future version. If it is known that it will not work after a certain version, set the specific version that it will support.

    Most third-party plugins seem to have maxVersion set to 7.0+, which appears to mean anything less than 7.1.

    Should 7+ mean any version approaching 8.0.0?

    At the moment, if users upgrade to 7.1 (which I assume would have minor impact on plugins) they will be frustrated that no third-party plugins will work until new versions are downloaded and installed. There was talk in the past of writing an auto-plugin download manager; that would help with the issue ;-)

    It appears that a plugin will not load if maxVersion node is missing, so I guess <maxVersion>*</maxVersion> is the only way to say any version greater than min version?

    Phil

  9. #9
    Administrator andyg's Avatar
    Join Date
    Jan 2006
    Location
    Pittsburgh, PA
    Posts
    7,396

    plugin versioning

    On Apr 4, 2008, at 7:28 PM, Phil Meyer wrote:
    > I don't really get the purpose of allowing wildcards in <minVersion>
    > and/or <maxVersion>.
    >
    > A plugin developer must know what the minimum supported version is,
    > so that can always be fixed, or not present if it works in any
    > version of SlimServer/SqueezeCenter (I assume the plugin developer
    > should set minVersion to the lowest version number that he's tested
    > it with).
    >
    > Similarly for maxVersion. If it works with the latest version, it
    > can be assumed to work with any future version. If it is known that
    > it will not work after a certain version, set the specific version
    > that it will support.
    >
    > Most third-party plugins seem to have maxVersion set to 7.0+, which
    > appears to mean anything less than 7.1.
    >
    > Should 7+ mean any version approaching 8.0.0?
    >
    > At the moment, if users upgrade to 7.1 (which I assume would have
    > minor impact on plugins) they will be frustrated that no third-party
    > plugins will work until new versions are downloaded and installed.
    > There was talk in the past of writing an auto-plugin download
    > manager; that would help with the issue ;-)
    >
    > It appears that a plugin will not load if maxVersion node is
    > missing, so I guess <maxVersion>*</maxVersion> is the only way to
    > say any version greater than min version?


    IMO, maxVersion is a useless field. How can you possibly know at what
    point your plugin won't work with some hypothetical future version?

  10. #10
    Senior Member Philip Meyer's Avatar
    Join Date
    Apr 2005
    Location
    UK
    Posts
    5,568

    plugin versioning

    >IMO, maxVersion is a useless field. How can you possibly know at what
    >point your plugin won't work with some hypothetical future version?


    maxVersion is useful for limiting the use of the older plugin. At the time of writing a plugin, a developer won't know that the version supporting 6.5 won't work in future versions, but at a later date, may update the plugin to limit it from running on later releases.

    A plugin developer may then release two versions of their plugin; eg. one for v6.5 of slimserver, and one for v7.0 of SqueezeCenter.

    But allowing wildcards for maxVersion is meaningless/useless.

    Phil

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •