Fix some minor compilation warnings.
[geda-gaf.git] / NEWS
blob24011f048d67250aca8ed1123baea89767a6b31d
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
24     the control point.
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
36     "Libraries" tab.
38   - When new attributes are attached to a net, they are placed at a 50
39     unit offset.
41   - The text color is now used as the default color for `pinlabel='
42     attributes.
44   - Pin attributes are no longer automatically replaced when rotating
45     or mirroring pins.
47   - It is possible to edit a text object even when other non-text
48     objects are selected.
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
63   messages.
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
70     keybindings).
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
116          print-orientation
118   - `gschem' now generates PDF files rather than PostScript or EPS
119     files.
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
159   executing it.
161 * `gattrib' now has translations for the user interface and various
162   messages.
164 Notable changes in gEDA/gaf 1.8.2
165 =================================
167 Bugfix release.
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
199   output.
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
225     examples.
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
241   tool.
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
247   files.
249 * The `--m4-pcbdir' and `--m4-file' arguments to `gsch2pcb' now work
250   again.
252 * `gsymfix.pl' has been renamed to `gsymfix'.
254 * Man pages are now available for all programs installed as part of
255   gEDA/gaf.
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
269   select them first.
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
284   `gattrib'.
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
299   occurs.
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
314     Scheme load path.
316   - A new `-V' or `--version' option is available, which displays
317     version information.
319 * `gschem' now provides a "Select All" function, which is bound to
320   <Control a> by default, along with a corresponding "Deselect"
321   function.
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
329   "Alignment" menu.
331 * Printed text size now better matches on-screen text size in
332   `gschem'.
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
350     backends.
352   - A new `-L' option is available, which adds a directory to the
353     Scheme load path.
355   - A new `-V' or `--version' option is available, which displays
356     version information.
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
363   files.
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
378    refdes correctly.
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
386 gnetlist.
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
405     this release
407 Notable changes in gEDA/gaf 1.6.0
408 =================================
410 * Fixed the GtkItemEntry code inside of gattrib code so that it builds
411   using gtk+ > 2.16.x.
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
430     line font.
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
457   symbol attributes.
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
477   in 'gschem'.
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
482   'gschem'.
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
489   zoomed in a lot.
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"
499              dialog at quit
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
514   refactoring.
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
527   the X selection).
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
535     `#RRGGBBAA' syntax.
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
552   type...'.
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
577     segments.
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
586   a screen.
588 * A number of improvements were made to the `gschem' component
589   selection dialog.
591   - The dialog now shows a table of top-level attributes in the
592     selected symbol.
594   - It is now possible to expand/collapse a library by clicking
595     anywhere on its row.
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
611     be printed.
613   - Some of the symbols in the component library were updated to use
614     paths.
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
620   PostScript output.
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
628   removed.
630 * The `always-promote-attributes' gafrc parameter now takes a list of
631   strings as an argument.  The space-delimited string syntax is
632   deprecated.
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.
668 Older versions
669 ==============
671 Release notes for older versions of gEDA/gaf are available on the gEDA
672 website.  <http://www.gpleda.org/news/index.html>
675    Local Variables:
676    mode: text
677    End: