A new project file format has been merged and will show up in nightly builds soon.
About the New Format
The new project file format is JSON-based and has the
kicad_pro extension. Switching to JSON makes it easier to store structured data, and changing the file extension makes it easier to tell the two formats apart and also fixes the issue that the old
.pro extension is used by a lot of different applications.
In addition to changing what the file looks like, we have also changed what information is stored in the project. Some things that were not really useful anymore were removed, and some information that was previously stored in the board file was moved to the project file (including design rules, net class information, and editor defaults).
Project local settings files
You will also notice a second file created with the
.kicad_prl extension. This is called the Project Local Settings file, and will store settings that should be considered “local” to your computer. For example, which layers are visible in the board file.
These settings are put in a separate file because they can change often as you use KiCad, and two users working with the same project may want to have a different view of it. If you use a version control system like Git to track your projects, the
.kicad_prl file is the kind of thing you may want to add to your ignored files list so that it does not get checked in.
The number of things stored in this file will grow over time, so that KiCad is better able to save and restore your session.
Notes to nightly build users
When you update to the latest nightly and open a project, it will be automatically converted to the new format. The old project file (
.pro file) will be left alone. If you open a board file, the design rule information in that board will be moved to the associated project file and removed from the board. This means that, like with all board file format changes, you will not be able to open that board anymore with older versions of KiCad.
While most things should be migrated, there are a few exceptions: if you have made use of Jeff’s recent additions of DRC/ERC severity settings, you’ll need to set those again.
As always, we encourage nightly build users to test KiCad with copies of your projects and/or use a version control system to store your projects, so that you can always revert back to an older version if you need to.
Thank you for testing KiCad, and as always, please report any bugs you find with this or any other new feature over at the GitLab issue tracker.
A note about backup files
One other notable change is that the backup file system has been removed. This was the system that would create
kicad_pcb-bak files every time you save. The short story about why this is removed is that with recent changes to the way file saving works, it should no longer be possible for files to be corrupted if KiCad crashes during a save, and the generation of these backup files was seen by many users as annoying clutter. For more context about this decision, you can read the thread on the developers mailing list.
An new backup system that properly backs up the whole project (see the GitLab issue) has been implemented to replace this feature. As always when using nightly builds, back up your files separately in case a KiCad bug breaks the built-in backup system.