Mail Archives: geda-user/2016/03/23/02:47:00
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
- Raw text -