Backward Compatibility of the Arduino Versions

I have many sketches written with IDE 1.0.5. I downloaded 1.6.3 onto a different computer realizing that you never upgrade your primary computer. Well as I suspected sketches compiled and loaded using 1.0.5 work perfectly and the hardware works too.

Using the 1.6.3 and reentering the data into a 1.6.3 sketch blank will not compile and for some that will compile will not work in the hardware.

Clues? Suggestions? New and improved is not always better.

Frustrated in Fresno

Go back to the older version. I think 1.0.6 is pretty reliable. I use that usually.

What errors do you get?

The new compiler in 1.6.x removes support for a few things that had been long since deprecated in atmel's compiler - they finally removed them (of course, almost nobody using Arduino knew that those things had been deprecated). You need to find the problems and fix them. The most common issue is that you now have to declare PROGMEM variables as const as well.

I haven't migrated to 1.6.x yet, but I have updated the compiler on my 1.0.6's - the new compiler makes sketches significantly smaller, which is nice. But then you'd have the same progmem issues.

My big beef with 1.0.6 is the seemingly capricious changes that made adding custom boards harder.

If you want more specific help from us, though, you'll need to post the errors you're getting.

I don't think backward compatibility is part of the Arduino developers' lexicon. Nobody has even bothered to list the things that won't work.

There is no problem having multiple copies of the IDE on one PC. I have 1.0.6 and 1.5.6r2 but I can't remember when I last needed to use 1.0.5

The IDE is just a Java program. Download it and save it somewhere that you can find.

...R

Me too. I have multiple copies. I tend to use the earlier one if it works, and fire up the later one to test some point.

I don't understand how I can have different versions of the IDE on one computer. When the IDE is installed it opens folders, for example, in Program files\Arduino. Installing a second version will overwrite those files, won't it? My sketches written last year won't compile under 1.6 and I did get messages about double libraries - which I do not know how to overcome. I threw out 1.6

The download page for Windows includes "Windows ZIP file for non admin install". Just unzip that to some suitable folder (eg. My Documents) and run from that. Repeat for other versions (into different folders of course). I usually rename the folder from "Arduino" to "Arduino 1.0.6" or something like that.

I've made the switch to 1.6.x - most things still work, and things that don't, there are only a few categories of problems and they're usually easy fixes - and 1.6.x has a newer compiler, so code is a little smaller.

Custom core compatibility is a mess.

1.0.6 cores have different boards.txt format (mutually exclusive with new format due to how bootloader location is specified), don't need to include their own copy of libraries or platforms/programmers.txt - the default gets used.

1.6.x needs those extra files - the issue with bootloader location I think appeared after 1.6.0.

1.6.2 is incompatible with almost all custom cores (1.6.3 and later fix this)

I'm not usually an early adopter. Reading about the problems that others report makes me wary.

But I wanted to work with a part that seemed best supported in 1.6, so I've been using it for that. And aside from a few minor problems 1.6.4 has worked fine.

I'm still using 1.0.6 for other projects. I often have the 1.6.4 and 1.0.6 IDEs open at the same time, which can get a little confusing. Still, I'm waiting before I transition my other projects. I may wait for a year.

Thank you all. I will play some more.