1 ==============================================
2 'gschem and Friends' Electronic Design Suite
3 ==============================================
5 Copyright (C) 1998-2014 gEDA Developers
7 This file documents important user-visible changes in gEDA/gaf. For
8 more information, please consult the `ChangeLog' file.
10 Notable changes in gEDA/gaf 1.9.1
11 =================================
13 * Unbalanced overbar markers are now rendered correctly.
15 * Most tools now no longer set the GEDADATA or GEDADATARC environment
16 variables (they still obey them though).
18 * `gschem' now provides a path drawing tool, accessed using <A H> or
19 the "Add Path" menu item.
21 - Add a cusp node by left-clicking.
23 - Add a Bezier curve node by left-dragging from the node point to
26 - End the path by clicking on the same node point twice, or clicking
27 on the start node to close the path.
29 * On desktops that reparent menu bars (e.g. Ubuntu Unity) it is once
30 again possible to paste the clipboard using the menus.
32 * A number of `gschem' editing behaviour changes were made:
34 - Double-clicking on an entry in the "In Use" tab of the component
35 selector now behaves the same way as double-clicking in the
38 - When new attributes are attached to a net, they are placed at a 50
41 - The text color is now used as the default color for `pinlabel='
44 - Pin attributes are no longer automatically replaced when rotating
47 - It is possible to edit a text object even when other non-text
50 - Control grips are now always drawn at the same on-screen size.
52 * The multi-attribute editor dialog in `gschem' has been extended to
55 - It now supports editing attributes of multiple selected
56 objects. These are aggregated into the dialog's attribute list.
58 Multiple attributes with the same name attached to any given
59 object are still shown in separate rows, but identically named
60 attributes from multiple selected objects will share a row. If a
61 row has differing values between objects, its value shows the text
62 "<various>" in a muted colour.
64 - Where an attribute is present in some, but not all selected
65 objects its name in the list is shown in red. A new popup menu
66 option allows copying such attributes to all selected objects.
68 - If no complex, placeholder, pin, net or bus objects are selected,
69 the dialog now falls back to editing any selected attribute text.
71 This allows editing of unattached or floating attributes in
72 symbols, or any attributes seleccted independantly of their owning
73 object. In this fallback mode, all attributes with the same name
74 shown in separate rows, and the "add attribute" functionality is
77 * `gschem' has new icons for many editing commands.
79 * Several bugs were fixed in `gnetlist':
81 - Invalid attributes are ignored.
83 - Correct detection of graphical symbols.
85 - Components with no `refdes=' attribute are reported.
87 - Crash fixes for `drc' and `switcap' backends.
89 * `gaf export' now accepts a `--scale' option.
91 * The `--size', `--margins' and `--align' options to `gaf export' can
92 now accept their multiple arguments separated with a space ` ', a
93 colon `:' or a semicolon `;'.
95 * `gaf config' now handles the `-p' option properly.
97 * `gnetlist', `gsymcheck' and `gaf' now output internationalised
100 * New Scheme procedures were added. Please see the "geda-scheme" info
101 manual for more details.
103 - The (gschem action) module contains procedures for working with
104 user editing actions (i.e. commands accessed via the menus or
107 - Two new hooks were added: `bind-keys-hook' is called whenever
108 keymap bindings are changed; `action-property-hook' is called when
109 action properties are changed.
112 Notable changes in gEDA/gaf 1.9.0
113 =================================
115 * A new schematic renderer library, `libgedacairo' has been added, and
116 all tools have been updated to use it. Related changes:
118 - The following configuration functions have been removed:
120 output-capstyle paper-sizes
121 output-color postscript-prolog
122 output-orientation print-command
123 output-type setpagedevice-orientation
124 paper-size setpagedevice-pagesize
126 - The following `gschem' configuration items have been added:
128 print-paper print-color
131 - `gschem' now generates PDF files rather than PostScript or EPS
134 - `gschem' now uses a standard GTK print dialog (with printer
135 selection, print preview, etc.)
137 * A new `gaf' command-line utility has been added. It provides a
138 number of subcommands:
140 - `gaf export' can be used to convert schematic files to PNG, SVG,
141 PDF, PS and EPS, with detailed control of paper size and margins.
142 It supports multi-page PDF and PS output.
144 - `gaf config' can be used to manipulate the project, user, and
145 system configuration stores (see below).
147 - `gaf shell' provides a Scheme REPL for batch manipulation of
148 schematic and symbol files.
150 * New project, user and system configuration stores have been added,
151 using a format similar to .desktop files. They can be manipulated
152 using the `gaf config' tool. Configuration parameters for most
153 tools will be converted to use this mechanism in future releases.
155 * The changes to highlighting of dangling net ends in gEDA/gaf 1.8.0
156 have been reverted. All dangling ends are once again flagged with a
157 brightly-coloured square.
159 * When editing a component with the `gschem' multi-attribute editor,
160 the dialog will now show the symbol name in its title.
162 * When using "Down Schematic" command in `gschem', an error message
163 will now be displayed if the subcircuit schematic cannot be loaded.
165 * Printing now uses a light background color map by default.
167 * Objects can now have the line end "cap style" adjusted in `gschem'.
169 * `gnetlist' now accepts the `-i' and `-g' command-line arguments
170 together. If you specify both `-i' and `-g', `gnetlist' will enter
171 the Scheme REPL after loading the requested backend but before
174 * `gattrib' now has translations for the user interface and various
177 Notable changes in gEDA/gaf 1.8.2
178 =================================
182 * [994361] Fixed a libgeda crash bug involving nets inside symbols.
184 * [1226246] Fixed a gnetlist data corruption bug when using refdes
185 containing the string "POWER".
187 * Updates to build system to allow compilation from git on systems
188 with Automake >= 1.13.0.
190 Notable changes in gEDA/gaf 1.8.1
191 =================================
193 Bugfix release with correct dynamic version information for libgeda.
195 Notable changes in gEDA/gaf 1.8.0
196 =================================
198 * `gschem' and `gnetlist' have updated and rewritten user guides.
200 * All tools now give more informative error messages if they are
201 unable to load schematic or symbol files due to syntax errors.
203 * All tools now correctly handle schematic and symbol files with `\r',
204 `\n', or `\r\n` line endings, or a mixture.
206 * Unconnected pin ends and net ends are now all drawn with the same
207 box marker in `gschem' and printed output.
209 * Net segments with at least two connections (including indirect
210 connections via `netname=' attributes) are now drawn with arrowheads
211 rather than box markers on dangling ends in `gschem' and printed
214 Notable changes in gEDA/gaf 1.7.2
215 =================================
217 * `geda-gaf' now requires GTK+ 2.16.0 or later.
219 * A greatly expanded Scheme API has been added to gEDA/gaf for use by
220 extension authors. See the `geda-scheme' Info manual for more
221 details. Existing extensions may need to be modified to load the
222 `(geda deprecated)' or `(gschem deprecated)' modules.
224 * The `component-library-search' function for `gafrc' files now skips
225 directories without symbols, and searches for libraries recursively.
227 * `gschem' keybinding improvements:
229 - Keybindings are now unaffected by Caps Lock.
231 - Keystrokes are displayed using the same characters as on keycaps
232 (e.g. `:' instead of `colon').
234 - Keystrokes may use extended modifiers (Super, Hyper and Meta).
236 - Key bindings can be modified in any rc file or interactively using
237 the `global-set-key' function. See notes in `system-gschemrc' for
240 * `gschem' now displays help files and component documentation on all
241 platforms, including Windows. The `locate' tool is no longer used
242 to search for component documentation files.
244 * The `schdiff' tool for generating visual diffs of schematics and
245 symbols has been added. It can be used with most version control
246 systems. See `man schdiff' for more details.
248 * The `bom' and `bom2' backends to `gnetlist' now give error messages
249 if no attribute file can be found. The `-O attrib_file=FILE' and
250 `-O attribs=ATTRIB,ATTRIB...' options have also been added.
252 * A new `ewnet' backend has been added to `gnetlist'. This outputs
253 netlists for use with the National Instruments ULTIboard layout
256 * The `verilog' backend to `gnetlist' now supports concatenated net
257 naming like "{a,b,c[3:0]}".
259 * `gsch2pcb' no longer supports the `m4_command' parameter in project
262 * The `--m4-pcbdir' and `--m4-file' arguments to `gsch2pcb' now work
265 * `gsymfix.pl' has been renamed to `gsymfix'.
267 * Man pages are now available for all programs installed as part of
270 * The undocumented programs `gnet_hier_verilog', `gsymupdate', `gschupdate'
271 and `sch2eaglepos.sh' are no longer installed to ${prefix}/bin.
273 Notable changes in gEDA/gaf 1.7.1
274 =================================
276 * gEDA is now compatible with Guile 2.0.
278 * gEDA/gaf applications no longer complain when trying to load an rc
279 file twice, or when an rc file doesn't exist.
281 * `gschem' allows objects to be moved by dragging without having to
284 * `gschem' now supports keybindings with more than one modifier key,
285 and "Deselect" is bound to <Control Shift A> by default.
287 * `gnetlist' correctly handles multiple renames of the same net. This
288 resolves some long-standing bugs with multipage schematics.
290 * The `spice-sdb' backend for `gnetlist' now has built-in support for
291 `SUBCKT_NMOS' and `SUBCKT_PMOS' devices.
293 * A new `makedepend' backend has been added to `gnetlist'. It
294 generates Makefile code for SPICE simulation dependencies.
296 * Visibility of embedded component attributes are now preserved by
299 * `gsch2pcb' correctly handles footprint names with hyphens (`-').
301 * `gsch2pcb' project files support quoting and escaping in
302 `schematics' entries.
304 * Considerable enhancements to Unicode support when printing
305 schematics or exporting PostScript.
307 Notable changes in gEDA/gaf 1.7.0
308 =================================
310 * All gEDA/gaf applications now handle configuration files much more
311 strictly, and provide much more useful feedback when an error
314 * Several changes to `gschem' command-line options:
316 - The `-t' option is no longer supported.
318 - Several command-line options now support a long-form alternative.
320 - The `-s' option can now be used to run multiple Scheme scripts
321 during `gschem' startup.
323 - A new `-c' option is available, which runs a Scheme expression
324 during `gschem' startup.
326 - A new `-L' option is available, which adds a directory to the
329 - A new `-V' or `--version' option is available, which displays
332 * `gschem' now provides a "Select All" function, which is bound to
333 <Control a> by default, along with a corresponding "Deselect"
336 * In the `gschem' "Add component" dialog, filtering the component
337 library will expand matching libraries. If the filter is cancelled,
338 all libraries are collapsed. Components can now be selected by
339 double-clicking on them in the component list.
341 * The `gschem' "Edit Text Properties" dialog now has an easier to use
344 * Printed text size now better matches on-screen text size in
347 * Special characters, including commas, are now escaped or quoted
348 appropriately in `gattrib' CSV output.
350 * Several changes to `gnetlist' command-line options:
352 - Four command-line options specific to the `spice-sdb' backend have
353 been removed. They can be replaced with `-O <option>' according
354 to the following table:
356 -e, --embedd -O embedd_mode
357 -I, --include -O include_mode
358 -n, --nomunge -O nomunge_mode
359 -s, --sort -O sort_mode
361 - The list of available backends is now obtained using a new
362 `--list-backends' option. `-g help' no longer outputs a list of
365 - A new `-L' option is available, which adds a directory to the
368 - A new `-V' or `--version' option is available, which displays
371 - When run with invalid command-line arguments, `gnetlist' now exits
372 with non-zero exit status.
374 * Several `gnetlist' backends have now been fixed so that it should no
375 longer be necessary to set an expanded Guile stack in gEDA's config
378 * The `spice-sdb' backend for `gnetlist' now supports probes
379 (`TESTPOINT' devices).
381 * The undocumented `mk_verilog_syms' program is no longer installed.
382 The symbols it creates are still installed to
383 `${prefix}/share/gEDA/sym/verilog'.
385 Notable changes in gEDA/gaf 1.6.2
386 =================================
388 * PNG export from `gschem' will now be cropped correctly.
390 * The `partlist' backends for `gnetlist' now handle hierarchical
393 * On Windows, `gschem' and `gattrib' will no longer launch with a
394 command window visible.
396 * `gnetlist-arg' is no longer valid in `gsch2pcb' project files.
398 Several other bugs were fixed, including a major crash bug in
401 Notable changes in gEDA/gaf 1.6.1
402 =================================
404 * Added accelerator mnemonics for root menus in gschem
406 * Lots of updated and new language translations in libgeda, gschem, and
407 gattrib. (Courtesy of language translators and Launchpad)
409 * Updated the shipped documentation from the official gEDA wiki
411 * Fixed the following bugs:
413 - 2876373: Fix rendering with zoomed out dashed lines
414 - 2901183: Fix for some manpage issues
415 - 2904715: Don't update page connectivity from o_place_rotate()
416 - 2949232: Fix slot editing routines to not edit inherited attributes
417 - Cherry picked some other bug fixes from master that should be in
420 Notable changes in gEDA/gaf 1.6.0
421 =================================
423 * Fixed the GtkItemEntry code inside of gattrib code so that it builds
426 * In gschem, rubberband pin to pin connections by adding nets.
428 * Cleanup of the slot handling code in libgeda.
430 * Fixes/updates to the MinGW port.
432 * Updated the shipped documentation from the online wiki.
434 Notable changes in gEDA/gaf 1.5.3/1.5.4
435 =======================================
437 * NOTE: gEDA/gaf 1.5.3 was released with some critical bugs, so
438 it was withdrawn before it was widely distributed.
440 * Text rendering using native system fonts:
442 - The various programs in gEDA/gaf no longer uses its own built-in
445 - Native system fonts are used for rendering, giving support for a
446 wider range of symbols, and better looking schematics.
448 * Always use PostScript fonts in gschem's PostScript output. The
449 "output-text", "text-output" and "output-vector-threshold" config
450 functions have been removed.
452 * Image rendering in 'gschem' uses cairo instead of GDK.
454 * Numerous build system changes:
456 - gEDA/gaf is now distributed as a single source archive, called
457 gEDA-<version>.tar.gz.
459 - GTK+ 2.10 or newer and Guile 1.8 or newer are now required.
461 - `intltool' is no longer required.
463 - Documentation is now installed to ${docdir} (usually
464 ${prefix}/share/doc/gEDA).
466 * The attribute edit dialog in `gschem' now has completion of most
467 common attribute names.
469 * The multi-attribute edit dialog in `gschem' now shows unpromoted
472 * Menu items in `gschem' now have icons and properly aligned key
473 bindings. They also support accelerator keys.
475 * The `gschem2pcb' and `PCBboard' netlist backends have been removed.
476 It is recommended to use `gsch2pcb' instead.
478 * Check for and reject non-footprint PCB files in 'gsch2pcb'.
480 * Removed unimplemented "File->Open" feature in 'gattrib'.
482 * Added --disable-gattrib command line flag to ./configure to disable the
483 building of 'gattrib'. This is useful if you are building against
484 gtk+ 2.17.x which breaks 'gattrib'.
486 * 'gnetlist' does not recommend drc2 every time it runs. The drc2
487 backend is only useful in certain circumstances.
489 * Assign shortcuts "vd" and "vl" for changing between color schemes
492 * Fix problem with attached net attribute not being honored in 'gnetlist'.
494 * Focus the "save" button in the close confirmation dialog in 'gattrib' and
497 * Accept empty attributes in the src file in 'tragesym'.
499 * Cleaned up the slot dialog box in 'gschem'.
501 * Changed the grip size rendering in 'gschem' to be reasonably sized when
504 * Introduction of a new attribute searching API in 'libgeda' and 'gschem'.
506 * Improvements and cleanup to the 'gnetlist' and 'gsymcheck' test suites.
508 * Fixed the following bugs:
510 - 1758673: Combine source tarballs
511 - 2058707: gschem, gattrib: Dangerous button focus in "Save changes"
513 - 2430369: gschem: Deselect invisible attribs with their parent object.
514 - 2449060: Graphic state left inconsistent cancelling from net mode
515 - 2460301: libgeda: Make o_complex_promote_attribs() respect keep_invisible
516 and libgeda: Make o_complex_copy() actually copy.
517 - 2455061: Gnetlist output changed, and tests fail with recent GLib
518 - 2655088: autogen.sh: Make sure to exit if autopoint fails.
519 - 2823703: gnet-pcbpins.scm: Quote pins names if they contain comma
520 or close parenthesis.
521 - 2823755: gnetlist: Fix DEBUG builds.
522 - 2836109: build-sys: Add check for groff html driver.
524 * Spanish translation were updated.
526 * Lots of code, infrastructure, and doxygen documentation cleanup and
529 Notable changes in gEDA/gaf 1.5.2
530 =================================
532 * `gschem' now uses Cairo for all rendering. This allows for
533 everything to be rendered anti-aliased.
535 * `gschem' now uses a mesh grid instead of dots by default.
537 * Net junction cues in `gschem' are drawn smaller now.
539 * Copy and paste now works between different `gschem' instances (using
542 * Recent files are no longer opened in a new `gschem' window.
544 * Major, *backwards-incompatible* changes to color handling in
545 `libgeda' and `gschem'.
547 - All colors are specified using hexadecimal `#RRGGBB' or
550 - The print and display color maps are now separate.
552 - A new Scheme syntax is used to inspect and modify color maps.
554 - If you wish to use a light background in `gschem', add the line:
556 (load (build-path geda-rc-path "gschem-colormap-lightbg"))
558 to your personal or project gschemrc file.
560 * Attributes of embedded objects are now shown in the right color.
562 * Bus pins are now supported by `gschem' and `libgeda', but are *not*
563 properly supported by the netlister. The pin type can be modified
564 by selecting a pin, then right-clicking it and selecting `Edit pin
567 * All of the symbols were modified to use overbar markup tags ("like
568 \_this\_") instead of separate lines.
570 * Log files are now saved to $HOME/.gEDA/logs rather than being
571 dropped in the current directory.
573 Notable changes in gEDA/gaf 1.5.1
574 =================================
576 * GTK+ version 2.8.x or later is now required.
578 * The selection behaviour in `gschem' was changed.
580 - Lines, unfilled boxes, unfilled circles, arcs, pins, nets, and
581 buses must be selected by clicking on the drawn path itself.
583 - Filled boxes, circles, text, and components, may be selected by
584 clicking anywhere in the bounding box.
586 - The default mouse click distance required to select an element was
587 increased to 10 pixels.
589 - Double-clicking on a net segment selects all connected net
592 * The percentage step in or out while zooming the display in `gschem'
593 is now configurable with the `zoom-gain' gschemrc parameter. The
594 default value is 20%.
596 * The size of steps when panning with the mouse wheel or with a
597 trackpad in `gschem' is now adjustable with the `scrollpan-steps'
598 gschemrc parameter. The default setting scrolls in steps of 1/8 of
601 * A number of improvements were made to the `gschem' component
604 - The dialog now shows a table of top-level attributes in the
607 - It is now possible to expand/collapse a library by clicking
610 * Changes to fill- and line-styles in `gschem' can now be undone.
612 * Arcs can now be adjusted in `gschem' using an arc angle dialog. It
613 can be accessed by selecting an arc and selecting Edit->Edit.
615 * It is now possible to rotate objects while placing them in `gschem'.
617 * Support for arbitrary filled and unfilled paths, using a subset of
618 the SVG path syntax. For more information, please see the file
619 format specification.
620 <http://wiki.geda-project.org/geda:file_format_spec>
622 - `gschem' does not yet provide a GUI for creating or editing path
623 elements. However, it does support rendering them. They can also
626 - Some of the symbols in the component library were updated to use
629 * A Scheme evaluation prompt was added to `gschem'. It can be
630 accessed by typing `:'.
632 * Improved algorithm for drawing hatched fills both on screen and in
635 * Color selection dialogs and menus in `gschem' now show the actual
636 color as well as the description. Color names are now translatable.
638 * `gattrib' now prompts to save changes.
640 * All of the unimplemented menu items and pages in `gattrib' were
643 * The `always-promote-attributes' gafrc parameter now takes a list of
644 strings as an argument. The space-delimited string syntax is
647 * Some optimisations were made to the `gnetlist' connection traversal
648 algorithm to speed up netlisting large designs.
650 * A new netlist backend was added to support Liquid PCB.
651 <http://www.liquidpcb.org/>
653 * The `bom2' netlist backend now generates a `qty' column.
655 * Several improvements and fixes were made to the `systemc' backend.
657 * The `--gnetlist-arg' option to gsch2pcb can now be used to pass
658 extra `gnetlist' arguments.
660 * `gsch2pcb' now emits files with the latest `pcb' file format.
662 * The `gxyrs' pick-and-place tool was added.
664 Notable changes in gEDA/gaf 1.5.0
665 =================================
667 * Magnetic net mode in `gschem'. Magnetic mode lets you draw nets and
668 automatically connect to valid end points (such as pins and other
669 nets). The `magnetic-net-mode' gschemrc parameter can be used to
670 enable/disable this feature.
672 * Rotating a component while moving it in `gschem' now rotates around
673 the current mouse location.
675 * The `verilog' and `vhdl' backends now work again.
677 * Embedded components can now be mirrored.
679 * The `pads' netlist backend now uses CRLF line endings.
684 Release notes for older versions of gEDA/gaf are available on the gEDA
685 website. <http://www.gpleda.org/news/index.html>