Version numbers are multi-part. It’s of the form major.minor.release. So 5.99 > 5.1. And the .99 is meant to tip you off that it’s the precursor to 6., so not stable.
First there was darkness.
Then there was KiCad V1.
After a while it evolved into KiCad V3 or V4, which is about when I discovered KiCad and started using it.
In those days I saw the promise of a bright future, but KiCad still had a bunch of quite annoying bugs and gaps in it’s functionality. Library management did not work at all, and a bunch functions which should have been relatively easy could only be done with a text editor.
In KiCad V5 the most annoying of these missing features had been fixed. and KiCad V6 is promising to be wonderful.
Then those other numbers.
The second number, the “one” in V5.1 is called a “minor release”. In general a “minor release” brings some small new features, but features that are not significant enough to bump the whole version number. More about it here:
(You can also read about the changes in other KiCad versions there).
The third number (The “10” in version V5.1.10) is for bug fixes. Bugs in KiCad are fixed on an irregular basis but it makes steady progress. When a bunch of bugs have been fixed, then this 3rd number is bumped and that version of KiCad is released.
KiCad V6 does not exist yet, but is being worked on for 3 or so years, and it’s “almost ready” KiCad-nightly V5.99 the unstable version being worked on, and it’s going to be V6 when it’s ready. Very many things have changed in the 3 years that have gone into V5.99 (it’s still recognizable as KiCad of course). It has many new functions, and even the icons have all changed. See: New icons in nightly and this shorter thread: My Current Take on the New V6 Icons Another long thread with an overview of: Post-v5 new features and development news (and a lot of added noise).
And all these changes need testing.
As far back as January there was an expectation of KiCad V6 being released “soon”. See for example:
Latest I read is some doubt whether KiCad V6 is going to be released this year or next year.
The intention of nightly versions is mainly to give people in the community an opportunity for tracking down bugs
Also related:
[ Edit ]
Rewrote the joke part.
Not a joke in the sense of “not to be taken seriously”, but I still find it funny even though it’s apparently (or has become?) a common naming convention. (Another edit for some typos and an added link to the icon thing.
This is certainly not a joke number - it is meant to be that way. This makes it clear that this version is “newer” in the feature sense than the stable 5.1 releases, and allows us to have consistent messaging that files from these newer versions won’t be openable on the stable version (before this there was a lot of confusion because the development version was still called 5.1.0, so people thought 5.1 would be able to open the files from it or get confused in general).
Exactly, it does follow the conventions: 5.99 will always be “newer” than any 5.x release (we’re not going to do 98 minor releases), but always “older” than 6.0.
The only ambiguity is that 5.99 could be seen as continuation in the 5 series. It would also be problematic if the next development version would be 6.99 but then it would be decided that 6.1 would be released instead of going directly to 7. Also development versions between x.y releases would be a bit cumbersome: 6.0.99 -> 6.1.0 -> 6.1.99 -> 6.2.0…? In that case I would like to move to odd/even numbering system where odd would be development version, even stable: 6.0.0 -> 6.1.99 -> 6.2.0…
This is not problematic, but rather exactly what we are going for. In this case, 6.99 would continue to be a development version (and thus continue to be “newer”) than both 6.0 and 6.1. Once 7.0 is released, 6.99 will no longer exist (it will become 7.99)
We do not maintain multiple development branches at once, so the nightly builds will always be 6.99.0, no matter if the most recent stable release is 6.0 or 6.1.
We could move to odd/even but there wouldn’t really be a point as far as I can tell.
As you are using the development version, you should at least aim to use a recent build, we are up to r24016 now so there have been 12,000 commits since yours - its ancient
Just be aware that you cannot share a project back to 5.1.x stable users.
I have to use the nightly builds because I read that Raspberry PI IOboard I am working on, can be only opened with them. I hope there are no future problems with that. Currently I get errors.