Klayout

Latest version: v0.29.12

Safety actively analyzes 714875 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 13 of 24

0.24.6

* Bugfix: Early delete of plugin object when returning a new object
from PluginFactorycreate_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.

0.24.5

* Bugfix: Instance browser was messing up array instances sometimes.
After browsing instances, in some cases array instances got
messed up. This specifically happened with OASIS files.
* Enhancement: Diff tool does not care about text alignment and
font properties unless in "exact" mode. Previously alignment
flags and font properties were compared in non-exact mode too
causing some confusion for example when comparing OASIS vs.
GDS.
* Enhancement: XOR on layouts with different database units.
Previously, the XOR tool refused to run on layouts with
different database units.
* Bugfix: The OASIS writer's S_TOP_CELL standard property now will
correctly use an "n-string" value in strict mode.
* Bugfix: The OASIS writer bailed out on 1x1 cell arrays.
Now these pseudo arrays are written as single instances.
* Bugfix: GUI type support for QVariant.
RBA/pya did not provide constructors for QVariant from
GUI types like QColor and QFont. These have been added now.
The corresponding conversion functions to QColor, QFont etc.
are provided as well.
* Bugfix: Problems with QVariant constructor: some feature were not
usable. For example, a double value could not be passed to
the constructor. Disambiguators have been provided to solve
these issues.
* Enhancement: Cell/Category filter for marker browser. The marker
browser now has a filter entry box to select specific cells
or categories.
* Enhancement: Images are cached now for faster image update.
Specifically the "fit" image will be cached and if "fit" is
selected again, the image is restored rather quickly (provided
the window is not resized). The cache depth can be configured
in "Setup/Display/Optimization".
* Bugfix: "Read all other layers" option in LEF/DEF reader was
potentially assigning GDS layers which have been defined in
the layer mapping. Now, layers used in the layer map for
targets are blocked and not used for automatic assignment.
* Enhancement: The database unit can be configured now in LEF/DEF
import options. Previously it was fixed to 1 nm.
* Bugfix: RBA::LayerPropertiesid was not always unique as stated
by the documentation. Specifically not after a file was loaded.

0.24.4

* Enhancement: Layer colors are iterated for named layers without
layer numbers as well. Such layers are created when reading
DXF files for example and all layers had the same color
initially. Now, these layers will be assigned different colors.
* Bugfix: RBA::TilingProcessthreads was not working properly
when assigning a value of 1.
* Bugfix: The perimeter computation now has changed to 64 bit numerics
reducing the risk of numerical overflow. In earlier versions,
the perimeter computation of integer type shapes (polygons,
boxes, regions) was performed with 32 bit length which is
not sufficient to represent total perimeters of full layouts.
* Bugfix: The OASIS writer's S_TOP_CELL standard property now is
set to the correct value when using "Save cell as".
* Bugfix: Some patches are provided for enhanced compatibility with
MacOS. One MacOS-only bug was related to a crash when re-registering
of PCell's while developing then.
* Bugfix: PCell guiding shape parts could not be selected in partial
editing mode using a drawn selection box.
* Enhancement: The color of the guiding shapes can now be configured
individually.
* Bugfix: OASIS reader was not properly associating CELLNAME properties
with cells as the standard requires. Instead CELLNAME properties were
ignored.
* Bugfix: Strict mode compatibility issues in OASIS writer:
File level PROPERTY records were not put right at the beginning of the file,
empty tables were not listed with 0 position, property value strings were
not referenced by ID and the property modal variables were referenced
sometimes after name records (specifically CELLNAME with standard
properties enabled). According to the specification, the name records
reset these variables so this is not correct. Other readers may report
errors for such files.
* Enhancement: OASIS writer file size reduction. Now, the OASIS writer
will opimize the arrangement of cell array instances so that
modal variables can be used for a better compaction.
* Enhancement: During script debugging now the Assistant window is active
even while the debugger is executing a script. The main window is
still inactive however to avoid fatal cross-interactions between
the debugger and the user interface.
* Bugfix: The Python PCell sample was broken.
* Bugfix: slowly bending paths have not been displayed correctly.
* Bugfix: coordinates might have been swapped in the box properties
page when switching from local to absolute coordinates and
back.
* Bugfix: certain ruler styles with independent x and y axis have not
been displayed properly when using a global transformation.
* Enhancement: the performance of "Flatten cell" is enhanced significantly
in cases of many instances.
* Bugfix: DRC output was producing new layers with an empty layer name
selector (no major issue, but confusing).

0.24.3

* Enhancement: PYTHONPATH does not mess up the Windows installation any
longer. If you want to set the PYTHONPATH for KLayout, use
KLAYOUT_PYTHONPATH.
* Bugfix: The oasis_write_std_properties attribute of RBA::SaveLayoutOptions
did not work as described. To maintain backward compatibility and
enable the cell bounding box feature, a new attribute called
oasis_write_cell_bounding_boxes was introduced.
* Bugfix: "Hide all" only hides the top level layer properties, not the
members of layer groups.
* Bugfix: S_BOUNDING_BOX standard properties now appear after CELLNAME
records in OASIS files as required by the OASIS specification.
* Bugfix: The unintuitive behavior of the "Writer Options" has been changed.
Now, the writer options are applied to the saved layout always, not
just on the first save. Previously, the program remembered the options
and reused the previous options on following saves. This was quite
unintuitive since changing the properties did not necessarily affect
the way files were written.
* Enhancement: The starting directory for files dialogs is the "Documents"
folder on Windows now. Not the current directory which is the
installation directory usually.
* Bugfix: Signal names are property set for RBA::QListWidget and other
objects. This enables the use of "indexesChanged" signals and eliminates
Qt runtime warnings.
* Bugfix: Library cells were not properly loaded again after reloading
a layout which used libraries which itself referred to other libraries.
* Bugfix: The program crashed sometimes when using report databases with
properties.
* Bugfix: Layers with a single box rendered wrong results in the DRC's
size function with strong undersize. The boxes did not vanish as
expected but instead were inverted.
* Enhancement: The build now is compatible with Python 2.6.
* Bugfix: Reading OASIS files in strict mode with cell names consisting
of a "$" character followed by an integer number (like "$1") sometimes
messed up the cells.
* Bugfix: RBA::TilingProcessor could not be used both with tile size and
tile count set since setting the tile size was resetting the tile
count and vice versa.

0.24.2

* Bugfix: Flip and Rotate function did not work as expected when the view
was descended into the hierarchy.
* Enhancement: RBA::BrowserDialog now also accepts a parent parameter
which are important to better integrate such dialogs into the
application.
* Bugfix/enhancement: "klayout_vo.exe" now is a pure viewer application
again. By calling this executable, the edit functions cannot be
enabled and the save functions are disabled as well. Under Linux,
renaming the binary to "klayout_vo" switches KLayout into this
mode as well.
* Bugfix: The zoom and selection rectangle can now be dragged outside the
visible area and still define the zoom or selection rectangle.
* Bugfix: expressions were not coercing floating-point values consistently:
The expression "to_i(2)+1.4" rendered 3 instead of 3.4 as expected.
The sum was treated as an integer sum because the first operand is
an integer. Now the integer is converted into a floating-point value
as expected.

0.24.1

* Enhancement: switched to -O2 instead of -O3 to avoid issues with certain
gcc versions for which -O3 appears to be broken.
* Bugfix: fixed a backward compatibility issue in scripting. Specifically
"view.each_object_selected { |s| s.shape }" will work again.
* Bugfix: the layer matching algorithm in the .lyp file layer assignment
is compatible with the previous version again. This specifically applies
to "wildcard" specifications. In 0.24, named and unnamed layers were
considered different even if GDS layer and datatype numbers were identical.
The effect was that if a named layer was present, a .lyp file specification
without that name was not matching the named layer and with "add other layers"
the named layer was produced again.
* Enhancement: "Apply all" in the object properties dialog behaves somewhat
more intuitive now. Specifically changing the path endcap styles now
works as expected. For the other properties, a choice was provided
between applying changes in a relative or absolute way. For example,
when the left edge of a box is changed, the left edges of all selected
boxes are shifted by the same amount in relative mode. In absolute mode,
the left edge will be set to the specified position for all selected boxes.
* Bugfix: Python iterators will keep a reference to the source object now.
This avoids problems when fetching iterated properties (typically "each..." methods)
from short-living objects.
* Bugfix: Python's StopIteration exception does no longer appear in the debugger
now. This is an exception used internally to mark the end of an iteration
sequence.
* Bugfix: "Pathwidth=" does no longer reset the round end flag.
* Enhancement: the "Show All" mode of the marker browser is persisted now.

Page 13 of 24

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.