Mail Archives: geda-user/2019/09/28/06:53:32
X-Authentication-Warning: | delorie.com: mail set sender to geda-user-bounces using -f
|
X-Recipient: | geda-user 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:subject:message-id:mail-followup-to:mime-version
|
| :content-disposition:content-transfer-encoding:user-agent;
|
| bh=mT6BuIklgh05q1jDePHlrdrdGZ5LZMW7Y5FzwuzaknQ=;
|
| b=Dtz2fXpW1+kaA9+X7CaX32r6y5r7J7MnrrvTeMbeELsW6sJPXCzJwKdn3HiAyYOkZ0
|
| 8+ZIfK9PAv95Xpm2cuwFrffPy7cQcmri6P6CfmRii6rH6jDDPXCvgRb4MAiZ5EZNIf4A
|
| 4B1BClynls4yCBFisCAixhs3s+gDx+s+2iD2+Pp3p2LEyMAEHepRVka6xkiHZItVHqC8
|
| zB5CJUL7N+eGG0437PP20W7W4E8AXvXWrkROMiN7+vSyQMeSFn0dknF/J/7347OohA6q
|
| z60HtkJhnFxnuA9hM2z/EnIccd4K3bGGfwHbsNwoydstfycPjoichdc6/k0rFOLB5npB
|
| X3Cg==
|
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:subject:message-id:mail-followup-to
|
| :mime-version:content-disposition:content-transfer-encoding
|
| :user-agent;
|
| bh=mT6BuIklgh05q1jDePHlrdrdGZ5LZMW7Y5FzwuzaknQ=;
|
| b=inabYonZovRmmrLClHUR7s2t/PTxzj1cSEjOUHMeKurXfg3AC6EIbQxR8b4BJOhQbK
|
| nXefxkFPYpSI6OhgKiqZMbDxwn4Z/nzkERVfBrr5e+T6t7s7/1v+I334kVgtDepgRc2/
|
| +O60mWmX4Lh2JU7wVCnhNNQaPSE8OTRHzOcLWDhxYBPpW9wu5azaiROWOowjQVlCCHs9
|
| hdj7lviMTLyxzHlAl0pBz+YONC1EkY+d5ab42ZZPdJrpB+/Ickg8Da3uiWuNUdvc4bB7
|
| tistUDDljklZIrIxrZFf/5Mruj/3J2M5QGDGqay8AT+8s1rVP1eYhpPuSz2sD+pJU+Af
|
| iMxQ==
|
X-Gm-Message-State: | APjAAAV6kzC+a73HirpiPApuRxZliv18wKeWUIkL8NemLaplWlAogJ/k
|
| RAlBF2Wx50keKBlm6ghMY/11uhcu
|
X-Google-Smtp-Source: | APXvYqzc+xxY4L8pa+TjYL/j6UQmw2EtUwcXenJTu3sWVEv1fQ1qaLczdGKW3qEc5MbckLC8ZkJTGQ==
|
X-Received: | by 2002:a2e:9a0c:: with SMTP id o12mr5787845lji.204.1569666706253;
|
| Sat, 28 Sep 2019 03:31:46 -0700 (PDT)
|
Date: | Sat, 28 Sep 2019 13:31:43 +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
|
Subject: | [geda-user] [Announcement] Lepton EDA 1.9.8
|
Message-ID: | <20190928103143.GA1296@newvzh.lokolhoz>
|
Mail-Followup-To: | geda-user 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.8.
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.8-20190928/lepton-eda-1.9.8.tar.gz
Here is the GPG detached signature[*]:
https://github.com/lepton-eda/lepton-eda/releases/download/1.9.8-20190928/lepton-eda-1.9.8.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.8.tar.gz.asc
Release changelog
-----------------
Over 300 PR's and issues have been closed and about 600 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 or reported bugs since
the previous lepton-eda release 1.9.7 (as found in the commit
history, issue tracker history, and other sources).
- Dominique Michel
- John P. Doty
- Karl Hammar
- Vladimir Zhbanov
- dmn (aka graahnul-grom)
Thank you all! And many thanks to dmn who made major GUI
improvements (and much more) available in this release!
Notable changes in Lepton EDA 1.9.8
-----------------------------------
### Breaking changes:
- The configure switch `--disable-gattrib` has been renamed to
`--disable-attrib`.
### General changes:
- A new configuration upgrade tool, `lepton-upcfg`, and C and
Scheme infrastructure for it have been added to simplify moving
to Lepton's new configuration system. The new tool is aimed to
convert legacy `geda*.conf` files into new `lepton*.conf` files
by importing and renaming the settings in them. For example, in
order to produce `lepton-user.conf` from `geda-user.conf`, the
user can use the command `lepton-upcfg --user`. Additionally,
the user can switch between using of legacy and new
configuration system using a new function,
`config-set-legacy-mode!()`, which may be set in some of Scheme
files loaded by the tools.
- The module `(geda library)` has been renamed to `(lepton library)`.
All the functions and variables available are still re-exported
in the former one but its using is discouraged.
- Warnings about deprecated and "dead" RC functions are now more
verbose, and contain link to Configuration Settings wiki page.
- Several clean-ups in the code and documentation have been made
in both libraries' and GUI tools' code, removed some unused
function arguments.
- A main category has been added into Lepton desktop
files. According to
https://specifications.freedesktop.org/menu-spec/latest/apa.html,
previously there was no valid main category in the desktop
files. The problem is that without a main category, it is not
possible to know for sure if a freedesktop compliant menu will
show the applications the desktop files were made up for. This
has been fixed by adding "Development" as main category for
Lepton. Two additional categories have been rearranged in order
"Electronics" to have priority over "Engineering".
- The following rc procedures are now exported in the module
`(lepton library)`:
- `component-library-command`
- `component-library-funcs`
- `component-library-search`
- `component-library`
- `reset-component-library`
- The following rc procedures are now exported in the module
`(geda deprecated)`:
- `always-promote-attributes`
- `attribute-promotion`
- `bitmap-directory`
- `bus-ripper-symname`
- `keep-invisible`
- `make-backup-files`
- `print-color-map`
- `promote-invisible`
- `scheme-directory`
- Symbols with duplicated names have been moved to separate folders:
- `share/lepton-eda/sym-gnetman`
- `share/lepton-eda/sym-verilog`
- `share/lepton-eda/sym-vhdl`
Now it's possible to use `gafrc` function `component-library-search`
with `share/lepton-eda/sym` without getting tons of warnings about
duplicated symbols in the log.
- System-wide configuration file, `lepton-system.conf`, has been
added to the distribution with default settings applicable for
most installations. Its legacy predecessor, `geda-system.conf`,
has been added as well for backwards compatibility.
- The location of log files has been changed to `$XDG_CACHE_HOME/lepton-eda/logs/`.
Previously they were stored in the user's configuration directory.
### Changes when building from source:
- Building of the tools with Guile 2.2 is now supported.
- Lepton now requires Glib 2.38.0 or later versions for build.
- It is now possible to accelerate the tools some parts of which
are written in Scheme when they are launched for the first time.
Previously, on first running much time would be spent on
compilation of Scheme code involved. The startup time can be
reduced if the code is compiled and installed in advance. To
make it work, a new `make` target, `precompile` has been added.
While the command `make precompile` can be used for local
builds, it could be much more convenient for end users if
package managers working on packaging Lepton for some
distributions "precompile" the code on the package building
stage. The technik of "precompilation" has been already
implemented to make packages for FreeBSD:
[FreeBSD port](https://github.com/graahnul-grom/freebsd-lepton-eda/tree/master/wip.pc)
and [binary package](http://graahnul.beget.tech/lepton-eda-pc/lepton-eda-1.9.7.txz)
made from it. In essence, it included two steps:
- A relevant section has been added to the port's
[`Makefile`](https://github.com/graahnul-grom/freebsd-lepton-eda/blob/master/wip.pc/Makefile), and
- The list of compiled files has been added to the port's [`pkg-plist`](https://github.com/graahnul-grom/freebsd-lepton-eda/blob/master/wip.pc/pkg-plist).
Package managers of other distributions could adopt this
technik. Please see discussion at #339 for more information.
- Fixed and improved *VPATH* (out-of-source) builds on some
systems. It used to be that Lepton did not install files from
the `docs/wiki/` subdirectory when the command `make install`
was used, because it was assumed that the directory contained
only regular files. This has been fixed by changing appropriate
Makefiles to search for symlinks as well.
- Build errors on FreeBSD 13.0-CURRENT on the link stage in the
`utils/gschlas/` directory have been fixed. In earlier FreeBSD
version Lepton EDA builds without errors. The issue happened to
appear due to changing of the default linker from GNU `ld` to
`ld.lld` from the `llvm` distribution.
- Fixed FreeBSD build errors on the `powerpc64` architecture with
base system compiler gcc-4.2: (FreeBSD bug report
[#239311](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239311)).
- Fixed build failures on Gentoo with gcc-8.2.0.
- Several C functions in `liblepton`, various Lepton tools,
contributed code (`olib`, `sarlacc_schem`, `convert_sym`,
`gmk_sym`) as well as PO-files have been fixed to avoid
compilation warnings and errors. Now `lepton-eda` compiles
without warnings with gcc/g++ on several platforms. Several
warnings reported by clang++/llvm have been fixed as well.
- The like changes as above have been done in the Scheme part of
code to prevent various compilation and deprecation warnings in
several modules and tools when compiled with guile-2.0 or
guile-2.2.
- LaTeX files are no longer generated by `make doxygen` since it
was reported that several Ubuntu versions do not do TRT when
building LaTeX documentation.
- **Doxygen** subsystem has been cleaned up to get rid of unused
files since the tools rewritten in Scheme are not covered by its
functionality any more.
- Fixed some portability issues in documentation building.
- Building of documentation no longer depends on the `fig2dev`
program. The dependency has been eliminated.
- **Gettext** translation subsystem has been changed for most of
the tools in that to avoid unintentional and unwanted updates of
their translation *PO* files when the tools are built from
sources.
- Now *Lepton EDA Scheme Reference Manual* in the `HTML` format is
built and installed with other files on `make && make install`.
A CSS file has been added to prettify the generated HTML pages.
- Some empty application-specific directories that previously
could not be removed after uninstalling all files by `make
uninstall` are now correctly deleted.
### Changes in `liblepton`:
- `liblepton` configuration C and Scheme API has been extended
with functions for removing configuration keys and groups.
- A new Scheme module, `(lepton file-system)`, has been added. It
exports functions that previously were global:
`regular-file?()`, `directory?()`, and `file-readable?()`. The
users may need to fix their scripts in which those functions
were used by adding corresponding `(use-modules ...)` line..
- A new Scheme module, `(lepton rc)`, has been added. It exports
functions and variables that previously were global: build-path,
`geda-data-path()`, `geda-rc-path()`, `path-sep()`,
`load-scheme-dir()`, and `load-rc-from-sys-config-dirs()`. The
users may need to fix their scripts in which those functions and
variables were used by adding corresponding `(use-modules ...)`
line.
- Fixed `'config-keys` unit test which previously did not work
correctly on some Ubuntu versions.
### Changes in `libleptonrenderer`:
- Default font name has been changed from `Arial` to `Sans`.
- Changes in path rendering:
- Previously, the library was not able to render zero line width
paths properly since the zero value for the line width field
in the path definition was interpreted as a request for
the default line width. Therefore the path objects were always
enlarged by some amount in size. Now, when line width of a
path is set to zero, the stroke is not rendered, thus allowing
drawing of filled figures without increasing their size by a
half of the line width, so the object sizes strongly
correspond to what the user wanted. No line is drawn when
exported with `lepton-cli export` command. In the
`lepton-schematic` GUI, 1 screen pixel line is used for
rendering zero line width path objects to provide visual
feedback to the user.
- Now, path objects can be rendered with different line cap
styles when the line width is non-zero. Previously, the
default `square` style was always used.
### Scheme API changes
- Three legacy rc procedures, `attribute-promotion`,
`promote-invisible`, and `keep-invisible`, have been adjusted to
return their boolean values if used with no arguments, instead
of just `#t`. This allows using the results in Scheme
plugins. The procedure `bitmap-directory` now returns its string
value if used with no arguments. If no value has been
previously set, it returns `#f`.
- A new hook, `open-page-hook`, has been added to the `(gschem
hook)` module. It allows to evaluate Scheme code when an
existing schematic page is loaded.
- New Scheme API functions for working with object selectable
status have been added to the `(geda object)` module:
`object-selectable?` and `set-object-selectable!`. Together
with page hooks they can allow to save locking status of
primitive objects without changing the current file format.
- The function `arc-end-angle` has been fixed so it now correctly
returns the end angle of an arc. Since its creation, it gave
improper results because it was a sibling of a C function
returning the sweep angle of an arc. A new function,
`arc-sweep-angle`, has been added to maintain that
functionality.
### Changes in `lepton-netlist`:
- A few improvements have been made in option processing:
- Getopt-long functions are no more directly used inside
netlister modules, so the modules can now be loaded in other
programs having other options. This affects unit testing and
`lepton-schematic` GUI, as in those cases another set of
options may be used.
- Processing of some options yielding lists when several of such
options are used, no more results in reversed lists.
- Processing of the `-c` option has been fixed so there is now
no errors when it used more than once.
- The option *-w* introduced in Lepton EDA 1.9.6 has been
removed. It was used to suppress warnings about missing
configuration files. This is no longer needed, since the
function `config-load!()` has been fixed to not complain if
those files are absent.
- A few improvements have been made in the SRFI-64 unit-test suite:
- There is no more limit for backtrace length if an error
occurs, the unit-test script uses default stack size which
makes debugging a bit more convenient.
- Backtrace output is now formatted properly without newline
mangling.
- Directories containing modules `lepton-netlist` depends on
have been added to the unit-test script load path. Modules
depending on `liblepton` and `symcheck` can now be used with
the script.
- A new record, `<schematic-component>`, has been added. It is now
the basic record for using in the backends that work with
components such as **spice** ones.
- `<schematic>` record now contains a new field, `packages`,
containing the list of schematic *packages*, where any element
of the list is a `<package>` record. The `<package>` records
now contain sets of components with same refdes. The field
*packages* is intended for use in backends working with
multi-slot packages, e.g. **PCB**.
- The `schematic-netlist` field of the `<schematic>` record has
been renamed to `schematic-components` to more accurately
reflect destination of the field.
- Common `<package>` structures for `<schematic-component>`'s with
default "refdes" attribute value are no longer
created. Component's "refdes" value is considered to be default
if the component has no attached "refdes", or its attached
"refdes" is the same as the inherited one and has the suffix
"?".
- A new module, `(netlist schematic-connection)`, has been added.
The module has to provide records and functions for working with
schematic connections, that is, directly or indirectly connected
groups of nets.
- The `composite` field in the `<schematic-component>` record,
inherited from the `<package>` structure, has been renamed to
`sources`. The field can be used to get source file names.
- The obsolete procedure `get-uref()` has been replaced with a
local procedure and its using is discouraged.
- A new module, `(netlist schematic toplevel)`, has been added. It
contains accessors for `<toplevel-schematic>` record which is
now obtained as a set of schematic files given on
**lepton-netlist** command line. The `toplevel-schematic`
variable has been replaced with same named procedure.
- Arguments for `make-toplevel-schematic()` are now filenames
instead of pages. This will allow reusing this function to
encapsulate subschematics in future.
- A new module, `(netlist deprecated)`, has been added to isolate
legacy code that is a subject for deprecation in the next stable
release.
- A new function, `set-netlist-option!`, has been added to the
`(netlist option)` module. It lets the users set arbitrary
default netlister option values when the netlister modules are
used by other tools, e.g., when they're loaded while working in
`lepton-schematic` GUI.
- A new module `(netlist page)` has been added. The new module
now contains an only procedure, `filename->page()`, which opens
a schematic page by filename. Depending on the form of its
call, it can return either an already opened page for a given
filename, or a new page, if the user so desires.
- Several issues related to hierarchical names have been fixed:
- Reverse order setting for refdes attribute no longer affects
netnames.
- Now netnames are formed using true reversed hierarchical name,
before they were formed from a string representing
hierarchical refdes and local netnames. Since the hierarchical
refdes string might be not reversed depending of the reverse
order setting for refdes, the resulting strings did not
reflect hierarchy correctly.
- For the same reason, the separator for the "net=" and
"netname=" attributes did not affected resulting net names,
which has been fixed as well.
- Removing of refdes mangling was previously possible only if
the refdes separator was "/". This has been fixed to support
other separators.
- The following fixes have been made in the VAMS example:
- Deprecated gnetlistrc settings have been replaced with new
configuration options.
- Wrong netlister name has been fixed.
- generate_netlist.scm has been moved to the example directory.
- The `vams` backend code has been fixed as follows:
- The code does no longer emit Scheme return values of
procedures, which previously mangled the output.
- The output of generic and port definitions is now going into
appropriate place.
- A list of attributes that cannot form generics does no longer
appear in the output. Two internal (or abstract) attributes,
`slot=` and `net=`, are no longer used in forming VHDL generic
maps, since they are intended for internal use by netlister
itself.
- The `allegro` backend has been refactored so obsolete procedures
are no longer used in it.
- Two obsolete scripts written in **sh** and **awk**,
`annotate.sh` and `unannotate.sh`, have been removed from the
distribution.
- Three **sh** scripts, `bompp.sh`, `bom_xref.sh`, and
`sch2eaglepos.sh`, have been moved to the *contrib/* directory.
- The directory *netlist/utils/* and an only pretty much obsolete
utility, `mk_verilog_syms`, contained in it, have been removed
from the distribution. The script was used to initially create
*verilog* symbols, and output symbols in obsolete format with
limited set of pin attributes. By now, initially created verilog
symbols have been modified in various ways, including manual
intervention and generating the symbols with some new version of
the program that did not however go to the repository, so the
removing is safe.
- Netlister backends and associated files have been moved to a new
subdirectory `share/lepton-eda/scheme/backend`.
- An arbitrary backend file can be loaded by specifying its path
via the new `-f` command line switch to `lepton-netlist`.
The file should be named like `gnet-NAME.scm`, where `NAME` is the
backend's name. It's useful for testing new and 3rd party
backends, as well as running backends from different
installation paths.
### Changes in `lepton-schematic`:
- The command line option *-p* has been removed. It was used to
automatically place the main window with some default widget
sizes.
- Several configuration settings have been changed to ensure
reasonable default values:
- The **rubber band** mode and **magnetic net** mode status bar
indicators are now shown by default
(`schematic.status-bar::show-rubber-band=true`,
`schematic.status-bar::show-magnetic-net=true`).
- The tabbed GUI is enabled (`schematic.gui::use-tabs=true`).
- Monospace font is used in the log window
(`schematic.log-window::font=Monospace 11`).
- Monospace font is used in the macro widget entry
(`schematic.macro-widget::font=Monospace 11`).
- The attribute attachment code has been rewritten in Scheme,
changed and fixed in several ways:
- Now attributes can be attached to any non-text objects.
- Only visible attributes can be now attached.
- If attributes are already attached or no attribute is
selected, no action is undertaken.
- Information about successful attachment is now printed to the
log.
- Successfully attached attributes and the object they are
attached to are deselected after the attachment operation.
- The attribute detachment behaviour has been changed. Before,
attributes of selected objects (visible and invisible, selected
or not) were all unconditionally stripped. The detachment code
has been rewritten in Scheme, changed and fixed in several ways:
- Now only selected visible attributes are detached from their
respective parent objects.
- There is no need to select parent objects in order to detach
their attributes any more.
- The info about successfully detached attributes is now output to
the log.
- If there is no selection, the selected attributes are not
attached to any object, or selection does not include any
attributes, nothing is undertaken.
- Just detached attributes get unselected and their color is
changed to the color of detached attributes.
- Several improvements/fixes with regard to locking/unlocking of
components and their attributes have been introduced:
- Previously, when a component was locked, its attributes were
also locked, but they changed the locking status after saving
and reopening of schematic. Now, they become locked along
with the component they're attached to.
- Previously, toggling of locking status of a component and its
attributes required selecting them all to do it properly.
Otherwise, the locking status of not selected attributes would
not change. Now, it is sufficient to select only the
component to lock or unlock it together with the attributes,
without having to additionally select them.
- The action 'File → Save All' and processing of "untitled"
schematics have been improved:
- It used to be that on saving all files, all opened pages were
silently saved, even if there were new "untitled" pages among
them, that is, the pages newly created under the default file
name and not yet saved to disk. Now such files are skipped
from saving.
- When constructing file name for a new "untitled" page, the
names of already opened files and existing files in the current
directory are taken into account. These names are not reused
to prevent possible consequent data loss. The skipped names
are printed to the log.
- A message indicating the result of the "save all" operation is
now shown in the status bar.
- If tabbed GUI is enabled in configuration, the header of each
tab widget correctly updates to reflect the status of its
page, if it is saved or not.
- "Save As" dialog box is now opened for new "untitled" pages on
the "save all" operation, prompting the user to save them.
- In the 'Edit Attributes' dialog, it is now possible to copy names
and values of inherited attributes to clipboard. The feature was
first requested on *launchpad* in
[#1405314](https://bugs.launchpad.net/geda/+bug/1405314).
- Distinct parts of the `system-gschemrc` configuration file are
moved to separate files under the `conf/schematic/` subdirectory
to simplify dealing with certain aspects of `lepton-schematic`
behaviour and searching for appropriate settings. The new files
are loaded from `system-gschemrc`:
- `attribs.scm`
- `deprecated.scm`
- `keys.scm`
- `menu.scm`
- `options.scm`
- `stroke.scm`
- The following Scheme functions are now deprecated and do nothing:
- `gschem-image`
- `gschem-pdf`
- `gschem-use-rc-values`
- Several `gschemrc` settings has been changed as follows:
- `add-attribute-offset` is now deprecated and does nothing.
- `image-color` is now deprecated and does nothing.
- `image-size` is now deprecated and does nothing.
- `logging-destination` is now deprecated and does nothing.
- `log-window-type` is now deprecated and does nothing.
- `raise-dialog-boxes-on-exp` is now deprecated and does nothing.
- `window-size` is now deprecated and does nothing.
- `warp-cursor` is now "disabled" by default.
- `fast-mousepan` is now "disabled" by default.
- `log-window` is now "later" by default.
- `undo-levels` is now "20" by default.
- `undo-panzoom` is now "disabled" by default.
- The `sys-doc-dir()` function code in the module `(gschem
gschemdoc)` module responsible for searching for system
documentation directories has been known to fail in some
circumstances when it tried to guess where the documentation
files are installed. The guess-work has been eliminated by using
fixed compile-time variables in the code.
- The geometry (size and position) of `lepton-schematic`'s main
window can now be stored in the **cache** configuration context,
in the `schematic.window-geometry` group. The geometry is saved
on exit and restored on startup if the (new)
`[schematic.gui]::restore-window-geometry` configuration key is
set to `true` (which is so by default).
- The **macro widget** has been improved in several ways:
- A new configuration group, `schematic.macro-widget`, has been
added for setting up the properties of the widget.
- The history of Scheme expressions executed via the `:` prompt
is now saved in the configuration file in the *cache*
configuration context (usually
`$XDG_CACHE_HOME/lepton-eda/gui.conf`). The commands are
stored in the `history` key and can be accessed by choosing
appropriate items from drop-down list in the macro widget. The
history length is set in the `history-length` configuration
key in the `schematic.macro-widget` group in the *user*
configuration context. The default value is 10.
- The macro widget now supports auto-completion of text.
- A new configuration key, `font`, in the
`schematic.macro-widget` group in the *user* configuration
context can now be used for setting up the font of the widget.
- As a side effect of refactoring of the widget, the program no
longer crashes on evaluating of the command `(file-quit)` in
the prompt.
- New accelerator keys have been added to facilitate keyboard
navigation in the following dialogs:
- `Single Attribute Editor`
- `Edit Attributes`
- `Select Component`
- `Add Text`
- `Edit Text`
- `Object Properties`
- `Options`
- `Arc Params`
- The log window can now be cleared by choosing "Clear Log Window"
menu item in the context menu. The user can cancel the action
in the confirmation dialog.
- Long lines in the log window can now be wrapped by clicking the
"Wrap Long Lines" menu item in the log window's context menu.
- Schematic page filename and more verbose information is now
displayed in the page revert dialog.
- If you select 'Print to File' option in the print dialog, the
output PDF file name is now derived from the name of the current
page instead of previous default name "output.pdf".
- File filters in the dialog boxes 'Open...' and 'Save As...' now
keep their last chosen values while the program is running.
Previously, the filters were always set to choosing schematic
files when the user opened the dialogs.
- Wrong behaviour of the program when the value of **draw-grips**
is set to "disabled" in `gschemrc` has been fixed, so now this
setting prohibits drawing grips of selected objects still
allowing the user to resize them.
- A new menu allowing exporting of netlists has been added to the
program. As of now, the only item in the menu allows exporting
of `allegro` netlists. Messages about processing are sent to log
to provide the user with some feedback information in the log
window.
- Fixed segmentation faults in the `always-promote-attributes` rc
function (called from the `gafrc` configuration file) when used
with improper arguments.
- Avoided GTK warnings on output of some message strings to the
status bar containing characters which are treated specially by
GTK, such as '<' and '>'.
- Page "changed" indicator is now shown in the tab headers as
well: the file name shown is output in bolder font and an
asterisk is added to emphasize that the file has been changed.
- Fixed font preview in the font selection dialog. Previously, if
a custom font name was specified in the configuration key `font`
in the `schematic.gui` configuration group, the text became
invisible in the preview widget of the dialog, because the
"Size" field was always initially set to zero. This has been
fixed by setting the initial font size to non-zero value.
- Fixed page "changed" status indication. Previously, after
successful *Edit* → *Embed* and *Edit* → *Unembed* operations
the "changed" status of the page would not reflect in the page
manager and in the window's title. Now, both are correctly
updated so that the status is visible to the user.
- Page manager visual appearance has been improved in several ways:
- When working on hierarchical schematics, full schematic paths
used to clutter the view most of the time. Now they can be
shown at any time or hidden away by checking the "Show full
paths" checkbox. By default, they are hidden. The state of
the "Show full paths" checkbox is stored in the
`show-full-paths` key of the `schematic.page-manager` group in
the **cache** configuration context.
- Minimal "Filename" column width has been reduced.
- Scrollbars are now shown only when needed.
- Superfluous "Right click on the filename for more options..."
label has been removed.
- The "Update" button has been removed from the page manager
dialog, and a similar item has been added to the context menu.
- Fixed a broken output of translated strings to the log when the
program is compiled using guile-2.2. It is a [known
issue](https://lists.gnu.org/archive/html/bug-guile/2017-01/msg00020.htm)
in guile-2.2. The function `scm_puts()` broke translated
Unicode strings and output them as sets of bytes. Their further
transformation by gtk functions resulted in unreadable text in
the log window.
- Fixed segfaults triggered on some systems by the sequence
<kbd>Control</kbd>+<kbd>x</kbd> <kbd>Control</kbd>+<kbd>v</kbd>
when a component was selected.
- Fixed errors triggered by the function `file-quit` on startup,
for example, using the following command: `lepton-schematic -c
'(file-quit)'`.
- Fixed a bug of searching for `gschem-gtkrc` in wrong system
config directories.
- The file `gschem.scm`, that defined some previously global
Scheme functions, has been transformed into two modules —
`(schematic gui keymap)` and `(schematic gui strokes)`. While
this simplifies Lepton code a little and eliminates a
superfluous step of loading the file with auxiliary functions,
the functions are no more global, so the users may have to fix
up their extensions, if they want to use those functions, by
making sure the necessary modules are loaded within them.
- Exceptions in the (gschem gschemdoc) module are now catched and
reported to the user in a message box.
- The menu item *Help* → *Find Component Documentation* is now
sensitive only if a component is selected, providing the user
with a useful feedback.
- The action `&repeat-last-action` (the /repeat/ key *.*) has been
improved, so it now does as following:
- It now displays a log message when there is no last action to
repeat rather than warning about an invalid action.
- If an invalid action is requested, instead of using the Scheme
function `error()` to report the failure, it just prints a
warning to the log.
- Deprecated export scripts `image.scm`, `print.scm` and the
`--output` command line option have been removed. Schematics can
be exported by using `lepton-cli export` or via the 'File →
Write Image...' dialog box.
- Current schematic's full file path can be shown in the main window's
title if the `title-show-path` configuration key (boolean) in the
`schematic.gui` group is set to `true`.
- Close confirmation dialog has been improved:
- It can be resized.
- "Show full paths" checkbox has been added.
- The `Write Image...` dialog box has been improved as follows:
- Image color mode can now be selected (greyscale or color).
- 1024x768 has been added to the list of image sizes.
- Selected directory, image size, image type and color mode
are saved and restored when this dialog is opened next time.
- New names are now used for temporary files created by undo
subsystem in `$TMP`: `lepton-schematic.save*` instead of
`gschem.save*`.
### Changes in `lepton-attrib`:
- The program no longer loads `gattribrc` files since for many
years they provided no useful settings for the user. Previously
available Scheme functions `quit()`, `exit()`, and
`gattrib-version()` have been removed as well.
- Separate menu description *XML* file has been removed. Now the
menu structure is defined in the source code only.
- The size and position of the main window is now saved in the
**cache** configuration context, in the group
`attrib.window-geometry`, and restored on launching of the
program.
### Changes in `lepton-symcheck`:
- The program no longer requires specifying any file name when
interactive mode is requested, which may be convenient, for
example, for debugging its functions.
- A simple error is output instead of Scheme backtrace when
neither interactive mode nor input files are specified on
command line.
### Changes in `lepton-cli`:
- Default font name for the `export` command has been changed from
`Arial` to `Sans` (`export::font=Sans`).
### Changes in `lepton-schlas`:
- The program no longer loads `system-gschlasrc` since for many
years it provided no useful settings for the user. Previously
available Scheme functions `quit()`, `exit()`, and
`gschlas-version()` have been removed as well.
### Changes in `lepton-schdiff`:
- Default font name has been changed from `Arial` to `Sans`.
### Changes in `gmk_sym`:
- Non-working `-d` (debug) option has been removed.
--
Vladimir
(λ)επτόν EDA — https://github.com/lepton-eda
- Raw text -