1 ==============================================
2 'gschem and Friends' Electronic Design Suite
3 ==============================================
5 Copyright (C) 1998-2020 gEDA Developers
7 This file documents important user-visible changes in gEDA/gaf. For
8 more information, please consult the `ChangeLog' file.
11 Notable changes in gEDA/gaf 1.10.2
12 ==================================
14 * Re-added support for Guile 2.0 and some older library versions
17 Notable changes in gEDA/gaf 1.10.1
18 ==================================
20 * Migrated to Guile 2.2.
22 * Duplicate symbols in a library are now only considered an error if
23 one of the symbols has been referenced.
25 * Fixed handling of packages and nets in multi-page subschematics.
27 * gnetlist ignores the `--report-gui' option and falls back to console
28 output if the Python GTK bindings are missing.
30 * Added power symbols based on the newer netname= convention to the
31 standard symbol library.
33 * Moved visibility columns in the attribute editor to the left side.
35 * When promoting an attribute manually in the attribute editor, the
36 new attribute is now visible by default.
38 * After pasting objects, the newly-pasted objects are selected.
40 * Page size and orientation can be changed in the print dialog.
42 * Removed the option `bus-ripper-rotation'; both symmetric and
43 non-symmetric bus rippers are now placed correctly.
46 - lp-1878401 Geda* Will Not Compile On Fedora 32
47 - lp-1853617 incorrectly placing the component attribute on the printout
48 - lp-1849621 Fix 'parentheses around assignment used as truth value' war...
49 - lp-1848838 Some Guile tests fail in geda 1.10.0
50 - lp-1848837 geda 1.10.0 fails to build
51 - lp-1783027 Install fails if INSTALL doesn't specify full path of insta...
52 ...and several more which never made it to the bugtracker.
55 Notable changes in gEDA/gaf 1.10.0
56 ==================================
61 * Added the library "xornstorage" and the Python package "gaf" as a
62 (currently quite minimal) way to access gEDA/gaf functionality from
63 outside of gschem. These are on the long term intended to replace
64 libgeda, making the core gEDA/gaf functionality available as a
65 library to both gschem and other applications.
67 * Added command-line tool `xorn' for low-level schematic and symbol
70 * Added experimental XML file format (currently only supported by
71 gnetlist and the `xorn' command line utility).
73 * Objects colors are limited to 21 (up to and including FREESTYLE4).
74 More recent colors added for GUI purposes can be set in colormaps
75 but aren't automatically added to the file format specification.
77 * The symbol directories "gnetman", "verilog", and "vhdl" are now
78 installed to the new location PREFIX/share/gEDA/extra-sym/. This
79 allows adding the default library with "component-library-search".
81 * The directory to which gEDA programs write log transcripts can be
82 changed by setting the environment variable `GEDALOG' (the default
85 * All tests now use the parallel test harness, speeding up `make
86 check' runs considerably when used with multiple jobs (-jN).
89 - lp-698501 gschem file preview function renders files twice
90 - lp-698524 gnetlist ignores duplicate inout-symbols
91 - lp-698768 No ordering requirement for attribute attach/detach
92 - lp-701637 gschem "Scheme Interaction" window
93 - lp-1266316 gschem exits on color value < 0
94 - lp-1367462 undo messes with the view even though undo panzoom is disabled
95 - lp-1492834 These docked dialogs should remember their size
96 - lp-1496899 gschem: dock window wishlist
97 - lp-1497659 gnetlist -v -g spice-sdb generates bad verbose netlist
98 - lp-1514209 gschem: multiattrib Value textview improvements
99 - lp-1532794 Build fails on missing colors.h
100 - lp-1576918 Memory and file handle leak in libgeda
101 - lp-1590757 partlist3 yields wrong netlist in some cases
102 - lp-1625474 xorn does not build on FreeBSD
103 - lp-1661961 "format not a string literal and no format arguments" warning
104 ...and a lot more which never made it to the bugtracker.
110 * Tool windows are now "dockable", i.e., they can be either used as
111 modal/non-modal dialogs or docked to the edges of the main window.
113 * The action mechanism used for menu items, tool buttons, and key
114 bindings has been redesigned, making several improvements possbile:
116 - Actions can now be used interchangeably in the main menu, toolbar,
117 context menu, and keymap. They are defined in a single place
118 ("actions.c" for C actions and "builtins.scm" for Guile actions),
119 including metadata like name, icon, and tooltip.
121 - Menu items and tool buttons representing options have a little
122 check or radio box beside them indicating their current state.
124 - Menu items and tool buttons are greyed out while they can't be
127 - Toolbar and context menu are customizable.
129 - Menu and toolbar definitions are simple Scheme variables, allowing
130 users to add actions to the menu without having to copy the menu
131 definition. Actions are represented in Scheme code as applicable
132 SMOBs, allowing them to be called like procedures while retaining
133 the action information necessary for rendering the menus/toolbar.
135 - "Repeat Last Action" (usually bound to ".") uses the same logic as
136 the middle mouse button repeat action does, i.e., only actions
137 that "make sense" qualify for repeating.
139 * The menus, toolbar, and keymap have been revamped to more closely
140 resemble the "standards" for a desktop application. Some actions
141 have been assigned more accessible or memorable keys.
143 * Added a command-line option "--control-fd=stdin|FD" which allows
144 remote-controlling gschem via a file descriptor. This is intended
145 for project managers like Igor2's "genxproj".
147 * File operations have been consolidated: opening, saving, closing a
148 file and so on should now behave identical regardless of how the
149 operation was initiated. Related improvements:
151 - When opening multiple files, the first one (instead of the last
152 one) is initially shown.
154 - The symversion= mismatch dialog is shown whenever a symversion=
155 mismatch is detected while opening a file, not just for files
156 specified on the command line.
158 - gschem now keeps track of which files are untitled, listing them
159 as "untitled page" instead of assigning them a temporary filename.
160 The Scheme procedure `page-filename' returns #f for untitled
163 - "Save all" used to produce spurious "untitled_1.sch" files. This
164 was due to three issues working together, which have been fixed:
166 - When gschem is invoked without specifying filenames on the
167 command line, an untitled page is created. This page wasn't
168 removed when opening files, staying invisibly in the background.
170 - "Save all" didn't check which files needed saving but just
171 unconditionally saved anything.
173 - "Save all" didn't behave like the interactive "Save", asking for
174 a filename for untitled pages, but just saved each page to its
175 internally stored filename.
177 - The file chooser dialog on "Open" and "Save As" is now always
178 opened in the current directory.
180 - When opening a file which is already open but has since been
181 changed on disk, the user is asked whether to reload the file.
183 - When the currently edited file has been modified on disk, a
184 notification is shown offering the user to reload the file.
186 - If the user enters a filename with an unusual extension while
187 saving, a confirmation dialog is shown.
189 - When trying to open a file or descend into a subschematic which
190 doesn't exist, gschem now offers to create a new file with that
193 * Some improvements have been made to the multi-attribute editor:
195 - Editing a single attribute invokes the multi-attribute editor.
197 - Trying to edit an inherited attribute edits the attached attribute
198 with the same name if it exists, or promotes the attribute and
199 edits its value if it doesn't exist yet.
201 - Attributes are shown in the order in which they are listed in the
202 configuration (via "attribute-name").
204 * Attaching and detaching attributes now work as expected:
206 - "Attributes / Attach Attributes" used to depend on the order in
207 which objects were selected, taking the first selected object as
208 the base object to attach attributes to, regardless of its type.
209 Now, the selected objects are searched for a base object of
210 suitable type, and only if exactly one is found, the attributes
213 - "Attributes / Detach Attributes" used to work on selected
214 components and nets, detaching all attributes from these objects.
215 It now works on the selected *attributes*, allowing the user to
216 selectively detach specific attributes while leaving the rest
219 * "Lock Component" used to lock components as well as non-component
220 objects, bringing the latter into an invalid state that would last
221 until the next "Undo" (or until the page was saved and loaded back
224 This has been fixed: "Lock Component" and "Unlock Component" now
225 only operate on components, changing the color of attached
226 attributes as they used to do with any selected text.
228 * The "Light Color Scheme" (V L) selected from the menu now has a
229 truly white background. For compatibility, selecting the "lightbg"
230 colormap in gschemrc loads the old, light-gray color scheme; the new
231 color scheme can be selected as "whitebg".
233 * The library window has been made fit to be used as a dock window:
235 - When the dialog is resized to be taller than a certain aspect
236 ratio, it switches automatically to a stacked layout where the
237 preview and attribute panes are located below the symbol selector.
239 - While in stacked layout, the bottom panes can be expanded and
240 collapsed to give more room to the symbol selector.
242 - The window is automatically refreshed on library updates.
244 * Symbol editing has been improved:
246 - The page can now be scrolled to negative coordinates, making it
247 feasible to edit symbols without moving them away from the origin,
248 then translating them back. This also allows to consciously
249 choose something that makes sense for the symbol as the location
252 - The coordinate origin is now indicated with slightly darker grid
253 lines. (This can be enabled/disabled via "View / Show Origin".)
255 - The "Symbol Translate" action has been replaced with "Place
256 Origin" which lets the user select the position of the origin
259 * Added support for back-annotation from pcb-rnd.
261 * Double-clicking a subschematic component enters the subschematic.
263 * Right-clicking in path mode works as expected.
265 * Pins are allowed to have zero length.
267 * "File / Revert" only asks for confirmation if the file has been
270 * The "repeat" function of the middle mouse button now evaluates
271 actions at the current mouse position.
273 * Mouse gestures work properly again.
275 * libstroke has been merged into gEDA/gaf. This removes the
276 dependency on libstroke and makes mouse gestures always available.
278 * Added new mouse gestures for page navigation:
279 - swiping left goes to the previous, swiping right to the next page
280 - swiping right and then down enters a subschmatic
281 - swiping left and then down enters a symbol
282 - swiping up and sideways (in any combination) goes back to the
285 * The coordinate dialog has been replaced with an option to display
286 the coordinates in the status bar.
288 * Added further menu items:
290 - "Add / Last Component" (A C)
292 - "Object / Toggle Text Overbar" (T O)
294 - "View / Show Menubar" (V M)
295 - "View / Show Toolbar" (V T)
296 - "View / Show Scrollbars" (V S)
298 - "Tools / Select Locked Objects" (T L)
300 * Fixed various issues related to undo/redo:
302 - The menu items "Edit / Undo" and "Edit / Redo" now show the name
303 of the action that will be undone/redone.
305 - The current viewport used to be restored on undo/redo regardless
306 of the "undo-panzoom" setting (which prevents pan and zoom
307 operations from being recorded in the undo history). This turned
308 out to confuse users, so if the setting is enabled, undo/redo now
309 doesn't change the viewport at all.
311 - The default mode ("undo-panzoom" disabled) now works correctly.
313 - After undoing the first action which changed a page, the page will
314 be considered "unchanged" again.
316 - Adding an attribute, changing the slot of a component, replacing
317 the contents of a picture, and selecting "Pan" from the menu used
318 not to be correctly un-doable. This has been fixed.
320 - Selecting a picture to be added doesn't cause the page to be
321 treated as changed any more.
323 - "Object / Update Symbol" can't be undone with the current undo/
324 redo system, so it isn't listed as something that can be undone
327 - Several actions (attach/detach attribute, text actions, embed/
328 unembed, lock/unlock component, show/hide specific text) changed
329 the undo history even in the case that they didn't have any
330 effect. This has been fixed.
332 - Several actions (attach/detach, embed/unembed) didn't update the
333 "changed" flag correctly; this has been fixed.
339 * Refactored gnetlist:
341 - gnetlist is now part of the Python package "gaf" and uses the new
342 libraries instead of libgeda to work with gEDA files.
344 - Netlist backends can also be written in Python.
346 - When reading broken schematics and/or symbols, gnetlist doesn't
347 silently fail or produce bad output any more. Conversely, this
348 means gnetlist has become more picky about input files: whenever
349 it occurs something that is likely to result in bad output, it
350 issues a warning or an error.
352 - In case there should be any problems with the refactored codebase,
353 the "old" gnetlist is still available as "gnetlist-legacy".
355 * If gnetlist is invoked with the `pcbfwd' backend or the new option
356 `--report-gui', errors and warnings are displayed in a GUI dialog
357 instead of printing them to stderr.
359 * There are new semantics for power and I/O port symbols:
361 - Power symbols can now use a netname=NET instead of a net=NET:1
362 attribute. This allows using the attribute value as a visible
363 label, removing the need for power symbols for individual rails.
365 - I/O port symbols in subschematics can now use a portname=PORT
366 instead of a refdes=PORT attribute to distinguish them from
367 regular components. This allows checking that unconnected port
368 symbols aren't silently included in the netlist as components.
370 * Hierarchical schematics can now use a simple form of parametrization
371 where the instantiating component contains an attribute of the form
372 `param=NAME=VALUE' and some attribute value in the subschematic
373 contains the pattern `$(NAME)', which will be replaced with `VALUE'.
374 This only works with regular attribute lookup from netlist backends
375 and won't affect special attributes like slot= or netname=, though.
377 * The netlisting options "hierarchy-traversal", "net-naming-priority",
378 "unnamed-netname", and "unnamed-busname" are once again configured
379 via gnetlistrc, making them consistent with the refdes=, net=, and
380 netname= mangling options.
382 * Duplicate I/O ports in subschematics and duplicate I/O pins in
383 subschematic symbols are now treated correctly.
385 * Added a netlist backend for pcb-rnd's tEDAx format.
387 * Added backends which dump the netlist in various generic formats
388 (dumpindent, dumpjson, dumplihata, dumptext, dumpxml).
391 Notable changes in gEDA/gaf 1.9.2.1p
392 ====================================
394 * The gEDA/gaf source tarball no longer includes libintl. When
395 building gEDA/gaf with internationalisation support, a GNU
396 gettext-compatible libintl is now required.
398 * A new Scheme API function, `log!`, has been added to the `(geda
399 log)` module. It allows Scheme code to emit log messages in the
400 same way that the tools' C code does.
403 Notable changes in gEDA/gaf 1.9.2
404 =================================
405 * Build system changes:
407 - Guile 2.0 or newer is now required.
409 - top-level control file allowing continuous integration using
410 Travis CI has been added.
412 * Nullor expansion has been fixed in the `spice' and `spice-sdb'
415 - Element name prefix "E_" has been substituted for "E-" to prevent
416 errors output by some simulators (e.g. ngspice).
418 - A default gain value has been added in the nullor expansion code.
420 * Two obsolete scripts verilog2vhdl.sh and script.sed have been
423 * Undocumented and ambiguous feature of the `spice-sdb' backend for
424 gnetlist consisting in the possibility of using the "value="
425 attribute instead of "file=" only for include blocks and only in
426 embedding mode has been removed.
428 * The following scripts and programs have been moved from the `utils'
429 directory to a new `contrib' directory and are no longer installed
434 sarlacc_schem sarlacc_sym
435 pads_backannotate sw2asc
438 * `gpstoimage' has been removed from the distribution; equivalent
439 functionality is provided by the `gaf' command.
441 * `convert_sym.awk' has been removed from the distribution; equivalent
442 functionality is provided by the `convert_sym' command.
444 * gnetlist now supports output of netlists to the standard output.
446 * New Scheme procedures and hooks have been added. Please see the
447 "geda-scheme" info manual for more details.
449 - `set-component-with-transform!' is a modified version of
450 `set-component!', which applies all the specified transformations
451 to a component and immediately updates it.
453 - `auto-refdes-reset!' resets components' refdeses
455 - `copy-objects-hook' is called whenever an object is copied, it can
456 be used, for example, to reset component's refdes on copy.
458 * The following gschem configuration items have been added:
460 - `third-button-cancel' cancels draw actions by the third mouse
461 button in mousepan mode.
463 - `grid-mode' sets default grid mode.
465 * Fixes/updates to the *BSD, Mac OS X, and MinGW builds.
467 * Changes in the gschem UI event state machine:
469 - New drawing modes apply immediately.
471 - Indication of an action being in progress has been added.
473 - Mirror action can now be used during an object placement.
475 - Show/hide text function is now enabled during other actions.
477 - RMB panning is now enabled during placing or drawing.
479 * Some gschem dialog have been merged, made non-modal, and placed in
482 - Color, line, fill and pin type dialogs have been merged into one
483 non-modal object properties dialog with widgets applying values
486 - Text properties dialog.
488 - Options to control the magnetic net mode and the net rubber band
489 mode as well as grid mode and grid snap mode have been merged into
492 * The following dialogs/windows have been converted into an info bar
493 and are now placed in bottom notebook:
495 - Log (status) window.
499 * The following dialogs are now popup & docked the same way as the
500 execute script dialog:
502 - Show and hide text dialogs.
506 * Other gschem GUI changes:
508 - Hotkeys and menu items to show/hide the sidebar and status window
511 - Swatch for fill types has been added.
513 - Slot edit dialog now displays number of slots.
515 - Library folder structure in gschem is now displayed as tree.
517 - Indication of page change has been added in gschem main window's
520 * Improved find text functionality:
522 - When searching for text, gschem now descends all files specified
523 in the comma separated list of the source attribute.
525 - There is now a widget that lists all occurences of the text
526 objects that contain the search string.
528 - The find text operation does not switch the current schematic in
529 the view or interfere with the most recent page up.
531 - The find text operation also searches all open pages instead of
534 - The behavior of the find text operation works with multiple
535 toplevel windows open while running concurrent find text
538 - The find text operation can now use either a substring, pattern,
539 or regex. The pattern style uses * and ?. The regex uses glib,
540 which adheres to perl compatible regular expressions.
542 * Several symbols have been fixed/improved.
544 * gschemdoc has been enhanced to search in the user documentation
547 * Several translations have been added/updated.
549 * Man pages for gsymcheck and gschlas have been updated.
551 * Switches --help and -h have been added for most of gEDA utilities.
553 * Fixed the following bugs:
555 - 900122: Gschem crashes on ctrl-x.
556 - 1258834: spice-sdb crashes on non-existing files.
557 - 1463178: Gsch2pcb crashes when using `m4-pcbdir' option.
558 - 1478760: Gschem segmentation fault during find text.
559 - Gschem crashes on pressing the third mouse button.
560 - SVG output bug in `gaf export'.
561 - Several other bugs.
564 Notable changes in gEDA/gaf 1.9.1
565 =================================
567 * Unbalanced overbar markers are now rendered correctly.
569 * Most tools now no longer set the GEDADATA or GEDADATARC environment
570 variables (they still obey them though).
572 * `gschem' now provides a path drawing tool, accessed using <A H> or
573 the "Add Path" menu item.
575 - Add a cusp node by left-clicking.
577 - Add a Bezier curve node by left-dragging from the node point to
580 - End the path by clicking on the same node point twice, or clicking
581 on the start node to close the path.
583 * On desktops that reparent menu bars (e.g. Ubuntu Unity) it is once
584 again possible to paste the clipboard using the menus.
586 * A number of `gschem' editing behaviour changes were made:
588 - Double-clicking on an entry in the "In Use" tab of the component
589 selector now behaves the same way as double-clicking in the
592 - When new attributes are attached to a net, they are placed at a 50
595 - The text color is now used as the default color for `pinlabel='
598 - Pin attributes are no longer automatically replaced when rotating
601 - It is possible to edit a text object even when other non-text
602 objects are selected.
604 - Control grips are now always drawn at the same on-screen size.
606 * The multi-attribute editor dialog in `gschem' has been extended to
609 - It now supports editing attributes of multiple selected
610 objects. These are aggregated into the dialog's attribute list.
612 Multiple attributes with the same name attached to any given
613 object are still shown in separate rows, but identically named
614 attributes from multiple selected objects will share a row. If a
615 row has differing values between objects, its value shows the text
616 "<various>" in a muted colour.
618 - Where an attribute is present in some, but not all selected
619 objects its name in the list is shown in red. A new popup menu
620 option allows copying such attributes to all selected objects.
622 - If no complex, placeholder, pin, net or bus objects are selected,
623 the dialog now falls back to editing any selected attribute text.
625 This allows editing of unattached or floating attributes in
626 symbols, or any attributes seleccted independantly of their owning
627 object. In this fallback mode, all attributes with the same name
628 shown in separate rows, and the "add attribute" functionality is
631 * `gschem' has new icons for many editing commands.
633 * Several bugs were fixed in `gnetlist':
635 - Invalid attributes are ignored.
637 - Correct detection of graphical symbols.
639 - Components with no `refdes=' attribute are reported.
641 - Crash fixes for `drc' and `switcap' backends.
643 * `gaf export' now accepts a `--scale' option.
645 * The `--size', `--margins' and `--align' options to `gaf export' can
646 now accept their multiple arguments separated with a space ` ', a
647 colon `:' or a semicolon `;'.
649 * `gaf config' now handles the `-p' option properly.
651 * `gnetlist', `gsymcheck' and `gaf' now output internationalised
654 * New Scheme procedures were added. Please see the "geda-scheme" info
655 manual for more details.
657 - The (gschem action) module contains procedures for working with
658 user editing actions (i.e. commands accessed via the menus or
661 - Two new hooks were added: `bind-keys-hook' is called whenever
662 keymap bindings are changed; `action-property-hook' is called when
663 action properties are changed.
666 Notable changes in gEDA/gaf 1.9.0
667 =================================
669 * A new schematic renderer library, `libgedacairo' has been added, and
670 all tools have been updated to use it. Related changes:
672 - The following configuration functions have been removed:
674 output-capstyle paper-sizes
675 output-color postscript-prolog
676 output-orientation print-command
677 output-type setpagedevice-orientation
678 paper-size setpagedevice-pagesize
680 - The following `gschem' configuration items have been added:
682 print-paper print-color
685 - `gschem' now generates PDF files rather than PostScript or EPS
688 - `gschem' now uses a standard GTK print dialog (with printer
689 selection, print preview, etc.)
691 * A new `gaf' command-line utility has been added. It provides a
692 number of subcommands:
694 - `gaf export' can be used to convert schematic files to PNG, SVG,
695 PDF, PS and EPS, with detailed control of paper size and margins.
696 It supports multi-page PDF and PS output.
698 - `gaf config' can be used to manipulate the project, user, and
699 system configuration stores (see below).
701 - `gaf shell' provides a Scheme REPL for batch manipulation of
702 schematic and symbol files.
704 * New project, user and system configuration stores have been added,
705 using a format similar to .desktop files. They can be manipulated
706 using the `gaf config' tool. Configuration parameters for most
707 tools will be converted to use this mechanism in future releases.
709 * The changes to highlighting of dangling net ends in gEDA/gaf 1.8.0
710 have been reverted. All dangling ends are once again flagged with a
711 brightly-coloured square.
713 * When editing a component with the `gschem' multi-attribute editor,
714 the dialog will now show the symbol name in its title.
716 * When using "Down Schematic" command in `gschem', an error message
717 will now be displayed if the subcircuit schematic cannot be loaded.
719 * Printing now uses a light background color map by default.
721 * Objects can now have the line end "cap style" adjusted in `gschem'.
723 * `gnetlist' now accepts the `-i' and `-g' command-line arguments
724 together. If you specify both `-i' and `-g', `gnetlist' will enter
725 the Scheme REPL after loading the requested backend but before
728 * `gattrib' now has translations for the user interface and various
731 Notable changes in gEDA/gaf 1.8.2
732 =================================
736 * [994361] Fixed a libgeda crash bug involving nets inside symbols.
738 * [1226246] Fixed a gnetlist data corruption bug when using refdes
739 containing the string "POWER".
741 * Updates to build system to allow compilation from git on systems
742 with Automake >= 1.13.0.
744 Notable changes in gEDA/gaf 1.8.1
745 =================================
747 Bugfix release with correct dynamic version information for libgeda.
749 Notable changes in gEDA/gaf 1.8.0
750 =================================
752 * `gschem' and `gnetlist' have updated and rewritten user guides.
754 * All tools now give more informative error messages if they are
755 unable to load schematic or symbol files due to syntax errors.
757 * All tools now correctly handle schematic and symbol files with `\r',
758 `\n', or `\r\n` line endings, or a mixture.
760 * Unconnected pin ends and net ends are now all drawn with the same
761 box marker in `gschem' and printed output.
763 * Net segments with at least two connections (including indirect
764 connections via `netname=' attributes) are now drawn with arrowheads
765 rather than box markers on dangling ends in `gschem' and printed
768 Notable changes in gEDA/gaf 1.7.2
769 =================================
771 * `geda-gaf' now requires GTK+ 2.16.0 or later.
773 * A greatly expanded Scheme API has been added to gEDA/gaf for use by
774 extension authors. See the `geda-scheme' Info manual for more
775 details. Existing extensions may need to be modified to load the
776 `(geda deprecated)' or `(gschem deprecated)' modules.
778 * The `component-library-search' function for `gafrc' files now skips
779 directories without symbols, and searches for libraries recursively.
781 * `gschem' keybinding improvements:
783 - Keybindings are now unaffected by Caps Lock.
785 - Keystrokes are displayed using the same characters as on keycaps
786 (e.g. `:' instead of `colon').
788 - Keystrokes may use extended modifiers (Super, Hyper and Meta).
790 - Key bindings can be modified in any rc file or interactively using
791 the `global-set-key' function. See notes in `system-gschemrc' for
794 * `gschem' now displays help files and component documentation on all
795 platforms, including Windows. The `locate' tool is no longer used
796 to search for component documentation files.
798 * The `schdiff' tool for generating visual diffs of schematics and
799 symbols has been added. It can be used with most version control
800 systems. See `man schdiff' for more details.
802 * The `bom' and `bom2' backends to `gnetlist' now give error messages
803 if no attribute file can be found. The `-O attrib_file=FILE' and
804 `-O attribs=ATTRIB,ATTRIB...' options have also been added.
806 * A new `ewnet' backend has been added to `gnetlist'. This outputs
807 netlists for use with the National Instruments ULTIboard layout
810 * The `verilog' backend to `gnetlist' now supports concatenated net
811 naming like "{a,b,c[3:0]}".
813 * `gsch2pcb' no longer supports the `m4_command' parameter in project
816 * The `--m4-pcbdir' and `--m4-file' arguments to `gsch2pcb' now work
819 * `gsymfix.pl' has been renamed to `gsymfix'.
821 * Man pages are now available for all programs installed as part of
824 * The undocumented programs `gnet_hier_verilog', `gsymupdate', `gschupdate'
825 and `sch2eaglepos.sh' are no longer installed to ${prefix}/bin.
827 Notable changes in gEDA/gaf 1.7.1
828 =================================
830 * gEDA is now compatible with Guile 2.0.
832 * gEDA/gaf applications no longer complain when trying to load an rc
833 file twice, or when an rc file doesn't exist.
835 * `gschem' allows objects to be moved by dragging without having to
838 * `gschem' now supports keybindings with more than one modifier key,
839 and "Deselect" is bound to <Control Shift A> by default.
841 * `gnetlist' correctly handles multiple renames of the same net. This
842 resolves some long-standing bugs with multipage schematics.
844 * The `spice-sdb' backend for `gnetlist' now has built-in support for
845 `SUBCKT_NMOS' and `SUBCKT_PMOS' devices.
847 * A new `makedepend' backend has been added to `gnetlist'. It
848 generates Makefile code for SPICE simulation dependencies.
850 * Visibility of embedded component attributes are now preserved by
853 * `gsch2pcb' correctly handles footprint names with hyphens (`-').
855 * `gsch2pcb' project files support quoting and escaping in
856 `schematics' entries.
858 * Considerable enhancements to Unicode support when printing
859 schematics or exporting PostScript.
861 Notable changes in gEDA/gaf 1.7.0
862 =================================
864 * All gEDA/gaf applications now handle configuration files much more
865 strictly, and provide much more useful feedback when an error
868 * Several changes to `gschem' command-line options:
870 - The `-t' option is no longer supported.
872 - Several command-line options now support a long-form alternative.
874 - The `-s' option can now be used to run multiple Scheme scripts
875 during `gschem' startup.
877 - A new `-c' option is available, which runs a Scheme expression
878 during `gschem' startup.
880 - A new `-L' option is available, which adds a directory to the
883 - A new `-V' or `--version' option is available, which displays
886 * `gschem' now provides a "Select All" function, which is bound to
887 <Control a> by default, along with a corresponding "Deselect"
890 * In the `gschem' "Add component" dialog, filtering the component
891 library will expand matching libraries. If the filter is cancelled,
892 all libraries are collapsed. Components can now be selected by
893 double-clicking on them in the component list.
895 * The `gschem' "Edit Text Properties" dialog now has an easier to use
898 * Printed text size now better matches on-screen text size in
901 * Special characters, including commas, are now escaped or quoted
902 appropriately in `gattrib' CSV output.
904 * Several changes to `gnetlist' command-line options:
906 - Four command-line options specific to the `spice-sdb' backend have
907 been removed. They can be replaced with `-O <option>' according
908 to the following table:
910 -e, --embedd -O embedd_mode
911 -I, --include -O include_mode
912 -n, --nomunge -O nomunge_mode
913 -s, --sort -O sort_mode
915 - The list of available backends is now obtained using a new
916 `--list-backends' option. `-g help' no longer outputs a list of
919 - A new `-L' option is available, which adds a directory to the
922 - A new `-V' or `--version' option is available, which displays
925 - When run with invalid command-line arguments, `gnetlist' now exits
926 with non-zero exit status.
928 * Several `gnetlist' backends have now been fixed so that it should no
929 longer be necessary to set an expanded Guile stack in gEDA's config
932 * The `spice-sdb' backend for `gnetlist' now supports probes
933 (`TESTPOINT' devices).
935 * The undocumented `mk_verilog_syms' program is no longer installed.
936 The symbols it creates are still installed to
937 `${prefix}/share/gEDA/sym/verilog'.
939 Notable changes in gEDA/gaf 1.6.2
940 =================================
942 * PNG export from `gschem' will now be cropped correctly.
944 * The `partlist' backends for `gnetlist' now handle hierarchical
947 * On Windows, `gschem' and `gattrib' will no longer launch with a
948 command window visible.
950 * `gnetlist-arg' is no longer valid in `gsch2pcb' project files.
952 Several other bugs were fixed, including a major crash bug in
955 Notable changes in gEDA/gaf 1.6.1
956 =================================
958 * Added accelerator mnemonics for root menus in gschem
960 * Lots of updated and new language translations in libgeda, gschem, and
961 gattrib. (Courtesy of language translators and Launchpad)
963 * Updated the shipped documentation from the official gEDA wiki
965 * Fixed the following bugs:
967 - 2876373: Fix rendering with zoomed out dashed lines
968 - 2901183: Fix for some manpage issues
969 - 2904715: Don't update page connectivity from o_place_rotate()
970 - 2949232: Fix slot editing routines to not edit inherited attributes
971 - Cherry picked some other bug fixes from master that should be in
974 Notable changes in gEDA/gaf 1.6.0
975 =================================
977 * Fixed the GtkItemEntry code inside of gattrib code so that it builds
980 * In gschem, rubberband pin to pin connections by adding nets.
982 * Cleanup of the slot handling code in libgeda.
984 * Fixes/updates to the MinGW port.
986 * Updated the shipped documentation from the online wiki.
988 Notable changes in gEDA/gaf 1.5.3/1.5.4
989 =======================================
991 * NOTE: gEDA/gaf 1.5.3 was released with some critical bugs, so
992 it was withdrawn before it was widely distributed.
994 * Text rendering using native system fonts:
996 - The various programs in gEDA/gaf no longer uses its own built-in
999 - Native system fonts are used for rendering, giving support for a
1000 wider range of symbols, and better looking schematics.
1002 * Always use PostScript fonts in gschem's PostScript output. The
1003 "output-text", "text-output" and "output-vector-threshold" config
1004 functions have been removed.
1006 * Image rendering in 'gschem' uses cairo instead of GDK.
1008 * Numerous build system changes:
1010 - gEDA/gaf is now distributed as a single source archive, called
1011 gEDA-<version>.tar.gz.
1013 - GTK+ 2.10 or newer and Guile 1.8 or newer are now required.
1015 - `intltool' is no longer required.
1017 - Documentation is now installed to ${docdir} (usually
1018 ${prefix}/share/doc/gEDA).
1020 * The attribute edit dialog in `gschem' now has completion of most
1021 common attribute names.
1023 * The multi-attribute edit dialog in `gschem' now shows unpromoted
1026 * Menu items in `gschem' now have icons and properly aligned key
1027 bindings. They also support accelerator keys.
1029 * The `gschem2pcb' and `PCBboard' netlist backends have been removed.
1030 It is recommended to use `gsch2pcb' instead.
1032 * Check for and reject non-footprint PCB files in 'gsch2pcb'.
1034 * Removed unimplemented "File->Open" feature in 'gattrib'.
1036 * Added --disable-gattrib command line flag to ./configure to disable the
1037 building of 'gattrib'. This is useful if you are building against
1038 gtk+ 2.17.x which breaks 'gattrib'.
1040 * 'gnetlist' does not recommend drc2 every time it runs. The drc2
1041 backend is only useful in certain circumstances.
1043 * Assign shortcuts "vd" and "vl" for changing between color schemes
1046 * Fix problem with attached net attribute not being honored in 'gnetlist'.
1048 * Focus the "save" button in the close confirmation dialog in 'gattrib' and
1051 * Accept empty attributes in the src file in 'tragesym'.
1053 * Cleaned up the slot dialog box in 'gschem'.
1055 * Changed the grip size rendering in 'gschem' to be reasonably sized when
1058 * Introduction of a new attribute searching API in 'libgeda' and 'gschem'.
1060 * Improvements and cleanup to the 'gnetlist' and 'gsymcheck' test suites.
1062 * Fixed the following bugs:
1064 - 1758673: Combine source tarballs
1065 - 2058707: gschem, gattrib: Dangerous button focus in "Save changes"
1067 - 2430369: gschem: Deselect invisible attribs with their parent object.
1068 - 2449060: Graphic state left inconsistent cancelling from net mode
1069 - 2460301: libgeda: Make o_complex_promote_attribs() respect keep_invisible
1070 and libgeda: Make o_complex_copy() actually copy.
1071 - 2455061: Gnetlist output changed, and tests fail with recent GLib
1072 - 2655088: autogen.sh: Make sure to exit if autopoint fails.
1073 - 2823703: gnet-pcbpins.scm: Quote pins names if they contain comma
1074 or close parenthesis.
1075 - 2823755: gnetlist: Fix DEBUG builds.
1076 - 2836109: build-sys: Add check for groff html driver.
1078 * Spanish translation were updated.
1080 * Lots of code, infrastructure, and doxygen documentation cleanup and
1083 Notable changes in gEDA/gaf 1.5.2
1084 =================================
1086 * `gschem' now uses Cairo for all rendering. This allows for
1087 everything to be rendered anti-aliased.
1089 * `gschem' now uses a mesh grid instead of dots by default.
1091 * Net junction cues in `gschem' are drawn smaller now.
1093 * Copy and paste now works between different `gschem' instances (using
1096 * Recent files are no longer opened in a new `gschem' window.
1098 * Major, *backwards-incompatible* changes to color handling in
1099 `libgeda' and `gschem'.
1101 - All colors are specified using hexadecimal `#RRGGBB' or
1104 - The print and display color maps are now separate.
1106 - A new Scheme syntax is used to inspect and modify color maps.
1108 - If you wish to use a light background in `gschem', add the line:
1110 (load (build-path geda-rc-path "gschem-colormap-lightbg"))
1112 to your personal or project gschemrc file.
1114 * Attributes of embedded objects are now shown in the right color.
1116 * Bus pins are now supported by `gschem' and `libgeda', but are *not*
1117 properly supported by the netlister. The pin type can be modified
1118 by selecting a pin, then right-clicking it and selecting `Edit pin
1121 * All of the symbols were modified to use overbar markup tags ("like
1122 \_this\_") instead of separate lines.
1124 * Log files are now saved to $HOME/.gEDA/logs rather than being
1125 dropped in the current directory.
1127 Notable changes in gEDA/gaf 1.5.1
1128 =================================
1130 * GTK+ version 2.8.x or later is now required.
1132 * The selection behaviour in `gschem' was changed.
1134 - Lines, unfilled boxes, unfilled circles, arcs, pins, nets, and
1135 buses must be selected by clicking on the drawn path itself.
1137 - Filled boxes, circles, text, and components, may be selected by
1138 clicking anywhere in the bounding box.
1140 - The default mouse click distance required to select an element was
1141 increased to 10 pixels.
1143 - Double-clicking on a net segment selects all connected net
1146 * The percentage step in or out while zooming the display in `gschem'
1147 is now configurable with the `zoom-gain' gschemrc parameter. The
1148 default value is 20%.
1150 * The size of steps when panning with the mouse wheel or with a
1151 trackpad in `gschem' is now adjustable with the `scrollpan-steps'
1152 gschemrc parameter. The default setting scrolls in steps of 1/8 of
1155 * A number of improvements were made to the `gschem' component
1158 - The dialog now shows a table of top-level attributes in the
1161 - It is now possible to expand/collapse a library by clicking
1162 anywhere on its row.
1164 * Changes to fill- and line-styles in `gschem' can now be undone.
1166 * Arcs can now be adjusted in `gschem' using an arc angle dialog. It
1167 can be accessed by selecting an arc and selecting Edit->Edit.
1169 * It is now possible to rotate objects while placing them in `gschem'.
1171 * Support for arbitrary filled and unfilled paths, using a subset of
1172 the SVG path syntax. For more information, please see the file
1173 format specification.
1174 <http://wiki.geda-project.org/geda:file_format_spec>
1176 - `gschem' does not yet provide a GUI for creating or editing path
1177 elements. However, it does support rendering them. They can also
1180 - Some of the symbols in the component library were updated to use
1183 * A Scheme evaluation prompt was added to `gschem'. It can be
1184 accessed by typing `:'.
1186 * Improved algorithm for drawing hatched fills both on screen and in
1189 * Color selection dialogs and menus in `gschem' now show the actual
1190 color as well as the description. Color names are now translatable.
1192 * `gattrib' now prompts to save changes.
1194 * All of the unimplemented menu items and pages in `gattrib' were
1197 * The `always-promote-attributes' gafrc parameter now takes a list of
1198 strings as an argument. The space-delimited string syntax is
1201 * Some optimisations were made to the `gnetlist' connection traversal
1202 algorithm to speed up netlisting large designs.
1204 * A new netlist backend was added to support Liquid PCB.
1205 <http://www.liquidpcb.org/>
1207 * The `bom2' netlist backend now generates a `qty' column.
1209 * Several improvements and fixes were made to the `systemc' backend.
1211 * The `--gnetlist-arg' option to gsch2pcb can now be used to pass
1212 extra `gnetlist' arguments.
1214 * `gsch2pcb' now emits files with the latest `pcb' file format.
1216 * The `gxyrs' pick-and-place tool was added.
1218 Notable changes in gEDA/gaf 1.5.0
1219 =================================
1221 * Magnetic net mode in `gschem'. Magnetic mode lets you draw nets and
1222 automatically connect to valid end points (such as pins and other
1223 nets). The `magnetic-net-mode' gschemrc parameter can be used to
1224 enable/disable this feature.
1226 * Rotating a component while moving it in `gschem' now rotates around
1227 the current mouse location.
1229 * The `verilog' and `vhdl' backends now work again.
1231 * Embedded components can now be mirrored.
1233 * The `pads' netlist backend now uses CRLF line endings.
1238 Release notes for older versions of gEDA/gaf are available on the gEDA
1239 website. <http://www.gpleda.org/news/index.html>