Arduino 2.0.0 MacOS. Unexpected differences

Readme.MD always open in a tab (and shows primarily).
Download (still doesn’t say upload) and progress bar stacked again?
Serial Monitor now an anchored console in bottom part of same window.
Cmd+Enter to send?
No auto-reconnect (need to choose port every board boot)?
Port includes a horizontal list of all board names.
No up arrow to history?
Preferences not a floating window.
Boards Manager now a side bar.
No time savings compiling and uploading.

For now, 1.8.19 is better for me.

So that I can understand the problem better, please provide a detailed explanation of why this is a bad thing.

This bug is tracked by the Arduino IDE developers here:

Do you really think changing terminology that has been established for over 15 years would be a good idea?

So that I can understand the problem better, please provide a detailed explanation of what you mean by this and why it is a bad thing.

The need to move the Serial Monitor to a separate window is tracked by the Arduino IDE developers here:

Please note the response from the then development team lead here:

it's definitely in our roadmap and at the top of the list.

We are giving maximum priorities to bugs that compromise the standard usage, next will come performance and UX improvements, like this issue with the monitor. We already designed the new one that is gonna be a separate window like the serial plotter.

It has already been fixed:

Try the nightly build. The download links are listed here:

https://www.arduino.cc/en/software#nightly-builds

This bug is tracked by the Arduino IDE developers here:

Is it a bad thing? Would you prefer one arbitrary board identified as that port was chosen?

This deficiency is tracked by the Arduino IDE developers here:

There is already a proposed fix here:

Tester builds are available if you would like to participate in the process by beta testing. Information about that here:

https://github.com/arduino/arduino-ide/blob/main/docs/contributor-guide/beta-testing.md

So that I can understand the problem better, please provide a detailed explanation of why this is a bad thing.

So that I can understand the problem better, please provide a detailed explanation of why this is a bad thing.

I find there is a significant improvement on subsequent IDE sessions when compared to Arduino IDE 1.x due to the switch to a persistent cache. The cache is stored in the temporary folder, so it may be dependent on how your operating system handles cleaning that folder and how you use your machine.

For example, the operating system may clear the temporary folder after a reboot, in which case users of that operating system who typically do a reboot between every session of Arduino IDE use would not see an improvement.

Other operating systems may never clear it (this is how Windows works in my experience), and so in this case you will find that cores and libraries now only need to be compiled once for a give board, after which the cached version will be reused on all subsequent compilations up until such time as you update to a new version of the core or library (or modify the existing files), at which time it will be recompiled and the cache updated.

I'm sorry Arduino IDE 2.x did not meet your standards.

If you have a GitHub account, you can subscribe to the issues to get notifications of any new developments related to this subject. Perhaps you will give it another try after the resolution of whichever of the issues you mentioned above that were so offensive to you.

I will provide you with some advice. When offering feedback on free open source software, I think you will find you get better results from constructive criticism. What you have done here is to blend insults and negativity with very vague feedback. Maybe it helped you to feel better, but in exchange for making others feeling worse, while at the same time not really offering anything of value.

Thank you for the detailed reply, and links to existing issues. I do admit, I did not read through much before unloading my "rant" and I apologize if it came across as hostile. Not my intent nor is it typical of me. It was wrong and misdirected hostility.
Sincere apologies for my post's attitude, I hope you accept.

It's just that I didn't open that file, so I wouldn't expect it to be opened.

I guess to me, sending code out to a device is uploading, especially sice the button is labeled "upload".
Copying files to an external drive would be uploading to the drive.
Bringing data IN to the host would be downloading to me.
Maybe that's just me.
I suppose from the vantage point of the board there's downloading happening.
Maybe that's the intended perspective.

In 1.8.19, the "Download" progress bar was a single line with the "=" representing progress, and it just filled more and more, ya know, like a progress bar.
That was a relatively new development since previous versions and was great.
Now, it's back to writing a new "Download" line for each percentage of the process.
Like this:

Download	[====================     ]  80%       151552 bytes
Download	[====================     ]  82%       155648 bytes
Download	[=====================    ]  84%       159744 bytes
Download	[=====================    ]  86%       163840 bytes

It used to be just the board that was connected was identified, not including others that don't exist. I just thought it seemed odd/vague that it now lists others.

Simply put, the Preferences window is anchored in place, stationary and locked positionally in the middle of the main window and can't be moved around/out of the way.

Same thing. Like Serial Monitor and Preferences, this used to be a movable, separate window. Now it just takes up real estate on the main window.

Again, sorry for the tone of the original post, and thank you for the help, and of course for the use of the software itself.

No worries. I understand that the root cause of people (including me) getting upset is most often a passion and deep caring for the Arduino project. In this way, a "meh, whatever" attitude is actually the worst possible outcome.

I am pretty thick skinned and happy to engage in spirited debates, but I also know that some of the people who work on open source software projects are more sensitive. The danger is that they may insulate themselves in response to negativity, which is very bad news for a community oriented project.

I misread it. My opinion has always been that "upload" is the intuitive term for transferring a program from the host to the board. Of course, I got started in embedded systems using Arduino so I have a bias to Arduino's terminology.

Some people feel very strongly that "download" is the correct term and complain about Arduino's use of "Upload".

My previous response was intended to indicate that I think the time for deciding the terminology passed over a decade ago.

But now that I read it again it seems that you also prefer "upload" and are instead seeing the term "download" used.

I see. I remember there was a problem like this with Arduino IDE 1.x, fixed relatively recently:

Please tell me which board you have selected from the Tools > Board menu in the Arduino IDE and I'll investigate.

This information indicates that the occurrence of the "download" term you reported is coming from whichever upload tool is used for your board. In this case, we don't have any control over the terminology used since the tools are created by 3rd parties and the Arduino IDE only executes the tool according to the command pattern defined in the boards platform.

I think you will find that "upload" is always used in the Arduino IDE UI itself though. Certainly we should fix it if the term "download" had slipped in somewhere in the context of uploading a program to the board.

Unless I misunderstand, I think this is incorrect.

Arduino boards platforms may associate USB VID/PID pairs with a board definition in the boards.txt configuration file:

https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid

If a port has a VID/PID pair matching a board definition of one of the installed platforms, it is labeled in the Port menu with that board name.

So what is the correct behavior if multiple board definitions match the port's VID/PID?

I'll provide an example. I currently have both the official "Arduino SAMD Boards (32-bits ARM Cortex-M0+)" platform and the 3rd party "MattairTech SAMD Boards" platform installed.

Both of these platforms associate the VID/PID pair 2341:804d with a board definition:

https://github.com/arduino/ArduinoCore-samd/blob/1.8.13/boards.txt#L54-L56

arduino_zero_native.name=Arduino Zero (Native USB Port)
arduino_zero_native.vid.0=0x2341
arduino_zero_native.pid.0=0x804d

https://github.com/mattairtech/ArduinoCore-samd/blob/v1.6.8-beta-b1/boards.txt#L467-L470

arduino_zero.name=Arduino/Genuino Zero (Autodetect Port)
arduino_zero.bootloader.file=zero/binaries/sam_ba_arduino_zero_SAMD21G18A.bin
arduino_zero.vid.0=0x2341
arduino_zero.pid.0=0x804d

When I connect the "Native USB Port" of my Zero board to my computer, Arduino IDE 1.8.19 only labels that port with one of the two associated board names:

Arduino IDE 2.x labels the port with both of the associated board names:

So which of the two behaviors is most correct? Even though the listing of multiple board names in the port menu can make it a bit more verbose than is ideal, I don't see that it is appropriate for the IDE to arbitrarily select one of the board names when multiple are associated. There is not necessarily one "correct" board name to pick.

Why would you need to move it around or out of the way?

But it only takes up real estate while you are using it. This isn't something the user will leave open. You open it, install or update a board platform, and then close it again. So I don't see that there is a problem if it impacts the usability of the rest of the IDE since the amount of time you would spend using Boards Manager and other components of the IDE simultaneously is likely minimal.

That is a distinctly different situation from Serial Monitor, where we are often using Serial Monitor and the Arduino IDE editor simultaneously.

Thanks again for the reply.
I understand now that some of this may be on the Board Manager 3rd party plug-in, and it's possible interaction with the new IDE version compared to 1.8.19.

Yes, exactly this. So how would we go about having that "fix" applied to 2.0.0?

The board I work with is based on Teensy and it's called Proffieboard, a movie prop lightsaber sound/light board. Not sure if that's what you intended to investigate, but FWIW, the Additional Boards URL is:
https://profezzorn.github.io/arduino-proffieboard/package_proffieboard_index.json
The sketch and software package is here:
https://fredrik.hubbe.net/lightsaber/ProffieOS-v6.7.zip

As far as Preferences and Board Manager windows being movable or embedded, I suppose it's just a matter of being open to change. Occasional and short term use is certainly true, and it's just a matter of adapting to the change, which I can see could be better in ways. Moot point, disregard.

I think this change to opening Markdown, etc. files in the IDE was inherited from Arduino Web Editor, which has the same behavior.

I have submitted a request to make Markdown files closable:

I think that provides a compromise solution by allowing users to close the files if unwanted (and this closure will be persistent since the open tabs are saved in the workspace metadata). The automatic opening of the Markdown file in a tab the first time the sketch is opened may be useful in making documentation content accessible to the sketch user who might otherwise overlook the presence of that file in the sketch folder.

Thanks. I am able to reproduce the problem and identified component that is not working correctly. I submitted a formal bug report to the developers here:

Amazing, thank you.
Also, I edited the title and OP to tone it down.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.