I have encountered problems upgrading to newer versions of the IDE, so I have stopped upgrading the IDE until I have no choice.
Now I see that there there are newer versions of the V2.3.0 esp8266 board that I am currently using. V2.5.2 is the latest. Logically, I expect upgrading the Board may upset some of my previously developed sketches similar to my above IDE experience.
Relative to upgrading the Boards I ask the following:
Should I update to the newest version or hang back say one version?
I have many programs previously developed and I assume that the newer Board may possibly cause them problems. Should I not worry and just cope if I have a future problem if I ever have to recompile?
I assume that I can fallback to a previous Board version if I have a future significant problem. True?
Should I update to the newest version or hang back say one version?
I always use the newest version, but when I encounter a bug I see it as an opportunity to contribute to open source projects, rather than as an annoyance.
As for hanging back one version: that makes no sense. What guarantee do you have that the one back version is any less problematic than the newest version? If there is a problem with a version, they don't go back and change it. Once a version is released, that's set in stone. They can only release a new version that has the bug fixed.
On the other hand, there is definitely something to be said for the philosophy "if it ain't broke, don't fix it". Some would say that if you're happy with the version you're using now then keep using it. That does mean that you miss out on any improvements that have been in the three year of development work since the 2.3.0 release came out.
frank2644:
I assume that the newer Board may possibly cause them problems.
Sadly, this may be the case with the ESP8266 package. The developers on that project and the ESP32 as well don't seem to worry as much as I'd like about breaking backwards compatibility. Generally in Arduino we take the philosophy that ease of use takes priority over performance (though of course we strive to achieve both). The ESP crew don't follow that so closely. I suppose their feeling is that the ESP users should be more advanced than the beginners getting started with an Uno so they don't need to worry so much about always making things beginner friendly.
frank2644:
3. I assume that I can fallback to a previous Board version if I have a future significant problem. True?
Yes. Boards Manager makes it simple to install any version you like at any time.
I'm thinking it might make sense to add a second installation of the Arduino IDE along with the newest boards, libraries, etc all at the same time. By leaving the old version untouched all my old sketches will be maintainable under the old version while I develop new sketches under the new version.
As I update my old sketches I can move them to the new environment and if they are too troublesome there I
can always go back to the old environment.
I have done this before (two installations), but I think I inadvertently contaminated one with the other due to my lack of knowledge of the installation structure. I since converted to the portable version of the IDE mainly because I think it helps me keep them separated.
I'll now probably install the latest IDE in a different computer again as a portable version. That way there can be no contamination from my old installations. Then I'll move that new installation to my development computer where the old installations reside.
As you can probably tell, I don't really know what I'm doing hence I try and be extra careful. Although sometimes that gets me in trouble.
When you have two copies of the IDE installed and running in normal mode, they will share the same data folder (where the hardware cores installed via the Arduino IDE's Boards Manager are stored) and so updating the ESP8266 core on one IDE installation will cause the same for the other installation. When you run the Arduino IDE in portable mode, then the portable folder you created inside the Arduino IDE installation folder will be used as the data folder instead and each copy of the Arduino IDE will be able to use separate versions of the ESP8266 core.
So I think you have the right idea with using portable mode, but I don't think there's any need for the separate computer.
Thank you, I agree that a seperate computer is not really necessary.
Although when I originally made my installation portable It continued to store sketches in the usual user\arduino\ folder. Worse yet, the library was a subfolder and I occasionally stupidly manually added to that library. I really made a mess of things.
I used to see duplicate library warnings, but the sketches usually worked so I didn't heed them until recently then I discovered my error.
I think I should have changed the sketchbook location in the preferences file, but I don't remember any such mention in the portable installation instructions.
Incidentally, there are several library folders in the IDE folder tree that add to the confusion. I believe the library sub-folder of the sketchbook folder is where most new libraries should be installed. Although I think It's possible to inadvertently download and duplicate some of the libraries in those other library folders, I think that has happened to me.
When in portable mode, the default sketchbook location is in a subfolder of the portable folder, thus each installation of the IDE would have a separate sketchbook folder. However, you are free to set any sketchbook location via File > Preferences > Sketchbook location so you could have a sketchbook folder shared between the IDE installations if you wanted.