pcb-rnd 2.1.1 ~~~~~~~~~~~~~ This release is mainly a cleanup release: rewrite of some essential infrastructure (find, drc) and extend the GUI APIs to provide better user interface (around DRC and the preferences dialog). Major changes: 1. find.c rewrite: smaller, slightly more efficient code with a simpler, more versatile API. Does not mess with global/static object flags. 2. DRC API rewrite: the algorithm is decoupled from how violations is stored and from the GUI. There is a generic DRC infra and a generic GUI for displaying the results, that can be driven by multiple different DRC algorithms. The old DRC algorithm has been moved out to a plugin. 3. DRC GUI rewrite: violations are presented as a tree, grouped by topic, so it is easier to skip or focus on similar errors. The window layout follows the library layout, with preview and filter. DRC preview colors offending objects: there is a red and a blue group which makes it much easier to see what exactly went wrong. Lesstif's interactive 'skip-through' DRC indication is available as an option on GTK. 4. View lists: under the DRC GUI there is a generic "view list" mechanism. It remembers a list of board location (with zoom) and highlight objects. The user can remove, add, copy, paste elements of the list. Lists can be saved to file and loaded later. The same list display is now used to indicate incompatibilities when saving in alien format. 5. DAD upgrades: gtk-only dialogs are being rewritten with DAD, more and more dialogs accessible in all HIDs (including lesstif). Introduced new DAD widgets for this effort. 6. The GTK-only preferences window got removed in favor of the new, HID-agnostic preferences window. 7. Major HID API cleanup: DAD allows a cleaner separation of feature code into self contained plugins; the HID API should be as small as possible, with generic features only. This makes it easier to write new HIDs. Plans for the next release: Going on with the cleanups and similar minor features.