4 - Added missing configuration function `source-library-search'
6 - Fixed merging package and net names across multiple subsheets
7 instantiated by one component
13 - Migrated to Guile 2.2
15 - Backend helper modules are now located independently from the
16 location of the backend source file itself
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
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
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
57 - The wrapper script `gnetlist2' is now the official gnetlist executable
63 - Renamed package `xorn.geda' to `gaf'
69 - Python backends can now be invoked using `gnetlist2'
75 - Added netlist backend for Igor2's tEDAx format
81 - Added options -l and -a to `xorn extract'
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
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
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
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
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
166 - Directory sources can now be recursive
172 - The ripperdir field on buses is now written correctly
174 - Fixed a bug which caused nets to be shorted when using customizable
177 - Fixed a bug which caused some components to remain unnamed in
178 hierarchical schematics
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
192 - Added subcommand `xorn netlist', a command-line interface to the
199 - Added python module `xorn.geda.clib' which implements the gEDA
200 symbol library mechanism
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
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
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.
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
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.