Mail Archives: geda-user/2020/03/19/13:29:56
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]" <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
|
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. `<pin-net>`
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<?` is chosen then.
- The sequence numbers of unconnected pins and unnamed nets have
been reduced due to removing of internal ones from the
sequence.
- During netlisting, page contents is filtered once to make
connections.
- Hierarchical names are now used for subschematics.
- A new field, `parent`, has been added to the
`<schematic-component>` record to get hierarchical data. For a
component, it contains the link to the `<subschematic>` instance
the component belongs to.
- The `<schematic-connection>` record now also contains a new
field, `parent`. For a connection, it contains the link to the
`<subschematic>` instance the connection belongs to.
- The `<subschematic>` record now also contains a new field,
`parent`. It contains the component the `<subschematic>`
belongs to, if any.
- The unused `sources` field has been removed from the `<package>`
record.
- The unused `tag` field has been removed from the `<package>`
record.
- The <package-pin> record now contains a new field,
`port-connection`, which holds a hierarchical
`<schematic-connection>` 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, `<schematic-port>`, 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, `<subschematic>`, which extends
`<#geda-page>` internal C structure and contains various netlist
related fields.
- The `<package-pin>` 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
`<schematic-connection>` record. For a connection object, it
contains `<package-pin>` objects that belong to the connection.
- A new field, `subschematic`, has been added to the `<schematic>`
record. It contains toplevel multi-page `<subschematic>` of
`<schematic>`, thus allowing recursive access to low level
subschematics.
- A new field, `subschematic`, has been added to the
`<schematic-component>` record. It contains its parent
`<subschematic> record.
- A new field, `port`, has been added to the
`<schematic-component>` record. The field contains port
(`<schematic-port>` record) for components being port components
in subcircuits.
- A new field, `net-maps`, has been added to the
`<schematic-component>` record. It provides info on net mapping
for the component pins.
- A new field, `named-connection`, has been added to the
`<package-pin>` record, which contains the parent
`<named-connection>` 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
<kbd>O</kbd>-<kbd>I</kbd> 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
- Raw text -