Best practice to merge Library Table when upgrading KiCad?

When KiCad was upgraded, you basically have three options to generate a new library table for the new installation: empty lib table, copy the pre-built library table, copy a custom library table. Usually you might want to copy the “factory defaults” library table so you keep up with newer upstream-maintained libraries. But doing so will discard all my own library entries from the library table - had to add each of them manually after an upgrade. Although a major version upgrade occurs only once per year, it still feels like an unnecessary chore because I have to do this on every machine that I might work with PCBs.

Is there a best practice to “merge” user-added custom entries into new library table? Or should I make this a wishlist entry?

This is a well known annoyance and in the wishlist already, as library table “chaining” or “include” if you want to search the issue database and give a thumb up.

1 Like

For anyone else interested, here’s a link to the wishlist item: Library table chaining (#3935) · Issues · KiCad / KiCad Source Code / kicad · GitLab

1 Like

If there are just a few entries to change, and you know which ones they are, it can be managed to do that manually in the GUI.

If you have more (personal) libraries and/or do not know the exact names or places of the “old” libraries you want to merge in, then using a source code merge program such as https://meldmerge.org/ is a good option. With such a program you load different versions of the fp-lib-table next to each other, and the software highlights the differences, and makes it very easy to copy lines from one file to the other.

Many people have developed their own workarounds for the lack of separation between the system entries and the user entries in the two tables, for symbols and footprints. Usually it involves opting for the system table then adding in the user entries with a text tool from the tables in previous release. Let’s hope a more user friendly solution will be in v10.

1 Like