Arduino 1.0 IDE Compatibility with previous versions

wholder:
yet, the changes made to Wire API, for example, have broken many of these libraries and left users who depended on them in a weird kind of ("gee, everything broke when I updated to 1.0" limbo. Would it really have been that hard to include additional methods to allow for backwards comparability with these libraries until their respective authors could have time to update them and, more important, have time for these updated libraries trickle down into all the secondary sources, projects and books that reference them.

Several weeks ago, actually on March 11, I tried to bring this exact idea up on the Arduino developer mail list, to be included in 1.0.1.

Of the many lingering 1.0 incompatibility issues, legacy sketches and examples using Wire seems to be the most persistent. Nearly all widely used libraries have been updated, so the initial pain of changes like WProgram.h to Arduino.h have largely been solved.

I submitted issue 854 with a patch. Here's the URL:

http://code.google.com/p/arduino/issues/detail?id=854

You can read the developer list archives on March 11-12 if you want to see the conversation.

Eight people gave opinions, where 3 of those 8 were from the Arduino Team. Tom Igoe replied "That's a good idea." Massimo Banzi wrote "Personally I think we warned people well in advance that we were going to break a few things in order to have a more consistent 1.0 release. We clearly stated that 1.0 was going to be stable in the future." David Mellis responded (on the issue tracker) "I'm not quite convinced this is a good idea, but if we're going to do it, we should do it for 1.0.1. Will consider."

Responses from others also varied, with some in favor, some against, and some neutral, including Todd Krein (who's actively working on Wire) willing to go with whatever the decision ended up being.

With Massimo and David seemingly against, I decided not to advocate this patch further. It's still on issue 854, and I'm planning to keep it as part of the Teensyduino installer for the forseeable future, so at least people using Teensy will automatically have pre-1.0 sketches using Wire work automatically. I honestly believe it would benefit so many Arduino users if included in the upcoming 1.0.1 release, with no practical downside. That's why I went to the trouble to create it for Teensy users, and the additional effort to prepare an issue+patch and write up a lengthy post to the developer list to advocate it. Much as I'd like to see this in Arduino 1.0.1, it's simply not my decision, nor within my ability to convince those who do.

Sadly, the playground, old forum and numerous websites will probably never be fully updated or purged of old Wire library examples.