Klayout

Latest version: v0.29.11

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

Scan your dependencies

Page 12 of 24

0.25

* 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 %GITHUB%/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.

0.24.10

* Enhancements: New method CellViewis_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 where r1 and r2
were pya.Region objects.

0.24.9

* Enhancements: The RBA::Regionsmooth 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: Using Layout objects for inputs didn't work
* Bugfix: Copying Hierarchy treets containing PCell's made the
PCell's being turned into static cells.

0.24.8

* 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.

0.24.7

* 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.

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.

Page 12 of 24

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.