When you have a schematic and at some time in a library a symbol is updated, the schematic is automatically updated also.
This happens either immediately or at the next redraw. And without warning.
So a trusty schematic could be changed, or at least invalidated and requiring a check, by something as trivial as a new version of the library or installing the next version of Kicad.
Can this automatic update be disabled?
I found this discussion (now closed):
It gives Kicad 4 solutions that no longer work in Kicad 5.
The only option seems to be to only use symbols that are first copied to a local library. Is that correct?
This is why we need revision numbers for all components. If there is a problem then you fix it in a new revision and do not touch anything once it has been released into the wild. Let the designer decide if they want to swap in the newer rev or not.
If I build a board and it doesn’t work because 2 pins on the symbol were swapped then I will swap them on the schematic and fix the board. The schematic will be wrong but the board will work.
If you fix the symbol and overwrite the old version then the next time someone tries to rework that board it will not work and it will look like I made a mistake. You don’t do that to your designers.
I never get a dialog (Kicad 5.0.0, Windows 7 - 64-bit)
Two examples (I’ve tried more):
1
Create a new project. Place a symbol. Change the symbol in the library.
Upon return the symbol is updated without a dialog.
(In case of a Global Library: Kicad launched as Administrator).
2
Create a new project. Place a symbol. Replace the library file outside Kicad.
Close the schema editor. Open the schema editor.
The symbol is updated without a dialog.
If there is a dialog in there somewhere then it is very well hidden.
If you open the symbol editor from within eeschema then you will not get the rescue dialog. (This is the way to update a symbol and force it to be updated in eeschema.)
If there is no functional change then you also do not get the rescue dialog (as long as the pin names, numbers and positions are unchanged between versions, kicad assumes it is save to update your symbol. I don’t think changing a field will even update the symbol once it is placed. So there you also do not get the rescue dialog but the symbol should not change in the schematic.)
These exceptions are new to v5 (or at least this is when i noticed them. In v4 i was even asked if i want to rescue if i just changed a rectangles fill options. I am torn if i like this change.)
If it is updated even thought it does not fall under the exceptions listed above then you found a bug.
This time by adding or removing pins that are actually connected to wires or components in a real life schematic.
The updates still happen.
Without dialog.
And most definitely breaking the schematic.
I will report this as a bug.
I would like to go back to my original question: “Can the automatic update be disabled?”.
I suspect the answer is no, but I would like to have a confirmation.
I haven’t figured out the exact conditions required for the rescue dialog to appear, I mostly find updates are applied automatically and occasionally the rescue dialog appears, even when trivial changes have been made, so it seems kind of random to me.
But there is no current way to disable automatic updating. In future with a new eeschema file format it might be more like pcbnew, i.e. it does not update symbols until requested. That all depends on how the developers approach it.
Understood.
I’m glad to hear it’s different when using pcbnew. A pcb design that might be changed just by looking at it would be a deal breaker for me.
I consider the question answered. Everyone thanks very much for your help and time.
If I understand you correctly you are offering an alternative way to make a project local.
I am actually considering making a tool that localizes a project. But first I am going to study Kicad more and decide if I am going to stay with it or return to Eagle.
You have to be careful though when doing weird things. The plugin will store all the schematics symbols in a project local library. But if for example in your schematics you have four elements using the same symbol and then you want to change the symbol of only one element, you’ll first have to create a new element, and save it under a different name