www.delorie.com/archives/browse.cgi   search  
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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019