The master branch and the nightly builds are almost one and the same – the nightly builds are built once a day from the master branch. Either one is outdated if the designs can’t be opened with both of them, except in rare situations when a new file format feature has just been added between two nightly builds in some commit.
That’s what I’m saying…I’m way past that point of inflection between file formats…I jumped far ahead to a new file format and KiCad nightly converted it for me…But, there’s a lot of bugs, it’s not great for production work, it’s only for testing, etc…But, now, I can’t go back to a more stable version because it has no future knowledge about how the nightly’s changed the file format.
I need to revert the files to the old format of 5.99.0 or 5.1.6.
OK, now I understand. The version number 5.99.0 is for every commit between pre-v6 development until 6.0.0rc1. You want to go back to a point where 5.99 still used the old format. Unfortunately it’s not possible if the files have been converted, the old files aren’t there anymore and you didn’t have backups.
With the layout files it may be possible to edit them manually to remove new features which are incompatible with 5.1. The original schematic file should be left from the moment of the conversion. The old one has .sch ending, the new one has .kicad_sch.
Alright, that’s sounding more possible.
Is there a resource that anyone is aware of that outlines the formatting differences between old and new that I can use as a reference when editing the PCB files in Vim?
I don’t know of any. You can try to open the file with 5.1, see the error message and try to find out for each case, and/or give it here for us to look.
Depending on the version of 5.99 you have used you may be able to remove the stack up and zone info by editing a copy of your .kicad_pcb file in proper text editor and get it back into 5.1.x Unfortunately more recent versions of the development nightly may not be amenable to such simple editing…
Time to investigate version control software …
Thats what I did when I had to go back from pre-5 to 4.x .
I simply deleted everything from the existing files (with a Texteditor) the old Version complained about during opening. In the end I had to reassign some footprints but this was easier than try to understand all differences…
V5 is more of a V4++, similar structure with a few new features, so fairly easy to strip out the extras
V6 is a far bigger change in file structure
More specifically and to avoid confusion: the schematic and symbol file formats have been completely changed in 5.99. The layout and footprint files have only added features compared to v5.
What about the “Generate Netlist”? Is that still there in 5.99?
Yes, of course. External netlist is needed for external tools. In-KiCad communication is done with internal netlist mechanism without the file, as it already was in v5. Netlist generation has been removed from other UI places than File menu.
So can V5.1 open a V5.99 generated netlist? It sounds like it should be able to
Wouldn’t it be great to be able to save in the old format? This is a frequent user error - I came here to search solution for this also. And it will only be worse with a release 6, people will not jump to new version overnight and this will fracture the community and reduce interoperability. The code handling old projects, schematics, and symbols is still there, why not add “Save As…” old format?
The symbol library structure is also new, so simply saving as a V5.1 schematic is not easy.
I agree that this is going to be a nightmare for careless users. A few extra “do you really want to do this” warnings may be needed
That has been discussed. I agree it would be good. However, there are a couple of reasons why it won’t be done:
- The developers want to spend their time with other, more productive features.
- The backwards conversion is lossy.
- Coding the conversion for the schematic would be a huge amount of work.
- When 6.0 is released there’s less need for backconversion because 6.0 is (more or less) stable and expected to be used instead of 5.
Note and remember that
the original v5 schematic file isn’t deleted, it’s kept there!!!
The problem of loosing data by careless opening and saving is true for the layout.
The layout part is relatively easy to convert. When the file format is frozen it should be pretty easy to write a converter as a python script. It would require mostly regular expression syntax to remove the parts not supported in v5. The schematic conversion is difficult, requiring “real” coding and intimate knowledge of two file formats.
The problem with all warnings is that people don’t read them.
You could make a wish to the issue database for clear and prominent warnings. I’ll give a thumb up.
I know it won’t help you now but it is a really good idea to use git for your projects. It can help you a lot if you learn how to use it but even without knowing it you can keep a history of your work with these simple steps:
- install git
- go to your project directory a do git init - this will create a .git direcotry in your project and git will keep all its data in there
- git add * will add all the files to be monitored by git
- git commit -a -m “commit message” will “snapshot” all the files and store them in a commit (internally it stores only changed files)
- do steps 3+4 as often as you want, ideally with a descriptive message
- if you mess up, you can extract any of the commits into a separate directory
git can do much more for you, there are great GUI (tortoisegit for windows) for it, etc. but this is as simple as it gets and it is really an invaluable tool…
Only a few days ago
That is a really nice improvement… I know that there has been a lot of work done on improving file formats so that they play nicer with git and other version control systems…
But I hear all the time that git is too complex and complicated and hard to learn and it is made for programming and … so I am trying to convince people that it can be really easy for basic history keeping and it can save a lot of headaches…
Using git with KiCad has been discussed here many times. I use it and many others use it. As a VCS it’s unnecessarily complicated for KiCad (or any other CAD) because most of the modern VCS features can’t be used with 2D or 3D data. Any simple centralized VCS would do. But git is good to know anyways.
I actually think Git is probably the least complicated VCS to use these days, because it has so much usage that there are many, many resources to make it easier. Lots of free hosting options (including private ones these days), lots of GUI tools if you don’t like the command line, lots of step-by-step tutorials because every beginner getting into software development must learn Git these days. Hardware developers can ride this wave too.
Sure you might say a different VCS has a “simpler” workflow, but in terms of the ecosystem of tools, tutorials, and hosting, nothing comes close.