Hello Dev-Platform: tl;dr: As discussed in the platform meeting today, we're looking at adding a checking script to verify that IIDs are changed along with interfaces from now on. The relevant bug is https://bugzilla.mozilla.org/show_bug.cgi?id=477166
Full Text: In light of recent breakages of plugins/addons caused by changing interfaces without changing IIDs associated with these interfaces, Alex has asked me to post a summary of what we're trying to do to prevent future issues like this. First, let me summarize the issue for those unfamiliar (although, that's probably a minority of us, since many get caught with this sooner or later): We sometimes make changes to interfaces that are publicly visible via IDL. These changes are necessary for our continued development, and we do not guarantee interface compatibility between releases. However, in order for binary addons to be compatible, they sometimes will check to verify if the binary version of a particular interface has changed using the IID. Any time an interface changes, the IID needs to be changed as well. Unfortunately, this is an easy thing to forget to do, and an even easier thing to miss during review. Even more unfortunate is that we don't know (currently) about these changes until after release (as that's when the plugins users are using break). So, after each of the last few release cycles, we've had issues with this, (and, I will definitely admit that the last couple have been as a result of my code - for that, I apologize). To fix this problem, it was identified in 2009 that we should have a way of automatically reporting changed interfaces that don't have associated IID changes ( https://bugzilla.mozilla.org/show_bug.cgi?id=477166 ). It got a lot of traction from Dave Townsend, but ultimately remains unfinished. It's in a somewhat bitrotted state, now, and may be unrecoverable since our build system has since changed. Since I've written a small script that helps me, personally, remember to rev IDL files prior to check-in, akeybl has asked me to look into fixing this issue. If you're interested or worried about how this might affect you in the future, I urge you to bring up these issues in the bug. I likewise urge you to bring up ideas in the bug that you might have that will allow us to do this in a way that is least intrusive to developers as possible. Right now, the ideas are to run an hg pre-commit hook, run a script as part of the tbpl build, or possibly run a script as part of a merge (e.g. from mozilla-inbound -> mozilla-central, mozilla-central -> mozilla-aurora, etc...). Also, any questions can be directed to either myself or bsmedberg. ~Scott _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform