New project file format and project settings upgrade
This MR introduces a new (JSON) project file format and various other project improvements:
- New "local settings" file to store things like visibility that might want to be
.gitignore
d - Board design settings no longer stored in the board file
- Net classes no longer stored in the board file
- DRC/ERC error codes changed to use explicit serialization tokens
- Schematic and board backup file creation is removed
Existing DRC/ERC severity settings and ignored errors are not preserved; this feature was deemed too new to need a migration path to the new format.
Legacy project files will be migrated on load, but the old project file will not be deleted.
The backup file feature was decided to be not much value with the latest file save code, and it was annoying to many users, so it is removed. A better whole-project backup system is a wishlist item for the future.
Edited by Jon Evans