Libraries update empties existing folder. Creates a folder ending with numbers

Have I missed something?

I'm using Win 10 and IDE1.8.7

I decided to work on an old project which uses GFX Graphics library and two others. The popup appeared offering updates to the libraries. I duly updated.

Running the compiler complained of unknown file in gfx graphics folder.

I was completely surprised to find the folder empty but after investigation found it as 'arduino 805063' a very nondescript name !

The other two library folders are empty too and new 'arduino' folders created.

Is this a change to the IDE or am I supposed to rename folders or leave as is ?

It isn't very helpful when I want to look in the libraries.

Rob

Due to the questionable decision to make Library Manager install libraries to the sketchbook folder, the Arduino developers had a problem. Before Library Manager, the libraries subfolder of the sketchbook was the exclusive domain of the user. The Arduino IDE would read from it but never write.

So here's a scenario: The user has a custom library they have spent countless hours writing but not bothered to back up. The user uses Library Manager to install a library that happens to have the same folder name as their custom library.

How can the IDE correctly handle this situation? One of the primary benefits of Library Manager is being able to upgrade/roll back from one library version to another so it needs to be able to replace existing library installations. But it also needs to know when doing that is incorrect. It's quite common for library authors to use a very generic folder name, such as just the part number of the component their library interfaces with so name collisions are sure to happen.

The first solution that comes to mind is to simply ask the user what to do. The problem is the average Arduino user isn't going to know the correct answer to that question. They'll either make a random guess or else be to scared to make any decision and be blocked from continuing with their project.

So the developers tried to make the Arduino IDE smart enough to detect when the library should not be replaced. I haven't figured out exactly how the decision is made. I believe the library.properties name value is at least one of the factors. When it decides it should not overwrite, it instead installs the library to a randomized folder, which has your "nondescript name".

The Arduino IDE also does that when it's unable to overwrite the existing folder. In your case, it sounds like it was able to remove the existing library files, but not the library folder. The Arduino IDE seems quite bad at dealing with this sort of thing. We see the same problem frequently with Boards Manager. It might be that it simply doesn't wait long enough. Or maybe it's some glitch where the operating system doesn't allow access to the folder. I encounter that sort of thing regularly with Windows 10.

tasmod:
Is this a change to the IDE

It's been around for quite a while: Somewhere in the mid 1.6.x versions.

tasmod:
am I supposed to rename folders or leave as is ?

You can probably do whatever you like. Usually the library folder name doesn't matter, other than helping you identify which library the folder contains. The exception is when multiple libraries contain the filename specified in an #include directive. In that case, one of the factors the Arduino IDE uses to determine which takes precedent is whether the folder name matches the filename.

Thank you for your clear explanation.

I've had a similar thing before with this Win 10 whereby it continually asks for permissions. I suspect I have left something ticked or unticked somewhere in the settings.

I think the folders were unable to be deleted by library manager.

I will rename the numbered folders back again after deleting the 'empties'

Rob