ID: | 5858 |
From: | rn...@igor2.repo.hu |
Date: | Sun, 23 Oct 2022 11:04:26 +0200 (CEST) |
Subject: | [pcb-rnd] pcb-rnd: new feature: order pcb; project state update (code freeze); hiatus & roadmap |
Hi all, althought this year was a less exciting one in the life of pcb-rnd, there's still some progress. 1. New feature: order pcb I started to work on this back in 2019 but due to communication issues it went slow and then the nlnet sponsoration steered the project in a different direction. Nevetheless PCBWay finished their API so we have this new feature working now, as shown in this demo video: https://archive.org/details/pcb-rnd-order For the end user, the major advantage of this feature is that some of the fields are filled in automatically and manually filled in fields can be saved as board attributes. This means: - less chance for error in manual copying of numeric fields when copying data from pcb-rnd to the web ordering form - if you need to re-order the same board a months or years later, you don't need to remember all the settings, less chance of error reproducing the same settings (minus the case when the fab changes their options, of course) For me, the main benefit is that I can talk to a fab. Now that I have contact, I am trying to convince them to help me with bbvia testing. Plus next year I plan to use this feature as a showcase trying to convince other fabs to provide a similar API. 2. Code freeze Our upcoming release, pcb-rnd 3.0.6 is scheduled to November 2nd. We are netering code freeze, as per usual: please test svn HEAD in production, report bugs; only release-critical/packaging bugs will be fixed before the release, the rest of the bugs will enter the TODO. 3. roadmap: hiatus for librnd4 After this release, pcb-rnd's next release will be mainly about the librnd4 switchover. Which means some sort of hiatus in the project: I will mostly cease dealing with new features and bugfixes until the switchover is complete. I expect the next normal dev cycle to start early next year, maybe in February, with the source already depending on the then fresh release of librnd 4.0.0. 4. reminder: what's librnd and why 4.0.0 Librnd is a bunch of the "generally useful" code moved out from pcb-rnd into a reusable "2D CAD framework" library. This includes the HIDs (GUI), menu system, runtime config system, polygon lib, unit system and some more. The reason to move this code out from pcb-rnd was to make it easier to develop other GUI Ringdove apps. This worked out well: camv-rnd's own code is surprisingly small and sch-rnd development this year went much faster than expected a few years ago. At the initial project split librnd was 3.x.x, as it was forking out from pcb-rnd 3.x.x. Since librnd is a library, I decided to use semver there, and go for maximum API compatibility. This means I can not randomly change APIs. As time went on, I've found a few minor issues with the API while developing camv-rnd, and a lot more issues while developing sch-rnd (which is reasonable as sch-rnd is much bigger than camv-rnd). I've collected these on the TODO for 4.0.0. Librnd version 4.0.0 will _not_ be backward compatible with 3.x.x, so this will be major change in all ringdove app's life: with their early 2023 release they will switch from depending on librnd 3 to depending on librnd 4. I did everything to allow the two versions of librnd be installed in parallel, but this is the first time it would be tested in real life. The librnd 4.0.0 effort will be huge. The API TODO for this one thing contains about 100 items... And any change in librnd API would potentially trigger an update in pcb-rnd, camv-rnd and sch-rnd. So a huge amount of work. Now that sch-rnd is in beta testing, and the usual low traffic season (December-January) is coming, this is the best moment to stop normal developmnt on the apps and focus on this switchover. I expect this to start mid/late November and hopefully finish in 2 months. Best regards, Igor2
Reply subtree:
5858 [pcb-rnd] pcb-rnd: new feature: order pcb; project state update (code freeze); hiatus & roadmap from rn...@igor2.repo.hu