(no commit message)
[geda-gaf.git] / NEWS
blob9a420ec186a1a7970a6b6e5305285fc9a1728950
1 ==============================================
2  'gschem and Friends' Electronic Design Suite
3 ==============================================
5 Copyright (C) 1998-2012 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.8.0
11 =================================
13 * `gschem' and `gnetlist' have updated and rewritten user guides.
15 * All tools now give more informative error messages if they are
16   unable to load schematic or symbol files due to syntax errors.
18 * All tools now correctly handle schematic and symbol files with `\r',
19   `\n', or `\r\n` line endings, or a mixture.
21 * Unconnected pin ends and net ends are now all drawn with the same
22   box marker in `gschem' and printed output.
24 * Net segments with at least two connections (including indirect
25   connections via `netname=' attributes) are now drawn with arrowheads
26   rather than box markers on dangling ends in `gschem' and printed
27   output.
29 Notable changes in gEDA/gaf 1.7.2
30 =================================
32 * `geda-gaf' now requires GTK+ 2.16.0 or later.
34 * A greatly expanded Scheme API has been added to gEDA/gaf for use by
35   extension authors.  See the `geda-scheme' Info manual for more
36   details.  Existing extensions may need to be modified to load the
37   `(geda deprecated)' or `(gschem deprecated)' modules.
39 * The `component-library-search' function for `gafrc' files now skips
40   directories without symbols, and searches for libraries recursively.
42 * `gschem' keybinding improvements:
44   - Keybindings are now unaffected by Caps Lock.
46   - Keystrokes are displayed using the same characters as on keycaps
47     (e.g. `:' instead of `colon').
49   - Keystrokes may use extended modifiers (Super, Hyper and Meta).
51   - Key bindings can be modified in any rc file or interactively using
52     the `global-set-key' function.  See notes in `system-gschemrc' for
53     examples.
55 * `gschem' now displays help files and component documentation on all
56   platforms, including Windows.  The `locate' tool is no longer used
57   to search for component documentation files.
59 * The `schdiff' tool for generating visual diffs of schematics and
60   symbols has been added.  It can be used with most version control
61   systems.  See `man schdiff' for more details.
63 * The `bom' and `bom2' backends to `gnetlist' now give error messages
64   if no attribute file can be found.  The `-O attrib_file=FILE' and
65   `-O attribs=ATTRIB,ATTRIB...' options have also been added.
67 * A new `ewnet' backend has been added to `gnetlist'.  This outputs
68   netlists for use with the National Instruments ULTIboard layout
69   tool.
71 * The `verilog' backend to `gnetlist' now supports concatenated net
72   naming like "{a,b,c[3:0]}".
74 * `gsch2pcb' no longer supports the `m4_command' parameter in project
75   files.
77 * The `--m4-pcbdir' and `--m4-file' arguments to `gsch2pcb' now work
78   again.
80 * `gsymfix.pl' has been renamed to `gsymfix'.
82 * Man pages are now available for all programs installed as part of
83   gEDA/gaf.
85 * The undocumented programs `gnet_hier_verilog', `gsymupdate', `gschupdate'
86   and `sch2eaglepos.sh' are no longer installed to ${prefix}/bin.
88 Notable changes in gEDA/gaf 1.7.1
89 =================================
91 * gEDA is now compatible with Guile 2.0.
93 * gEDA/gaf applications no longer complain when trying to load an rc
94   file twice, or when an rc file doesn't exist.
96 * `gschem' allows objects to be moved by dragging without having to
97   select them first.
99 * `gschem' now supports keybindings with more than one modifier key,
100   and "Deselect" is bound to <Control Shift A> by default.
102 * `gnetlist' correctly handles multiple renames of the same net.  This
103   resolves some long-standing bugs with multipage schematics.
105 * The `spice-sdb' backend for `gnetlist' now has built-in support for
106   `SUBCKT_NMOS' and `SUBCKT_PMOS' devices.
108 * A new `makedepend' backend has been added to `gnetlist'.  It
109   generates Makefile code for SPICE simulation dependencies.
111 * Visibility of embedded component attributes are now preserved by
112   `gattrib'.
114 * `gsch2pcb' correctly handles footprint names with hyphens (`-').
116 * `gsch2pcb' project files support quoting and escaping in
117   `schematics' entries.
119 * Considerable enhancements to Unicode support when printing
120   schematics or exporting PostScript.
122 Notable changes in gEDA/gaf 1.7.0
123 =================================
125 * All gEDA/gaf applications now handle configuration files much more
126   strictly, and provide much more useful feedback when an error
127   occurs.
129 * Several changes to `gschem' command-line options:
131   - The `-t' option is no longer supported.
133   - Several command-line options now support a long-form alternative.
135   - The `-s' option can now be used to run multiple Scheme scripts
136     during `gschem' startup.
138   - A new `-c' option is available, which runs a Scheme expression
139     during `gschem' startup.
141   - A new `-L' option is available, which adds a directory to the
142     Scheme load path.
144   - A new `-V' or `--version' option is available, which displays
145     version information.
147 * `gschem' now provides a "Select All" function, which is bound to
148   <Control a> by default, along with a corresponding "Deselect"
149   function.
151 * In the `gschem' "Add component" dialog, filtering the component
152   library will expand matching libraries.  If the filter is cancelled,
153   all libraries are collapsed.  Components can now be selected by
154   double-clicking on them in the component list.
156 * The `gschem' "Edit Text Properties" dialog now has an easier to use
157   "Alignment" menu.
159 * Printed text size now better matches on-screen text size in
160   `gschem'.
162 * Special characters, including commas, are now escaped or quoted
163   appropriately in `gattrib' CSV output.
165 * Several changes to `gnetlist' command-line options:
167   - Four command-line options specific to the `spice-sdb' backend have
168     been removed.  They can be replaced with `-O <option>' according
169     to the following table:
171         -e, --embedd              -O embedd_mode
172         -I, --include             -O include_mode
173         -n, --nomunge             -O nomunge_mode
174         -s, --sort                -O sort_mode
176   - The list of available backends is now obtained using a new
177     `--list-backends' option.  `-g help' no longer outputs a list of
178     backends.
180   - A new `-L' option is available, which adds a directory to the
181     Scheme load path.
183   - A new `-V' or `--version' option is available, which displays
184     version information.
186   - When run with invalid command-line arguments, `gnetlist' now exits
187     with non-zero exit status.
189 * Several `gnetlist' backends have now been fixed so that it should no
190   longer be necessary to set an expanded Guile stack in gEDA's config
191   files.
193 * The `spice-sdb' backend for `gnetlist' now supports probes
194   (`TESTPOINT' devices).
196 * The undocumented `mk_verilog_syms' program is no longer installed.
197   The symbols it creates are still installed to
198   `${prefix}/share/gEDA/sym/verilog'.
200 Notable changes in gEDA/gaf 1.6.2
201 =================================
203  * PNG export from `gschem' will now be cropped correctly.
205  * The `partlist' backends for `gnetlist' now handle hierarchical
206    refdes correctly.
208  * On Windows, `gschem' and `gattrib' will no longer launch with a
209    command window visible.
211  * `gnetlist-arg' is no longer valid in `gsch2pcb' project files.
213 Several other bugs were fixed, including a major crash bug in
214 gnetlist.
216 Notable changes in gEDA/gaf 1.6.1
217 =================================
219 * Added accelerator mnemonics for root menus in gschem
221 * Lots of updated and new language translations in libgeda, gschem, and
222   gattrib.  (Courtesy of language translators and Launchpad) 
224 * Updated the shipped documentation from the official gEDA wiki
226 * Fixed the following bugs:
228   - 2876373: Fix rendering with zoomed out dashed lines
229   - 2901183: Fix for some manpage issues
230   - 2904715: Don't update page connectivity from o_place_rotate()
231   - 2949232: Fix slot editing routines to not edit inherited attributes 
232   - Cherry picked some other bug fixes from master that should be in
233     this release
235 Notable changes in gEDA/gaf 1.6.0
236 =================================
238 * Fixed the GtkItemEntry code inside of gattrib code so that it builds
239   using gtk+ > 2.16.x.
241 * In gschem, rubberband pin to pin connections by adding nets.
243 * Cleanup of the slot handling code in libgeda.
245 * Fixes/updates to the MinGW port.
247 * Updated the shipped documentation from the online wiki.
249 Notable changes in gEDA/gaf 1.5.3/1.5.4
250 =======================================
252 * NOTE: gEDA/gaf 1.5.3 was released with some critical bugs, so
253         it was withdrawn before it was widely distributed.
255 * Text rendering using native system fonts:
257   - The various programs in gEDA/gaf no longer uses its own built-in
258     line font.
260   - Native system fonts are used for rendering, giving support for a
261     wider range of symbols, and better looking schematics.
263 * Always use PostScript fonts in gschem's PostScript output.  The
264   "output-text", "text-output" and "output-vector-threshold" config
265   functions have been removed.
267 * Image rendering in 'gschem' uses cairo instead of GDK.
269 * Numerous build system changes:
271   - gEDA/gaf is now distributed as a single source archive, called
272     gEDA-<version>.tar.gz.
274   - GTK+ 2.10 or newer and Guile 1.8 or newer are now required.
276   - `intltool' is no longer required.
278   - Documentation is now installed to ${docdir} (usually
279     ${prefix}/share/doc/gEDA).
281 * The attribute edit dialog in `gschem' now has completion of most
282   common attribute names.
284 * The multi-attribute edit dialog in `gschem' now shows unpromoted
285   symbol attributes.
287 * Menu items in `gschem' now have icons and properly aligned key
288   bindings. They also support accelerator keys.
290 * The `gschem2pcb' and `PCBboard' netlist backends have been removed.
291   It is recommended to use `gsch2pcb' instead.
293 * Check for and reject non-footprint PCB files in 'gsch2pcb'.
295 * Removed unimplemented "File->Open" feature in 'gattrib'.
297 * Added --disable-gattrib command line flag to ./configure to disable the
298   building of 'gattrib'.  This is useful if you are building against
299   gtk+ 2.17.x which breaks 'gattrib'.
301 * 'gnetlist' does not recommend drc2 every time it runs.  The drc2
302   backend is only useful in certain circumstances.
304 * Assign shortcuts "vd" and "vl" for changing between color schemes
305   in 'gschem'.
307 * Fix problem with attached net attribute not being honored in 'gnetlist'.
309 * Focus the "save" button in the close confirmation dialog in 'gattrib' and
310   'gschem'.
312 * Accept empty attributes in the src file in 'tragesym'.
314 * Cleaned up the slot dialog box in 'gschem'.
316 * Changed the grip size rendering in 'gschem' to be reasonably sized when
317   zoomed in a lot.
319 * Introduction of a new attribute searching API in 'libgeda' and 'gschem'.
321 * Improvements and cleanup to the 'gnetlist' and 'gsymcheck' test suites.
323 * Fixed the following bugs:
325   - 1758673: Combine source tarballs
326   - 2058707: gschem, gattrib: Dangerous button focus in "Save changes"
327              dialog at quit
328   - 2430369: gschem: Deselect invisible attribs with their parent object.
329   - 2449060: Graphic state left inconsistent cancelling from net mode
330   - 2460301: libgeda: Make o_complex_promote_attribs() respect keep_invisible
331              and libgeda: Make o_complex_copy() actually copy.
332   - 2455061: Gnetlist output changed, and tests fail with recent GLib
333   - 2655088: autogen.sh: Make sure to exit if autopoint fails.
334   - 2823703: gnet-pcbpins.scm: Quote pins names if they contain comma
335              or close parenthesis.
336   - 2823755: gnetlist: Fix DEBUG builds.
337   - 2836109: build-sys: Add check for groff html driver.
339 * Spanish translation were updated.
341 * Lots of code, infrastructure, and doxygen documentation cleanup and
342   refactoring.
344 Notable changes in gEDA/gaf 1.5.2
345 =================================
347 * `gschem' now uses Cairo for all rendering.  This allows for
348   everything to be rendered anti-aliased.
350 * `gschem' now uses a mesh grid instead of dots by default.
352 * Net junction cues in `gschem' are drawn smaller now.
354 * Copy and paste now works between different `gschem' instances (using
355   the X selection).
357 * Recent files are no longer opened in a new `gschem' window.
359 * Major, *backwards-incompatible* changes to color handling in
360   `libgeda' and `gschem'.
362   - All colors are specified using hexadecimal `#RRGGBB' or
363     `#RRGGBBAA' syntax.
365   - The print and display color maps are now separate.
367   - A new Scheme syntax is used to inspect and modify color maps.
369   - If you wish to use a light background in `gschem', add the line:
371       (load (build-path geda-rc-path "gschem-colormap-lightbg"))
373     to your personal or project gschemrc file.
375 * Attributes of embedded objects are now shown in the right color.
377 * Bus pins are now supported by `gschem' and `libgeda', but are *not*
378   properly supported by the netlister.  The pin type can be modified
379   by selecting a pin, then right-clicking it and selecting `Edit pin
380   type...'.
382 * All of the symbols were modified to use overbar markup tags ("like
383   \_this\_") instead of separate lines.
385 * Log files are now saved to $HOME/.gEDA/logs rather than being
386   dropped in the current directory.
388 Notable changes in gEDA/gaf 1.5.1
389 =================================
391 * GTK+ version 2.8.x or later is now required.
393 * The selection behaviour in `gschem' was changed. 
395   - Lines, unfilled boxes, unfilled circles, arcs, pins, nets, and
396     buses must be selected by clicking on the drawn path itself.
398   - Filled boxes, circles, text, and components, may be selected by
399     clicking anywhere in the bounding box.
401   - The default mouse click distance required to select an element was
402     increased to 10 pixels.
404   - Double-clicking on a net segment selects all connected net
405     segments.
407 * The percentage step in or out while zooming the display in `gschem'
408   is now configurable with the `zoom-gain' gschemrc parameter.  The
409   default value is 20%.
411 * The size of steps when panning with the mouse wheel or with a
412   trackpad in `gschem' is now adjustable with the `scrollpan-steps'
413   gschemrc parameter.  The default setting scrolls in steps of 1/8 of
414   a screen.
416 * A number of improvements were made to the `gschem' component
417   selection dialog.
419   - The dialog now shows a table of top-level attributes in the
420     selected symbol.
422   - It is now possible to expand/collapse a library by clicking
423     anywhere on its row.
425 * Changes to fill- and line-styles in `gschem' can now be undone.
427 * Arcs can now be adjusted in `gschem' using an arc angle dialog.  It
428   can be accessed by selecting an arc and selecting Edit->Edit.
430 * It is now possible to rotate objects while placing them in `gschem'.
432 * Support for arbitrary filled and unfilled paths, using a subset of
433   the SVG path syntax.  For more information, please see the file
434   format specification.
435   <http://wiki.geda-project.org/geda:file_format_spec>
437   - `gschem' does not yet provide a GUI for creating or editing path
438     elements.  However, it does support rendering them.  They can also
439     be printed.
441   - Some of the symbols in the component library were updated to use
442     paths.
444 * A Scheme evaluation prompt was added to `gschem'.  It can be
445   accessed by typing `:'.
447 * Improved algorithm for drawing hatched fills both on screen and in
448   PostScript output.
450 * Color selection dialogs and menus in `gschem' now show the actual
451   color as well as the description.  Color names are now translatable.
453 * `gattrib' now prompts to save changes.
455 * All of the unimplemented menu items and pages in `gattrib' were
456   removed.
458 * The `always-promote-attributes' gafrc parameter now takes a list of
459   strings as an argument.  The space-delimited string syntax is
460   deprecated.
462 * Some optimisations were made to the `gnetlist' connection traversal
463   algorithm to speed up netlisting large designs.
465 * A new netlist backend was added to support Liquid PCB.
466   <http://www.liquidpcb.org/>
468 * The `bom2' netlist backend now generates a `qty' column.
470 * Several improvements and fixes were made to the `systemc' backend.
472 * The `--gnetlist-arg' option to gsch2pcb can now be used to pass
473   extra `gnetlist' arguments.
475 * `gsch2pcb' now emits files with the latest `pcb' file format.
477 * The `gxyrs' pick-and-place tool was added.
479 Notable changes in gEDA/gaf 1.5.0
480 =================================
482 * Magnetic net mode in `gschem'. Magnetic mode lets you draw nets and
483   automatically connect to valid end points (such as pins and other
484   nets).  The `magnetic-net-mode' gschemrc parameter can be used to
485   enable/disable this feature.
487 * Rotating a component while moving it in `gschem' now rotates around
488   the current mouse location.
490 * The `verilog' and `vhdl' backends now work again.
492 * Embedded components can now be mirrored.
494 * The `pads' netlist backend now uses CRLF line endings.
496 Older versions
497 ==============
499 Release notes for older versions of gEDA/gaf are available on the gEDA
500 website.  <http://www.gpleda.org/news/index.html>
503    Local Variables:
504    mode: text
505    End: