vde wrote:That bugs are very rare, and moreover a lots of programs which works fine after 5.4 now even don't starts after 6.1. Surprise
There is a Standards organization that set the "rules" for C++ and these rules are incorporated into new releases of GCC, the compiler/linker used under ArduinoIDE.
The ArduinoIDE folks have been steadily moving the original IDE closer and closer to the ever-moving "standard" for years... for some, it has been like light speed and for others, it has been a snail-pace!
For the Arduino Community, changes can be difficult; stuff works OK in an older version but the IDE tosses all manner of errors/warning on just a simple '.1' upgrade. But, this is the price the programmer pay for evolution. If we do not like it; we should use professional tools that allow us to "tune" the compiler/linker and often even suggest the correct revisions necessary to comply with changing standards.
Now, the Arduino folks know the truth; so they allow one to download older versions of the IDE+tools. I always specify the ArduinoIDE version for my code ZIP in my online sources - thus, if the reader that download my source is having an issue, s/he can download the IDE/tools to successfully compile my project from arduino.cc
A large part of being more than a weekend coder is understanding the full responsibility of dealing with evolving tools and coding standards. It's part of growing-up and maturing to understand the scope of responsibility that a programmer has for their code. In a large corporate environment, a large amount of the program maintenance cycle is dealing with testing and code 'tweaking' that is necessary during the program lifecycle.