0.27.5 (2021-11-14):
* Enhancements: Better support for execution (also cross-interpreter) of macro code from scripts
- New methods for the Macro class like "run" and loading from file
- New class Interpreter for accessing Ruby interpreter state from Python and vice versa
* Enhancement: New DRC function "enclosed" as the reverse of "enclosing"
- Allows using the rectangle filters with "via enclosed by metal"
- Usually better performance than "metal enclosing via"
* Enhancements: Usability
- Navigation in the 2.5d view
- "tap" function shows layer names and details from layer view
- Documentation about layer views
* Enhancement: CentOS7 RPM's use Python 3 now
* Enhancement: Sending custom query shape objects to RDB produces shape markers now
* Enhancement: New method LayoutView#is_editable?
* Enhancement: %GITHUB%/issues/879 PCellDeclaration#layout and Layout#library ownership links
* Bugfix: %GITHUB%/issues/918 Editor options tab window too big
* Bugfix: %GITHUB%/issues/920 Fill tool border parameter sign issue
* Bugfix: %GITHUB%/issues/921 BJT3 extraction with collector shape fixed
* Bugfix: %GITHUB%/issues/933 QMessageLogger methods safe now with "%" characters
* Bugfix: %GITHUB%/issues/935 Cell#insert (of cell instances) now checks their cell indexes
0.27.4 (2021-09-25):
* Enhancements: Some enhancements on the 2.5d view (e.g. live layer color update, z only scaling, wire frames, etc.)
* Enhancement: simple versions of DRC with_holes/without_holes without parameters
* Enhancement: LVS netlist compare performance improvements in certain cases
* Enhancement: %GITHUB%/issues/914 Make "tap" function available in reader mode
* Bugfix: %GITHUB%/issues/912 Decent error message (not crashing) when trying to create a cell or layer on an empty panel
* Bugfix: %GITHUB%/issues/909 DRC crash
* Bugfix: %GITHUB%/issues/905 Crash when deleting a hierarchical PCell library from Python
* Bugfix: %GITHUB%/issues/898 Spice reader ignores last line
* Bugfix: %GITHUB%/issues/897 Fill Tool crashes
* Bugfix: %GITHUB%/issues/894 border case GDS file behavior restored
* Bugfix: %GITHUB%/issues/892 Font path can be selected for standalone "Basic" library
* Bugfix: %GITHUB%/issues/886 Python module does not build from sources
* Bugfix: %GITHUB%/issues/881 Typo in separation_check signature
* Bugfix: %GITHUB%/issues/880 Clarification of device parameter compare on LVS
0.27.3 (2021-07-23):
* Enhancement: DRC - more filters for edge pair collections
As there are now: with(out)_area and with(out)_internal_angle
* Bugfix: %GITHUB%/issues/846 Crash in netlist browser
* Bugfix: %github%/issues/851 KLayout stalls in net browser net
highlighting when net shapes contain texts
* Bugfix: %GITHUB%/issues/854 Resistor Device extractor extracts W and
L 2 times too large
* Bugfix: %GITHUB%/issues/856 LVS: Resistor with bulk: bulk terminal
swaps with A terminal
* Bugfix: %GITHUB%/issues/858 "+" line continuation in Spice reader
only effective when at beginning of line
* Bugfix: %GITHUB%/issues/859 Technology was not assigned on new
layout
* Bugfix: %GITHUB%/issues/864 Shapes#copy_shapes does not support
undo/redo
* Bugfix: %GITHUB%/issues/866 Probe net not working for floating
subcircuits in hierarchical net tracer
* Bugfix: %GITHUB%/issues/867 Macro editor freeze after search next
* Bugfix: %GITHUB%/issues/871 Application stalls with 'draw only
border instances' mode with AREFs
* Bugfix: %GITHUB%/issues/875 Drawing glitch
* Enhancement: LVS features
- "extract_devices" returns the device class object
- Device class object can be used to enable parameters (make them primary)
- Spice writer delegate enabled in LVS for customization of output
- "blank_circuit" specifies circuits as black boxes and skips compare
- Better propagation of symmetric nets through swappable pins
- "tolerance" and "join_symmetric_nets" can be used anywhere in the
LVS script now
- "same_nets!" (with exclamation mark) for strong matching of nets
- "same_nets" accepts glob pattern now
* Enhancements: RBA/pya
- Device#net_for_terminal with terminal name
- Circuit#nets_by_name with glob pattern
- Netlist#is_case_sensitive?, Netlist#case_sensitive=
- Netlist#nets_by_name to get nets from pattern
- CellView#context_trans and CellView#context_dtrans
* Enhancement: Ruby 3.0 basic enabling
* Enhancement: DRC "extent" accepts a cell name pattern now to deliver
cell bounding boxes
* Bugfix: reverted change of #796 DXF version is back to AC1006 which
seems to be more compatible with most consumers of DXF
files. Using 1016 AC1014 seems to require much more meta
information I cannot provide without deeper insight into the
DXF structure.
0.27 (2021-05-02):
* Enhancements: Numerous new functions for the RBA and pya API
Some highlights:
* "Texts" for text collections (similar for Edges/EdgePairs/Region)
* New modes for blending layout files - see GitHub issue #666
* New function Cell#transform - see GitHub issue #598
* New functions for Image (read, write, clear)
* New functions for Region and Edges correlating with the new DRC features
* Multi-cell hierarchical copy/move of trees - will maintain shared instances
* RBA: iterators are now automatically made available as Enumerable
* All functions having a void return specification now return self (allows chaining)
* More functions for manipulating selections (LayoutView#select_all etc.)
* Spline interpolation code available in new "Utils" namespace
* QByteArray support, mapping to Python byte arrays
* MainWindow#set_key_bindings, MainWindow#get_key_bindings, MainWindow#set_menu_items_hidden etc.
* New class RecursiveInstanceIterator (similar to RecursiveShapeIterator, but acts on instances)
* Deep vs. flat operations do not always flatten out now (flat vs. deep does however)
* Global transformations for inputs
* Enhancements: New DRC features
Some highlights:
* Better support for texts - "text layers"
* Combined AND+NOT feature for separating regions into inside and outside part
* "max_vertex_count" and "max_area_ratio" configuration options
* "forget" for memory optimization
* Shielding is optional now for some DRC functions
* "interact" now has a count filter
* In verbose more, figure counts and more information is printed
* Generic DRC function and complex DRC operations: for details search "Universal DRC" in documentation
* "not_opposite" and "rect_filter" options for some DRC functions
* "enclosing" (selects polygons entirely enclosing others)
* New filters for polygons: squares, non_squares, area ratio, bbox aspect ratio
* More intuitive specification of projection limits ("projecting < 2.um")
* "with_holes" and "without_holes", also with count
* Density check is included now ("with_densitiy", "without_density")
* "split_..." functions give interacting/non-interacting sets in one step
* Better support for generic transformations as Matrix2d and Matrix3d
* "fill" and "fill_with_left" functions for dummy fill
* NO "connected" feature yet. Sorry. Had to drop it to finish this release.
* Enhancements: new LVS features
Some highlights:
* Improved netlist and LVS result browser (infinite-depth browsing)
* Improved circuit match algorithm
* Case insensitive handling of object names for SPICE netlists
* Probe feature fixed in flat mode
* "connect_explicit": for details search "connect_explicit" in documentation
* Enhancements: New features for images
Some highlights:
* New menu item: show and hide all images - see GitHub issue #535
* False color nodes now can have a left and right color allowing color steps
* Persistance of images through a special file format: "lyimg" (XML based)
* Enhancements: LEF/DEF reader
Some highlights:
* Support for layer map files
* More complete spec support (e.g. FILL, MASK, FOREIGN, DO/BY/STEP ...)
* Several bug fixes, e.g. routing layer switch for VIAs
* Some functions also act on the transient selection (less mouse clicks)
* Enhancements: Layout editing and rulers
Some highlights:
* Object properties now are changed without having to commit the dialogs
* Dockable editor options windows
* "Recently used" list
* A "distribute objects" feature (Edit/Selection/Distribute)
* Snap highlighting
* Mouse tracking cursor indicates grid- and object-snapped location
* Enhancements: Help browser
* Bookmarks
* Search in page (Ctrl+F)
* Enhancement: Improved fill tool
The fill tool now also supports skewed fill pattern repetitions
* Enhancement: Ability to utilize a LayoutView as a Widget
Standalone instantiation of a LayoutView object is
supported now. So it becomes possible to create
custom MainWindow UIs and embed a layout view there.
* Enhancement: Improved layer and cell list filtering and searching
* Enhancement: Experimental 3d (called 2.5d) view of layout
For details search "2.5d View" in documentation.
* Enhancement: Improved performance on sea of instances for OASIS files
Iterated OASIS instances are stored and handled in a leaner way in viewer mode
* Enhancement: Buddy scripts can concatenate files with "+" for input
Concatenation happens by "blending files". Beware of the risk this implies.
A new option "--blend-mode" has been introduced for supporting overwrite, skip
and variant formation in case of cell name conflicts. See buddy script help.
* Enhancement: Layer maps now support n:m layer mapping
This allows mapping n input layers to one logical layer (merging) and also
one input layer to m logical ones (clone layer). This applies to the
buddy scripts and layer maps inside KLayout's reader.
* Enhancement: include mechanism for easy include of files into DRC/LVS scripts
This is a plain text substitution feature. Don't use it for Ruby or Python
scripts (the preferred way is still require/import). But it's a quick way
to include partial DRC and LVS scripts without having to worry about variable
scope. For details see "Including other files" in the documentation under:
KLayout User Manual/Design Rule Check (DRC)/DRC Runsets.
* Bugfix: %GITHUB%/issues/771
Fixed an issue with QByteArray/QVariant transformation in Qt binding
* Bugfix: %GITHUB%/issues/750
PCB gerber import: Incorrect handling of D02 operations.
* Bugfix: %GITHUB%/issues/747
Proper handling of comments in RVE DB reader
* Bugfix: %GITHUB%/issues/740
Bug in the "smooth" function.
* Enhancement: %GITHUB%/issues/715
A separate search range can be specified for box selections now
* Enhancement: %GITHUB%/issues/691
Technology specific libraries: library name resolution based on technology.
* Enhancement: %GITHUB%/issues/666
Controlling the way a layout reader integrates cells into an existing layout.
* Bugfix: %GITHUB%/issues/663
Deep mode DRC: separation from "inside" gives wrong errors.
* Enhancement: %GITHUB%/issues/648
LVS could not do "connect_implicit" with global nets.
* Bugfix: %GITHUB%/issues/609
Internal error on net extraction.
* Enhancement: %GITHUB%/issues/598
Plain transformation of cell missing.
* Enhancement: %GITHUB%/issues/588
RBA/PYA: Provide event when a net is selected in the netlist browser.
* Enhancement: %GITHUB%/issues/563
True support for text objects in DRC/LVS (text layers).
* Enhancement: %GITHUB%/issues/558
Edges#extents, Texts#extents and EdgePairs#extents now
work hierarchically in deep mode. In DRC, this means,
"extents" is a deep-enabled method now.
* Enhancement: %GITHUB%/issues/535
Image handling enhancements.
* Enhancement: %GITHUB%/issues/521
Enhanced API for ObjectInstPath.
* Enhancement: %GITHUB%/issues/487
Difficult to select specific labels for net name assignment in net extraction.
Solution involves a more elaborate handling of texts through "text layers.
0.26.12 (2021-04-21):
* Bugfix: %GITHUB%/issues/747
Result browser gives error message with // lines in RVE files
* Bugfix: %GITHUB%/issues/771
Problem with QMimeData binding
(0.27.0 is again, waiting)
0.26.11 (2021-02-27):
* Bugfix: %GITHUB%/issues/733
Relative path resolution in session files fails when the session file's path contains
"+" characters
* Enhancement: %GITHUB%/issues/730
Support of class 'QUiLoader' in PYA and RBA
* Bugfix: %GITHUB%/issues/728
Fails to build on Debian hppa: uses non-standard sa_restorer field of struct sigaction
* Bugfix: %GITHUB%/issues/726
Crash on LayoutView#clear_selection on Linux.
* Bugfix: %GITHUB%/issues/723
Backup scheme wasn't working correctly with a single file without path
given as command line argument.
Based on wip/klayout (a little bit old version) by Atzushi Toyokura work.
(pkgsrc)
- rename patch
- Add comment on patches
- more PLIST_SUBST
(upstream changes)
0.26.10 (2020-02-02):
* Enhancement: %GITHUB%/issues/720
"Safe save" and backups: when saving files, the file is only overwritten after
the save terminated successfully. This will avoid loss of data for full volumes
or network share dropouts. In addition, a configurable number of back files can
be kept (see File/Setup: Application/General).
* Bugfix: %GITHUB%/issues/718
GDS export issue fixed (breaking of polygons was filling holes)
* Bugfix: %GITHUB%/issues/709
LVS compare enters infinite loop when it encounters two entirely identical subcircuits
* Bugfix: %GITHUB%/issues/708
Qt binding: missing support for binary strings as QByteArray representative
* Bugfix: %GITHUB%/issues/707
QJsonValue's string constructor is ambiguous
* Bugfix: %GITHUB%/issues/704
Rational Splines not supported DXF
* Bugfix: %GITHUB%/issues/693
MAGIC files won't find subcells when reading from command line
* Bugfix: HTTP stream reading issue with redirect
At least on MacOS a segfault happened when reading HTTP stream data
(e.g. for package manager) from addresses which are redirected.
* Enhancement: Removed %APPDATA% from DLL search path on Windows
This will avoid installation poisoning by the one from %APPDATA%
(which ironically is the default installation path). Eventually
multiple versions can be used in parallel.
0.26.9 (2020-11-27):
* Bugfix: %GITHUB%/issues/658
Menu items were not put into the right place on MacOS.
* Bugfix: %GITHUB%/issues/652
"M" factor scaling was not working for Spice reader.
* Bugfix: %GITHUB%/issues/651
Fixed an issue with DRC "select".
* Bugfix: %GITHUB%/issues/647
Text orientation was not considered properly in search & replace
* Bugfix: %GITHUB%/issues/646
A potential crash was fixed happening when a PCell
library is deleted
* Bugfix: Display bug
Cell placements with small magnification factors (such that the
viewport dimensions exceeded the DBU space when seem from inside
the cell) lead to display errors.
Previous PKGREVISION did not install plugins, so that reading file may give
unsupportted format error etc. Installing more files now. Because of this
the directory is now under ${PREFIX}/lib/klayout/. The error was originally
reported from Atsushi Toyokura by personal communication, thanks.
(The problem was since 26.*, probably), PKGREVISION++.
0.26.8 (2020-09-15):
* Enhancement: %GITHUB%/issues/639
A new method is available which enables copying of multiple cells
into a target layout while maintaining common subcells are single
cells.
* Bugfix: %GITHUB%/issues/637
Points have not been selected properly when inside mirrored subcells
in partial edit mode.
* Bugfix: %GITHUB%/issues/629
Qt5 QTimer timeout signal was not available to Python or Ruby.
This also applied to all "private" signals of Qt5. QTimer is just
one important example for this case.
* Bugfix: %GITHUB%/issues/617
A problem with pseudo-const Python/Ruby objects in the netlist API
was fixed.
* Bugfix: %GITHUB%/issues/615
Basic authentication for package manager now uses UTF-8 encoding.
Most servers expect this kind of encoding today. UTF password
characters are supported this way.
0.26.7 (2020-07-07):
* Bugfix: %GITHUB%/issues/381 and more
Some bugs fixed that happened specifically on MacOS.
1.) A segfault that happened in LVS
2.) Some classes were not properly registered for usage in scripts.
* Bugfix: %GITHUB%/issues/493
LVS asserted on MacOS
* Enhancement: %GITHUB%/issues/586
As a safety feature, the stream writers now refuse to write layouts
with cells carrying the same names. Writing such layers would result
in corrupted or invalid layout files.
* Bugfix: %GITHUB%/issues/589 (tentative)
On Anaconda-based builds for MacOS 10.15 (Catalina) a loss of instances
was observed. This could be traced down to compiler/library incompatibilities
but not further.
* Enhancements: %GITHUB%/issues/591
Two enhancements in the macro editor:
1.) A crash happening when adding a new location was fixed
2.) The template selection popup can now be disabled by dismissing the
tip dialog.
* Bugfix: %GITHUB%/issues/592
Reading a file into a layout with unnamed layers caused problems with
layer mapping specs.
* Bugfix: %GITHUB%/issues/596
Library#_destroy was crashing the application. As this function must not
be called, it's rerouted to "nothing" for backward compatibility.
* Enhancement: %GITHUB%/issues/603
The "adjust origin" feature now allows specifying the target
coordinates for the adjustment.
* Bugfix: %GITHUB%/issues/610
An internal error happened for certain hierarchical configurations on
netlist extraction.
* Enhancement: LVS netlist compare
The algorithm was improved to provide better reproducibility. The
detection of matching paths in the presence of ambiguities was
improved.
In addition, the netlist compare now favours net names for resolving
ambiguities. So if nets are named the same in the layout and the
schematic, ambiguities are resolved based on these names. This is
usually more efficient. A new function is available to turn this
feature off: "consider_net_names(false)".
0.26.6 (2020-06-05):
* Enhancement: %GITHUB%/issues/522
Skip comment lines with // in RVE DB reader
* Bugfix: %GITHUB%/issues/547
Doc fixes, better error messages on some Shape methods
* Bugfix: %GITHUB%/issues/555
Using 64bit coordinates on RVE reader to avoid overflow
* Bugfix: %GITHUB%/issues/565
Spice reader: .global should not add pin if the signal
isn't used in a subcircuit
* Bugfix: %GITHUB%/issues/568 and %GITHUB%/issues/578
A CIF reader and writer bug was fixed
* Bugfix: %GITHUB%/issues/570 and %GITHUB%/issues/579
Perimenter can be included in antenna area for the
antenna check. This also includes a mode in which only
the perimeter is considered.
* Enhancement: %GITHUB%/issues/560
A library can be associated with multiple technologies now.
* Bugfix: width of cell and library side panels could not be
reduced below the width of the selection boxes in the
header
* Bugfix: cell view selection header text did not get updated
when saving the layout to a different file
0.26.5 (2020-05-02):
* Bugfix: %GITHUB%/issues/539
An internal error happened on netlist flatten sometimes
* Bugfix: %GITHUB%/issues/524
Failed queries leave layout in undefined state
* Bugfix: %GITHUB%/issues/525
Report true source line in DRC and LVS verbose mode
* Bugfix: %GITHUB%/issues/526
Makes script debugging more reliable
* Enhancement: %GITHUB%/issues/527
Wildcard layer mapping for stream readers
* Bugfix: %GITHUB%/issues/544
Duplicate .global statements in SPICE netlists created
duplicate pins
* Bugfix: %GITHUB%/issues/548
A shielding issue was fixed for DRC space measurements
* Bugfix: diff tool bug with paths
Differences in path points where no reported
* Enhancement: documentation clarifications and typos fixed
0.26.4 (2020-03-02):
* Bugfix: %GITHUB%/issues/517
DEF reader could not read VIAS+VIARULE without pattern
* Enhancement: %GITHUB%/issues/471
Leaner way to specify LVS compare tolerances for device parameters
* Enhancement: %GITHUB%/issues/473
Direct access to image data in scripts (array of values instead of
per-pixel calls)
* Bugfix: %GITHUB%/issues/476
Issues with "target" switching in DRC solved
* Bugfix: %GITHUB%/issues/477
Missing letter "J" in Times font .. actually this bug is of 1967.
* Bugfix: %GITHUB%/issues/478
Layout queries could not use the "shapes" method
* Bugfix: %GITHUB%/issues/481
"isolated" DRC function reported duplicate marker shapes
* Enhancement: %GITHUB%/issues/482
"join_symmetric_nets" feature in LVS for implementing
"split gate" configurations
* Enhancement: %GITHUB%/issues/486
There is a "save as" function available now in the macro editor
(in context menu of the macro tree)
* Enhancement: %GITHUB%/issues/489
Pin names can be attached as properties to port and pin shapes
when reading LEF or DEF
* Bugfix: %GITHUB%/issues/491
Performance enhancement of L2N/LVS DB file loader
* Bugfix: %GITHUB%/issues/496
Fixed builds on CentOS 8 and Fedora 31
* Enhancement: %GITHUB%/issues/500
Option to limit number of shapes for net tracer
* Bugfix: %GITHUB%/issues/501
Issues with ownership transfer fixed in Qt binding
* Bugfix: %GITHUB%/issues/502
Issues with AbsoluteProgressReporter in scripts fixed
0.26.3 (2020-01-05):
* Bugfix: %GITHUB%/issues/466
A crash happened when accessing layer properties tabs with
an invalid index in Ruby or Python
* Bugfix: %GITHUB%/issues/464
Problem building a layer tree with "add_child" (Ruby/Python)
* Bugfix: %GITHUB%/issues/463
Configuring a layer color with a group node was not effective
over multiple levels of hierarchy
* Enhancement: %GITHUB%/issues/462
MOS transistor gate figures can be more generic now,
e.g. ring-like or non-rectangular
* Bugfix: %GITHUB%/issues/458
A net extraction bug related to certain array/array
interactions is fixed
0.26.2 (2019-12-18):
* Bugfix: %GITHUB%/issues/453
A crash happened when the "inverse" button is used on the TEXT
PCell
* Bugfix: %GITHUB%/issues/449
The Qt windows styling plugin is now installed too on Windows.
* Bugfix: %GITHUB%/issues/448
The LVSDB database wasn't written with the proper device
class statements in short form.
* Bugfix: %GITHUB%/issues/447
Net extraction did not work properly on a specific test case
with folded and interleaving array instances.
* Bugfix: %GITHUB%/issues/445
"Selection/Merge shapes" gave cryptic message when instances are selected
* Enhancement: %GITHUB%/issues/444
Support for net joining though labels also for specific
subcells (here: to support double-height standard cells)
* Bugfix: %GITHUB%/issues/440
LayoutView#each_annotation_selected wasn't working
* Enhancement: %GITHUB%/issues/438
Redefining a circuit in Spice netlists will give an error now
* Enhancement: %GITHUB%/issues/436
Option to silence instance copy mode dialog,
Enhancements to interactive move, duplicate and copy (sensitive
to transient selection now)
* Enhancement: %GITHUB%/issues/434
New preinstalled Ruby gems and Python packages (e.g. numpy, scipy,
test/unit for Ruby) for the Windows packages.
* Bugfix: %GITHUB%/issues/429
Support for MAGIC file format (*.mag)
* Enhancement: %GITHUB%/issues/428
Edit buttons are not shown in user properties dialog
in viewer mode
* Enhancement: %GITHUB%/issues/426
Techs can be grouped in menu now
* Enhancement: %GITHUB%/issues/425
Don't generate dummy pins for dummy gates
* Bugfix: %GITHUB%/issues/419
Multiple top circuits after flatten of netlist
* Bugfix: %GITHUB%/issues/417
Probe nets does not work with flat extraction on Tools/Trace All Nets/Flat
* Bugfix: %GITHUB%/issues/415 and %GITHUB%/issues/439
Macros need to be stored with CRLF on Windows for management
with a versioning system like git
* Enhancement: %GITHUB%/issues/411
Multiple device extractors for same class
* Bugfix: %GITHUB%/issues/410
Errors were not reported on "rerun" from the DRC and LVS report dialogs
* Bugfix: %GITHUB%/issues/408
Internal error after EdgePairs#polygon
* Enhancement: %GITHUB%/issues/407
Variables can be used in technology base path now
- $(tech_name) -> substituted by the technology name
- $(tech_dir) -> substituted by the directory the technology file is stored in
- $(tech_file) -> substituted by the absolute path to the tech file
- $(appdata_path) -> substituted by KLayout's home directory (e.g. ~/.klayout)
- $(env('X')) -> substituted by the environment variable $X
* Enhancement: %GITHUB%/issues/406
DRC edge layers: AND between intersecting edges gives point-like
markers indicating the intersection points
* Enhancement: netlist object properties
User properties can be attached to the following netlist objects
now: Pin, Device, Circuit, Net and SubCircuit. Properties are
key/value pairs (keys and values can be strings can be strings
or numbers).
The property-enabled classes use "NetlistObject" as the base
class now. NetlistObject provides "set_property" to set or reset
a property and "property" to retrieve one.
Properties are persisted in L2N and LVSDB files and written to
layout shapes on "build_nets".
* Enhancement: more detailed progress
On certain nested operations, a double or triple progress bar is
shown indicating the progress of nested operations.
0.26.1 (2019-11-06):
* Bugfix: %GITHUB%/issues/354
Buddy scripts did segfault.
* Bugfix: %GITHUB%/issues/352
LVS: equivalent_pins required the cell to be present.
* Enhancement: %GITHUB%/issues/353
Session files: "file-path" and "rdb-file" behavior was inconsistent.
* Bugfix: %GITHUB%/issues/358
"strm2oas" was writing GDS files.
* Bugfix: %GITHUB%/issues/363
It was possible to produce bad polygons while drawing.
* Bugfix: %GITHUB%/issues/372
pymod build failed with HAVE_64BIT_COORD=1.
* Enhancement: %GITHUB%/issues/376
Parameters UI callback invoking.
* Bugfix: %GITHUB%/issues/368
Segfault with layer list manipulation while iterating.
* Bugfix: %GITHUB%/issues/386
"None" is a reserved keyword for Python binding - use "None_".
* Enhancement: %GITHUB%/issues/382
Possibility to copy user property value.
* Enhancement: %GITHUB%/issues/387
Salt: Python version can be specified in "api-version".
Other requirements can be specified too.
* Bugfix: %GITHUB%/issues/392
Layers "Style" sub-pane was malformed.
* Enhancement: %GITHUB%/issues/394
Even bigger font sizes for rulers and labels for the 4k age:
Now there is "XLarge", "XXLarge" and "XXXLarge" as well.
* Enhancement: %GITHUB%/issues/393
DRC syntax errors are now shown in their original code line
of the DRC script.
* Bugfix: %GITHUB%/issues/400
Snap feature wasn't working for deep regions in certain use
cases.
* Enhancement: new "scale_and_snap" methods
These methods allow scaling and snapping of layouts. Scaling
is supported by a rational factor. After scaling, snapping can
be applied to an integer grid. There are two incarnations.
Region#scale_and_snap (or Region#scaled_and_snapped): this is
a flat implementation which allows anisotropic scaling/snapping
as well.
And there is Layout#scale_and_snap which is a fully
hierarchical scale-and-snap feature. The latter does not support
anisotropic scaling/snapping, but works hierarchically without
opening gaps. It operates on a top cell and on all layers.
* Enhancement: new Region#pull_* methods and DRC features
"pull_*" is a class of methods that allows rehierarchisation
of shapes. These methods act similar to "interacting", but
the other way around: instead of delivering interacting
shapes of the first argument, it will deliver shapes of
the second argument. For example, "a.pull_interacting(b)"
will deliver polygons of b which interact with polygons
of a. As a side effect, the polygons of b will be stored
hierarchically close to the polygons of a. This provides
a way to "re-hierarchise" layout.
The full class of methods and DRC functions involve:
Region#pull_interacting, Region#pull_inside, Region#pull_overlapping
and the same functions for DRC.
"pull_interacting" is also available for the Edges class
and edge layers in DRC.
* Enhancement: Net tracer bug fix for heavily decomposed polygons
The net tracing feature now can operate on heavily decompose
polygons as well. Such layouts can be created by using a low
max. vertex count on GDS write. The problem were small
triangles with an area of 0.5 square DBU.
* Enhancements: General fixes of deep DRC mode
Some inconsistencies with merged/raw mode have been
removed. Performance was enhanced in a few places.
Multithreaded mode now works more reliably.
* Enhancements/bugfixes: various LVS improvements
The backtracking algorithm should work more reliable
in cases of ambiguities and floating nets or pins.
Performance should be better in some cases.
LVS script structure is less rigid now. "cheats" to
forcibly ignore hierarchy interactions for some
cells (useful for SRAM layout for example).
Still there is some work to do.
0.26 (2019-09-10):
* Bugfix: %GITHUB%/issues/197
Python: Reimplemented methods are not getting called
* Bugfix: %GITHUB%/issues/236
Crash when using "Delete all rulers"
* Bugfix: %GITHUB%/issues/251
Register application exit handler in Ruby
* Bugfix: %GITHUB%/issues/264
Python exceptions are redirected when PCell is used
* Bugfix: %GITHUB%/issues/265
LEF file can't be read
* Bugfix: %GITHUB%/issues/277
Region#min_coherence is not recognized by Region#sized
* Bugfix: %GITHUB%/issues/293
File/Setup menu and dialog names are inconsistent
* Bugfix: %GITHUB%/issues/294
Cannot display the right icon in Ubuntu
* Bugfix: %GITHUB%/issues/302
Display issues with small cells
* Bugfix: %GITHUB%/issues/305
CIF box positions are incorrect when a rotation is specified
* Bugfix: %GITHUB%/issues/306
Round corners issue
* Bugfix: %GITHUB%/issues/316
Text capture box has zero dimension for move
* Bugfix: %GITHUB%/issues/318
Unable to disable a key binding
* Bugfix: %GITHUB%/issues/321
Something's wrong with tip windows
* Bugfix: %GITHUB%/issues/322
CIF, error when changing layer name while file open in KLayout
* Bugfix: %GITHUB%/issues/330
DXF reader stalls
* Bugfix: %GITHUB%/issues/337
Annotation: make "cross" styles available for scripts
* Bugfix: %GITHUB%/issues/338
Unreadable Assistant document: QComboBox
* Bugfix: Rare crash fixed with line width > 1
With line widths > 1, segfaults have been observed in some
rare cases.
* Enhancement: %GITHUB%/issues/287
Return an ObjectInstPath from the RecursiveShapeIterator
* Enhancement: %GITHUB%/issues/317
"infix move"
* Enhancement: %GITHUB%/issues/333
Ruby/Python automation of "auto measure"
* Enhancement: %GITHUB%/issues/342
Ruler properties editor: swap points and snap to object buttons
* Enhancement: %GITHUB%/issues/343
Dockable bookmark window
* Enhancement: Hierarchical mode for DRC ("deep" keyword)
DRC can be put into hierarchical mode with the "deep"
statement at the beginning of the file.
In hierarchical mode, most operations are performed
in a hierarchical fashion - i.e. trying to maintain
as much from the original hierarchy as possible.
* Enhancements: Antenna checks for DRC
DRC now got an antenna check feature. Netlist extraction
is the basis for this feature.
* Enhancement: Hierarchical mode in XOR tool and "strmxor"
The XOR tool and the "strmxor" buddy tool provide
switches to enable hierarchical mode. These options
are considered experimental currently as XOR between
two different layouts was not the implementation goal.
* Enhancement: Netlist extraction
KLayout supports extraction of netlists from a layout.
This is the first step towards LVS. This feature includes
an infrastructure providing netlist data structures
(with Ruby/Python bindings), Netlist readers and writers
(Spice format), device recognition and a netlist browser.
* Enhancement: LVS
The LVS feature is based on the netlist extraction capabilities.
It adds netlist vs. netlist compare and the corresponding
infrastructure.
LVS is a new script environment that is based on the DRC feature
and extends the DRC script language by LVS elements.
* Enhancement: Command line option -mn to open netlist database
* Enhancement: Net tracer "trace all nets"
Based on the netlist extraction feature, an alternative mode
for net tracing is provided. With "trace all nets", no a single
but all nets are traced at once. Probing then happens in the
final nets extracted rather than providing the seed shape.
"Trace all nets" operates in hierarchical mode and therefore
usually is faster and has a smaller memory footprint when
extracting huge nets such as power nets.
* Enhancement: Library browser
The library browser is a dockable tool window which shows
all libraries installed. Use drag and drop to place a library
cell from the library browser in edit mode.
* Enhancement: Layout query enhancements
Layout queries (aka "Search and replace") now allow specification
of Variables when using the script API. The performance of queries has been
enhanced in the case of cell tree recursion.
* Enhancement: Gridline colors
The grid lines (or dots, depending on the style) can now be given
different colors for axes, grid lines and the ruler inset.
* Enhancement: Multiple files on import
The "File/Import/Other files into current" feature now allows
importing multiple files into the current layout.
* Enhancement: Python standalone module
KLayout supports production of standalone Python modules
which provide the same features than the "pya" module but
for use without the KLayout binary. If installed properly,
"import klayout" will pull in all modules. "import klayout.db"
will pull in the database part.
Deployment on PyPI is supported.
* Enhancement: Modal help dialog from modal windows
When using Assistant links in the UI, the assistant now is shown
as a modal window when called from a modal dialog. Before, the
Assistant window wasn't usable in this case.
0.25.9 (2019-06-18):
* Bugfix: %GITHUB%/issues/261
Issue with iterating Python sequences
* Bugfix: %GITHUB%/issues/271
Chose cell coordinates on "Make Cell"
* Bugfix: %GITHUB%/issues/272
Error message if trying to run macros in unsupported languages
* Bugfix: %GITHUB%/issues/275
"Write without context" did not have an effect with OASIS
* Bugfix: %GITHUB%/issues/276
LayerPropertiesNodeRef was not working as documented
* Bugfix: %GITHUB%/issues/278
Lost reference with ObjectInstPath#shape
* Bugfix: %GITHUB%/issues/281
Width and space violations are reported now also for
the "kissing corners" case
0.25.8 (2019-02-23):
* Bugfix: %GITHUB%/issues/234
Issues with LayoutView#save_image_with_options
* Bugfix: %GITHUB%/issues/232
Crash on reading .lyp files with big stipple pattern
* Bugfix: %GITHUB%/issues/228
Bug in Region#interact and DRC's "interact" function.
* Bugfix: %GITHUB%/issues/225
Mirrored custom stipple pattern
0.25.7 (2019-01-09):
* Bugfix: %GITHUB%/issues/200
Safer iteration of cell instances and shapes (with
modifications of container during iteration) - in this
case while flattening instances
* Bugfix: %GITHUB%/issues/209
Reader options were grayed out in stream import feature.
* Bugfix: %GITHUB%/issues/207
Basic.TEXT PCell was rounding bias a spacing values to
integer multiples.
* Bugfix: %GITHUB%/issues/203
A segfault was fixed that happend on certain platforms
when closing the application (e.g. CentOS7).
* Bugfix: (RBA/pya) Technology#load was not working
Instead of load, the technology was saved.
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
pkglint -Wall -r -F cad
Manually fixed the indentation in cad/ghdl/Makefile because SITES.* was
(by the current definition) not long enough to count as an outlier line,
and because of this, all other lines were aligned to that line.
* Use Qt 5 instead of Qt 4
Changelog:
0.25.3 (2018-05-03):
* Enhancement: Compile option to use libcurl instead of QtNetwork
This workaround enables builds on the native CentOS6
configuration with the package manager functional.
* Enhancement: Pass label (text) layers through DRC script
The "labels" method now allows copying labels from a layer
to the output.
* Enhancement: New "split" method for polygons
This method will fragment the polygons into two or more
smaller parts for reducing their vertex count.
* Enhancement: New "dtrans" method for RecursiveShapeIterator
This method delivers the transformation in micron unit space
* Enhancement: New "insert" methods for Shapes
Shapes can now insert from another Shapes container and
from a RecursiveShapeIterator. Possible applications are
fast flattening and fast region selection.
* Enhancement: New method to generate RDB items from shapes
RdbItem#add_value from a shape, RdbDatabase#create_items
from a shapes container or recursive shape iterator and
RdbDatabase#create_item from a shape.
* Enhancement: DXF and CIF "keep layer names"
If this option is set in the reader options, layer names
are not translated into GDS layer/datatype pairs.
Specifically a layer called "L5" for example is not
translated to 5/0 and to "L5D0" on output correspondingly.
The buddy script option is "--keep-layer-names".
* Enhancement: DXF contour joining accuracy
On the DXF reader's options, a contour joining accuracy
can be specified. Small gaps smaller than this accuracy
will be closed when forming joined contours from edges.
The buddy script option is --dxf-contour-accuracy=value.
* Bugfix: DXF display issue
In some cases, DXF cell instances did not trigger bounding
box update and the cells only got visible after save and
load.
* Bugfix: XOR progress is more realistic
The progress is updated after the layer has been computed,
not before.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/117
DTrans#itype was broken.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/116
Fixed a polygon decomposition bug when writing GDS files
with big polygons with many holes. As a side effect, the
polygons with many holes computed by a NOT operation for
example are less complex and spikes in the cutlines are
avoided.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/115
Reader options were not persisted.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/114
Custom line styles not loaded from tech's layer properties
file.
* Enhancement: https://github.com/klayoutmatthias/klayout/issues/113
The XOR tool has an option now to heal result shapes which
cross tile boundaries. The result shape count of tiled
and non-tiled mode should basically be the same then.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/112
Salt package repository relative paths have not been working.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/109
Issues with Python 3 and shape properties - property
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/108
Bugfix on Box#enlarge and Box#moved for empty boxes.
keys generated with Python 3 could not be written to GDS2.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/107
Undo not working with shapes.
* Enhancement: https://github.com/klayoutmatthias/klayout/issues/106
Search & replace help page enhancements.
0.25.2 (2018-03-20):
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/90
DRC: "extended" was not working as expected with "joined = true"
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/89
Display issue on MacOS fixed
* Enhancement: https://github.com/klayoutmatthias/klayout/issues/85
IDE debugger: files can be excluded from showing exceptions when
they are thrown. To exclude a file press the new "Ignore" button
when the debugger tells you an exception has been generated.
To re-able exception reporting, clear the list of the files
in the IDE settings ("Debugging" tab)
The macro IDE settings can now be edited in the File/Setup
dialog.
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/94
Retina displays are support to some extend on MacOS.
An open topic is the quality of the icons.
* Enhancement: build system for MacOS
0.25.1 (2018-02-23):
* Enhancements: build compatibility with MacOS and Qt 5.9.
Qt 4.6 supported now as well with one restriction:
the package installation feature is not working.
* Bugfixs: Package manager
- Remove button wasn't enabled if multiple packages were selected
- A potential crash ob removing packages was fixed
* Enhancement: 64 bit coordinate support enabled on Windows builds
* Further bugfixes: See links
- https://github.com/klayoutmatthias/klayout/issues/21 (Autorun(-early) doesn't seem to run when lym files are inside a package)
- https://github.com/klayoutmatthias/klayout/issues/24 (Text insert dialog bug - Ok button isn't working)
- https://github.com/klayoutmatthias/klayout/issues/26 (Exceptions are reported every time they propagate up in the call chain in the ruby debugger)
- https://github.com/klayoutmatthias/klayout/issues/28 (CIF format detection failed)
- https://github.com/klayoutmatthias/klayout/issues/30 (Writer options dialog non-functional on a fresh configuration)
- https://github.com/klayoutmatthias/klayout/issues/32 (Rounding issue with instance properties)
- https://github.com/klayoutmatthias/klayout/issues/33 (Plugin factory not working when using with Python)
- https://github.com/klayoutmatthias/klayout/issues/36 (Hardening against destruction of object inside event handler)
- https://github.com/klayoutmatthias/klayout/issues/39 (Action cannot be reassigned)
- https://github.com/klayoutmatthias/klayout/issues/40 (Crash in Python binding)
- https://github.com/klayoutmatthias/klayout/issues/41 (Polygon#touches? issue)
- https://github.com/klayoutmatthias/klayout/issues/42 (Headless mode support with Qt5/-zz)
- https://github.com/klayoutmatthias/klayout/issues/43 (Crash when using Qt specific command line options)
- https://github.com/klayoutmatthias/klayout/issues/44 (Transformation constructor with x,y not working)
- https://github.com/klayoutmatthias/klayout/issues/45 (Partial selection does not capture instance)
- https://github.com/klayoutmatthias/klayout/issues/48 (Cancel does not reset current tool)
- https://github.com/klayoutmatthias/klayout/issues/51 (Segmentation fault on return to main window and other opportunities)
- https://github.com/klayoutmatthias/klayout/issues/53 (Unreadable 'about' text)
- https://github.com/klayoutmatthias/klayout/issues/62 (QXmlSimpleReader#parse cannot be called)
- https://github.com/klayoutmatthias/klayout/issues/63 (Wrong output on DRC non_interacting with empty second input)
- https://github.com/klayoutmatthias/klayout/issues/64 (Crash on exit)
- https://github.com/klayoutmatthias/klayout/issues/68 (OASIS reader issue with degenerated shapes)
- https://github.com/klayoutmatthias/klayout/issues/69 (DRC: 'inside' does not merge shapes of second input)
- https://github.com/klayoutmatthias/klayout/issues/71 (Target cell argument is required)
- https://github.com/klayoutmatthias/klayout/issues/72 (Edges/Region NOT issue)
- https://github.com/klayoutmatthias/klayout/issues/73 (Allow 'change layers' on PCells which support a single layer parameter)
- https://github.com/klayoutmatthias/klayout/issues/74 (Small-corner boolean issue)
- https://github.com/klayoutmatthias/klayout/issues/75 (Python PCell issue when parameters are called 'layer')
- https://github.com/klayoutmatthias/klayout/issues/79 (Replace function enabled also for read-only macros)
* Further enhancements: see links
- https://github.com/klayoutmatthias/klayout/issues/29 (Permissive mode for OASIS writer on odd-width paths)
- https://github.com/klayoutmatthias/klayout/issues/59 (Async download of package index and details)
- https://github.com/klayoutmatthias/klayout/issues/66 (Authentication dialog indicates retry)
- https://github.com/klayoutmatthias/klayout/issues/77 (Layout#copy_tree now works in non-editable mode too)
0.25 (2017-11-04):
* Enhancement: Menu customization
Menu items can be disabled or enabled now. The former
"Key Bindings" configuration page has been turned into
"Menu Customization". Check boxes allow enabling or
disabling of menu items. Disabled menu items are not
shown.
A search filter allows quick selection of menu items
by title or path.
* Enhancement: The cell tree no longer is collapsed on edits
or when the sorting order changes.
* Enhancement: Using a special menu path, macros can be
configured to appear in submenus now.
* Enhancement: KLAYOUT_HOME environment variable to
control the location of the application folder.
The application folder is the place where KLayout
keeps the configuration, macros, packages and
other things.
* Enhancements: Major overhaul of the build environment
- Qt5 supported now
- Employs qmake as build system
- Reorganisation of the sources
- Continuous integration enabled (unit tests
integrated in .pro files, JUnit output etc.)
- Compatible with the clang compiler
* Enhancements: Buddy tools: KLayout now comes with a set of
additional executables that provide some functionality
subset in a lean way. These binaries are named "strm..."
and are installed along with KLayout.
- strm2cif: converts any format to CIF
- strm2dxf: converts any format to DXF
- strm2gds: converts any format to GDS2
- strm2gdstxt: converts any format to GDS2/text
- strm2oas: converts any format to OASIS
- strm2txt: converts any format to plain text (internally)
- strmclip: creates a clip from a file
- strmcmp: compares two files (logically)
- strmxor: compares two files (geometrically)
For more information, use the "-h" or "--help" option.
* Enhancements: HTTPS support for loading files from URL's directly
* Enhancements: Numerous enhancements and optimizations in the RBA/pya
area and in the debugger.
* Enhancements: KLayout notifies the user when a file was changed and
asks whether to reload.
* Enhancements: "File cell or layer": type into the cell or layer list to jump to the
cell name typed.
* Enhancements: Advanced search features in the filter entry box
for the cell selection form: Case sensitive/insensitive,
glob pattern, clear button.
* Enhancements: Tree expansion icons have a better contrast now on Windows
with dark background.
* Enhancements: Forward and backward navigation buttons in the main window.
These buttons jump to the previous or next display state:
zoom window, hierarchy depth, etc..
* Enhancements: A Package manager is provided. Packages are add-ons for
KLayout and can include macros, script libraries, fonts
for the TEXT PCell, technologies, DRC scripts etc.
Packages can be published on GitHub or any server
supporting WebDAV. After registering a package, users
can install or update packages with a few clicks.
For more information see https://github.com/klayoutmatthias/klayout/wiki
or "About Packages" in the "Various Topics" area of the main
documentation. The package manager is found in the "Tools"
menu under "Manage Packages".
* Enhancements: LEF/DEF reader:
- Compatibility fixes with version 5.8
- Regions and Groups are supported now
- LEF/DEF is a standare format now and
can be used with "File/Open" for example.
* Enhancement: DXR reader supports variable path widths now
* Enhancement: XOR provides graphical progress
* Enhancements: Libraries can be associated with a technology. Only libraries
associated with the selected technology are shown in the selection
dialog.
* Enhancements: Overlapping instances are easier to select now (instance
selection cycling).
* Enhancements: Many more methods in RBA/pya. For example:
- Ability to directly insert "D" types (such as DBox
into layouts and cells.
- RBA::RecursiveShapeIterator now supports complex (non-rectangular)
search regions
- A more consistent type framework (consistent complex transformation
types, vectors)
- More intuitive interface in certain objects (i.e. CellView,
LayerPropertiesNode, Annotation etc.). Changing an attribute
usually has an immediate effect on the respective property now
("live objects")
- Hash functions for certain objects - Box, Edge, Trans, Polygon,
and other objects can be used as dictionary keys now.
- New import methods for Region, EdgePairs and Edges
- New features for LayerMapping and CellMapping
- Multiple selected cells in LayoutView
- RBA::TextGenerator to supply the Basic.TEXT PCell's
functionality as static feature
- Receivers can be added to signals and removed from
signals now.
- Individual instance iterator for CellInstArray
- ...
* Enhancements: Enhanced layout statistics form with detailed shape
statistics.
* Enhancements: Line styles (dashed, dotted etc.) available now.
Works best with manhattan layouts.
* Enhancements: "Marked box mode": boxes are drawn with a cross.
* Enhancements: Arbitrary pattern size for custom fill pattern (no
limited to multiples of 8). Max size is 32x32.
Enhanced annotations:
- Ellipses
- Position markers
- Text alignment
- "Auto measure" rulers (place a ruler measuring the
distances between adjacent objects with a single
click)
* Enhancements: DRC enhancements:
- Text support
- "smoothed" function
- "layers" function delivers all layers read
- Polygon with edge interactions
- middle and extent_refs methods for center point and other
references
- "corners" function
- "collect...", "select" and "each" methods
* Enhancements: GDS2 paths can now use the MultiXY extension too.
* Enhancements: X2 Support for Gerber import.
* Enhancements: A function to reset the window state after the
window has been misconfigured (i.e. detaching or closing
the dockable windows). This feature is found in
View/Restore Window.
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
------------------------------
(from: http://klayout.de/development.html)
Version 0.24.10
Release date: 2017-04-01
Features:
Enhancements: New method CellView#is_dirty? This method indicates
that a cell view needs saving
Bugfix: DEF reader was not able to read routing Routed segments
with vias plus continued wiring were not read. Instead an error
message was shown saying "Invalid orientation specification"
Bugfix: Setting "technology-data" configuration property did not
work Reading or writing the "technology-data" configuration
property is the only way to access technology data from a
script. Hence it's important that this property can be set. With
this patch, "technology-data" can be set to an XML string which
has the same format than the one stored within the configuration
file.
Bugfix: Reader issues with some RVE files The RVE reader could not
read files with cell names containing hyphens (like "A-B").
Bugfix: Inplace operators are now working in Python too For
example "r1 += r2" was not working (r1 and r2 are pya.Region
objects for example).
-----------------------------
From: http://klayout.de/development.html
Release date: 2016-11-29
Enhancements: The RBA::Region#smooth function was enhanced to give
somewhat better results
Enhancements: DXF's circle approximation can now also specified
through an "accuracy" parameter: if less than the number of specified
points is required to achieve the given accuracy, the number is
reduced accordingly. This also applies to the polygon interpolation
of spline and arc curves.
Enhancement: RBA integration now is compatible with Ruby 2.3 which
allows building on Ubuntu 16 as well.
Enhancement: OASIS files with instance angles >360 were rejected
before. Now, this has turned into a warning.
Bugfix: DEF reader was failing to read MASK/via combinations.
Bugfix: The marker browser's "show only rules with errors" option was
enabled again on sorting of errors.
Bugfix: DRC: Using Layout objects for inputs didn't work
Bugfix: Copying Hierarchy treets containing PCell's made the PCell's
being turned into static cells.
-----------------------------
Version 0.24.8
Release date: 2016-06-19
- Bugfix: XOR and different or big database units: With
tiling, XOR between two layouts with different database
units was still not working correctly. Also, when the
database unit was larger than 1nm, the XOR feature was
dropping results sometimes when tiling was on.
- Enhancements: progress bar shown also for "-z" mode
scripts: The solution of 0.24.7 has been modified to avoid
annoying progress bar windows popping up in
background-window mode: Now, progress bar windows will
only pop up if an active main window is present. This will
enable progress bars for scripts that open their own main
windows but still keep the application GUI-less when the
script does not do so.
- Bugfix: Crash on empty panel: When "New/Panel" is used a
view without a layout is created. An attempt to create
layout on such panels crashed the application.
- Bugfix: LEF reader now can read PIN statements including VIA
- Bugfix: Polygon smoothing was not working properly in some
cases Previously the smoothing function was sometimes
dropping vertexes from the polygons. Smoothing now does
also guarantee not to exceed the given distance.
- Bugfix: Sorting cells by area now sorts cells by name as
second choice In the previous version, cells with
identical area were grouped but the order was
arbitrary. Now the name is used as the second-level
sorting criterion which keeps such cells sorted by name.
--------------------------------------
http://www.klayout.de/development.html
--------------------------------------
Release date: 2016-05-03
Features:
- Bugfix: XOR and different database units: With tiling, XOR
between two layouts with different database units was not
working correctly.
- Enhancements: progress bar shown also for "-z" mode
scripts: Scripts running in KLayout with the "-z" option
(don't show main window) were not experiencing progress
reporting before. Now a small modal window is shown during
long-running operations that indicates the progress and
provides a Cancel button to abort the operation.
- Bugfix: Crash on using "Edit/Make cell": This happened
sometimes if the selected objects contained instances.
- Bugfix: Invalid behavior of paths with reflecting
segments: For example a path made of the points (0, 0),
(0, 1000) and (0, 0) had a reflecting segment which cause
some computations (for example the bounding box) to return
invalid results.
http://www.klayout.de/development.html
--------------------------------------------------------
Version 0.24.6
Release date: 2016-03-22
--------------------------------------------------------
- Bugfix: Early delete of plugin object when returning a new object from
PluginFactory#create_plugin. The returned object was not held, so in Ruby
the GC could destroy the object. This could lead to crashes in applications
employing the Plugin API.
- Bugfix: It was possible to edit read-only macros. For example, it was
possible to enter new lines in macros marked as read-only. However, these
changes were not saved.
- Bugfix: Shift+Tab not working in macro editor. On some platforms, Shift+Tab
was not working as expected. This key combinations was supposed to
left-shift a selected block an undo indents.
- Bugfix: Wrong scaling of layers when doing XOR's with layouts with
different database units. This happened when the layouts had different
layers and "summarize missing layers" was disabled.
- Bugfix: "Search & Replace" was not working properly if named layers were
present. Specifically the shape search was not working due to an
incorrectly formed query.
- Bugfix: Sizing produced incorrect results in case of slowly varying polygon
contours. The effect was a contour with spiky distortions where two "almost
parallel" edges connected.
- Bugfix: The diff tool was not reporting differences correctly when layers
were present in one layout while they were not present in the other. This
happened specficially when "Summarize missing layers" was disabled.
- Enhancement: New context mode in marker browser: "Current or Any". In this
mode, the markers are displayed in the context of the current cell. If that
is not possible because the markers are given for cells outside the cell
tree of the current cell, the fallback is to show the markers in the
current cell as in "Any" mode.
- Enhancement: More consistent behaviour of cell and category filters in the
marker browser. For example, the category filter is now also applied when
selecting a node for a certain cell in the cell branch and if nested
categories are present, the category filter is applied smarter - not just
on each category.
--------------------------------------------------------
Although a comparatively simple piece of software, a layout viewer is not
only just a tool for the chip design engineer. Today design's complexity
require not only a simple "viewer". Rather, a viewer is the microscope
through which the engineer looks at the design.
There are numerous viewers available, but sadly there are not many which
satisfy a few basic requirements. Most of them are commercial and
expensive. If there is need for a simple, yet powerful viewer - here it is.