1 ==============================================
2 'gschem and Friends' Electronic Design Suite
3 ==============================================
5 Copyright (C) 1998-2013 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 * `gschem' has new icons for many editing commands.
54 * `gaf export' now accepts a `--scale' option.
56 * The `--size', `--margins' and `--align' options to `gaf export' can
57 now accept their multiple arguments separated with a space ` ', a
58 colon `:' or a semicolon `;'.
60 * `gaf config' now handles the -p option properly.
62 * `gnetlist', `gsymcheck' and `gaf' now output internationalised
65 * New Scheme procedures were added. Please see the "geda-scheme" info
66 manual for more details.
68 - The (gschem action) module contains procedures for working with
69 user editing actions (i.e. commands accessed via the menus or
72 - Two new hooks were added: `bind-keys-hook' is called whenever
73 keymap bindings are changed; `action-property-hook' is called when
74 action properties are changed.
76 * The multi-attribute editor dialog has been extended to support more cases:
78 - It now supports editing attributes of multiple selected objects. These
79 are aggregated into the dialog's attribute list.
81 Multiple attributes with the same name attached to any given object are
82 still shown in separate rows, but identically named attributes from
83 multiple selected objects will share a row. If a row has differing values
84 between objects, its value shows the text "<various>" in grey.
86 - Where an attribute is present in some, but not all selected objects its
87 name in the list is shown in red. A new popup menu option allows copying
88 such attributes to all selected objects.
90 - If no complex / placeholder / pin / net / bus objects are selected, the
91 dialog now falls back to editing any selected attribute text.
93 This allows editing of unattached or floating attributes in symbols, or
94 any attributes seleccted independantly of their owning object. In this
95 fallback mode, all attributes with the same name shown in separate rows,
96 and the "add attribute" functionality is disabled.
99 Notable changes in gEDA/gaf 1.9.0
100 =================================
102 * A new schematic renderer library, `libgedacairo' has been added, and
103 all tools have been updated to use it. Related changes:
105 - The following configuration functions have been removed:
107 output-capstyle paper-sizes
108 output-color postscript-prolog
109 output-orientation print-command
110 output-type setpagedevice-orientation
111 paper-size setpagedevice-pagesize
113 - The following `gschem' configuration items have been added:
115 print-paper print-color
118 - `gschem' now generates PDF files rather than PostScript or EPS
121 - `gschem' now uses a standard GTK print dialog (with printer
122 selection, print preview, etc.)
124 * A new `gaf' command-line utility has been added. It provides a
125 number of subcommands:
127 - `gaf export' can be used to convert schematic files to PNG, SVG,
128 PDF, PS and EPS, with detailed control of paper size and margins.
129 It supports multi-page PDF and PS output.
131 - `gaf config' can be used to manipulate the project, user, and
132 system configuration stores (see below).
134 - `gaf shell' provides a Scheme REPL for batch manipulation of
135 schematic and symbol files.
137 * New project, user and system configuration stores have been added,
138 using a format similar to .desktop files. They can be manipulated
139 using the `gaf config' tool. Configuration parameters for most
140 tools will be converted to use this mechanism in future releases.
142 * The changes to highlighting of dangling net ends in gEDA/gaf 1.8.0
143 have been reverted. All dangling ends are once again flagged with a
144 brightly-coloured square.
146 * When editing a component with the `gschem' multi-attribute editor,
147 the dialog will now show the symbol name in its title.
149 * When using "Down Schematic" command in `gschem', an error message
150 will now be displayed if the subcircuit schematic cannot be loaded.
152 * Printing now uses a light background color map by default.
154 * Objects can now have the line end "cap style" adjusted in `gschem'.
156 * `gnetlist' now accepts the `-i' and `-g' command-line arguments
157 together. If you specify both `-i' and `-g', `gnetlist' will enter
158 the Scheme REPL after loading the requested backend but before
161 * `gattrib' now has translations for the user interface and various
164 Notable changes in gEDA/gaf 1.8.2
165 =================================
169 * [994361] Fixed a libgeda crash bug involving nets inside symbols.
171 * [1226246] Fixed a gnetlist data corruption bug when using refdes
172 containing the string "POWER".
174 * Updates to build system to allow compilation from git on systems
175 with Automake >= 1.13.0.
177 Notable changes in gEDA/gaf 1.8.1
178 =================================
180 Bugfix release with correct dynamic version information for libgeda.
182 Notable changes in gEDA/gaf 1.8.0
183 =================================
185 * `gschem' and `gnetlist' have updated and rewritten user guides.
187 * All tools now give more informative error messages if they are
188 unable to load schematic or symbol files due to syntax errors.
190 * All tools now correctly handle schematic and symbol files with `\r',
191 `\n', or `\r\n` line endings, or a mixture.
193 * Unconnected pin ends and net ends are now all drawn with the same
194 box marker in `gschem' and printed output.
196 * Net segments with at least two connections (including indirect
197 connections via `netname=' attributes) are now drawn with arrowheads
198 rather than box markers on dangling ends in `gschem' and printed
201 Notable changes in gEDA/gaf 1.7.2
202 =================================
204 * `geda-gaf' now requires GTK+ 2.16.0 or later.
206 * A greatly expanded Scheme API has been added to gEDA/gaf for use by
207 extension authors. See the `geda-scheme' Info manual for more
208 details. Existing extensions may need to be modified to load the
209 `(geda deprecated)' or `(gschem deprecated)' modules.
211 * The `component-library-search' function for `gafrc' files now skips
212 directories without symbols, and searches for libraries recursively.
214 * `gschem' keybinding improvements:
216 - Keybindings are now unaffected by Caps Lock.
218 - Keystrokes are displayed using the same characters as on keycaps
219 (e.g. `:' instead of `colon').
221 - Keystrokes may use extended modifiers (Super, Hyper and Meta).
223 - Key bindings can be modified in any rc file or interactively using
224 the `global-set-key' function. See notes in `system-gschemrc' for
227 * `gschem' now displays help files and component documentation on all
228 platforms, including Windows. The `locate' tool is no longer used
229 to search for component documentation files.
231 * The `schdiff' tool for generating visual diffs of schematics and
232 symbols has been added. It can be used with most version control
233 systems. See `man schdiff' for more details.
235 * The `bom' and `bom2' backends to `gnetlist' now give error messages
236 if no attribute file can be found. The `-O attrib_file=FILE' and
237 `-O attribs=ATTRIB,ATTRIB...' options have also been added.
239 * A new `ewnet' backend has been added to `gnetlist'. This outputs
240 netlists for use with the National Instruments ULTIboard layout
243 * The `verilog' backend to `gnetlist' now supports concatenated net
244 naming like "{a,b,c[3:0]}".
246 * `gsch2pcb' no longer supports the `m4_command' parameter in project
249 * The `--m4-pcbdir' and `--m4-file' arguments to `gsch2pcb' now work
252 * `gsymfix.pl' has been renamed to `gsymfix'.
254 * Man pages are now available for all programs installed as part of
257 * The undocumented programs `gnet_hier_verilog', `gsymupdate', `gschupdate'
258 and `sch2eaglepos.sh' are no longer installed to ${prefix}/bin.
260 Notable changes in gEDA/gaf 1.7.1
261 =================================
263 * gEDA is now compatible with Guile 2.0.
265 * gEDA/gaf applications no longer complain when trying to load an rc
266 file twice, or when an rc file doesn't exist.
268 * `gschem' allows objects to be moved by dragging without having to
271 * `gschem' now supports keybindings with more than one modifier key,
272 and "Deselect" is bound to <Control Shift A> by default.
274 * `gnetlist' correctly handles multiple renames of the same net. This
275 resolves some long-standing bugs with multipage schematics.
277 * The `spice-sdb' backend for `gnetlist' now has built-in support for
278 `SUBCKT_NMOS' and `SUBCKT_PMOS' devices.
280 * A new `makedepend' backend has been added to `gnetlist'. It
281 generates Makefile code for SPICE simulation dependencies.
283 * Visibility of embedded component attributes are now preserved by
286 * `gsch2pcb' correctly handles footprint names with hyphens (`-').
288 * `gsch2pcb' project files support quoting and escaping in
289 `schematics' entries.
291 * Considerable enhancements to Unicode support when printing
292 schematics or exporting PostScript.
294 Notable changes in gEDA/gaf 1.7.0
295 =================================
297 * All gEDA/gaf applications now handle configuration files much more
298 strictly, and provide much more useful feedback when an error
301 * Several changes to `gschem' command-line options:
303 - The `-t' option is no longer supported.
305 - Several command-line options now support a long-form alternative.
307 - The `-s' option can now be used to run multiple Scheme scripts
308 during `gschem' startup.
310 - A new `-c' option is available, which runs a Scheme expression
311 during `gschem' startup.
313 - A new `-L' option is available, which adds a directory to the
316 - A new `-V' or `--version' option is available, which displays
319 * `gschem' now provides a "Select All" function, which is bound to
320 <Control a> by default, along with a corresponding "Deselect"
323 * In the `gschem' "Add component" dialog, filtering the component
324 library will expand matching libraries. If the filter is cancelled,
325 all libraries are collapsed. Components can now be selected by
326 double-clicking on them in the component list.
328 * The `gschem' "Edit Text Properties" dialog now has an easier to use
331 * Printed text size now better matches on-screen text size in
334 * Special characters, including commas, are now escaped or quoted
335 appropriately in `gattrib' CSV output.
337 * Several changes to `gnetlist' command-line options:
339 - Four command-line options specific to the `spice-sdb' backend have
340 been removed. They can be replaced with `-O <option>' according
341 to the following table:
343 -e, --embedd -O embedd_mode
344 -I, --include -O include_mode
345 -n, --nomunge -O nomunge_mode
346 -s, --sort -O sort_mode
348 - The list of available backends is now obtained using a new
349 `--list-backends' option. `-g help' no longer outputs a list of
352 - A new `-L' option is available, which adds a directory to the
355 - A new `-V' or `--version' option is available, which displays
358 - When run with invalid command-line arguments, `gnetlist' now exits
359 with non-zero exit status.
361 * Several `gnetlist' backends have now been fixed so that it should no
362 longer be necessary to set an expanded Guile stack in gEDA's config
365 * The `spice-sdb' backend for `gnetlist' now supports probes
366 (`TESTPOINT' devices).
368 * The undocumented `mk_verilog_syms' program is no longer installed.
369 The symbols it creates are still installed to
370 `${prefix}/share/gEDA/sym/verilog'.
372 Notable changes in gEDA/gaf 1.6.2
373 =================================
375 * PNG export from `gschem' will now be cropped correctly.
377 * The `partlist' backends for `gnetlist' now handle hierarchical
380 * On Windows, `gschem' and `gattrib' will no longer launch with a
381 command window visible.
383 * `gnetlist-arg' is no longer valid in `gsch2pcb' project files.
385 Several other bugs were fixed, including a major crash bug in
388 Notable changes in gEDA/gaf 1.6.1
389 =================================
391 * Added accelerator mnemonics for root menus in gschem
393 * Lots of updated and new language translations in libgeda, gschem, and
394 gattrib. (Courtesy of language translators and Launchpad)
396 * Updated the shipped documentation from the official gEDA wiki
398 * Fixed the following bugs:
400 - 2876373: Fix rendering with zoomed out dashed lines
401 - 2901183: Fix for some manpage issues
402 - 2904715: Don't update page connectivity from o_place_rotate()
403 - 2949232: Fix slot editing routines to not edit inherited attributes
404 - Cherry picked some other bug fixes from master that should be in
407 Notable changes in gEDA/gaf 1.6.0
408 =================================
410 * Fixed the GtkItemEntry code inside of gattrib code so that it builds
413 * In gschem, rubberband pin to pin connections by adding nets.
415 * Cleanup of the slot handling code in libgeda.
417 * Fixes/updates to the MinGW port.
419 * Updated the shipped documentation from the online wiki.
421 Notable changes in gEDA/gaf 1.5.3/1.5.4
422 =======================================
424 * NOTE: gEDA/gaf 1.5.3 was released with some critical bugs, so
425 it was withdrawn before it was widely distributed.
427 * Text rendering using native system fonts:
429 - The various programs in gEDA/gaf no longer uses its own built-in
432 - Native system fonts are used for rendering, giving support for a
433 wider range of symbols, and better looking schematics.
435 * Always use PostScript fonts in gschem's PostScript output. The
436 "output-text", "text-output" and "output-vector-threshold" config
437 functions have been removed.
439 * Image rendering in 'gschem' uses cairo instead of GDK.
441 * Numerous build system changes:
443 - gEDA/gaf is now distributed as a single source archive, called
444 gEDA-<version>.tar.gz.
446 - GTK+ 2.10 or newer and Guile 1.8 or newer are now required.
448 - `intltool' is no longer required.
450 - Documentation is now installed to ${docdir} (usually
451 ${prefix}/share/doc/gEDA).
453 * The attribute edit dialog in `gschem' now has completion of most
454 common attribute names.
456 * The multi-attribute edit dialog in `gschem' now shows unpromoted
459 * Menu items in `gschem' now have icons and properly aligned key
460 bindings. They also support accelerator keys.
462 * The `gschem2pcb' and `PCBboard' netlist backends have been removed.
463 It is recommended to use `gsch2pcb' instead.
465 * Check for and reject non-footprint PCB files in 'gsch2pcb'.
467 * Removed unimplemented "File->Open" feature in 'gattrib'.
469 * Added --disable-gattrib command line flag to ./configure to disable the
470 building of 'gattrib'. This is useful if you are building against
471 gtk+ 2.17.x which breaks 'gattrib'.
473 * 'gnetlist' does not recommend drc2 every time it runs. The drc2
474 backend is only useful in certain circumstances.
476 * Assign shortcuts "vd" and "vl" for changing between color schemes
479 * Fix problem with attached net attribute not being honored in 'gnetlist'.
481 * Focus the "save" button in the close confirmation dialog in 'gattrib' and
484 * Accept empty attributes in the src file in 'tragesym'.
486 * Cleaned up the slot dialog box in 'gschem'.
488 * Changed the grip size rendering in 'gschem' to be reasonably sized when
491 * Introduction of a new attribute searching API in 'libgeda' and 'gschem'.
493 * Improvements and cleanup to the 'gnetlist' and 'gsymcheck' test suites.
495 * Fixed the following bugs:
497 - 1758673: Combine source tarballs
498 - 2058707: gschem, gattrib: Dangerous button focus in "Save changes"
500 - 2430369: gschem: Deselect invisible attribs with their parent object.
501 - 2449060: Graphic state left inconsistent cancelling from net mode
502 - 2460301: libgeda: Make o_complex_promote_attribs() respect keep_invisible
503 and libgeda: Make o_complex_copy() actually copy.
504 - 2455061: Gnetlist output changed, and tests fail with recent GLib
505 - 2655088: autogen.sh: Make sure to exit if autopoint fails.
506 - 2823703: gnet-pcbpins.scm: Quote pins names if they contain comma
507 or close parenthesis.
508 - 2823755: gnetlist: Fix DEBUG builds.
509 - 2836109: build-sys: Add check for groff html driver.
511 * Spanish translation were updated.
513 * Lots of code, infrastructure, and doxygen documentation cleanup and
516 Notable changes in gEDA/gaf 1.5.2
517 =================================
519 * `gschem' now uses Cairo for all rendering. This allows for
520 everything to be rendered anti-aliased.
522 * `gschem' now uses a mesh grid instead of dots by default.
524 * Net junction cues in `gschem' are drawn smaller now.
526 * Copy and paste now works between different `gschem' instances (using
529 * Recent files are no longer opened in a new `gschem' window.
531 * Major, *backwards-incompatible* changes to color handling in
532 `libgeda' and `gschem'.
534 - All colors are specified using hexadecimal `#RRGGBB' or
537 - The print and display color maps are now separate.
539 - A new Scheme syntax is used to inspect and modify color maps.
541 - If you wish to use a light background in `gschem', add the line:
543 (load (build-path geda-rc-path "gschem-colormap-lightbg"))
545 to your personal or project gschemrc file.
547 * Attributes of embedded objects are now shown in the right color.
549 * Bus pins are now supported by `gschem' and `libgeda', but are *not*
550 properly supported by the netlister. The pin type can be modified
551 by selecting a pin, then right-clicking it and selecting `Edit pin
554 * All of the symbols were modified to use overbar markup tags ("like
555 \_this\_") instead of separate lines.
557 * Log files are now saved to $HOME/.gEDA/logs rather than being
558 dropped in the current directory.
560 Notable changes in gEDA/gaf 1.5.1
561 =================================
563 * GTK+ version 2.8.x or later is now required.
565 * The selection behaviour in `gschem' was changed.
567 - Lines, unfilled boxes, unfilled circles, arcs, pins, nets, and
568 buses must be selected by clicking on the drawn path itself.
570 - Filled boxes, circles, text, and components, may be selected by
571 clicking anywhere in the bounding box.
573 - The default mouse click distance required to select an element was
574 increased to 10 pixels.
576 - Double-clicking on a net segment selects all connected net
579 * The percentage step in or out while zooming the display in `gschem'
580 is now configurable with the `zoom-gain' gschemrc parameter. The
581 default value is 20%.
583 * The size of steps when panning with the mouse wheel or with a
584 trackpad in `gschem' is now adjustable with the `scrollpan-steps'
585 gschemrc parameter. The default setting scrolls in steps of 1/8 of
588 * A number of improvements were made to the `gschem' component
591 - The dialog now shows a table of top-level attributes in the
594 - It is now possible to expand/collapse a library by clicking
597 * Changes to fill- and line-styles in `gschem' can now be undone.
599 * Arcs can now be adjusted in `gschem' using an arc angle dialog. It
600 can be accessed by selecting an arc and selecting Edit->Edit.
602 * It is now possible to rotate objects while placing them in `gschem'.
604 * Support for arbitrary filled and unfilled paths, using a subset of
605 the SVG path syntax. For more information, please see the file
606 format specification.
607 <http://wiki.geda-project.org/geda:file_format_spec>
609 - `gschem' does not yet provide a GUI for creating or editing path
610 elements. However, it does support rendering them. They can also
613 - Some of the symbols in the component library were updated to use
616 * A Scheme evaluation prompt was added to `gschem'. It can be
617 accessed by typing `:'.
619 * Improved algorithm for drawing hatched fills both on screen and in
622 * Color selection dialogs and menus in `gschem' now show the actual
623 color as well as the description. Color names are now translatable.
625 * `gattrib' now prompts to save changes.
627 * All of the unimplemented menu items and pages in `gattrib' were
630 * The `always-promote-attributes' gafrc parameter now takes a list of
631 strings as an argument. The space-delimited string syntax is
634 * Some optimisations were made to the `gnetlist' connection traversal
635 algorithm to speed up netlisting large designs.
637 * A new netlist backend was added to support Liquid PCB.
638 <http://www.liquidpcb.org/>
640 * The `bom2' netlist backend now generates a `qty' column.
642 * Several improvements and fixes were made to the `systemc' backend.
644 * The `--gnetlist-arg' option to gsch2pcb can now be used to pass
645 extra `gnetlist' arguments.
647 * `gsch2pcb' now emits files with the latest `pcb' file format.
649 * The `gxyrs' pick-and-place tool was added.
651 Notable changes in gEDA/gaf 1.5.0
652 =================================
654 * Magnetic net mode in `gschem'. Magnetic mode lets you draw nets and
655 automatically connect to valid end points (such as pins and other
656 nets). The `magnetic-net-mode' gschemrc parameter can be used to
657 enable/disable this feature.
659 * Rotating a component while moving it in `gschem' now rotates around
660 the current mouse location.
662 * The `verilog' and `vhdl' backends now work again.
664 * Embedded components can now be mirrored.
666 * The `pads' netlist backend now uses CRLF line endings.
671 Release notes for older versions of gEDA/gaf are available on the gEDA
672 website. <http://www.gpleda.org/news/index.html>