Disruptive change coming to schematics

The default libraries for schematic symbols changed, specifically passives. This means if you import an older version of a schematic, it will break the connections between the passives and the rest of the schematic. The newer symbols are much more compact, so the leads do not contact the past interconnects that put them into the schematic.

https://lists.launchpad.net/kicad-developers/msg17491.html

Nothing will break immediately because your netlist and layout are untouched. However, you should be sure to double check your schematic before generating another netlist and/or do ERC again, as you could have unconnected nets without knowing it.

You can avoid the mess by explicitly adding the library-cache to you list of schematic symbols & making sure it is at the very top of the list.

Could you explain/show this in a bit more detail? That could save looooots of headaches later.

When you create a schematic in eeschema, all schematic symbols that are used are locally cached in a file named “<project-name>-cache.lib”

Now, if a library is changed / vanishes, the symbols can still be pulled in from that file, which avoids the dreaded “?” showing up.

So e.g. for an old project, after adding this file (which should live in the project folder) to the list of schematic libraries and putting it as #1, is has precedence over anything else that might happen. Symbols with the same name that are changed in some library will be ignored, if found in the cache.

Ah, so this is a problem with my .gitignore, where I don’t push the -cache.lib to the repository. Aha! OK, so this is PEBKAC, not necessarily the new repo (though that doesn’t help)

Yes, that file has its uses :smile:

I add everything except these, which seems to cover up-to-date releases of kicad pretty well.

*.bak
.kicad_pcb-bak
_autosave

To avoid disruptive changes NEVER use default library. Make your own copy in other location and use it. If you use default library in default location every update/reinstall of kicad with libraries can break something.

Extensive renaming of 3d models was made to clean up big mess in packages3d so update of library will remove all 3d models from pcb made with older footprints.

1 Like

Yes, good point.

I find it a bit unfortunate that the schematic editor doesn’t seem to include the cache file in a way that protects against library issues. It could most likely be done as default.

Think of it, if the layout editor had the same issue! Vanishing footprints if some library changed, total madness. There is a very good reason why footprints are saved in the board file.

That is one point Eagle does better, you can just send someone the “.sch” file and it can be viewed without worrying about libraries.

1 Like

One caveat: if the library-cache is inserted at top position, this will also ignore intentional changes to libraries you might do yourself! A workaround would be to manually delete the symbol from the cache file, which would then allow the updated one to be pulled from the library.

So I guess this is only a sensible thing to do with old / retired projects that won’t be changed anymore.

Made a video about this for CE: http://contextualelectronics.com/kicad-tutorial/module-2-schematic-symbol/kicad-default-symbol-changes/

All thing aside, the new symbols look sooo much better. The Cap symbols have been way too big for way too long.

1 Like

Agreed, the old ones were unnecessary big, I’ve even had to make my own smaller versions of some symbols like dpdt switches which were HUGE.
Debating with myself right now the possibility to rebuild schematics with new standard symbols for some of my later designs…

1 Like

Developpers are working to proper handle breaking change: https://lists.launchpad.net/kicad-developers/msg17639.html
But it’s not sure if this will be include in next stable, because we are now in freature freeze.

Oh hey, that looks familiar! (That’s me!)

Not really a KiCad Developer, just a dude who pushes some code in their faces every once in a while :wink:

Good to hear.

Embedding everything into the schematic / board-file will make sharing projects much easier. At least one can be sure that the receiving end will be able to open it and have it complete.

1 Like