pcb-rnd 1.0.10 ~~~~~~~~~~~~~~ [res] - resource->lihata conversion -Add: new action: CreateMenu() -Add: centralized hid keyboard handling API -Add: optional: a gtk-clone multi-key capable menu file that copies gschem's hotkeys mostly -Change: remove res parser, use lihata instead; affected plugins: hid_gtk, hid_lesstif, vendordrill -API CHANGE: dynamic create menu call API takes a string path, not an already splitted array -Update: keylist html generator util works from lihata and handles multikey -Fix: remove hardwired layer selection key bindings, use configured hotkeys (alternative menu files may want to use the same keys differently, hardwired keys are bad) [library_t] - library data structure cleanup/rewrite - Change: replace MenuEntry and related code to a library_t - Add: allow a generic tree representation in footprint library [reduce] - reduce code size without losing actual functionality -Del: extern "C": pcb is a pure C project, if someone wants to include headers from whatever other language, he should take care of it on that side -API CHANGE: rewrite action_funchash to not use custom local hash but genht and to offer cookie based namespaces for modules -Cleanup: rename action_funclist to funchash_core_list to decouple functions from actions [scconfig] -Fix: scconfig/build doesnt' fail even if lesstif is not installed -Fix: do not attempt to detect libgtk is the gtk hid is disabled -Fix: don't detect gd if it's not needed; disable exporters that depend on GD if required parts are not available -Fix: relax gcode/nelma png requirements: print a warning about reduced functionality but let them compile if there's no png but gd is present -Fix: get the dep file sorted by target; this should avoid unintended changes introduced by unordered lists -Change: split up the tmpasm list of modules so that it's easier to get gsch2pcb link again using whatever backend plugins -Cleanup: move strflags test code to regression/ -Change: portability, realpath are compat_*; compat.[ch] split to _dl and _misc -Move: remove Makefile.in.mod, move module tmpasm files to src_plugins/ -Add: detect libstroke and compile with the right cflags and ldflags -Add: tool to quote files into C strings; generate compiled-in, C versions of the new lht menu files, per hid [mods] -Add: API to remove functions by cookie -Add: print warning if a module leaves anything in the func hash at exit -Add: infrastructure for switching from one gui to another -Add: fp_wget: web based footprint implementation, gedasymbols.org integration -Move: command.[ch] to a shorthand command plugin (shand_cmd) -Move: report to a feature plugin -Move: fp_fs plugin: separate footprint code from file.[ch] -Move: move debug actions from lesstif to comomn "oldactions" as they are not GUI-dependant and might be generally useful -Move: hid/common/ to core hid_*, split up large, random collections of functions by purpose -Move: split and rename action.[ch] to make room for hid-common actions.[ch] in core and avoid confusion in names; rename actions.h to hid_actions.h for naming consistency -Move: HIDs to plugins, removing the hid/ directory -Move: hidgl to a separate plugin (to be compiled later) -Fix: event unbind shouldn't segfault if multiple adjacent events are free'd -Fix: event_bind() takes cookie as const char *, not as void * to comform the convention -Fix: hids install and uninstall actions, flags and attributes only around their do_export main loop so they don't conflict [leak] - cleaning up memory leaks -Add: hid attribute remove by cookie -Fix: lesstif and gtk hids remove their attributes -Fix: vendordrill free()s all cache memory used when the cache is discarded [gtk] -Fix: make sure menubar is always wide enough to expose all buttons (using a hidden invisible hbox of calculated size) -Add: copy accel key menuitems from gschem and take over keyboard handling; hid_gtk now supports multi-key hotkeys -Add: set tooltip on menu items -Add: include all hotkeys in the tooltip for submenus [lesstif] -Del: remove dumpkeys action/code: this info should be extracted from the lihata file -Fix: there should be no global variable named 'n' in lesstif; make the stdarg thing a bit more robust and reusable -Add: reenable code to set set menu font and color [core] -Fix: draw_pad() used uninitialized pad color -Add: SwitchHID action to change the HID module on the fly (works partially) [png] -Fix: png max dpi should be 10k - modern printers easily do 2400 but some models are said to do 9600 DPI in one direction [gpmi] -Fix: auto-copy .so files to src's plugin dir on compile so that running from source always has the latest .so files pcb-rnd 1.0.9 ~~~~~~~~~~~~~ [unglib] -Fix: replace glib with minilibs in core and util/ -Del: remove local dynamic string implementation in favor of genvector -Move: vector.[ch] is used only by the autorouter, move it there [scconfig] -Add: print warnings if glib is not found and selected components need to be left out -Add: repeate some of the critical messages below the summary -Fix: compiler warnings -Fix: instead of two booleans, implement a 3-state "/controls" node with values disable, buildin, plugin for the plugins -Change: better module summary printout at the end of ./configure -Fix: use -fPIC on x86_64 to make sure plugins link -Fix: gpmi plugin installation bugs -Fix: src/plugin is cleaned on make clean [leak] -API CHANGE: plugin init should return a pointer to the plugin uninit function -Fix: a bunch of random memory leaks -Fix: a bunch of potential buffer overruns -Add: central infrastructure for uninit'ing GUI hids -Fix: missing closedir() -Add: uninit paste buffers -Add: actions, flags and attributes are registered with a cookie so they an be deleted by cookie -Fix: uninit plugins before hids so they have a chance to clean up registrations -Fix: don't use dynamic strings where printing quoted string directly to a file would work [mods] -Change: convert the ps and lpr exporters into configurable exporter plugins -Rename: edif plugin to import_edif for consistency -Change: move gcode and nelma from hid to plugin -Move: gerber, bom and png to expoter plugins -Cleanup: move old/unused/legacy functions to a new plugin called legacy_func -Change: move fontmode to a separate plugin [core] -Change: use a hash for flag storage - faster and simpler code [gpmi] -Add: expotert hid callback for filled pad exporting pcb-rnd 1.0.8 ~~~~~~~~~~~~~ [doc-rnd] -Add: djopt examples [mods] -Cleanup: split up action.c and spread the code in core and plugins -Move: action pscalib() to the ps hid code -Move: autoplace to a core plugin -Move: autoroute to a core plugin -Move: dbus to a defunct core plugin -Move: djopt to a core plugin -Move: edif to a core plugin -Move: gpmi to a core plugin -Move: import_sch to a core plugin -Move: mincut to a core plugin -Move: oldactions to a core plugin -Move: puller to a core plugin -Move: renumber to a core plugin -Move: stroke to a core plugin -Move: toporouter to a core plugin -Move: vendordrill to a core plugin [ba] -Add: when applying patches to the edited netlist, create missing nets (new connections may implicitly define new nets) -Fix: get the renumber action() fixed -Fix: enable net(add,net,pin) action again and make it operate on the edited netlist for the back annotation to take notes of the changes made [libstroke] -Add: menu in the gtk hid's res to toggle stroke enable -Fix: osolete calls in libstroke action - libstroke support compiles now -Fix: get the gtk gui call the central crosshair move event handler instead of reproducing its code locally (... without libstroke) [util] -Add: make clean -Fix: compiler warnings, mostly unused vars in gsch2pcb -Cleanup: indentation in gsch2pcb pcb-rnd 1.0.7 ~~~~~~~~~~~~~ -Cleanup: src/ should compile in c89 - no more // comments and variables declared in for() -Cleanup: const correctness in src/ -Cleanup: missing #includes in src/ -Cleanup: unified, tab based indentation all over src/ -Cleanup: move dmalloc include to central config.h -Cleanup: move gts to src/3rd -Cleanup: remove old/obsolete files inherited from the fork -Cleanup: rename doc/ to doc-orig/ to avoid confusion and make it compile -Fix: poly pin bounding box calculation adds clearance as rtree expects ([square]) -Fix: loading default.pcb shouldn't override cursor pos and board sizes and shoudln't cause file date to be changed in the gui hids since it is loading a "misc" file -Add: README in each main directory to explain what the directory is for pcb-rnd 1.0.6 ~~~~~~~~~~~~~ [cycdrag] -Add: "negative sized" selection selects anything that touches -Add: cycle drag object action [scconfig] -Fix: toporouter Makefile module adds its own action registration code, so the central Makefile is independent of toporouter -Add: --disable-toporouter -Fix: use cc/cc for c compiler (so that it can be overridden) -Fix: remove -std=gnu99: -std=c99 breaks with new gcc and -std is not really portable -Fix: include genht before glib.h because glib.h ruins inline [pinnum] -Add: action and key binding for changing pin numbers in a footprint [gpmi] -Fix: typo in hotkey name for manage plugins (reported by Bert Timmerman) [util] -Fix: keylist: tolerate whitepsace in key sequences -Fix: keylist resets locale to avoid broken table when gawk tries to be too clever pcb-rnd 1.0.5 ~~~~~~~~~~~~~ [onpoint] -Add: Robert Drehmel's on-point patch adapted for pcb-rnd [scconfig] -Fix: properly configure and build and install even if there's space in the source path (thanks to Jason White) -Fix: take genht from the local copy, don't depend it being installed pcb-rnd 1.0.4 ~~~~~~~~~~~~~ [ba] -Add: back annotation [core] -Fix: suppress no-font error message while loading default.pcb - the actual font is coming from the default font file [pcblib-param] -Add: screw(), low level -Fix: typo in the help of rcy() [mincut] -Fix: solve debug works again -Fix: make debug pngs during load optional -Fix: don't use function-in-function - that's a gcc-specific feature -Fix: don't use alloca(), use malloc() (C99) -Add: Makefile to test against known refs [pcb-fp] -Fix: gtk lib window tag print doesn't segfault if there are no tags for a footprint -Del: local hash and library search implementation for footprint names in buffer.c - libpcb_fp should handle this pcb-rnd 1.0.3 ~~~~~~~~~~~~~ [gpmi] -Add: GPMI plugin/buildin for scripiting (import of project pcb-gpmi) [tostyle] -Add: new feature to adjust the sizes of object(s) to the values of the current routing style [pcb-fp] -Add: support for parsing and caching footprint tags (file elements) -Add: the gtk HID displays tags -Add: the gtk HID can filter for tags [pcblib-param] -Add: bga() -Add: generic qf() generator -Add: qfn() - based on qf() -Add: qfp() - based on qf() -Add: plcc() - based on qf() -Add: qsop() - based on so() -Add: silkmark: accept multiple values -Add: silkmark: can be external -Add: silkmark: new styles exteranl45, dot, circle, and arc -Add: connector() has a sequence option to change pin numbering -Add: some tunings for connector sequence=zigzag to do something usable with etrunc=1 [hid] -Add: dynamic menus: create_menu(), menu paths, runtime insertion of menus in core -Add: dynamic menus in gtk -Add: dynamic menus in lesstif -Fix: more const correctness in dialog box code [scconfig] -Add: ./configure --help -Add: print configuration summary at the end -Add: autodetect HOST (use sys/sysid) -Add: src/3rd for central hosting of 3rd party software libs -Add: support "buildins": plugins built into the code -Change: move genht to src/3rd; policy: prefer genht over glib hash -Fix: tests try to run pcb-rnd, not pcb -Fix: central LDFLAGS and CFLAGS should contain the ldflags/cflags detected for generic use [pcb-mincut] -Merge: pcb-mincut is imported in pcb-rnd, the extern repo will be removed [core] -Add: event subsystem -Add: gui_init event -Add: generic plugin support: track plugins loaded, have a menu for managing them -Add: more accessors to query unit details - for the gpmi scripts -Add: pcb-printf %mI prints coordinate in internal coord format -Add: calls for removing actions -Add: calls for removing a hid (useful for removing exporter hids registered by scripts) -Add: path resolution: support ~ in paths -Add: real regex search and real string list search (in search by name actions) -Change: switch over actions from bsearch() to a genht hash - simpler code, potentially also faster -Fix: don't allow the registration of an action with a name that's already registered [fp2anim] -Add: optional dimension lines -Add: more fine grained annotation control -Change: switch over to vector fonts for better scaling -Fix: draw rounded pads (new pad syntax only) -Fix: make sure to generate sane arcs [doc-rnd] -Add: official central key list pcb-rnd 1.0.2 ~~~~~~~~~~~~~ [pcblib-param] -Fix: central bool handling (connector() etrunc), values: on/off, true/false, 1/0 -Fix: typo in so() parameter descriptions -Fix: connector() typo in error() -Add: more elaborate help syntax: easier to read with scripts [fp2anim] -Fix: read multiline directives properly - a newline after each directive is still needed, tho -Fix: allow whitepsace between directive name and opening bracket -Fix: create all layers in advance - this fixes the case when the fp doesn't draw on some layers (the macro still exists) -Fix: rline() is extended by width/2 if there are no rounding; it seems this how pcb defines lines -Fix: leave extra margin in photo mode for the 3d edges -Add: support for old-style pad() -Add: support for Mark() (relocate the diamond) -Add: options to turn off the grid and annotation - useful for thumbnails [scconfig] -Fix: always have config.h, don't ifdef it -Fix: glib is a core dependency that should be added even if the gtk hid is not used -Fix: make clean removes pcb-rnd, not pcb (executable file name typo) -Add: make clean in util/ -Add: options to disable gd and/or jpeg or png or gif -Add: be able to detect and configure lesstif -Add: --disable-gtk and --disable-lesstif; --disable-xinerama and --disable-xrender for lesstif -Add: use detected -rdynamic so that plugins can link against the executable -Change: detect both gtk and lesstif as optional dependencies -Cleanup: generate hidlist.h from tmpasm instead of shell to remove shell dependency -Del: a bunch of obsolete #defines inherited from auto* [core] -Add: --gui explicitly selects a gui hid -Add: don't leave preferred order of GUIs to the chance, make it explicit pcb-rnd 1.0.1 ~~~~~~~~~~~~~ [core] -Fix: don't read beyond the common part of the struct in IsPointInPad (since it's called for lines too, and those have much less fields) -Fix: where stdarg is avaialble, also print messages to stderr - useful if things go wrong before a GUI is working [gtk] -Fix: don't crash but write error message and exit if gpcb-menu.res is empty [square] -Fix: 90 deg rotation rotates shape style -Add: action.c and change.c code to get shaped vias -Fix: don't change pin shape for square and octagon in rotation [mincut] -Add: command line setting --enable-mincut (0 or 1) as mincut can be slow it is a global disbale setting and make a local, per pcb setting for enabling mincut; also add a per pcb setting/flag -Fix: disable debug draw by default -Fix: fall back to the old short warn method when mincut fails -Fix: avoid segfaults by detecting broken graph early -Workaround: if mincut sees a graph with multiple unconnected components, doesn't try to solve but falls back to randomly highlight something [intconn] -Workaround: find intconn pads only on the same layer [nonetlist] -Workaround: ignore nonetlist pads even if the flag is in the element name [scconfig] -Add: scconfig/ - switch over from autotools to scconfig [pcblib] -Cleanup: new, trimmed back pcblib/ with essential footprints only [pcblib-param] -Add: new parametric footprints - no more m4-hardwiring, use your preferred language! -Add: acy(), alf(), rcy(), connector(), dip() -Add: so(), tssop(), msop(), ssop() [pcb-fp] -Add: central lib for footprint search and load in pcb and gsch2pcb [util] -Add: gsch2pcb fork to support [nonetlist] and [pcblib-param] [fp2anim] -Add: fp to animator script for fast preview [polygrid] -Add: ps output: draw grid in polys instead of fill (doesn't fully work) -Fix: set proper max value so the control is enabled [debian] -Update: build the package with scconfig and footprint changes pcb-rnd 1.0.0 ~~~~~~~~~~~~~ [square] -Add: initial implementation [intconn] -Add: initial implementation [nonetlist] -Add: initial implementation [flagcomp] -Add: initial implementation [mincut] -Add: initial implementation