We are having trouble with the UPM producing a VERSION_MISMATCH license error under the wrong circumstances, which is causing Dataplane to believe that the user installed an invalid version of the add-on, even though their maintenance is simply expired and the plugin (which was built prior to the maintenance expiration) should still work fine.
This is going to be a big problem, since our customers (who thought they bought a perpetual license) will instead have the add-on stop working as soon as their maintenance is up!
According to the documentation, VERSION_MISMATCH errors are only supposed to appear when the user tries to install a version of a product that was built after the expiration of the maintenance period.
After some digging, I found that UPM was unable to determine the build date of our add-on for some reason, so it takes TODAY as the deemed build date (and then throws out the above error). I believe it's looking in the bundle headers for the build date, and it resorts to that default when it cannot find one.
Are we doing something wrong in our build, or is there a problem with UPM or the Plugin Framework? I confirmed that we shipped the add-on with an "Atlassian-Build-Date" in our JAR's META-INF/MANIFEST.MF. On the other hand, this header gets stripped for unknown reasons in the transformed JAR in .osgi-plugins/transformed-plugins, which I imagine is where UPM is looking.
This can be reproduced with the latest Dataplane 1.8 JAR ("Atlassian-Build-Date: 2014-05-19T12:48:46-0700"). It doesn't appear that the installed license will make any difference, but in case it matters, we were able to reproduce this with our own starter license SEN-2705352 (maintenance expires 2014-07-10).