Remove all libdmalloc cruft.
[geda-gaf.git] / NEWS
blob5b2fb17af88f3badd8e311820578b68249be918a
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 Notable changes in gEDA/gaf 1.9.0
77 =================================
79 * A new schematic renderer library, `libgedacairo' has been added, and
80   all tools have been updated to use it.  Related changes:
82   - The following configuration functions have been removed:
84          output-capstyle         paper-sizes
85          output-color            postscript-prolog
86          output-orientation      print-command
87          output-type             setpagedevice-orientation
88          paper-size              setpagedevice-pagesize
90   - The following `gschem' configuration items have been added:
92          print-paper             print-color
93          print-orientation
95   - `gschem' now generates PDF files rather than PostScript or EPS
96     files.
98   - `gschem' now uses a standard GTK print dialog (with printer
99     selection, print preview, etc.)
101 * A new `gaf' command-line utility has been added.  It provides a
102   number of subcommands:
104   - `gaf export' can be used to convert schematic files to PNG, SVG,
105     PDF, PS and EPS, with detailed control of paper size and margins.
106     It supports multi-page PDF and PS output.
108   - `gaf config' can be used to manipulate the project, user, and
109     system configuration stores (see below).
111   - `gaf shell' provides a Scheme REPL for batch manipulation of
112     schematic and symbol files.
114 * New project, user and system configuration stores have been added,
115   using a format similar to .desktop files.  They can be manipulated
116   using the `gaf config' tool.  Configuration parameters for most
117   tools will be converted to use this mechanism in future releases.
119 * The changes to highlighting of dangling net ends in gEDA/gaf 1.8.0
120   have been reverted.  All dangling ends are once again flagged with a
121   brightly-coloured square.
123 * When editing a component with the `gschem' multi-attribute editor,
124   the dialog will now show the symbol name in its title.
126 * When using "Down Schematic" command in `gschem', an error message
127   will now be displayed if the subcircuit schematic cannot be loaded.
129 * Printing now uses a light background color map by default.
131 * Objects can now have the line end "cap style" adjusted in `gschem'.
133 * `gnetlist' now accepts the `-i' and `-g' command-line arguments
134   together.  If you specify both `-i' and `-g', `gnetlist' will enter
135   the Scheme REPL after loading the requested backend but before
136   executing it.
138 * `gattrib' now has translations for the user interface and various
139   messages.
141 Notable changes in gEDA/gaf 1.8.2
142 =================================
144 Bugfix release.
146 * [994361] Fixed a libgeda crash bug involving nets inside symbols.
148 * [1226246] Fixed a gnetlist data corruption bug when using refdes
149   containing the string "POWER".
151 * Updates to build system to allow compilation from git on systems
152   with Automake >= 1.13.0.
154 Notable changes in gEDA/gaf 1.8.1
155 =================================
157 Bugfix release with correct dynamic version information for libgeda.
159 Notable changes in gEDA/gaf 1.8.0
160 =================================
162 * `gschem' and `gnetlist' have updated and rewritten user guides.
164 * All tools now give more informative error messages if they are
165   unable to load schematic or symbol files due to syntax errors.
167 * All tools now correctly handle schematic and symbol files with `\r',
168   `\n', or `\r\n` line endings, or a mixture.
170 * Unconnected pin ends and net ends are now all drawn with the same
171   box marker in `gschem' and printed output.
173 * Net segments with at least two connections (including indirect
174   connections via `netname=' attributes) are now drawn with arrowheads
175   rather than box markers on dangling ends in `gschem' and printed
176   output.
178 Notable changes in gEDA/gaf 1.7.2
179 =================================
181 * `geda-gaf' now requires GTK+ 2.16.0 or later.
183 * A greatly expanded Scheme API has been added to gEDA/gaf for use by
184   extension authors.  See the `geda-scheme' Info manual for more
185   details.  Existing extensions may need to be modified to load the
186   `(geda deprecated)' or `(gschem deprecated)' modules.
188 * The `component-library-search' function for `gafrc' files now skips
189   directories without symbols, and searches for libraries recursively.
191 * `gschem' keybinding improvements:
193   - Keybindings are now unaffected by Caps Lock.
195   - Keystrokes are displayed using the same characters as on keycaps
196     (e.g. `:' instead of `colon').
198   - Keystrokes may use extended modifiers (Super, Hyper and Meta).
200   - Key bindings can be modified in any rc file or interactively using
201     the `global-set-key' function.  See notes in `system-gschemrc' for
202     examples.
204 * `gschem' now displays help files and component documentation on all
205   platforms, including Windows.  The `locate' tool is no longer used
206   to search for component documentation files.
208 * The `schdiff' tool for generating visual diffs of schematics and
209   symbols has been added.  It can be used with most version control
210   systems.  See `man schdiff' for more details.
212 * The `bom' and `bom2' backends to `gnetlist' now give error messages
213   if no attribute file can be found.  The `-O attrib_file=FILE' and
214   `-O attribs=ATTRIB,ATTRIB...' options have also been added.
216 * A new `ewnet' backend has been added to `gnetlist'.  This outputs
217   netlists for use with the National Instruments ULTIboard layout
218   tool.
220 * The `verilog' backend to `gnetlist' now supports concatenated net
221   naming like "{a,b,c[3:0]}".
223 * `gsch2pcb' no longer supports the `m4_command' parameter in project
224   files.
226 * The `--m4-pcbdir' and `--m4-file' arguments to `gsch2pcb' now work
227   again.
229 * `gsymfix.pl' has been renamed to `gsymfix'.
231 * Man pages are now available for all programs installed as part of
232   gEDA/gaf.
234 * The undocumented programs `gnet_hier_verilog', `gsymupdate', `gschupdate'
235   and `sch2eaglepos.sh' are no longer installed to ${prefix}/bin.
237 Notable changes in gEDA/gaf 1.7.1
238 =================================
240 * gEDA is now compatible with Guile 2.0.
242 * gEDA/gaf applications no longer complain when trying to load an rc
243   file twice, or when an rc file doesn't exist.
245 * `gschem' allows objects to be moved by dragging without having to
246   select them first.
248 * `gschem' now supports keybindings with more than one modifier key,
249   and "Deselect" is bound to <Control Shift A> by default.
251 * `gnetlist' correctly handles multiple renames of the same net.  This
252   resolves some long-standing bugs with multipage schematics.
254 * The `spice-sdb' backend for `gnetlist' now has built-in support for
255   `SUBCKT_NMOS' and `SUBCKT_PMOS' devices.
257 * A new `makedepend' backend has been added to `gnetlist'.  It
258   generates Makefile code for SPICE simulation dependencies.
260 * Visibility of embedded component attributes are now preserved by
261   `gattrib'.
263 * `gsch2pcb' correctly handles footprint names with hyphens (`-').
265 * `gsch2pcb' project files support quoting and escaping in
266   `schematics' entries.
268 * Considerable enhancements to Unicode support when printing
269   schematics or exporting PostScript.
271 Notable changes in gEDA/gaf 1.7.0
272 =================================
274 * All gEDA/gaf applications now handle configuration files much more
275   strictly, and provide much more useful feedback when an error
276   occurs.
278 * Several changes to `gschem' command-line options:
280   - The `-t' option is no longer supported.
282   - Several command-line options now support a long-form alternative.
284   - The `-s' option can now be used to run multiple Scheme scripts
285     during `gschem' startup.
287   - A new `-c' option is available, which runs a Scheme expression
288     during `gschem' startup.
290   - A new `-L' option is available, which adds a directory to the
291     Scheme load path.
293   - A new `-V' or `--version' option is available, which displays
294     version information.
296 * `gschem' now provides a "Select All" function, which is bound to
297   <Control a> by default, along with a corresponding "Deselect"
298   function.
300 * In the `gschem' "Add component" dialog, filtering the component
301   library will expand matching libraries.  If the filter is cancelled,
302   all libraries are collapsed.  Components can now be selected by
303   double-clicking on them in the component list.
305 * The `gschem' "Edit Text Properties" dialog now has an easier to use
306   "Alignment" menu.
308 * Printed text size now better matches on-screen text size in
309   `gschem'.
311 * Special characters, including commas, are now escaped or quoted
312   appropriately in `gattrib' CSV output.
314 * Several changes to `gnetlist' command-line options:
316   - Four command-line options specific to the `spice-sdb' backend have
317     been removed.  They can be replaced with `-O <option>' according
318     to the following table:
320         -e, --embedd              -O embedd_mode
321         -I, --include             -O include_mode
322         -n, --nomunge             -O nomunge_mode
323         -s, --sort                -O sort_mode
325   - The list of available backends is now obtained using a new
326     `--list-backends' option.  `-g help' no longer outputs a list of
327     backends.
329   - A new `-L' option is available, which adds a directory to the
330     Scheme load path.
332   - A new `-V' or `--version' option is available, which displays
333     version information.
335   - When run with invalid command-line arguments, `gnetlist' now exits
336     with non-zero exit status.
338 * Several `gnetlist' backends have now been fixed so that it should no
339   longer be necessary to set an expanded Guile stack in gEDA's config
340   files.
342 * The `spice-sdb' backend for `gnetlist' now supports probes
343   (`TESTPOINT' devices).
345 * The undocumented `mk_verilog_syms' program is no longer installed.
346   The symbols it creates are still installed to
347   `${prefix}/share/gEDA/sym/verilog'.
349 Notable changes in gEDA/gaf 1.6.2
350 =================================
352  * PNG export from `gschem' will now be cropped correctly.
354  * The `partlist' backends for `gnetlist' now handle hierarchical
355    refdes correctly.
357  * On Windows, `gschem' and `gattrib' will no longer launch with a
358    command window visible.
360  * `gnetlist-arg' is no longer valid in `gsch2pcb' project files.
362 Several other bugs were fixed, including a major crash bug in
363 gnetlist.
365 Notable changes in gEDA/gaf 1.6.1
366 =================================
368 * Added accelerator mnemonics for root menus in gschem
370 * Lots of updated and new language translations in libgeda, gschem, and
371   gattrib.  (Courtesy of language translators and Launchpad)
373 * Updated the shipped documentation from the official gEDA wiki
375 * Fixed the following bugs:
377   - 2876373: Fix rendering with zoomed out dashed lines
378   - 2901183: Fix for some manpage issues
379   - 2904715: Don't update page connectivity from o_place_rotate()
380   - 2949232: Fix slot editing routines to not edit inherited attributes
381   - Cherry picked some other bug fixes from master that should be in
382     this release
384 Notable changes in gEDA/gaf 1.6.0
385 =================================
387 * Fixed the GtkItemEntry code inside of gattrib code so that it builds
388   using gtk+ > 2.16.x.
390 * In gschem, rubberband pin to pin connections by adding nets.
392 * Cleanup of the slot handling code in libgeda.
394 * Fixes/updates to the MinGW port.
396 * Updated the shipped documentation from the online wiki.
398 Notable changes in gEDA/gaf 1.5.3/1.5.4
399 =======================================
401 * NOTE: gEDA/gaf 1.5.3 was released with some critical bugs, so
402         it was withdrawn before it was widely distributed.
404 * Text rendering using native system fonts:
406   - The various programs in gEDA/gaf no longer uses its own built-in
407     line font.
409   - Native system fonts are used for rendering, giving support for a
410     wider range of symbols, and better looking schematics.
412 * Always use PostScript fonts in gschem's PostScript output.  The
413   "output-text", "text-output" and "output-vector-threshold" config
414   functions have been removed.
416 * Image rendering in 'gschem' uses cairo instead of GDK.
418 * Numerous build system changes:
420   - gEDA/gaf is now distributed as a single source archive, called
421     gEDA-<version>.tar.gz.
423   - GTK+ 2.10 or newer and Guile 1.8 or newer are now required.
425   - `intltool' is no longer required.
427   - Documentation is now installed to ${docdir} (usually
428     ${prefix}/share/doc/gEDA).
430 * The attribute edit dialog in `gschem' now has completion of most
431   common attribute names.
433 * The multi-attribute edit dialog in `gschem' now shows unpromoted
434   symbol attributes.
436 * Menu items in `gschem' now have icons and properly aligned key
437   bindings. They also support accelerator keys.
439 * The `gschem2pcb' and `PCBboard' netlist backends have been removed.
440   It is recommended to use `gsch2pcb' instead.
442 * Check for and reject non-footprint PCB files in 'gsch2pcb'.
444 * Removed unimplemented "File->Open" feature in 'gattrib'.
446 * Added --disable-gattrib command line flag to ./configure to disable the
447   building of 'gattrib'.  This is useful if you are building against
448   gtk+ 2.17.x which breaks 'gattrib'.
450 * 'gnetlist' does not recommend drc2 every time it runs.  The drc2
451   backend is only useful in certain circumstances.
453 * Assign shortcuts "vd" and "vl" for changing between color schemes
454   in 'gschem'.
456 * Fix problem with attached net attribute not being honored in 'gnetlist'.
458 * Focus the "save" button in the close confirmation dialog in 'gattrib' and
459   'gschem'.
461 * Accept empty attributes in the src file in 'tragesym'.
463 * Cleaned up the slot dialog box in 'gschem'.
465 * Changed the grip size rendering in 'gschem' to be reasonably sized when
466   zoomed in a lot.
468 * Introduction of a new attribute searching API in 'libgeda' and 'gschem'.
470 * Improvements and cleanup to the 'gnetlist' and 'gsymcheck' test suites.
472 * Fixed the following bugs:
474   - 1758673: Combine source tarballs
475   - 2058707: gschem, gattrib: Dangerous button focus in "Save changes"
476              dialog at quit
477   - 2430369: gschem: Deselect invisible attribs with their parent object.
478   - 2449060: Graphic state left inconsistent cancelling from net mode
479   - 2460301: libgeda: Make o_complex_promote_attribs() respect keep_invisible
480              and libgeda: Make o_complex_copy() actually copy.
481   - 2455061: Gnetlist output changed, and tests fail with recent GLib
482   - 2655088: autogen.sh: Make sure to exit if autopoint fails.
483   - 2823703: gnet-pcbpins.scm: Quote pins names if they contain comma
484              or close parenthesis.
485   - 2823755: gnetlist: Fix DEBUG builds.
486   - 2836109: build-sys: Add check for groff html driver.
488 * Spanish translation were updated.
490 * Lots of code, infrastructure, and doxygen documentation cleanup and
491   refactoring.
493 Notable changes in gEDA/gaf 1.5.2
494 =================================
496 * `gschem' now uses Cairo for all rendering.  This allows for
497   everything to be rendered anti-aliased.
499 * `gschem' now uses a mesh grid instead of dots by default.
501 * Net junction cues in `gschem' are drawn smaller now.
503 * Copy and paste now works between different `gschem' instances (using
504   the X selection).
506 * Recent files are no longer opened in a new `gschem' window.
508 * Major, *backwards-incompatible* changes to color handling in
509   `libgeda' and `gschem'.
511   - All colors are specified using hexadecimal `#RRGGBB' or
512     `#RRGGBBAA' syntax.
514   - The print and display color maps are now separate.
516   - A new Scheme syntax is used to inspect and modify color maps.
518   - If you wish to use a light background in `gschem', add the line:
520       (load (build-path geda-rc-path "gschem-colormap-lightbg"))
522     to your personal or project gschemrc file.
524 * Attributes of embedded objects are now shown in the right color.
526 * Bus pins are now supported by `gschem' and `libgeda', but are *not*
527   properly supported by the netlister.  The pin type can be modified
528   by selecting a pin, then right-clicking it and selecting `Edit pin
529   type...'.
531 * All of the symbols were modified to use overbar markup tags ("like
532   \_this\_") instead of separate lines.
534 * Log files are now saved to $HOME/.gEDA/logs rather than being
535   dropped in the current directory.
537 Notable changes in gEDA/gaf 1.5.1
538 =================================
540 * GTK+ version 2.8.x or later is now required.
542 * The selection behaviour in `gschem' was changed.
544   - Lines, unfilled boxes, unfilled circles, arcs, pins, nets, and
545     buses must be selected by clicking on the drawn path itself.
547   - Filled boxes, circles, text, and components, may be selected by
548     clicking anywhere in the bounding box.
550   - The default mouse click distance required to select an element was
551     increased to 10 pixels.
553   - Double-clicking on a net segment selects all connected net
554     segments.
556 * The percentage step in or out while zooming the display in `gschem'
557   is now configurable with the `zoom-gain' gschemrc parameter.  The
558   default value is 20%.
560 * The size of steps when panning with the mouse wheel or with a
561   trackpad in `gschem' is now adjustable with the `scrollpan-steps'
562   gschemrc parameter.  The default setting scrolls in steps of 1/8 of
563   a screen.
565 * A number of improvements were made to the `gschem' component
566   selection dialog.
568   - The dialog now shows a table of top-level attributes in the
569     selected symbol.
571   - It is now possible to expand/collapse a library by clicking
572     anywhere on its row.
574 * Changes to fill- and line-styles in `gschem' can now be undone.
576 * Arcs can now be adjusted in `gschem' using an arc angle dialog.  It
577   can be accessed by selecting an arc and selecting Edit->Edit.
579 * It is now possible to rotate objects while placing them in `gschem'.
581 * Support for arbitrary filled and unfilled paths, using a subset of
582   the SVG path syntax.  For more information, please see the file
583   format specification.
584   <http://wiki.geda-project.org/geda:file_format_spec>
586   - `gschem' does not yet provide a GUI for creating or editing path
587     elements.  However, it does support rendering them.  They can also
588     be printed.
590   - Some of the symbols in the component library were updated to use
591     paths.
593 * A Scheme evaluation prompt was added to `gschem'.  It can be
594   accessed by typing `:'.
596 * Improved algorithm for drawing hatched fills both on screen and in
597   PostScript output.
599 * Color selection dialogs and menus in `gschem' now show the actual
600   color as well as the description.  Color names are now translatable.
602 * `gattrib' now prompts to save changes.
604 * All of the unimplemented menu items and pages in `gattrib' were
605   removed.
607 * The `always-promote-attributes' gafrc parameter now takes a list of
608   strings as an argument.  The space-delimited string syntax is
609   deprecated.
611 * Some optimisations were made to the `gnetlist' connection traversal
612   algorithm to speed up netlisting large designs.
614 * A new netlist backend was added to support Liquid PCB.
615   <http://www.liquidpcb.org/>
617 * The `bom2' netlist backend now generates a `qty' column.
619 * Several improvements and fixes were made to the `systemc' backend.
621 * The `--gnetlist-arg' option to gsch2pcb can now be used to pass
622   extra `gnetlist' arguments.
624 * `gsch2pcb' now emits files with the latest `pcb' file format.
626 * The `gxyrs' pick-and-place tool was added.
628 Notable changes in gEDA/gaf 1.5.0
629 =================================
631 * Magnetic net mode in `gschem'. Magnetic mode lets you draw nets and
632   automatically connect to valid end points (such as pins and other
633   nets).  The `magnetic-net-mode' gschemrc parameter can be used to
634   enable/disable this feature.
636 * Rotating a component while moving it in `gschem' now rotates around
637   the current mouse location.
639 * The `verilog' and `vhdl' backends now work again.
641 * Embedded components can now be mirrored.
643 * The `pads' netlist backend now uses CRLF line endings.
645 Older versions
646 ==============
648 Release notes for older versions of gEDA/gaf are available on the gEDA
649 website.  <http://www.gpleda.org/news/index.html>
652    Local Variables:
653    mode: text
654    End: