kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #24008
Re: New pcbnew features and versioning
On Thu, Apr 07, 2016 at 06:36:40PM +0200, jp charras wrote:
> Le 07/04/2016 17:52, Wayne Stambaugh a écrit :
> > On 4/7/2016 9:47 AM, Chris Pavlina wrote:
> >> Hi all,
> >>
> >> I'm targeting this email primarily at Wayne as versioning and release policy is
> >> involved.
> >>
> >> We've got a bit of a problem right now. We're currently adding features to the
> >> pcbnew format - JP just merged rounded-rect pads and has a patch in development
> >> for custom pads, and I'm looking at a patch to add angled fields. Problem is:
> >
> > JPs rounded rectangle commit is a problem. I did not have a chance to
> > review JP's patch. I would have recommended a file version bump.
>
> It can be done now. This is not too late.
> Just I need to know if the new version is 5 or 4.1 (adding rounded rect pads is a minor change,
> because the file format does not change when rounded rect pads are not used)
> For me, a major change is more when new features are always stored in file, and the file can be
> never read by older versions.
The format version isn't an integer? What's the point of minor versions of
_file formats_? They don't mean anything to end users, they're just for
comparison...
>
> >
> > Angled text support should not be a problem. Text angles are already
> > saved as floating point numbers so using angles other than 0, 90, 180,
> > and 270 should not cause any issues but that hasn't been tested.
>
> I tested that and did not see issues.
> (AFAIK, the text rotation is fully supported by Pcbnew because the footprint rotation (therefore the
> texts rotation) is defined in 0.1 degrees).
I'm probably going to merge it if I don't see any issues - there are still a
couple things I want to check out.
>
> >
> >>
> >> 1. We're not bumping the file format version, so even though we're writing
> >> files that contain features (actual COPPER features!) that old versions won't
> >> understand, we're not marking them as such, so they'll either give nasty
> >> file-corrupted errors, or fail to load silently.
> >
> > Older versions of Pcbnew will fail to load because the new board file
> > rounded rectangle tokens are not supported by the stable release board
> > file parser.
> >
> > The angled text may be more problematic because the file will load but
> > what happens when the text displayed may lead to some interesting results.
> >
> >>
> >> 2. Even if we did, pcbnew currently ignores the format version.
> >>
> >>
> >> I propose the following:
> >>
> >> 1. Patch pcbnew to check the format version and give a friendly "your KiCad may
> >> be out of date"-style warning if it's too high a number.
> >
> > Makes sense to me. Warning the user that the file may not load in
> > advance is probably more friendly than the file parser error that will
> > be displayed when the file fails to load.
> >
> >>
> >> 2. Accelerate this patch to a minor stable release to get it out there before
> >> these new features make it into the next major release.
> >
> > I will merge it into the stable branch when it's available.
> >
> >>
> >> 3. Adopt a policy of properly bumping the version number any time a feature is
> >> added.
> >
> > I agree that adding new features should bump the file format version.
> > Whether we should do this for once each feature or once each development
> > cycle is debatable. I tend to lean towards each feature but we should
> > coordinate file system changes and attempt to make changes to the parser
> > and output formatter in bulk even if we do not implement the features at
> > that time. Otherwise we could bump the file revision multiple times
> > during each development cycle which could get annoying depending on the
> > frequency of file version changes.
> >
> >>
> >> Thoughts?
> >>
> >> -- Chris
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~kicad-developers
> >> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~kicad-developers
> >> More help : https://help.launchpad.net/ListHelp
> >>
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help : https://help.launchpad.net/ListHelp
> >
>
>
> --
> Jean-Pierre CHARRAS
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
Follow ups
References