INTERNAL keyword not declared?

I am working on a project in IDE 1.6.4. When I sent it to my friend, who is using IDE 1.6.5, to test it, He said it gave him the error "INTERNAL was not declared in this scope," which was weird considering it turned the same blue-green color as other keyword like EXTERNAL, HIGH, LOW, INPUT, OUTPUT, true, and false, which the compiler was fine with. What's going on?

Why does your friend use such an old version ;) The Arduino IDE is improved all the time, use the newest version, that is 1.6.8 at the moment.

I suppose the "INTERNAL" is for the analogReference(). Not every Arduino board has "INTERNAL" defined. https://www.arduino.cc/en/Reference/AnalogReference That means that your friend forgot to select the correct Arduino board.

The Arduino IDE is improved all the time, use the newest version, that is 1.6.8 at the moment.

I hope you were giggling when you typed "improved". 8)

PaulS: I hope you were giggling when you typed "improved". 8)

I was when I read it.

Why ? or should I use: "is being improved" ? According to Google Translate, I can also use : ameliorative With version 1.6.6 I could for the first time use I2C between Arduino boards without problems, that's an "improvement" ? right ?

My comment was because so many people have had trouble with all versions after V1.6.5. It's generally considered the last stable version, and is very reliable.

On a daily basis I see recommendations by pert, DrAzzy and others to uninstall later versions, (particularly V1.6.8, it seems), and to (re-)install V1.6.5.

I personally use V1.6.5, and after fixing an incompatibility with XP and "ld.exe", (which is my fault for still using XP), it's worked flawlessly.

I'm not sure what problems you had with board-to-board I2C communications, because I've done it on a number of projects now and it works well for me.

So when you said:-

Why does your friend use such an old version

(referring to V1.6.5), my first thought was - "because it's the best recent version".

I guess we all have our opinions on this. Horses for courses. :)

Personally I always use the hourly build which I download at least a couple times a week and I'm almost always more happy with that over any previous version specifically because it is improved. Nothing's more annoying to me than going back to an old version and running into a bug that I reported and was already fixed.

Using the hourly also allows me the opportunity to discover bugs and hopefully get the developers to fix them before the next release. However, I'm pretty experienced with the IDE by now. For a beginner the bugs that have been introduced since 1.6.6 can really steepen the learning curve so I suppose 1.6.5 is best for them even though there have also been some improvements made in each version.

The serial bug in 1.6.8 is very serious and I can't imagine the amount of frustration it's caused. Ideally things like that would get caught in pre-release testing but I can kind of sympathize with the developers on this one because I was beta testing and didn't encounter it either.

I get the feeling there is a pretty limited budget for the Arduino IDE development and a lot of that is going to Arduino Create. Soon(?) we will have two buggy IDEs to provide free support for! So the community really needs to get involved if we want to ensure that future releases are of better quality.

For the most part I've been impressed with the responsiveness of the developers to my issue reports and pull requests. It does take a bit of extra effort, but when you think of the problems we see reported here as just the tip of the iceberg of all the other users who encounter the same issue you can understand what a positive impact reporting/fixing a bug before it reaches the masses can make. The IDE has been downloaded 7 million times in the last year!

Thanks for the explanation. I didn't now that.

pert: Personally I always use the hourly build ...

Still getting the hang of paragraphs, eh?

PaulS: I hope you were giggling when you typed "improved". 8)

As they say:

Definition of "upgrade": Swap your old bugs for new ones.

OldSteve: My comment was because so many people have had trouble with all versions after V1.6.5. It's generally considered the last stable version, and is very reliable.

I stuck with 1.0.6 for as long as I could. It worked, why would it stop working?

[quote author=Nick Gammon link=msg=2720140 date=1461134455] As they say:

Definition of "upgrade": Swap your old bugs for new ones.

I stuck with 1.0.6 for as long as I could. It worked, why would it stop working? [/quote] My sentiments exactly. When I started using Arduino, V1.6.5 was the latest version, so I downloaded it, found it worked fine, so now I see no reason to risk problems by upgrading. To rephrase what you said "Why fix it if it ain't broke"