Plugin Changelogs and Regression Bugs

Hi all,

I wanted to start a discussion about getting changelogs for plugins similar to the changelog for the Corona core daily builds.  Right now, we don’t have a changelog for plugins, which means we don’t have any visibility when plugins are being updated.  Why is that a problem?  It’s a problem because, if a plugin is updated by the publisher and the update introduces a regression bug, we developers have no way of knowing the update even occurred.  For a live case, see http://forums.coronalabs.com/topic/39200-vungle-causing-crash-on-app-resume-from-suspend/, where I suspect this may have happened.

I also wanted to ask a related question of how plugins are tied to daily builds, if at all.  According to the blog post at http://www.coronalabs.com/blog/2013/08/07/wednesday-faqs-corona-sdk-plugins/, “plugins are tied to the Corona build number”.  This makes it sound like, if I freeze my development with a particular daily build, then the version of the plugins I’m using are also frozen.  However, the blog post also says "you are always using the latest plugin version”.  This seems to say the opposite, suggesting that even if I freeze my development with a particular daily build, the plugins I’m using may or will get updated behind-the-scenes, and I have no way to tell when that’s happening.  That’s a big risk from a development standpoint.

I’m interested in hearing the community’s thoughts.

Thanks.

  • Andrew

Hi Andrew,

I agree 100%.  iI’s a huge risk to use a plugin if it can be updated at any time without any communication from the plugin developer or the ability to roll back to previous versions of the plugin.  With the core Corona functions we have access to previous builds, change logs for the daily builds, and active, two-way support and communication between the dev. community and the Coronalabs team here on this forum.  We also know that the public releases have been through a comprehensive testing regimen before they are released. For third party plugins we get none of that except for perhaps some spotty support on the forums at the launch of the plugin.  

I agree with you both.  It is, indeed a risk, and the more plugins we use, the more we have to test every time we build our project (even when no code has changed!)  I mean, the plugin update can happen any time on any day…  Hmmmm…

This is disconcerting.

Naomi

It would be extremely helpful to get a response from the Corona staff on this thread.  I now think it’s a critical and potentially dangerous issue.  Specifically, it appears that developers are exposed to the risk that a third party plugin is updated and that the update introduces a breaking change or regression bug, all without us knowing.

Here is a thread that shows a case in point: http://forums.coronalabs.com/topic/39200-vungle-causing-crash-on-app-resume-from-suspend/.  At some point in the past two weeks, Vungle updated their plugin, and the update introduced a critical bug (after showing a Vungle ad, if the app was suspended and then resumed, it would crash).  Yesterday, the bug was fixed.  However, we developers had zero transparency into the updates.  And it’s unclear how the Vungle plugin updates are connected to the Corona daily builds, if at all.

In general, we’d like clarity from Corona on how plugin versions are connected to the daily builds.  For example, if we freeze development with a particular daily build, are the versions of the plugins we’re using also frozen?  Or do new versions of the plugins get applied ‘retroactively’ to previous daily builds, including the one we froze our development with?  The latter would be pretty disturbing, because it means that a regression bug could be introduced at any time (the worst case would be between our last test build and our release build…).

At a minimum, having a changelog for all plugins would at least alert us to the fact that the plugin has been updated, so that we can choose whether to retest it.

  • Andrew

Hi Andrew,

I agree 100%.  iI’s a huge risk to use a plugin if it can be updated at any time without any communication from the plugin developer or the ability to roll back to previous versions of the plugin.  With the core Corona functions we have access to previous builds, change logs for the daily builds, and active, two-way support and communication between the dev. community and the Coronalabs team here on this forum.  We also know that the public releases have been through a comprehensive testing regimen before they are released. For third party plugins we get none of that except for perhaps some spotty support on the forums at the launch of the plugin.  

I agree with you both.  It is, indeed a risk, and the more plugins we use, the more we have to test every time we build our project (even when no code has changed!)  I mean, the plugin update can happen any time on any day…  Hmmmm…

This is disconcerting.

Naomi

It would be extremely helpful to get a response from the Corona staff on this thread.  I now think it’s a critical and potentially dangerous issue.  Specifically, it appears that developers are exposed to the risk that a third party plugin is updated and that the update introduces a breaking change or regression bug, all without us knowing.

Here is a thread that shows a case in point: http://forums.coronalabs.com/topic/39200-vungle-causing-crash-on-app-resume-from-suspend/.  At some point in the past two weeks, Vungle updated their plugin, and the update introduced a critical bug (after showing a Vungle ad, if the app was suspended and then resumed, it would crash).  Yesterday, the bug was fixed.  However, we developers had zero transparency into the updates.  And it’s unclear how the Vungle plugin updates are connected to the Corona daily builds, if at all.

In general, we’d like clarity from Corona on how plugin versions are connected to the daily builds.  For example, if we freeze development with a particular daily build, are the versions of the plugins we’re using also frozen?  Or do new versions of the plugins get applied ‘retroactively’ to previous daily builds, including the one we froze our development with?  The latter would be pretty disturbing, because it means that a regression bug could be introduced at any time (the worst case would be between our last test build and our release build…).

At a minimum, having a changelog for all plugins would at least alert us to the fact that the plugin has been updated, so that we can choose whether to retest it.

  • Andrew