I think at least some of us have been there before - a new major version of a product (like Confluence) gets released and then suddenly, many plugins need upgrade work.

This talk will touch some of the things we do to:

  • Minimize plugin breakages with new major product versions
  • Avoid lots of plugin upgrade works after the product release
  • Blind spots in the process and the things we can do to minimize those

edit:
The binary compatibility blind spot could probably be better explained if I had more time. Basically, it's a problem when:

  • You have a plugin that uses a class Foobar from a product called C. You have a Bamboo build plan setup to run builds against the C's development SNAPSHOT.
  • You compiled your plugin against C 3.3 and released it as 1.0
  • C 3.4 released six months later. Some time in between your plugin's 1.0 and C's 3.4 release, class Foobar became an interface.

In the above scenario, you might be led to the false believe that the plugin works perfectly fine with C 3.4 - the plugin build has been green all the while... but the problem is, if you do, your users might get the IncompatibleClassChangeError when they try to use 1.0 of the plugin in C 3.4

6 Comments

  1. Awesome, David – we've been talking about this quite a bit recently. There are definitely "blind spots in the process" as you say, so I'm really looking forward to this.

  2. Testing and stability are certainly hot topics – we've got some of our own stuff to display too. Might do a lightening talk on our project quality monitoring, if we get it to a displayable state.

  3. +1 - I'm looking forward to this one.

  4. Great topic and I'm interested to hear what you have to say.
    Personally, I've found that although great strides have been made to unify the plugins framework and such, the apps are still so different that there's not a lot you can do to make a blanket process.

    I know not a lot of people are Bamboo developers, but trust me when I say almost every point release breaks something in all of my Bamboo plugins.

    1. Its like confluence v2.x!

  5. David, good topic I am in!