X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Wed, 23 Mar 2016 07:49:56 +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 Subject: [geda-user] [pcb-rnd] release 1.0.9 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, announcing the latest release of pcb-rnd: 1.0.9 is the third phase of the large scale cleanup started at 1.0.7. My focus was on removing glib (in favor of a set of mini-libs), cleaning up memory leaks and buffer overruns, moving even more code into ujser selectable plugins. All exporters can be compiled into dynamic loadable plugins now. web: http://repo.hu/projects/pcb-rnd/ svn: svn://repo.hu/pcb-rnd More details about this release at the bottom of the mail, and on the web: http://repo.hu/projects/pcb-rnd/releases/changelog-1.0.9.txt Current state of the modularization efforts: http://repo.hu/projects/pcb-rnd/mods2/ Previous state: http://repo.hu/projects/pcb-rnd/mods/ Roadmap: another one or two cleanup cycles. Replace the menu.res infrastructure with lihata; move the gtk and lesstif hids into plugins (dynamic loadable GUI, maybe even switch between GUIs runtime). Remove glib from the puller and decide about the toporouter. I will also try to reduce code size in core (while keeping the same functionality) by using the minilibs more, replacing local list/vector implementation where applicable. In short: now that PCB already does what I wanted it to do, I want it to do it right (clean code, no leaks, no boilerplate, slim code) Comments, suggestsions, testing are welcome. Regards, Igor2 ------------------------------------------------------------------------------ More detailed release notes: pcb-rnd 1.0.8 ~~~~~~~~~~~~ 1.0.9 is the third phase of the large scale cleanup started at 1.0.7. Major objective was to clean up memory management. As a first step glib was replaced with a set of minilibs for core and util/. The only modules still use glib are the gtk HID (gtk depends on glib anyway), the puller (will be fixed later) and the toporouter (will be either fixed or removed). After the "unglib" project, a lot of effort went into fixing memory leaks and potential buffer overruns in the code inherited from pcb originally. The modularization effort progressed some more too: all exporter HIDs are plugins now. A bunch of unused/old/obsolete core functions are moved to a separate plugin so they don't need to be compiled into the executable. The fontmode (font editor) became a plugin too. There are 23 plugins at the moment, from which 15 used to be hardwired code in pcb core and 7 used to be compile-time selectable HIDs. pcb-rnd plugins have 3-state configuration: - disable: do not compile at all - buildin: compile and static link into the executable - plugin: compile into dynamic loadable plugin