Hi all, During my work on diff pairs/matched length tools, I've encountered a rather tricky problem: as the diff pair gap specific to a particular pair of traces is stored nowhere, the shove algorithm will mess up DP coupling after saving and re-loading the board. Ergo: the DP gaps (and possibly other settings) need to be stored somewhere in .kicad_pcb files. Perhaps in a yet another s-expr token.
The problem is that adding any new token to the file format causes all precedent versions of pcbnew to drop an error attempting to load the file. I would propose two solutions to overcome this: - (a dumb one) if the version in the file header is newer than the version supported by the running application, issue warnings instead of fatal errors on unknown tokens, - (a bit smarter) enclose all optional tokens in a "minimum" version block ( min_version version_number ( optional_token ( ... ) ) ) that would be ignored if the application version < version_number. I consider this modification quite important from the point of view of adding future features and the upcoming stable version: if we keep things as they are, adding any new feature will either make the files unreadable to the stable version or force us to support saving in multiple format versions. Looking forward to your feedback, Tom _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

