X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Recipient: geda-help AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:mail-followup-to:mime-version :content-disposition:content-transfer-encoding:user-agent; bh=4nqNR9VxxWIkU/3L0W3bCG+JLwoNHtla2AU2RroyOD8=; b=lSW3NSlGVH4IjYWnoGVuYeY26L6bpKQeYXgnm2brSlwtzkQEfO2GwWaqxI0Um5UhSr SkUOcHan8+8fPSjTByMiRQ2izZvQ1qDt7gCWiGIo9KO4qLdLcoqPrO/z8QkZBv7P4vyz IIRSq7bMzNhZ9d8gEe2iqlLTBWLhD5ElYOnneYtTRhNjnai5tn3YjXXnYZIFAtKDeJ0U 1+pCVEH4vnSoIfhd3WSDxkPK9J3qM3e/WHTFeEpyJeowKIJmlUyzrQ86GLJJLr4VyAVH eQXPy6ADTMukWLjav0N/f6bsMtL9C5K/VBvwU3DYmd6G+6AYULBsx7HWTk2kj8P+Vd8A 3Gmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:mime-version:content-disposition :content-transfer-encoding:user-agent; bh=4nqNR9VxxWIkU/3L0W3bCG+JLwoNHtla2AU2RroyOD8=; b=Yd2hubrvqZGMSEz5EpeHgf1DAbJ4MwnbSC6EBm6DCY5TIQFT1go9PV8IdQh9dfLBH/ yA+u7WKOIvPbhhguoF/ttogp9xEmQ1Lisrr+maI2VfMpw/uuNK/oLw45f4wIx0Kf9y4M bbOr48uUerTb05ZORJ9dUY59NTCvbRUxe1tJ/jR2+dkQkslL7UghcfxvMiQ+FAV6us11 MHAwVN58QDbrG1BK8YlyNIpODkgknjnWAt+xyQm9M47k1gf0Fphmv6hbc0ReKGFVvBzY IZD7aqxI/jriEhUFMzvySc//OLJEanL3ALqzYliAL13OgMlHhHDIYy05Z9lym/htFgdV 1PKg== X-Gm-Message-State: ANhLgQ1wSfxTKtXDbNb5tV8IAiC/6wwRbSLmbieQFG98Rpj0lfMtLfeR leZq1AjaOX7dAQips+0AiySARntw X-Google-Smtp-Source: ADFU+vvDkkNoX8n6i3muIdVBcebRFbNXIMs/EWQcmyfbS+zy7EXAmoz4WjQ5vUOmUdx3+EQSelml4A== X-Received: by 2002:a2e:9d8c:: with SMTP id c12mr2672142ljj.137.1584637665358; Thu, 19 Mar 2020 10:07:45 -0700 (PDT) Date: Thu, 19 Mar 2020 20:07:42 +0300 From: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Cc: geda-help AT delorie DOT com Subject: [geda-user] [Announcement] Lepton EDA 1.9.10 Message-ID: <20200319170742.GA2621@newvzh.lokolhoz> Mail-Followup-To: geda-user AT delorie DOT com, geda-help AT delorie DOT com MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.10.1 (2018-07-13) Reply-To: geda-user AT delorie DOT com We are pleased to announce Lepton EDA release 1.9.10. Release notes ============= We encourage you to test this release and provide feedback either to our issue tracker at https://github.com/lepton-eda/lepton-eda/issues or to the mailing list geda-user AT delorie DOT com. You can also chat with us at https://gitter.im/Lepton-EDA/. Here are the compressed sources: https://github.com/lepton-eda/lepton-eda/releases/download/1.9.10-20200319/lepton-eda-1.9.10.tar.gz Here is the GPG detached signature[*]: https://github.com/lepton-eda/lepton-eda/releases/download/1.9.10-20200319/lepton-eda-1.9.10.tar.gz.asc [*] Use an .asc file to verify that the corresponding file (without the .asc suffix) is intact. First, be sure to download both the .asc file and the corresponding tarball. Then, run a command like this: gpg --verify lepton-eda-1.9.10.tar.gz.asc Release changelog ----------------- About 120 PR's and issues have been closed and over 1000 commits have been made since the previous release. Full list of changes is available at: https://github.com/lepton-eda/lepton-eda/blob/master/NEWS.md and below. Contributor list ---------------- The following people have contributed code, docs, tests, ideas, or reported bugs since the previous lepton-eda release 1.9.9 (as found in the commit history, issue tracker history, and other sources). - John P. Doty - Karl Hammar - Merlyn Cousins - Nicklas Karlsson - Tom Dean - Vladimir Zhbanov - dmn Thank you all! Notable changes in Lepton EDA 1.9.10 (the excerpt from NEWS) ------------------------------------------------------------ ### General changes: - Utilities written in Python, `lepton-archive`, `lepton-tragesym` and others (please see below for more information), have been rewritten in Scheme or removed, so there is no dependency on Python any more. - C source files, Scheme modules, types, functions, variables, structure fields have been renamed to avoid using of ambiguous word "**complex**" since it is used in Scheme to designate complex numbers. The Scheme object type `'complex` has not been renamed for backwards compatibility. - Two unused old scheme scripts `print-NB-attribs.scm` and `list-keys.scm` have been removed. - Several other cleanups have been made in the source tree. - The Scheme auto-load subdirectory `gafrc.d` has been renamed to `autoload`. - Obsolete environment variables `GEDADATA` and `GEDADATARC` are no longer used in Lepton. Please use Scheme procedures `load` or `primitive-load` in *gafrc* files to load your extensions. - The directory *$HOME/.gEDA/* is no longer used for storing of user configuration files. The new location for user config files is *$XDG_CONFIG_HOME/lepton-eda/* (usually, it is *$HOME/.config/lepton-eda*). - Legacy `geda*.conf` configuration files are no longer used. Settings are now read from `lepton*.conf` files. To convert your settings to new format, please use the `lepton-upcfg` utility. - The obsolete and undocumented script `bompp.sh` has been removed. ### Changes when building from source: - The following obsolete `configure` options have been removed: - `--with-kdedatadir` (for KDE 3) - `--enable-relocatable` (non-portable) - `--with-rcdir` (no longer usable) - `--disable-deprecated` (no longer usable) - `--enable-compat-symlinks` (does not make sense any more) - Detection of installed `Guile` run-time and development packages has been improved. Previously, after introducing support for Guile 2.2, some users could encounter difficulties with building from source when Guile development headers were distributed in separate packages in their distribution and there was two different Guile versions (2.0 and 2.2) installed on their systems. They could get mysterious error messages about applying a wrong object type. Point is that Guile 2.0 and Guile 2.2 use incompatible binary code format for compiled programs. Now Lepton build system checks what development packages are installed on user's system and chooses a correct version of Guile for compilation. If it is impossible due to missing required package, it reports the error on the configure stage. - The `autogen.sh` script, while still available, is no longer required for installation from the git repository. Please use `autoreconf -ivf` instead. - Building of the Scheme API HTML documentation with multiple make jobs on FreeBSD has been fixed. - `icon-theme-installer` script has been fixed by simplifying its command line arguments checks, which makes it more portable among various build environments. - The command `make maintainer-clean` no longer removes *configure* and its helper files, as well as *ChangeLog* and *Makefile.in* files. ### Scheme API changes: - The module `(geda log-rotate)` has been renamed to `(lepton log-rotate)`. - Several `(geda *)` modules have been renamed to `(lepton *)` ones. All the functions and variables available are still re-exported in the former ones but their using is discouraged. The following renames have been made: - `(geda attrib)` => `(lepton attrib)` - `(geda config)` => `(lepton config)` - `(geda log)` => `(lepton log)` - `(geda object)` => `(lepton object)` - `(geda os)` => `(lepton os)` - `(geda repl)` => `(lepton repl)` - The following *core* (written in C) Scheme modules have been renamed: - `(geda core attrib)` => `(lepton core attrib)` - `(geda core complex)` => `(lepton core component)` - `(geda core config)` => `(lepton core config)` - `(geda core deprecated)` => `(lepton core deprecated)` - `(geda core gettext)` => `(lepton core gettext)` - `(geda core log)` => `(lepton core log)` - `(geda core object)` => `(lepton core object)` - `(geda core os)` => `(lepton core os)` - `(geda core page)` => `(lepton core page)` - `(geda core smob)` => `(lepton core smob)` - `(geda core toplevel)` => `(lepton core toplevel)` - Apart from expanding environment variables, the function `expand-env-variables` from the `(lepton os)` module now replaces **~/** (user home directory prefix) in file names in order to make such names understandable for other functions. This allows using this prefix in functions like `component-library` and `source-library`. - A couple of functions have been added to the `(lepton object)` module to work with object's "embedded" state: `object-embedded?` and `set-object-embedded!`. - The **cache** configuration context can now be accessed in Scheme code: `cache-config-context` function has been added to the `(lepton config)` module. - A new function, `component-filename`, has been added to the `(lepton object)` module. It returns the full component's symbol file path. - `config-load!()` function in the `(lepton config)` module has been modified to accept a new optional `boolean` parameter `force-load`, which is `false` by default. Configuration is no longer reloaded each time this function is called, unless you explicitly request it by `#:force-load #t`. ### Changes in `liblepton`: - The module `(lepton library component)` has been amended to support new Scheme layer around internal `%component-library` in the `component-library` procedure, which prevents loading of duplicate component libraries. - The `bitmap-directory` `gafrc` option has been removed. - The `gafrc` options listed below have been deprecated and replaced with new configuration settings. Please refer to the [Deprecated Settings](https://github.com/lepton-eda/lepton-eda/wiki/Deprecated-Settings#user-content-deprecated-gafrc) wiki document. - `bus-ripper-symname` => `[schematic]::bus-ripper-symname` - `always-promote-attributes` => `[schematic.attrib]::always-promote` - `keep-invisible` => `[schematic.attrib]::keep-invisible` - `attribute-promotion` => `[schematic.attrib]::promote` - `promote-invisible` => `[schematic.attrib]::promote-invisible` - `make-backup-files` => `[schematic.backup]::create-files` - Fixed rotation of logs broken in Lepton 1.9.8. - Fixed two long standing bugs in the procedure `component-library-search`: - Failure of the procedure in some cases when the root directory processed by the procedure contained symbol files. - Failure of the procedure with the `'out-of-range` exception if the processed path contained 2 identical components at the end and trailing slash (e.g. "/path/sym/sym/"). ### Changes in `lepton-netlist`: - The module `(netlist rename)` has been removed. All previous renaming functionality has been wholly thrown away. - The module `(netlist pin-net)` has been removed. `` records are no longer used in netlisting. - The module `(netlist traverse)` has been removed. All its functions have been moved to other appropriate modules. - New data structures, *hierarchical*, or *over-port*, or *vertical*, connections, have been introduced. They are used to produce net names for schematics with subcircuits. This fixed the issue with toplevel unnamed connections, using of which lead to wrong netlists, and resulted in the following changes in output netlists: - The `geda` backend no longer displays intermediate renamings the same way it is used for unnamed nets shown in netlists. Renamed unnamed nets of a subschematic are shown by the geda backend differently, e.g., "*hierarchical/subciruit/name/unnamed_net_at_XxY*", where X and Y are coords of one of their members. - If a net has more than one preferred attribute attached ("*net=*" or "*netname=*"), the lowest one by means of the predicate `refdes` record to get hierarchical data. For a component, it contains the link to the `` instance the component belongs to. - The `` record now also contains a new field, `parent`. For a connection, it contains the link to the `` instance the connection belongs to. - The `` record now also contains a new field, `parent`. It contains the component the `` belongs to, if any. - The unused `sources` field has been removed from the `` record. - The unused `tag` field has been removed from the `` record. - The record now contains a new field, `port-connection`, which holds a hierarchical `` a pin belongs to. - Crashes, when source file cannot be found, are now avoided. - Fixed crashes on power symbols (the symbols having one pin and no *"refdes="* attribute) having a *"net="* attribute but no *"pinnumber=* attribute attached to its pin. - Fixed crashes in the `spice-sdb` backend when processing I/O components. - Removed output of version in the `spice-sdb` backend. It has not been updated since 2007 and does not reflect the changes in the backend code. - Fixed a link to documentation in the output of the `spice-sdb` backend. - A new module, `(netlist mode)`, has been added. It contains accessor functions for current netlisting mode. - A new module, `(netlist schematic-port)` has been added. It defines a new record, ``, which contains info about connections via ports between hierarchical levels. - A new module, `(netlist schematic-named-connection)`, has been added. It contains functions for merging connections by net name. - A new module, `(netlist subschematic)`, has been added. It defines a new record, ``, which extends `<#geda-page>` internal C structure and contains various netlist related fields. - The `` record now has several new fields: - `net-map` is defined for virtual pins created from the *"net="* attribute. - `parent` contains link to the parent component of a pin. - A new field, `pins`, has been added to the `` record. For a connection object, it contains `` objects that belong to the connection. - A new field, `subschematic`, has been added to the `` record. It contains toplevel multi-page `` of ``, thus allowing recursive access to low level subschematics. - A new field, `subschematic`, has been added to the `` record. It contains its parent ` record. - A new field, `port`, has been added to the `` record. The field contains port (`` record) for components being port components in subcircuits. - A new field, `net-maps`, has been added to the `` record. It provides info on net mapping for the component pins. - A new field, `named-connection`, has been added to the `` record, which contains the parent `` of a pin instance. - Fixed wrong usage of the *"netname="* attribute instead of *"net="* when the `netname-priority` config setting is set to false (`#f`), that is, when *"net="* should be preferred. - Fixed issue with output of wrong warnings about renaming nets with the same name (shorted to themselves). - Previously, the program used to exit with error if some source file was not readable or missing, even in the interactive mode. Now, `lepton-netlist` just reports such errors as critical without exit. - The module `(netlist page)` has been eliminated in favour of the `(lepton page)` module. All functions from the former have been moved to the latter. The procedure `filename->page()` has been renamed to `file->page()`. - The unused Scheme module `(netlist repl)` has been removed. - Netlist backends can now set the desired netlist mode by defining a `request-netlist-mode` function, which should return either `'geda` or `'spice`. `lepton-netlist` no longer relies on the backend's filename when setting the operation mode. - The `spice-sdb` backend has been fixed to generate SPICE `.MODEL` lines correctly. - The `--list-backends` command line option now has a short equivalent: `-b`. ### Changes in `lepton-archive`: - The initial Python script has been rewritten in Scheme. It was broken at least since 2007, when *system-gafrc* was refactored by removing `component-library` calls from it. It parsed that file for the "component-library" strings, but could not find and save any stock symbols. The new Scheme script has the following advantages: - It eliminates issues with Python versions incompatibilities due to moving in most distributions to the more recent versions. - The previous script could only expand one environment variable in a file name. Now all environment variables are expanded recursively in file names, the tilda prefix (**~**) is expanded, too. - OS specific file name separator is now supported. - The script replaces using of system utilites *cp*, *mv*, *rm* in most cases with appropriate Scheme procedures. - Instead of direct parsing of component lines in schematic files (**"C x y ..."**), which may be wrong in some cases, it uses info on internal schematic provided by `liblepton` modules. - The new script eliminates direct setting of any environment variables to the directory where `system-gafrc` should be placed, and parsing of the lines containing `component-library` and `component-library-search` in system rc files, as it is no longer required. - `gafrc` is now used instead of `gschemrc` as rc file to update; local project's `gafrc` is processed to get info on component libraries used in the project. `gafrc` in the resulting archive is changed in that to load symbols from its local cache directory. - Symbol and SPICE file cache directory name has been changed from `gschem-files` to `cache`. - The program can now collect and cache all symbols and subschematics in a hierarchical schematic, as well as subcircuits mentioned in the *"file="* attributes of components. - RC file listing files to be archived is no longer used. The file set by the option `--files-from` (`-f`) is used instead. The script copies all files mentioned in that file and in command line to the archive, including files not living in the project directory. - Lowercase archive name is now used by default: `project-archive.tar.gz` instead of `ProjectArchive.tar.gz`. It is to avoid issues with case sensitive filesystems. - The program options now have long equivalents, please see `lepton-archive --help` for more information. - The program now supports both absolute and relative source filenames (such as "*/tmp/simulation.cmd*") or using relative paths (like "*./*" or "*../*"). - Files missing in the source library are reported. - The output archive file name can be specified without the "*.tar.gz*" suffix. The users can just use `-o project-archive` to save their project to the *project-archive.tar.gz* file. ### Changes in `lepton-schlas`: - This utility has been rewritten in Scheme and renamed to `lepton-embed`. - Its functionality has been extended: it can now embed/unembed pictures (`-p`) or components (`-c`) only, and may be instructed to leave source files intact, saving its output to a separate files with a given suffix (`-x`). ### Changes in `lepton-cli`: - A new command line option has been added for the `export` command: `--paper-names` (`-P`). It displays a list of paper size names suitable for the `--paper` option. - The default paper size is now defined in the system configuration files: the `paper` configuration key in the `export` and `schematic.printing` (`gschem.printing`) groups is set to `iso_a4`. - `lepton-cli config` can now read and write configuration stored in the **cache** configuration context: a new command-line option `--cache` (`-c`) has been added. ### Changes in `lepton-tragesym`: - The initial Python script has been rewritten in Scheme. The program now does anything the previous version did, and more: - `liblepton` functions are now used to create objects instead of dealing with symbol text format directly. - Fixed calculation of symbol width so that pins always touch symbol box even if the user specified too little width in the template file. - Dealing with "spacer"s gives better results/notifications. - The man page of the program has been updated to provide information about the source file format. Please see *lepton-tragesym(1)* for more information. ### Changes in `lepton-schematic`: - Several `(gschem *)` modules have been renamed to `(schematic *)` ones. All the functions and variables available are still re-exported in the former ones but their using is discouraged. The following renames have been made: - `(gschem action)` => `(schematic action)` - `(gschem attrib)` => `(schematic attrib)` - `(gschem builtins)` => `(schematic builtins)` - `(gschem gschemdoc)` => `(schematic gschemdoc)` - `(gschem hook)` => `(schematic hook)` - `(gschem keymap)` => `(schematic keymap)` - `(gschem selection)` => `(schematic selection)` - `(gschem symbol check)` => `(schematic symbol check)` - `(gschem util)` => `(schematic util)` - `(gschem window)` => `(schematic window)` - The following modules were simply renamed without providing any backwards compatibility: - `(gschem core gettext)` => `(schematic core gettext)` - `(gschem repl)` => `(schematic repl)` - The following *core* (written in C) Scheme modules have been renamed: - `(gschem core attrib)` => `(schematic core attrib)` - `(gschem core builtins)` => `(schematic core builtins)` - `(gschem core hook)` => `(schematic core hook)` - `(gschem core keymap)` => `(schematic core keymap)` - `(gschem core selection)` => `(schematic core selection)` - `(gschem core util)` => `(schematic core util)` - `(gschem core window)` => `(schematic core window)` - Grips can now be turned on and off at run-time. Use the new 'Options → Grips: On/Off' menu item or O-I keyboard shortcut. - In the 'Select Component' dialog, it is now possible to copy names and values of attributes to clipboard. - In tabbed GUI, tabs can now be rearranged by dragging them with mouse. - A context menu with common actions (`New`, `Open`, `Save`, `Save As`, `Page Manager`, and `Close`) has been added to the active tab's header widget. - The main menu code has been refactored and changed so that the type of selected objects is taken into account. Thus, some menu entries are not sensitive in some cases where it is inappropriate. - If *Help* → *Find Component Documentation* cannot find any documentation, a message box is displayed. No backtrace, nor Guile errors are printed to the log window. - All the `gschemrc` options are now deprecated, the settings have been migrated to new configuration system (`*.conf` files). Use `lepton-cli config` to read and modify them. New options have the same names and possible values (use `true`/`false` for booleans instead of `"enabled"` and `"disabled"`). Please refer to the [Configuration Settings](https://github.com/lepton-eda/lepton-eda/wiki/Configuration-Settings) document ("Deprecated Settings") for more information. - In the `Save As` dialog, the filter field now shows file extensions (`.sch`, `.sym`). A file's extension in the `Name` box is updated when the filter is changed. - Tree view columns in the `Page Manager` window are now automatically resized. It helps when displayed paths are long: the `Changed` column becomes visible again when you uncheck the `Show full paths` checkbox. - The `file-preview` option (`[schematic.gui]` group) processing has been fixed. The user can turn the preview area in the `Open...` dialog on and off. - The user can now change the paper size and orientation in the `Print` dialog. The combo boxes with these settings used to be set to default values and disabled. - The context menu has been reorganized and updated. - Informational messages have been added to several lepton-schematic dialog boxes. - An "untitled" page can no longer be reverted (`Page → Revert`). This operation doesn't make sense for it and has been disabled. - A new configuration parameter has been added: `show-tooltips` in the `schematic.tabs` group (`boolean`, `true` by default). It enables or disables tooltips for tab header widgets in tabbed GUI. - The `Single Attribute Editor` dialog can now be accepted by pressing the `Enter` key when the `Name` field is focused. - The save font configuration dialog has been improved so now it shows the name of selected font and full path names for configuration files. - The files *lepton-gtkrc* are now read from the system and user configuration directories. They can be used to customize the appearance of the program. - Fixed crashes on printing via the menu 'File → Print...' on some systems. - Fixed segfaults when the locale set by environment variables was not installed. - Fixed issue of incorrect main menu creation if system configuration file is missing. ### Changes in `examples`: - Three new examples of analog simulation have been added. They reside in the directory *netlist/examples/analog/*. - `RF_Amp` and `TwoStageAmp` examples have been updated to make SPICE simulation work properly. - `gTAG` example scripts and configuration files have been fixed. - Several `README` files have been updated. - The obsolete Python script `bom` has been removed. -- Vladimir (λ)επτόν EDA — https://github.com/lepton-eda