Compatibility Between 4.0.5 Release and Nightly Builds

There is a 4.0.5 Release (for Windows and at least some of the other OS’s) on the Download page at https://kicad.org/download/ .

This version seems to be incompatible with files created by PCBNew Nightly builds after August 2016 - perhaps earlier. EESchema and Footprint Editor seem to run OK.

This problem was previously known for the 4.0.4 release (see the thread at Kicad 4.0.4 Windows installer downloads broken? ). I’ll speculate that it will persist until release 5.0, though it will aggravate users who even just dabble with nightly builds.

Dale

Here’s the squawk:

The problem lies in devs approach. Wayne Stambaugh (KiCad dev leader) wrote:

“We have always worked under the notion that backwards capability is a must. Forward compatibility is something we would not provide due to the effort required to maintain it. Given that KiCad has zero cost to the user, the need to provide forward compatibility is low.”
(Full text: https://lists.launchpad.net/kicad-developers/msg27000.html)

So: 1) Use Nightlies at your risk. 2) Don’t look a gift horse in the mouth. :slight_smile:

Today it is easy to solve. Open .kicad_pcb file and remove these two lines (values might vary):

(diff_pair_gap 0.25)
(diff_pair_width 0.2)

from each (net_class "") section.

2 Likes

This should be a Sticky or FAQ. There was talk in the developers mailing list of making this diff_pair change only affect the small minority of boards using the feature, rather than ALL Nightly boards

See https://lists.launchpad.net/kicad-developers/msg27004.html

Near the end of that conversation is a remark that expresses my philosophy:

Dale

I am puzzled why people are using nightlies anyway. Are there bug fixes or new features that people are so desparate to have that they are willing to risk screwing up their designs?

I guess people not involved with software development don’t understand the process, and think the nightlies are somehow “the latest release”. They are not even beta versions, they are unreleased snapshot builds for developers and alpha testers. To be fair, the page at https://kicad.org/download/windows/ doesn’t make this clear.

The whole point of the stable releases is that they are stable. If people can’t cope with unexpected problems, use the stable version.

Nightly builds have cleared bugs and added features I have considered as a must have.

Unclear how that can be puzzling.

3 Likes

I don’t see a big problem.
It’s stated that the stables contain bugfixes only and the nightlies are bleeding edge with all the bugs and problems that come with this.
If people get burned by this, they need to read before clicking YES.
Simple.
The occasional case can be solved manually in the forums (or not, if not resurrectable).
And anyone who uses nightlies (or stables, or any software at all) without some backup system in place is asking for a lot of trouble down the road anyway.

If this ‘aggravates users who even just dabble with nightlies’ - so be it. :wink:

PS: personally I use nightlies to have the new shiny stuff that come with them and to be able to help with bughunting. Do I have backups of my work? Yes. Do I mix nightlies and stables? No. I just run nightlies. And if something doesn’t work I’m the one responsible.

PPS: I don’t do mission critical designs and when I’m working on something I usually don’t upgrade, but stay on that version for as long as it takes to finish what I’m doing.

2 Likes

Sure I understand there are fixed bugs and new features, I just don’t see any bugs with the version I use. Nor I have seen any “must-have” new features.

My “must have” feature is stability and compatibility! I’m still on 4.0.2, works fine for me and I have had no reason to upgrade yet.

So my puzzlement is what bugs are people having or new features that are so vital that make it worth using an unreleased, untested, incompatible build.

If you are using the nightlies for bug hunting, that is fine - it’s what they are for! The problem is when naive users think that the nightlies are just “the latest release”. I think probably the nighlies should be restricted to members of the dev mailing list.

I agree with all of you. There are some pros and cons using nightlies.

So far, no problems with eeschema, since it was the same version. I have not tried the last changes commited by Wayne.

There are no problems using pcbnew nightlies as far as you go on with the same version till the end of the project. Gerbers are generated as usual.

Nightly builds versions have similar issues/bugs as stable versions. Same as any other software.

Problems? Yes if you need to share the files with someone using stable 4.0.5
In my case, I just delete the “diff_pair_” lines from the .kicad_pcb file and pcbnew opens seamlessly.

But there is no guarantee this trick will work in the near future. As someone has pointed out, round corner rectangle pads are not recognized by stable 4.0.5. Maybe I’ve been lucky.

And I can’t live without the new 3D viewer and step plugins.
Version 4.0.5 has just been released and I long for the next version :wink: Too impatient?

The best beta testers are simple users.

Using any diff checker we can find further incopmpatible changes and prepare a workaround. God bless for plain text file format.

5 Likes

Essential in a project like KiCad that doesn’t do stable releases very often. If development happens behind closed doors, projects have a habit of heading in the wrong direction steered by a strong ego. Ordinary users place a reality check on progress.

The Nighties also attract outsiders to develop hooks to other projects, like FreeCad and ngspice

1 Like

Just take a look at the bugs a have filed will give you an idea what I wanted fixed.

Plus many bugs filed by others have affected me.

Also many new features are to be found in Nightly.

I can’t step down now into the normal release flow.
I tried 2 times but the stables lags to much behind.

Once you step out into the Nightly stream and fish for bug fixes there no turning back.

1 Like

Whatever people’s reasons for using nightly, this is fixed now - as of commit 352f1a0 on Dec 28, the differential pair settings are only written to the file if you change them, so files saved by nightly should again be readable by 4.0.5 when using the subset of features understood by 4.0.5.

This has nothing to do with nightly! I want to make the transition between 4 and 5 as smooth as possible, and this is part of that. Nightlies break, but we need to think about what happens when nightly becomes stable.

The fix in 352f1a0 has a subtle trap that is likely to cause future breakage, so I’m trying to think of a better way to implement it, but for now you can open your boards again. :slight_smile:

5 Likes