X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Wed, 28 Dec 2016 09:40:01 +0100 (CET) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu cc: pcb-rnd AT list DOT repo DOT hu Subject: [geda-user] [pcb-rnd] release 1.2.0 - major refactoring, bugfixes Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Reply-To: geda-user AT delorie DOT com Hi all, I'm proud to announce the end-year release of pcb-rnd, version 1.2.0. The main topics were large scale cleanup/refactoring and squashing as much bugs as possible. With the refactoring we get considerably closer to implement long awaited features in a clean way, without having to work around outdated API. Project page: http://repo.hu/projects/pcb-rnd/ Release tarballs: http://repo.hu/projects/pcb-rnd/releases/ SVN: svn://repo.hu/pcb-rnd/trunk Detailed changelog: http://repo.hu/projects/pcb-rnd/releases/changelog-1.2.0.txt Previous version 1.1.4 is available from Debian sid and Ubuntu Zesty Zapus. *** Help wanted: http://repo.hu/projects/pcb-rnd/help.html *** Release notes: pcb-rnd 1.2.0 ~~~~~~~~~~~~~ Finally, the long postponed major core cleanup has been implemented. This probably has been among the top 5 cleanups in the project history back to the 90s. First, the code is now reorganized to build up around object types instead of actions. This means there's an obj_line.c, obj_arc.c, etc. that know how to do everything with lines, arc, etc. The old code had everything built around actions, so there was move.c, rotate.c, etc., that knew how to move, rotate, etc. all object types. The new organization makes it much simpler to change how objects behave or to introduce new objects. The second part of the cleanup was to add pcb_ and PCB_ prefix to global symbols in core API. This will allow us to split core into libs with external, public API later, without risking name clashes. This will provide better code reuse and cleaner, more stable API to external plugins. Among with the large cleanup, a lot of bugs have been found and fixed. Regards, Igor2