scheme-api: gschem API documentation (misc).
[geda-gaf/peter-b.git] / NEWS
blob97d5996e1cf17bc7fcd71ee435af04da46424710
1 ==============================================
2  'gschem and Friends' Electronic Design Suite
3 ==============================================
5 Copyright (C) 1998-2011 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.7.1
11 =================================
13 * gEDA is now compatible with Guile 2.0.
15 * gEDA/gaf applications no longer complain when trying to load an rc
16   file twice, or when an rc file doesn't exist.
18 * `gschem' allows objects to be moved by dragging without having to
19   select them first.
21 * `gschem' now supports keybindings with more than one modifier key,
22   and "Deselect" is bound to <Control Shift A> by default.
24 * `gnetlist' correctly handles multiple renames of the same net.  This
25   resolves some long-standing bugs with multipage schematics.
27 * The `spice-sdb' backend for `gnetlist' now has built-in support for
28   `SUBCKT_NMOS' and `SUBCKT_PMOS' devices.
30 * A new `makedepend' backend has been added to `gnetlist'.  It
31   generates Makefile code for SPICE simulation dependencies.
33 * Visibility of embedded component attributes are now preserved by
34   `gattrib'.
36 * `gsch2pcb' correctly handles footprint names with hyphens (`-').
38 * `gsch2pcb' project files support quoting and escaping in
39   `schematics' entries.
41 * Considerable enhancements to Unicode support when printing
42   schematics or exporting PostScript.
44 Notable changes in gEDA/gaf 1.7.0
45 =================================
47 * All gEDA/gaf applications now handle configuration files much more
48   strictly, and provide much more useful feedback when an error
49   occurs.
51 * Several changes to `gschem' command-line options:
53   - The `-t' option is no longer supported.
55   - Several command-line options now support a long-form alternative.
57   - The `-s' option can now be used to run multiple Scheme scripts
58     during `gschem' startup.
60   - A new `-c' option is available, which runs a Scheme expression
61     during `gschem' startup.
63   - A new `-L' option is available, which adds a directory to the
64     Scheme load path.
66   - A new `-V' or `--version' option is available, which displays
67     version information.
69 * `gschem' now provides a "Select All" function, which is bound to
70   <Control a> by default, along with a corresponding "Deselect"
71   function.
73 * In the `gschem' "Add component" dialog, filtering the component
74   library will expand matching libraries.  If the filter is cancelled,
75   all libraries are collapsed.  Components can now be selected by
76   double-clicking on them in the component list.
78 * The `gschem' "Edit Text Properties" dialog now has an easier to use
79   "Alignment" menu.
81 * Printed text size now better matches on-screen text size in
82   `gschem'.
84 * Special characters, including commas, are now escaped or quoted
85   appropriately in `gattrib' CSV output.
87 * Several changes to `gnetlist' command-line options:
89   - Four command-line options specific to the `spice-sdb' backend have
90     been removed.  They can be replaced with `-O <option>' according
91     to the following table:
93         -e, --embedd              -O embedd_mode
94         -I, --include             -O include_mode
95         -n, --nomunge             -O nomunge_mode
96         -s, --sort                -O sort_mode
98   - The list of available backends is now obtained using a new
99     `--list-backends' option.  `-g help' no longer outputs a list of
100     backends.
102   - A new `-L' option is available, which adds a directory to the
103     Scheme load path.
105   - A new `-V' or `--version' option is available, which displays
106     version information.
108   - When run with invalid command-line arguments, `gnetlist' now exits
109     with non-zero exit status.
111 * Several `gnetlist' backends have now been fixed so that it should no
112   longer be necessary to set an expanded Guile stack in gEDA's config
113   files.
115 * The `spice-sdb' backend for `gnetlist' now supports probes
116   (`TESTPOINT' devices).
118 * The undocumented `mk_verilog_syms' program is no longer installed.
119   The symbols it creates are still installed to
120   `${prefix}/share/gEDA/sym/verilog'.
122 Notable changes in gEDA/gaf 1.6.2
123 =================================
125  * PNG export from `gschem' will now be cropped correctly.
127  * The `partlist' backends for `gnetlist' now handle hierarchical
128    refdes correctly.
130  * On Windows, `gschem' and `gattrib' will no longer launch with a
131    command window visible.
133  * `gnetlist-arg' is no longer valid in `gsch2pcb' project files.
135 Several other bugs were fixed, including a major crash bug in
136 gnetlist.
138 Notable changes in gEDA/gaf 1.6.1
139 =================================
141 * Added accelerator mnemonics for root menus in gschem
143 * Lots of updated and new language translations in libgeda, gschem, and
144   gattrib.  (Courtesy of language translators and Launchpad) 
146 * Updated the shipped documentation from the official gEDA wiki
148 * Fixed the following bugs:
150   - 2876373: Fix rendering with zoomed out dashed lines
151   - 2901183: Fix for some manpage issues
152   - 2904715: Don't update page connectivity from o_place_rotate()
153   - 2949232: Fix slot editing routines to not edit inherited attributes 
154   - Cherry picked some other bug fixes from master that should be in
155     this release
157 Notable changes in gEDA/gaf 1.6.0
158 =================================
160 * Fixed the GtkItemEntry code inside of gattrib code so that it builds
161   using gtk+ > 2.16.x.
163 * In gschem, rubberband pin to pin connections by adding nets.
165 * Cleanup of the slot handling code in libgeda.
167 * Fixes/updates to the MinGW port.
169 * Updated the shipped documentation from the online wiki.
171 Notable changes in gEDA/gaf 1.5.3/1.5.4
172 =======================================
174 * NOTE: gEDA/gaf 1.5.3 was released with some critical bugs, so
175         it was withdrawn before it was widely distributed.
177 * Text rendering using native system fonts:
179   - The various programs in gEDA/gaf no longer uses its own built-in
180     line font.
182   - Native system fonts are used for rendering, giving support for a
183     wider range of symbols, and better looking schematics.
185 * Always use PostScript fonts in gschem's PostScript output.  The
186   "output-text", "text-output" and "output-vector-threshold" config
187   functions have been removed.
189 * Image rendering in 'gschem' uses cairo instead of GDK.
191 * Numerous build system changes:
193   - gEDA/gaf is now distributed as a single source archive, called
194     gEDA-<version>.tar.gz.
196   - GTK+ 2.10 or newer and Guile 1.8 or newer are now required.
198   - `intltool' is no longer required.
200   - Documentation is now installed to ${docdir} (usually
201     ${prefix}/share/doc/gEDA).
203 * The attribute edit dialog in `gschem' now has completion of most
204   common attribute names.
206 * The multi-attribute edit dialog in `gschem' now shows unpromoted
207   symbol attributes.
209 * Menu items in `gschem' now have icons and properly aligned key
210   bindings. They also support accelerator keys.
212 * The `gschem2pcb' and `PCBboard' netlist backends have been removed.
213   It is recommended to use `gsch2pcb' instead.
215 * Check for and reject non-footprint PCB files in 'gsch2pcb'.
217 * Removed unimplemented "File->Open" feature in 'gattrib'.
219 * Added --disable-gattrib command line flag to ./configure to disable the
220   building of 'gattrib'.  This is useful if you are building against
221   gtk+ 2.17.x which breaks 'gattrib'.
223 * 'gnetlist' does not recommend drc2 every time it runs.  The drc2
224   backend is only useful in certain circumstances.
226 * Assign shortcuts "vd" and "vl" for changing between color schemes
227   in 'gschem'.
229 * Fix problem with attached net attribute not being honored in 'gnetlist'.
231 * Focus the "save" button in the close confirmation dialog in 'gattrib' and
232   'gschem'.
234 * Accept empty attributes in the src file in 'tragesym'.
236 * Cleaned up the slot dialog box in 'gschem'.
238 * Changed the grip size rendering in 'gschem' to be reasonably sized when
239   zoomed in a lot.
241 * Introduction of a new attribute searching API in 'libgeda' and 'gschem'.
243 * Improvements and cleanup to the 'gnetlist' and 'gsymcheck' test suites.
245 * Fixed the following bugs:
247   - 1758673: Combine source tarballs
248   - 2058707: gschem, gattrib: Dangerous button focus in "Save changes"
249              dialog at quit
250   - 2430369: gschem: Deselect invisible attribs with their parent object.
251   - 2449060: Graphic state left inconsistent cancelling from net mode
252   - 2460301: libgeda: Make o_complex_promote_attribs() respect keep_invisible
253              and libgeda: Make o_complex_copy() actually copy.
254   - 2455061: Gnetlist output changed, and tests fail with recent GLib
255   - 2655088: autogen.sh: Make sure to exit if autopoint fails.
256   - 2823703: gnet-pcbpins.scm: Quote pins names if they contain comma
257              or close parenthesis.
258   - 2823755: gnetlist: Fix DEBUG builds.
259   - 2836109: build-sys: Add check for groff html driver.
261 * Spanish translation were updated.
263 * Lots of code, infrastructure, and doxygen documentation cleanup and
264   refactoring.
266 Notable changes in gEDA/gaf 1.5.2
267 =================================
269 * `gschem' now uses Cairo for all rendering.  This allows for
270   everything to be rendered anti-aliased.
272 * `gschem' now uses a mesh grid instead of dots by default.
274 * Net junction cues in `gschem' are drawn smaller now.
276 * Copy and paste now works between different `gschem' instances (using
277   the X selection).
279 * Recent files are no longer opened in a new `gschem' window.
281 * Major, *backwards-incompatible* changes to color handling in
282   `libgeda' and `gschem'.
284   - All colors are specified using hexadecimal `#RRGGBB' or
285     `#RRGGBBAA' syntax.
287   - The print and display color maps are now separate.
289   - A new Scheme syntax is used to inspect and modify color maps.
291   - If you wish to use a light background in `gschem', add the line:
293       (load (build-path geda-rc-path "gschem-colormap-lightbg"))
295     to your personal or project gschemrc file.
297 * Attributes of embedded objects are now shown in the right color.
299 * Bus pins are now supported by `gschem' and `libgeda', but are *not*
300   properly supported by the netlister.  The pin type can be modified
301   by selecting a pin, then right-clicking it and selecting `Edit pin
302   type...'.
304 * All of the symbols were modified to use overbar markup tags ("like
305   \_this\_") instead of separate lines.
307 * Log files are now saved to $HOME/.gEDA/logs rather than being
308   dropped in the current directory.
310 Notable changes in gEDA/gaf 1.5.1
311 =================================
313 * GTK+ version 2.8.x or later is now required.
315 * The selection behaviour in `gschem' was changed. 
317   - Lines, unfilled boxes, unfilled circles, arcs, pins, nets, and
318     buses must be selected by clicking on the drawn path itself.
320   - Filled boxes, circles, text, and components, may be selected by
321     clicking anywhere in the bounding box.
323   - The default mouse click distance required to select an element was
324     increased to 10 pixels.
326   - Double-clicking on a net segment selects all connected net
327     segments.
329 * The percentage step in or out while zooming the display in `gschem'
330   is now configurable with the `zoom-gain' gschemrc parameter.  The
331   default value is 20%.
333 * The size of steps when panning with the mouse wheel or with a
334   trackpad in `gschem' is now adjustable with the `scrollpan-steps'
335   gschemrc parameter.  The default setting scrolls in steps of 1/8 of
336   a screen.
338 * A number of improvements were made to the `gschem' component
339   selection dialog.
341   - The dialog now shows a table of top-level attributes in the
342     selected symbol.
344   - It is now possible to expand/collapse a library by clicking
345     anywhere on its row.
347 * Changes to fill- and line-styles in `gschem' can now be undone.
349 * Arcs can now be adjusted in `gschem' using an arc angle dialog.  It
350   can be accessed by selecting an arc and selecting Edit->Edit.
352 * It is now possible to rotate objects while placing them in `gschem'.
354 * Support for arbitrary filled and unfilled paths, using a subset of
355   the SVG path syntax.  For more information, please see the file
356   format specification.
357   <http://geda.seul.org/wiki/geda:file_format_spec>
359   - `gschem' does not yet provide a GUI for creating or editing path
360     elements.  However, it does support rendering them.  They can also
361     be printed.
363   - Some of the symbols in the component library were updated to use
364     paths.
366 * A Scheme evaluation prompt was added to `gschem'.  It can be
367   accessed by typing `:'.
369 * Improved algorithm for drawing hatched fills both on screen and in
370   PostScript output.
372 * Color selection dialogs and menus in `gschem' now show the actual
373   color as well as the description.  Color names are now translatable.
375 * `gattrib' now prompts to save changes.
377 * All of the unimplemented menu items and pages in `gattrib' were
378   removed.
380 * The `always-promote-attributes' gafrc parameter now takes a list of
381   strings as an argument.  The space-delimited string syntax is
382   deprecated.
384 * Some optimisations were made to the `gnetlist' connection traversal
385   algorithm to speed up netlisting large designs.
387 * A new netlist backend was added to support Liquid PCB.
388   <http://www.liquidpcb.org/>
390 * The `bom2' netlist backend now generates a `qty' column.
392 * Several improvements and fixes were made to the `systemc' backend.
394 * The `--gnetlist-arg' option to gsch2pcb can now be used to pass
395   extra `gnetlist' arguments.
397 * `gsch2pcb' now emits files with the latest `pcb' file format.
399 * The `gxyrs' pick-and-place tool was added.
401 Notable changes in gEDA/gaf 1.5.0
402 =================================
404 * Magnetic net mode in `gschem'. Magnetic mode lets you draw nets and
405   automatically connect to valid end points (such as pins and other
406   nets).  The `magnetic-net-mode' gschemrc parameter can be used to
407   enable/disable this feature.
409 * Rotating a component while moving it in `gschem' now rotates around
410   the current mouse location.
412 * The `verilog' and `vhdl' backends now work again.
414 * Embedded components can now be mirrored.
416 * The `pads' netlist backend now uses CRLF line endings.
418 Older versions
419 ==============
421 Release notes for older versions of gEDA/gaf are available on the gEDA
422 website.  <http://www.gpleda.org/news/index.html>
425    Local Variables:
426    mode: text
427    End: