gEDA 1.10.0

This is the first stable release in the 1.10.x stable series.

Milestone information

Project:
gEDA
Series:
stable-1.10
Version:
1.10.0
Released:
 
Registrant:
Roland Lutz
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon geda-gaf-1.10.0.tar.gz (md5) Full cross-platform source code 104
last downloaded 50 weeks ago
download icon NEWS (md5) NEWS file 54
last downloaded 50 weeks ago
download icon README (md5) README file 41
last downloaded 50 weeks ago
Total downloads: 199

Release notes 

We are pleased to announce a new stable release of the 'gschem and Friends'
Electronic Design Suite, part of the GPL Electronic Design Automation
project. The gEDA/gaf suite (this package) provides schematic capture,
netlisting, bill of materials generation, and many other features.

Download
========

Source code:
http://ftp.geda-project.org/geda-gaf/stable/v1.10/1.10.0/geda-gaf-1.10.0.tar.gz

Checksum:
http://ftp.geda-project.org/geda-gaf/stable/v1.10/1.10.0/geda-gaf-1.10.0.sha256sum

README:
http://ftp.geda-project.org/geda-gaf/stable/v1.10/1.10.0/geda-gaf-1.10.0-README.txt

NEWS (release notes):
http://ftp.geda-project.org/geda-gaf/stable/v1.10/1.10.0/geda-gaf-1.10.0-NEWS.txt

Release Highlights
==================

* Tool windows in gschem can now be docked to the main window, and
  toolbar and context menu can be configured. The main menus have
  been completely revamped and new tools added.

* New symbol semantics have been introduced: power symbols can use a
  netname=NET attribute instead of net=NET:1; I/O port symbols can use
  portname=PORT instead of a refdes=PORT; and subschematic components
  can define variables via `param=NAME=VALUE' which can be accessed as
  `$(NAME)' from within the subschematic.

* gnetlist has been completely refactored and shows warnings and
  errors in many cases where it used to silently create a bad netlist.
  Backends can now be written in Python as well as Scheme. If invoked
  with the new option `--report-gui' or via PCB, gnetlist shows the
  messages in a GUI dialog instead of stderr.

* The new library "xornstorage", the Python package "gaf", and the
  accompanying command-line tool "xorn" have been added. These are
  intended to give a (currently quite minimal) way to access gEDA/gaf
  functionality from outside of gschem.

* The command-line option "--control-fd=stdin|FD" has been added which
  allows remote-controlling gschem via a plain-text protocol.

* gschem supports back-annotation from pcb-rnd.

* gschem can optionally use FAM or Gamin to display a notification if
  a file has changed on disk. Support for mouse gestures is now built
  into gschem, the dependency on libstroke has been dropped.

For a more detailed overview, see:
http://ftp.geda-project.org/geda-gaf/stable/v1.10/1.10.0/geda-gaf-1.10.0-NEWS.txt

Contributors
============

Sergey Alyoshin
Peter TB Brett
dmn (@graahnul-grom)
Ahmed El-Mahmoudy
Sergey Fukanchik
Sebastian Gieltjes
Edward Hennessy
Roland Lutz
Tibor 'Igor2' Palinkas
Sergey Stepanov
Hannu Vuolasaho
Vladimir Zhbanov

Reporting bugs
==============

If you have found a bug, please report it to
<http://bugs.launchpad.net/geda>.

Changelog 

View the full changelog

Notable changes in gEDA/gaf 1.10.0
==================================

General changes
---------------

* Added the library "xornstorage" and the Python package "gaf" as a
  (currently quite minimal) way to access gEDA/gaf functionality from
  outside of gschem. These are on the long term intended to replace
  libgeda, making the core gEDA/gaf functionality available as a
  library to both gschem and other applications.

* Added command-line tool `xorn' for low-level schematic and symbol
  file manipulation.

* Added experimental XML file format (currently only supported by
  gnetlist and the `xorn' command line utility).

* Objects colors are limited to 21 (up to and including FREESTYLE4).
  More recent colors added for GUI purposes can be set in colormaps
  but aren't automatically added to the file format specification.

* The symbol directories "gnetman", "verilog", and "vhdl" are now
  installed to the new location PREFIX/share/gEDA/extra-sym/. This
  allows adding the default library with "component-library-search".

* The directory to which gEDA programs write log transcripts can be
  changed by setting the environment variable `GEDALOG' (the default
  being ~/.gEDA/logs/).

* All tests now use the parallel test harness, speeding up `make
  check' runs considerably when used with multiple jobs (-jN).

* Fixed bugs:
  - lp-698501 gschem file preview function renders files twice
  - lp-698524 gnetlist ignores duplicate inout-symbols
  - lp-698768 No ordering requirement for attribute attach/detach
  - lp-701637 gschem "Scheme Interaction" window
  - lp-1266316 gschem exits on color value < 0
  - lp-1367462 undo messes with the view even though undo panzoom is disabled
  - lp-1492834 These docked dialogs should remember their size
  - lp-1496899 gschem: dock window wishlist
  - lp-1497659 gnetlist -v -g spice-sdb generates bad verbose netlist
  - lp-1514209 gschem: multiattrib Value textview improvements
  - lp-1532794 Build fails on missing colors.h
  - lp-1576918 Memory and file handle leak in libgeda
  - lp-1590757 partlist3 yields wrong netlist in some cases
  - lp-1625474 xorn does not build on FreeBSD
  - lp-1661961 "format not a string literal and no format arguments" warning
  ...and a lot more which never made it to the bugtracker.

gschem changes
--------------

* Tool windows are now "dockable", i.e., they can be either used as
  modal/non-modal dialogs or docked to the edges of the main window.

* The action mechanism used for menu items, tool buttons, and key
  bindings has been redesigned, making several improvements possbile:

  - Actions can now be used interchangeably in the main menu, toolbar,
    context menu, and keymap. They are defined in a single place
    ("actions.c" for C actions and "builtins.scm" for Guile actions),
    including metadata like name, icon, and tooltip.

  - Menu items and tool buttons representing options have a little
    check or radio box beside them indicating their current state.

  - Menu items and tool buttons are greyed out while they can't be
    used.

  - Toolbar and context menu are customizable.

  - Menu and toolbar definitions are simple Scheme variables, allowing
    users to add actions to the menu without having to copy the menu
    definition. Actions are represented in Scheme code as applicable
    SMOBs, allowing them to be called like procedures while retaining
    the action information necessary for rendering the menus/toolbar.

  - "Repeat Last Action" (usually bound to ".") uses the same logic as
    the middle mouse button repeat action does, i.e., only actions
    that "make sense" qualify for repeating.

* The menus, toolbar, and keymap have been revamped to more closely
  resemble the "standards" for a desktop application. Some actions
  have been assigned more accessible or memorable keys.

* Added a command-line option "--control-fd=stdin|FD" which allows
  remote-controlling gschem via a file descriptor. This is intended
  for project managers like Igor2's "genxproj".

* File operations have been consolidated: opening, saving, closing a
  file and so on should now behave identical regardless of how the
  operation was initiated. Related improvements:

  - When opening multiple files, the first one (instead of the last
    one) is initially shown.

  - The symversion= mismatch dialog is shown whenever a symversion=
    mismatch is detected while opening a file, not just for files
    specified on the command line.

  - gschem now keeps track of which files are untitled, listing them
    as "untitled page" instead of assigning them a temporary filename.
    The Scheme procedure `page-filename' returns #f for untitled
    pages.

  - "Save all" used to produce spurious "untitled_1.sch" files. This
    was due to three issues working together, which have been fixed:

    - When gschem is invoked without specifying filenames on the
      command line, an untitled page is created. This page wasn't
      removed when opening files, staying invisibly in the background.

    - "Save all" didn't check which files needed saving but just
      unconditionally saved anything.

    - "Save all" didn't behave like the interactive "Save", asking for
      a filename for untitled pages, but just saved each page to its
      internally stored filename.

  - The file chooser dialog on "Open" and "Save As" is now always
    opened in the current directory.

  - When opening a file which is already open but has since been
    changed on disk, the user is asked whether to reload the file.

  - When the currently edited file has been modified on disk, a
    notification is shown offering the user to reload the file.

  - If the user enters a filename with an unusual extension while
    saving, a confirmation dialog is shown.

  - When trying to open a file or descend into a subschematic which
    doesn't exist, gschem now offers to create a new file with that
    name.

* Some improvements have been made to the multi-attribute editor:

  - Editing a single attribute invokes the multi-attribute editor.

  - Trying to edit an inherited attribute edits the attached attribute
    with the same name if it exists, or promotes the attribute and
    edits its value if it doesn't exist yet.

  - Attributes are shown in the order in which they are listed in the
    configuration (via "attribute-name").

* Attaching and detaching attributes now work as expected:

  - "Attributes / Attach Attributes" used to depend on the order in
    which objects were selected, taking the first selected object as
    the base object to attach attributes to, regardless of its type.
    Now, the selected objects are searched for a base object of
    suitable type, and only if exactly one is found, the attributes
    are attached to it.

  - "Attributes / Detach Attributes" used to work on selected
    components and nets, detaching all attributes from these objects.
    It now works on the selected *attributes*, allowing the user to
    selectively detach specific attributes while leaving the rest
    attached.

* "Lock Component" used to lock components as well as non-component
  objects, bringing the latter into an invalid state that would last
  until the next "Undo" (or until the page was saved and loaded back
  from file manually).

  This has been fixed: "Lock Component" and "Unlock Component" now
  only operate on components, changing the color of attached
  attributes as they used to do with any selected text.

* The "Light Color Scheme" (V L) selected from the menu now has a
  truly white background. For compatibility, selecting the "lightbg"
  colormap in gschemrc loads the old, light-gray color scheme; the new
  color scheme can be selected as "whitebg".

* The library window has been made fit to be used as a dock window:

  - When the dialog is resized to be taller than a certain aspect
    ratio, it switches automatically to a stacked layout where the
    preview and attribute panes are located below the symbol selector.

  - While in stacked layout, the bottom panes can be expanded and
    collapsed to give more room to the symbol selector.

  - The window is automatically refreshed on library updates.

* Symbol editing has been improved:

  - The page can now be scrolled to negative coordinates, making it
    feasible to edit symbols without moving them away from the origin,
    then translating them back. This also allows to consciously
    choose something that makes sense for the symbol as the location
    of the origin.

  - The coordinate origin is now indicated with slightly darker grid
    lines. (This can be enabled/disabled via "View / Show Origin".)

  - The "Symbol Translate" action has been replaced with "Place
    Origin" which lets the user select the position of the origin
    interactively.

* Added support for back-annotation from pcb-rnd.

* Double-clicking a subschematic component enters the subschematic.

* Right-clicking in path mode works as expected.

* Pins are allowed to have zero length.

* "File / Revert" only asks for confirmation if the file has been
  modified.

* The "repeat" function of the middle mouse button now evaluates
  actions at the current mouse position.

* Mouse gestures work properly again.

* libstroke has been merged into gEDA/gaf. This removes the
  dependency on libstroke and makes mouse gestures always available.

* Added new mouse gestures for page navigation:
  - swiping left goes to the previous, swiping right to the next page
  - swiping right and then down enters a subschmatic
  - swiping left and then down enters a symbol
  - swiping up and sideways (in any combination) goes back to the
    parent schematic

* The coordinate dialog has been replaced with an option to display
  the coordinates in the status bar.

* Added further menu items:

  - "Add / Last Component" (A C)

  - "Object / Toggle Text Overbar" (T O)

  - "View / Show Menubar" (V M)
  - "View / Show Toolbar" (V T)
  - "View / Show Scrollbars" (V S)

  - "Tools / Select Locked Objects" (T L)

* Fixed various issues related to undo/redo:

  - The menu items "Edit / Undo" and "Edit / Redo" now show the name
    of the action that will be undone/redone.

  - The current viewport used to be restored on undo/redo regardless
    of the "undo-panzoom" setting (which prevents pan and zoom
    operations from being recorded in the undo history). This turned
    out to confuse users, so if the setting is enabled, undo/redo now
    doesn't change the viewport at all.

  - The default mode ("undo-panzoom" disabled) now works correctly.

  - After undoing the first action which changed a page, the page will
    be considered "unchanged" again.

  - Adding an attribute, changing the slot of a component, replacing
    the contents of a picture, and selecting "Pan" from the menu used
    not to be correctly un-doable. This has been fixed.

  - Selecting a picture to be added doesn't cause the page to be
    treated as changed any more.

  - "Object / Update Symbol" can't be undone with the current undo/
    redo system, so it isn't listed as something that can be undone
    any more.

  - Several actions (attach/detach attribute, text actions, embed/
    unembed, lock/unlock component, show/hide specific text) changed
    the undo history even in the case that they didn't have any
    effect. This has been fixed.

  - Several actions (attach/detach, embed/unembed) didn't update the
    "changed" flag correctly; this has been fixed.

gnetlist changes
----------------

* Refactored gnetlist:

  - gnetlist is now part of the Python package "gaf" and uses the new
    libraries instead of libgeda to work with gEDA files.

  - Netlist backends can also be written in Python.

  - When reading broken schematics and/or symbols, gnetlist doesn't
    silently fail or produce bad output any more. Conversely, this
    means gnetlist has become more picky about input files: whenever
    it occurs something that is likely to result in bad output, it
    issues a warning or an error.

  - In case there should be any problems with the refactored codebase,
    the "old" gnetlist is still available as "gnetlist-legacy".

* If gnetlist is invoked with the `pcbfwd' backend or the new option
  `--report-gui', errors and warnings are displayed in a GUI dialog
  instead of printing them to stderr.

* There are new semantics for power and I/O port symbols:

  - Power symbols can now use a netname=NET instead of a net=NET:1
    attribute. This allows using the attribute value as a visible
    label, removing the need for power symbols for individual rails.

  - I/O port symbols in subschematics can now use a portname=PORT
    instead of a refdes=PORT attribute to distinguish them from
    regular components. This allows checking that unconnected port
    symbols aren't silently included in the netlist as components.

* Hierarchical schematics can now use a simple form of parametrization
  where the instantiating component contains an attribute of the form
  `param=NAME=VALUE' and some attribute value in the subschematic
  contains the pattern `$(NAME)', which will be replaced with `VALUE'.
  This only works with regular attribute lookup from netlist backends
  and won't affect special attributes like slot= or netname=, though.

* The netlisting options "hierarchy-traversal", "net-naming-priority",
  "unnamed-netname", and "unnamed-busname" are once again configured
  via gnetlistrc, making them consistent with the refdes=, net=, and
  netname= mangling options.

* Duplicate I/O ports in subschematics and duplicate I/O pins in
  subschematic symbols are now treated correctly.

* Added a netlist backend for pcb-rnd's tEDAx format.

* Added backends which dump the netlist in various generic formats
  (dumpindent, dumpjson, dumplihata, dumptext, dumpxml).

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.