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]" 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 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.10.1 (2018-07-13) Reply-To: geda-user AT delorie DOT com We are pleased to announce Lepton EDA release 1.9.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, ``, has been added. It is now the basic record for using in the backends that work with components such as **spice** ones. - `` record now contains a new field, `packages`, containing the list of schematic *packages*, where any element of the list is a `` record. The `` 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 `` record has been renamed to `schematic-components` to more accurately reflect destination of the field. - Common `` structures for ``'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 `` record, inherited from the `` 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 `` 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 Control+x Control+v 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