netlist: Fix component refdes mangling
[geda-gaf.git] / NEWS
blobec1cf4c5ac6ecb81fc330210d7bd552cf2cff6de
1 December 2020
2 =============
4 - Added missing configuration function `source-library-search'
6 - Fixed merging package and net names across multiple subsheets
7   instantiated by one component
9 - Duplicate symbol names within one library are only considered an
10   error if the symbol is actually used
13 October 2020
14 ============
16 - Migrated to Guile 2.2
18 - Backend helper modules are now located independently from the
19   location of the backend source file itself
22 October 2019
23 ============
25 - A new gnetlist command-line option `--report-gui' has been added
26   which shows errors and warnings in a GUI dialog
28 - Netlister error and warning messages now only contain coordinates if
29   this has been requested
31 - The number of allowed colors has been changed to 21
34 September 2019
35 ==============
37 - Duplicate I/O ports in a subschematic as well as duplicate I/O pins
38   in a subschematic symbol are now treated correctly
40 - The python package `gaf' accepts the same kind of whitespace in
41   symbol and schematic files as libgeda does
43 - The number of fixed places in error message and XML file format
44   coordinates has been changed to 3 in order to match the concept of
45   gEDA/gaf units being "mils" (which isn't necessarily correct but may
46   help avoid confusion)
49 July 2019
50 =========
52 - The command-line tool `xorn' returns exit status 99 on an internal
53   error and doesn't print error-reporting information any more when
54   interrupted with Ctrl+C
57 September 2018
58 ==============
60 - The wrapper script `gnetlist2' is now the official gnetlist executable
63 August 2018
64 ===========
66 - Renamed package `xorn.geda' to `gaf'
69 October 2017
70 ============
72 - Python backends can now be invoked using `gnetlist2'
75 July 2017
76 =========
78 - Added netlist backend for Igor2's tEDAx format
81 March 2017
82 ==========
84 - Added options -l and -a to `xorn extract'
87 February 2017
88 =============
90 - Power symbols can now be defined using a netname=NAME attribute
91   instead of the old net=NAME:1
93 - Port symbols can now be defined using a portname=NAME attribute
94   instead of the old refdes=NAME
96 - Implemented parameter substitution for subschematics
98 - Object data is now validated by the storage library and invalid data
99   rejected
101 - Object data is normalized after copying; any stored object data is
102   guaranteed to be in a standard format
104 - Storage library: xorn_delete_object and xorn_delete_selected_objects
105   now return 0 on success and -1 on failure (no objects matching the
106   specified selection being considered success)
108 - Storage library: Object manipulation functions now have an
109   additional parameter `err' returning the error code
112 July 2016
113 =========
115 - Missing symbols are now handled properly
117 - Added python module `xorn.xml_writer' which provides general-purpose
118   XML writing functionality
120 - Added python modules `xorn.fixednum' and `xorn.hybridnum' which
121   implement a fixed-point number format without and with a hexadecimal
122   floating-point part, respectively
124 - Added XML schematic/symbol file format
126 - Added subcommand `xorn convert' which allows converting a schematic
127   or symbol file from one format to another
129 - When reading a schematic file which contains fallback versions of
130   symbols or pixmaps and a symbol or pixmap can't be found, a warning
131   is now issued (instead of an error) and the fallback version used
133 - Duplicate pinseq= values are no longer considered an error as long
134   as they aren't relevant for slotting
137 June 2016
138 =========
140 - Fixed a bug which caused a net segment to be internally listed twice
142 - Added regression tests for fixed bugs
144 - A pin which occurs in the slot definition of a slotted component but
145   is missing from the symbol is now considered an error
147 - Errors while reading a file are now reported to a callback object
148   and don't cause the state to become invalid
151 April 2016
152 ==========
154 - Added Python module `xorn.guile' which allows adding Guile as a
155   script interpreter to a Python application
157 - Added gnetlist Guile API to the netlister
159 - Added `guile' backend which allows using backends written in Scheme
160   with the new netlister
162 - Added wrapper script `gnetlist2' as a drop-in replacement for
163   gnetlist
166 January 2016
167 ============
169 - Directory sources can now be recursive
172 September 2015
173 ==============
175 - The ripperdir field on buses is now written correctly
177 - Fixed a bug which caused nets to be shorted when using customizable
178   power symbols
180 - Fixed a bug which caused some components to remain unnamed in
181   hierarchical schematics
184 August 2015
185 ===========
187 - Files which contain `\r\n' line endings are now read correctly
189 - Added python package `xorn.geda.netlist' which allows creating a
190   netlist from one or more gEDA schematic files
192 - Added a set of backends (mostly from gnetlist) which output netlists
193   in various formats
195 - Added subcommand `xorn netlist', a command-line interface to the
196   netlister
199 May 2015
200 ========
202 - Added python module `xorn.geda.clib' which implements the gEDA
203   symbol library mechanism
206 May 2014
207 ========
209 - Added python package `xorn' which provides proxy classes for easy
210   access to the storage backend, base64 encoding/decoding, and helper
211   functions for writing files in a safe way
213 - Added python package `xorn.geda' which supports reading and writing
214   gEDA files and gEDA attribute handling
216 - Added command-line utility `xorn' with two sub-commands:
217     extract - extract embedded symbols or pixmaps from a schematic
218     find-symbol-by-pinout - find symbols matching a given pinout
220 - Python modules can now be imported from the build directory by
221   adding the subdirectory `built-packages' to PYTHONPATH
223 - Added internationalization
226 April 2014
227 ==========
229 - Python extension: Members of data classes can now be passed as
230   constructor arguments
232 - Added symbol and pixmap attributes
234 - Python extension: All functions now raise KeyError if an object
235   argument does not exist
238 March 2014
239 ==========
241 - Storage library: Functions returning an object list now have an
242   integer return type (instead of void).  They will return 0 on
243   success and -1 on failure.  The returned pointer may be NULL if no
244   objects are returned.
246 - Added API documentation.  Type `make doxygen' to build.
248 - New functions:
249     xorn_object_is_selected (xorn.storage.object_is_selected)
250     xorn_select_difference  (xorn.storage.select_difference)
251     xorn_select_including   (xorn.storage.select_including)
252     xorn_select_excluding   (xorn.storage.select_excluding)
254 - Objects now have an intrinsic order
256 - Text objects can be attached to net and component objects
258 - New functions:
259     xorn_get_object_location     (xorn.storage.Revision.get_object_location)
260     xorn_relocate_object         (xorn.storage.Revision.relocate_object)
261     xorn_get_objects_attached_to (xorn.storage.get_objects_attached_to)
262     xorn_select_attached_to      (xorn.storage.select_attached_to)
264 --------------------------------------------------------------------------------
266 Copyright (C) 2013-2020 Roland Lutz
268 Permission is granted to copy, distribute and/or modify this document
269 under the terms of the GNU Free Documentation License, Version 1.2 or
270 any later version published by the Free Software Foundation; with no
271 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
272 Texts.  A copy of the license is included in the ``GNU Free
273 Documentation License'' file as part of this distribution.