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