. OSX = 10.10.5 Yosemite and. KLayout = 0.24.2 It looks some Ruby-related files and Python-related files are missing in the binary package. Sorry for inconvenience caused. I think I need some more time to fix this. If you can install Mac Ports, getting the two ports below under '/opt/local' may fix the problem. 1) ruby19 and 2) python27 Thank you. KLayout is an intuitive piece of software that is designed from the ground up to not only make it as simple as possible for you to view GDS and OASIS files but also to effortlessly edit them.
- Magic VLSI v.7.3.91'Magic' VLSI layout tool and various incarnations of the Berkeley ...
- VLSI Layout 3D v.1.0VLSI Layout 3d is a 3d visualization software for VLSI designs created in LASI. This project is gearing up to go open-source!
- VLSI Library v.1.0This project aims to create and distribute a full featured VLSI library under free licenses in order to contribute to the open hardware community and to the progress of peoples.
- Alliance CAD System v.1.0Alliance CAD System is a free set of EDA tools and portable cell libraries for VLSI design. It covers the design flow from VHDL up to layout. It includes VHDL simulator, RTL synthesis, place and route, netlist extractor, DRC, layout ...
- Linux driver for CPiA webcams v.1.3.1We provide Linux drivers for webcams based on the popular Vision VLSI CPiA chipset, including the Creative WebCam II. Both parport and USB is ...
- The PPPP Program v.04PPPP is a computer program used for partitioning parameterized orthogonal polygons into parameterized rectangles. With this program, it is possible to build rectangular corner stitching data structure for parameterized VLSI ...
- BookSim v.1.0A cycle-accurate interconnection network simulator. Brought to you by the Concurrent VLSI Architecture group at Stanford University. The SourceForge website is no longer actively maintained. Instead, please follow the link in the profile.
- BeCPiA v.86VLSI Vision CPiA kernel driver & mediakit addon (for BeOS 4.5).
- DICaD v.1.0DICaD is a free EDA software for VLSI circuits design.
- SysModLib v.1.0About The Project: This is a C++ user library built on systemc and systemc-ams libraries intend to develop cycle accurate or non cycle accurate VLSI system models.
- XSection@KLayout v.1.0The goal of this project is to provide an add-on to KLayout (www.klayout.de) to create and visualize a realistic cross-section view for VLSI designs supporting a wide range of technology options.
- Async. Simulation and Synthesis Language v.1.0ASSL (pronounced AY-sil), is a wrapper around CHP, an established async. process description language. This project provides a set of tools that aid the design, simulation, and synthesis of async. VLSI circuits. Common parser, independent tool projects ...
- ViaDesigner v.2012.2.1Complete mixed signal electronic circuit schematic capture and simulation software. Combine schematics, SPICE, VHDL, Verilog & VHDL-AMS in a unified design and simulation environment. Powerful and easy-to-use design wizards kick start your design.
- VLSI Layout 3D VLSI Layout 3d is a 3d visualization software for VLSI
- Magic VLSI 'Magic' VLSI layout tool and various incarnations of the
- ViaDesigner Complete mixed signal electronic circuit schematic capture
- Linux driver for CPiA webcams We provide Linux drivers for webcams based on the popular
- Alliance CAD System Alliance CAD System is a free set of EDA tools and portable
- The PPPP Program PPPP is a computer program used for partitioning
- DICaD DICaD is a free EDA software for VLSI circuits design.
- SysModLib About The Project: This is a C++ user library built on
- BookSim A cycle-accurate interconnection network simulator. Brought
- VLSI Library This project aims to create and distribute a full featured
Those are the known issues listed by the version in which they have been found. Unless noted, these bugs are fixed in the following release.
A note on bug tracking: internally, I keep an issuetracker using the awesome Trac tool (http://trac.edgewall.org/). Currently that ticket database contains roughly 500 entries, ranging from refactoring ideas to criticalbugs. The list below is an excerpt containing the issues with relevance for the end usercommunity.
If you encounter bugs not found in that list, please use to mail address listed on the contacts page or the forum to report issues.
Version 0.24.9
- Inplace operators not working in Python with pya.Region The application will crash when using the inplace operators ('+=', '-=' etc.) on the pya.Region object. A workaround is to use the explicit operator methods (like '__iadd__'):
Version 0.24.8
- Ruby integration is not compatible with Ruby 2.3 This prevents building on Ubuntu-16 which has deprecated Ruby 1.9 and only provides 2.3 natively. Building your own Ruby 2.2 is a workaround.
- DEF reader issue The DEF reader cannot digest combinations of MASK and via placements.
- DRC Using RBA::Layout objects with DRC's 'source' statement does not work.
Version 0.24.7
- Problems on XOR in tiled mode with database units larger than 1 nm The XOR tool does not work properly and may skip differences if the database unit is larger than 1nm and tiled mode is used. This bug will be fixed in 0.24.8.
- LEF reader does not read PINs with VIAs PIN statements containing VIA objects will make the LEF reader abort with an error message.
Version 0.24.6
- A crash happens on 'Edit/Make cells' Sometimes a crash is observed if Edit/Make cells is used on a selection that contains instances of other cells.
This bug will be fixed in 0.24.7. - Problems on XOR with different database units The XOR does not work as expected when different database units are present and tiling is enabled.
Version 0.24.5
- GC destroys plugin object returned by PluginFactory#create_plugin
The object returned from PluginFactory#create_plugin is not protected against destruction by the garbage collector which may lead to occasional crashes in the application. A workaround is to explicitly protect the object: This bug will be fixed in 0.24.6.
- Size function problems with slowly varying contours
For 'almost parallel' connected edges, the sizing algorithm will produce incorrect output with spiky distortions.
This bug will be fixed in 0.24.6. - Diff tool issues when the input files contain different layers
The diff tool reports too many or too few differences if the input layouts contain different layers and one of the following options is used:
- Summarize missing layers: OFF
- Run XOR on differences: ON
- Search feature does not work on layers with names and layer/datatype specification
If layers with names and layer/datatype specification are present, the search feature does not work on shapes. The reason is a incorrect query which cannot be executed. A workaround is to edit the query in the 'Custom' page: replace the layer expression (like 'NAME (1/0)') by a plain layer/datatype specification. For example, replace by and run the query from the custom page.
This bug will be fixed in 0.24.6.
Version 0.24.4
- OASIS writer: 1x1 array instances stop OASIS writer
The OASIS writer will refuse to write 1x1 array instances and bail out with an assertion. This bug will be fixed in 0.24.5.
- OASIS writer: wrong S_TOP_CELL property type when using standard properties
The property value is written as a 'bstring', but it should be a 'nstring'. This bug will be fixed in 0.24.5.
- QFont, QColor and some other types cannot be assigned to QVariant
Unlike C++, QFont and QColor are not valid types storable within a QVariant. This currently leaves it impossible to change the font or colors for a QTreeWidgetItem for example. This bug will be fixed in 0.24.5.
Version 0.24.3
- OASIS writer: wrong S_TOP_CELL property when using standard properties with 'Save Current Cell As'
Instead of writing the chosen top cell, the real top cell of the layout is written. This bug will be fixed in 0.24.4.
- OASIS reader: CELLNAME properties are not associated with cells Instead CELLNAME properties are ignored. According to the specification, CELLNAME properties shall be associated with the cells described by the CELLNAME record. KLayout's OASIS writer will not produce such properties for cell-level user properties, so this is just an issue for externally created layouts. This bug will be fixed in 0.24.4.
- OASIS writer: strict mode compatibility issues
Strict mode is not implemented with respect to these topics:
- File level PROPERTY records are not put right at the beginning of the file
- Empty tables are not listed with 0 position
- Property value strings are not referenced by ID
- The property modal variables are referenced sometimes after name records (specifically CELLNAME with standard properties enabled). Instead, the name records reset these variables so this is not correct. Other reader may report errors for such files.


Version 0.24.2
- Cells messed up in certain cases upon strict OASIS reading
Cells starting with a single '$' character and followed by a number (for example, '$1') may get messed up when reading strict mode OASIS. This bug will be fixed in 0.24.3.
- Single boxes will not vanish on undersize of a layer containing a single box
The DRC 'size' operation does not size away small boxes (smaller than twice the sizing value) for layers containing a single box on top level only. This bug will be fixed in 0.24.3.
- Library references lost on load/reload
When using nested libraries (libraries referencing other libraries), cells may get lost when closing and reloading layouts. This bug will be fixed in 0.24.3.
- Crash on DRC files containing partial properties
DRC files with properties can be loaded into the marker browser, but will make the browser crash if the properties are not filled uniform - i.e. some markers are lacking some properties. This will be fixed in 0.24.3.
- Wrong type of RBA::SaveLayoutOptions#oasis_write_std_properties attribute
According to the documentation, the type of this attribute should be integer, since the accepted values are 0, 1 or 2. This will be fixed in 0.24.3.
- OASIS spec compliance issue in strict mode
Contrary to the OASIS specification, S_BOUNDING_BOX standard properties are not written into the cell table, but along with the cell itself. This will be fixed in 0.24.3.
Version 0.24.1
- 'klayout_vo.exe' is not a pure viewer executable
The 'klayout_vo.exe' binary found in the installation directory is not a pure 'viewer-only' version as is was before. This will be fixed in 0.24.2.
- 'Flip' and 'Rotate' is not behaving properly sometimes
In a descended view, the 'Flip' and 'Rotate' functions do not maintain the center of the selection as they do in a non-descended view. Instead the shapes and instances are shifted far ways. This will be fixed in 0.24.2.
- Expressions using arithmetic operations between integers and floating-point values sometimes chose the wrong type
Expressions are used in search & replace operations for example. Among others, they provide arithmetic operations. When using binary arithmetic operators such as '+', the expression is evaluated with the first type. If that type is an integer, the computation is done in integers too. For example 'to_i(2)+1.4' renders 3. The expected behavior (as seen in other languages) is to use floating-point arithmetics instead. This will be fixed in 0.24.2.
Version 0.24
- PYTHONPATH environment variable needs to be set sometimes
In some cases, the PYTHONPATH environment variable needs to be set to point KLayout to the proper place for the Python libraries. This is the case if KLayout is built against a Python version that does not come with a proper PYTHONPATH built into it. This is not an issue when building against a Python package that comes with a Linux distribution or for the binary package on Windows.
If the PYTHONPATH is required and not set correctly, the Python interpreter aborts on initialization. Unfortunately this a feature of Python and cannot be worked around easily. - 'Add all other layers' feature creates duplicate layers when named + unnamed layers are present
In several places, '.lyp' files can be combined with 'add all other layers'. This will create entries for layers not listed in the '.lyp' file. There is a bug in that feature if the '.lyp' file uses named layers and the layout does not and vice versa. For example, if the '.lyp' file specifies 'NAME 1/0' for the layer source (name 'NAME' and/or layer 1, datatype 0) and the layout is a GDS2 file which can only have a '1/0' layer, a new entry will be created with 'NAME 1/0' because that layer is considered different from '1/0'.
This will be fixed in 0.24.1. - Too aggressive optimization (RHEL 6) induces crashes in the net tracer
Apparently, the -O3 optimization used in the standard release build configuration is too aggressive for the gcc version present in RHEL 6 releases. Crashes have been reported in the net tracer module which appear to be related to that combination. A workaround is to reduce the optimization in the configuration file ('config/Makefile.conf.linux-64-gcc-release') to -O2.
Because runtime effects appear to be minimal between -O3 and -O2 in recent CPU/compiler combinations, I'll switch to -O2 in version 0.24.1. - Using shape method on ObjectInstPath object delivered by LayoutView#each_object_selected fails
In 0.24, the shape method became non-const to allow modification of the selection. But as an undesired side effect, 'shape' cannot be called any more on the ObjectInstPath object delivered by LayoutView#each_object_selected. Hence the following code fails with a message saying that a non-const method (shape) cannot be called on a const object (s): A workaround is to use a copy of the ObjectInstPath object: This issue will be fixed in version 0.24.1.
- StopIteration exception appears in the debugger (Python)
Python marks the end of an iteration sequence by raising a StopIteration exception. This exception appears in the debugger which is not desired. It should be ignored. This will be fixed in 0.24.1.
- Taking an iterator from a temporary object may crash the application (Python)
The following code causes an application crash since the object returned by 'dup()' is short-living and the iterator delivered by 'each()' does not keep a reference. Hence the object is destroyed before the iterator finishes: A workaround is to assign the duplicate to a variable which lives longer:
Version 0.23.10
- Problems reading CIF files with line breaks in P statements
Deviating from the spec, only single separator characters between x and y coordinate of points are allowed. This will be fixed in 0.23.11.
- DEF reader problems
The DEF reader takes 0 for the default path extension. The default extension should be half the width of the path. This will be fixed in 0.23.11.
- DRC crash on reading a layer that was overwritten
The following DRC script will crash, because in the 'output' statement, the layer used for input a second time is overwritten: This will be fixed in 0.24.
Version 0.23.9
- Crash when loading big images
When loading or creating big images (more than ~ 12k x 12k pixels) the application will crash. This is due to the limitation of Qt library which computes the memory requirement for an image as 32bit integer.
Version 0.23.10 does not crash but rejects such images. In Ruby scripting, an option will be provided to create monochrom images. For rasterization purposes, this will extend the capabilities to creating images of more than 100k x 100k pixels. - Crash when deleting a layer and something is selected on that layer
This issue will be fixed with 0.23.10. - Crash when deleting the top cell
This issue will be fixed with 0.23.10. - CIF reader compatibility
The CIF reader is not fully compatible with the CIF specification. For example, lower-case characters are not ignored as they should.
This issue will be fixed with 0.23.10.
Version 0.23.8
- DEF reader bug
E and W orientation on DEF PIN statements are swapped.
This issue will be fixed with 0.23.9.
Version 0.23.7

- DRC's inside and not_inside functions are not working
Sometimes shapes are reported as inside even though they are not.
This issue will be fixed with 0.23.8.
Klayout Macro Python
Version 0.23.6
- DRC crashes observed on repeated runs
This happens in particular if an input layer is overwritten.
This issue will be fixed with 0.23.7.
- RBA::InputDialog::ask_double does not accept negative numbers
This issue will be fixed with 0.23.7.
Version 0.23.5
- DRC width/spacing check issue
In certain configurations (big polygons embracing smaller ones) width/spacing errors are reported more than once. The error count is too high.
This issue will be fixed with 0.23.6.
Version 0.23.4
- Ruby console issue
The following commands on the Ruby console make the program crash: 'require 'net/http'; uri = URI('xyz')'
This issue will be fixed with 0.23.5.
Version 0.23.3
- UTF8 encoding ignored on XML files (will be fixed in 0.23.4)
UTF8 encoding is not implemented correctly for the XML reader. That is causing problems for macros containing characters with ordinals >= 128, for example german umlaut characters. This applies to all XML files, specifically .lym macros, where such characters are not read properly when they appear in the code or description texts for example.
This issue will be fixed with 0.23.4. - PCell context information in GDS files not backward compatible (will be fixed in 0.23.4)
GDS files with embedded PCell's written with previous versions (0.22.x and less) are not read correctly in some cases. Vice versa, PCell context information written with 0.23.x cannot be read by 0.22.x and less.
- Horizontal alignment broken for texts in default font (will be fixed in 0.23.4)
The scalable fonts work as expected.
Version 0.23.2
- DRC: addressing layout views with the '@n' notation does not work
Addressing layout views using the '@n' notation in 'target', 'source' and 'layout' gives an error about an undefined variable 'i'.
Version 0.23.1
- Build issues with MacOS 10.9 (Xcode)
Currently, the source code does not build with Xcode on MacOS 10.9. Xcode uses the clang/LLVM compiler and unfortunately the issue could not be reproduced on Linux systems with clang 3.0 and 3.3.
- DRC issues related to database units
Multiple inputs with different database units do not work as expected and the database unit of output file generated by DRC scripts (target command) is always 0.001, regardless of the input file's database unit.
- DRC: log to file not working
The 'log to file' function does not work as described.
- Wrong display context of markers produced by search and replace
Items in child cells are now shown relative to the current cell. Instead, the position in their direct parent cell is shown which typically does not match if the parent is not the current cell.
- Layer properties files not forward compatible
Since KLayout 0.23 introduced a new feature for .lyp files (valid/invalid layers), layer properties files written with version 0.23 and later cannot be read by older versions. This is because the XML reader was implemented in a strict fashion and will refuse to load files with unknown elements. This will be changed in the future, but it won't be ported back to the older versions. Hence the solution will not become effective immediately.
A workaround is to remove all 'valid' elements from a .lyp file written by version 0.23.
Version 0.23
- RBA: Polygon#inside?, DPolygon#inside?, SimplePolygon#inside?, DSimplePolygon#inside? broken (Bugfix planned for 0.23.1)
The method reports false if only if the point is on the polygon edge. If the point is outside, the method reports true again.
- DRC: report database output is not working (Bugfix planned for 0.23.1)
Report database output is not working as described. Currently there is no simple workaround for that issue.
Version 0.22.7
- CIF reader broken (Bugfix planned for 0.22.8)
In many CIF files, GDS layer numbers are not assigned properly, resulting in duplicate or missing shapes.
Version 0.22.5
- Net tracer issues (Bugfix planned for 0.23)
Performance may be poor in certain configurations, in particular when boolean operations are involved. In addition, the output generated by the net tracer's export function may contain many overlapping shapes.
- Net tracer does not work properly for OASIS file read on viewer mode (Bugfix planned for 0.23)
It is recommended to use editor mode when working with the net tracer. In viewer mode, OASIS shape arrays are used internally which slows down the net tracer and sometimes leads to wrong results.
Version 0.22.4
- Macro IDE console issue
When the macro editor is closed and opened again the list of entries in the console is doubles. This may render huge configuration files. A quick workaround is to delete the line with the '<macro-editor-console-mru>' entry in the configuration file (on Linux in '$HOME/.klayout/klayoutrc') regularily.
- Crash when a view is closed while the 'insert instance' form is open
KLayout crashes when a panel is closed while the 'insert instance' form is still open. A workaround is to choose 'Select' mode or hit Esc before closing a view.
Version 0.22.3
- Crash when loading a layout while the net tracer is open
KLayout crashes when a layout is loaded into the current view while the net tracer is highlighting a net.
- Memory leak when stopping the XOR tool
When the XOR tool is stopped, some memory is not released. This will create a memory leak and that memory is no longer available for other features.
- Help index initialization can be cancelled
On the first start of a new version, the help system's index is generated. When this operation is cancelled, the help index may not be available fully.
- Instance placement: rotation and origin
when placing an instance at the bounding box (not the origin) and using a rotation angle, the reference point is not computed correctly and the instance is somewhat hard to place.
- The macro IDE occasionally crashes when trying to add a new location
When trying to add a new folder to the list of displayed macro locations, the application sometimes crashes with a segmentation fault.
- Some drawing issues
In some configurations (apparently related to cells rotated by arbitrary angles), the layout is not drawn correctly and artefacts may appear. As a workaround, this can be solved by disabling bitmap caching.
- Issues using multi-tab layer properties files as the default
Multi-tab layer properties files may not load properly (display more items per tab than desired) when used as default layer properties files.
- RVE file reading was broken in some cases (fixed by patch)
This happens when the number of comment lines is odd. The issue is fixed in 0.22.3-r1640 (see 'Help/About' dialog).
Version 0.22.2
- Layer pollution happens when PCells or library cells are used
When multiple layouts are edited and PCells or library cells are instantiated, layers may be created in the current layout which belong to the other layout that is edited.
- Segmentation fault on drawing
When 'bitmap caching' is enabled, a segmentation fault may happen during drawing in certain (rare) configurations.
- Shallow copy of instances is not working
Instead, 'deep copy mode' is used always. In that mode, new cells are created when an instance is copy and pasted. The intended behavior is just to copy the instance, not the cell which is instantiated.
- Global configuration files override local ones
The previous (0.21.x) behavior was that local, per-user configuration files override settings from the global configuration file (in the installation directory). The intention was to provide a default configuration through global configurations. In 0.22.2, global configuration files always override per-user settings. That is not the intended behavior
- Arrow keys interfere with mouse movement
When the arrow keys are used while a selection is dragged with the mouse, the original shape is moved which results in a strange behavior.
Version 0.22.1
- Copy & and paste of PCell or library instances across layouts does not work
Instead, the cell is duplicated, but it's no longer a PCell or library cell.
- 'klayout -v' segmentation faults
The -v option is supposed to print the version number. After printing it, the executable terminates with a segmentation fault.
- Missing support for 'real' Unicode file names
Using Unicode filenames (i.e. Chinese) file names does not work properly. In particular these files are not opened on Windows. Unicode file names are not recorded properly in the 'recently used' list.
- LEF import issues
The outline layer is not always generated correctly. Pin labels are not generated on pin shapes for LEF import.
- Crash on exit when the clipboard contains something
The application issues a segmentation fault on exit (or 'is not working' on Windows) when the clipboard contains data.
- Ruby debugger crashes in some cases
In some cases (i.e. breakpoint in a widget callback) the debugger will crash with a 'Stack level too deep' message.
- Instances of leaf cells are always copied 'flat' to another layout
There is no way to copy the instance plus cells currently.
- Sometimes PCell variants remain as top level cells
If the Instance function is cancelled and a PCell was active, a new top cell will remain which holds the PCell that was about to be placed. These cells can be deleted manually, but that may be annoying.
- Help index cache may grow large
When switching between versions, the help index that KLayout creates once may grow larger every time a new program version is used. This can increase startup times of the program.
Version 0.22
- Edit/Select/Disable All not working
This function is supposed to disable all selectable items. Instead, an internal error message is issued. There is a patch for that problem here.
- Build problems with gcc 4.0
There is a patch for that problem here.
- GDS text size is based on micron instead of user units
Because of this the text object size may not be correct if the user unit is not micron.
- Arrow keys may behave differently
This can be annoying effects if you are used to a particular behavior. On the other hand, moving with the arrow keys now is possible in move mode.
- -z option works differently
'-z' not is a true 'non-GUI' mode, in which no XServer connection is made on Linux. The advantage of this is that KLayout can be used as a engine on display-less servers. But some scripts depending on MainWindow or LayoutView objects will not work because these objects are no longer available. The solution will be to restore the original behavior of '-z' and implement a different, true display-less mode (i.e. '-zz').
- Crash when using custom key bindings on some platforms
On some platforms, apparently Linux and recent Qt versions, KLayout crashes when custom key bindings are defined and the respective key is pressed.
- Issues with the macro tree
Drag & drop does not work correctly within the macro tree on Windows. KLayout crashes when trying to open a macro file that is not writable.
Version 0.21.17
- Gerber file reader
SR command (step-and-repeat) is not supported currently. 'AM' macro expansion does not work as expected: parameter expansion sometimes fails and the macro expansion does not use the units at definition but at instantiation.
- Copy & and paste of layers in layer tree
Layers are not copied to the current position but rather at the end of the layer tree.
- CIF writer does not correctly write OASIS circles
OASIS circles are represented as single-point paths with round ends. Such paths should be written as 'R' round flash primitives to CIF.
Version 0.21.16
- 'Save Current Cell As'
'Save Current Cell As' alters the state of the view. In effect, another 'Save' or 'Save Current Cell As' does not give the expected result. In particular, 'Save' will repeat 'Save Current Cell As' and not save the whole layout.
- Images take much memory
Images consume more memory than they are expected to. A single RGB pixel has a footprint of 15 Bytes.
Version 0.21.15
- No timestamps in GDS files
Currently, the time written into the GDS timestamp entries for BGNLIB and BGNSTR is a dummy value.
- DXF writer creates layer names with blanks
In some cases, in particular when writing layers with GDS layer/datatype plus a name, the DXF writer will create layer names with blanks in it. AutoCAD does not accept such files.
- Rendering of foreground objects
Foreground objects (i.e. rulers) are not rendered correctly in the printout.
Version 0.21.14
- Initial cell not selected correctly in some cases
The largest cell is selected which may not necessarily a top cell.
- Excellon drill files not read
The PCB importer does not accept many Excellon drill files, in particular when they contain routes.
Version 0.21.13
Layout For Microsoft Teams
- Cells can be copied and pasted in viewer mode
That feature is not intended and does not work correctly.
- Resetting the configuration requires a restart of the application
Currently, Reset does not immediately reset the configuration.
- OASIS reader: overflow in g-deltas
Due to internal 32bit-processing, some g-deltas can be subject to overflow which gives wrong coordinates.
Version 0.21.12
- Clip bug
The clip function does not work correctly if empty cells are present.
- CIF does not support command 93 (AREF)
- Ruby scripts and Ruby 1.9
Some problems have been reported when using Ruby script and the Ruby 1.9 interpreter. This is in particular the case in the Windows executable. 'Dir.glob' does not work correctly for example.
Version 0.21.11
- GDS2Text format not correctly recognized in some cases
The automatic detection of the GDS2Text format fails in some cases.
- Texts: strings with line breaks cannot be edited
Version 0.21.10
- Command line option -p does not work correctly
- OASIS writer problem
Layouts with large coordinates are not written to OASIS correctly in some cases.
Version 0.21.9
- Moving a cell
The geometrical content of the instance is not drawn correctly in some cases.
- PCB import problems
When directly reading a PCB project (without using the assistant), some functions are broken (Bottom mounting mode, top cell, DBU).
- RVE file reader
The reader does not correctly handle check names with a dot.
Version 0.21.8
- Layer properties files with tabs
The first tab's name is not read.
Version 0.21.7
- Navigator
The navigator is broken. It is not functional if KLayout is closed with the navigator open.
Version 0.21.6
- DXF reader
Arc interpolation of polylines does not work correctly.
Version 0.21.5
- DXF reader
Bulges are not supported for polylines.
- Performance issues on select
Select (transient or on click) is slow in some cases. This happens in particular if cells in the hierarchy overlap heavily and many layers are present.
- RBA: Edge.intersect? delivers wrong results when the edges are collinear
The edges will be reported to intersect even if they don't. A workaround is to test if the bounding boxes overlap and the edges intersect.
Version 0.21.4
- DXF reader
Some POLYLINE examples were using a global width which was overridden by a per-vertex width. In that case the global width is taken rather than the correct local one.
- Problems with non-english locales and UTF-8 file names on Linux
On KDE, files cannot be opened when the path contains non-ASCII characters on UTF-8 file systems. In some cases, the decimal point is inconsistently ',' instead of '.' which is the standard for KLayout.
Version 0.21.3
- CIF reader
The CIF reader currently does not understand 'DS' commands without a scale specification (i.e. 'DS 20'). It always requires two additional numbers specifying the scale as a ratio of two integers (i.e. 'DS 20 1 10').
- Rotate methods swapped
The clockwise rotate method rotates counterclockwise and vice versa.
- 'Draw border instances of arrays' feature broken
Much is drawn and much more isn't ...
- Ruby crash
On some systems, the program crashes when a ruby script is loaded (i.e. with the '-rm' option) with a message '[BUG] terminated node (0x2a9708ca70)' or similar. This seems in particular to
Version 0.21.2
- DXF reader still not complete
In particular, interpretation of POLYLINE and LWPOLYLINE entities is not clear yet. In comparison to other converters, no merging of separate lines into polygons is provided.
Version 0.21.1
- RBA: RdbItem.each_value is not working on const objects
This is important, because const RdbItem objects are commonly encountered when scanning through a marker database with RBA.
- DXF reader still not complete
The interpretation of certain features (i.e. array instances, extrusion direction) is not clear yet.
- Layer mapping broken for DXF and CIF readers, writers
Incorrect layers are written for example when a layer subset is written. In addition, mapping or selection of input layers does not work correctly for DXF and CIF readers.
Version 0.21
- Persistency of reader options is broken
The program does not remember reader options when the dialog is closed.
- RBA: each_selected is broken
A segmentation fault occurs on Windows in the 'each_selected' method of LayoutView.
- DXF and CIF readers and writers incomplete
DXF and CIF readers and writers implement only very basic features. Some important capabilities are missing, in particular for the DXF part.
Version 0.20.1
- Program crashes when the marker browser is opened
When the marker browser is opened with a maximum number of markers set to a value not equal to 1000 (the default), the program crashes if the marker browser window is opened from the menu (it works when the marker database is loaded from the command line with the -m switch).
Version 0.20
- Net tracing does not extract net correctly
This bug is related to branching conditions. In such cases, a net might not be extracted correctly.
- Gerber reader does not correctly read certain macros
The 'outline' macro is read as a thin outline also in the 'closed' case by the RS274X reader.
Version 0.19.3
- Polygon cut algorithm for reducing the number of points per polygon in the GDS2 writer
When the GDS2 writer has to reduce the number of points of a polygon, it will cut the polygon into smaller pieces. Under some circumstances, this algorithm fails. To avoid this problem, use the Multi XY record mode if possible.
Version 0.19.2
Klayout Macro Example
- Crashes on Qt 4.6.0
Due to a bug in Qt's QPixmap constructor in Qt 4.6.0, KLayout does not work with this version.
- Ruby modules not loaded from the installation path on UNIX
In most cases, ruby modules are not looked for in the wrong path. The intention was to search for '.rbm' files in the directory where KLayout is installed. Instead, the current or any other directory is searched depending on how the KLayout executable is specified on the command line.
- OASIS reader too picky
The OASIS reader does not accept files with forward references of the special 'S_GDS_PROPNAME' property name.
Version 0.19.1
- 'Test for shapes in view' feature does not work properly for AREF's
In some cases, array references are not considered and layers appear to be empty even if they are not.
- RBA scripts crash in tight loops on Ruby 1.8.7 (i.e. Ubuntu 9.10)
That is a ruby problem (http://www.ruby-forum.com/topic/198545). The problem is known and a new libruby version should be available soon.
- GDS text reader problems
In some build environments, problems have been encountered with GDS text files with negative values.
- Interactive stretching of images is broken
The interactive stretching of images with the square handles is sometimes leading to invalid results and does not work properly.
Version 0.19
- Crash when selecting '...' node in the marker browser item list
The item list is abbreviated using a dummy item labelled '...'. When clicking at this item, the application crashes.
- 'Test for shapes in view' feature in layer list is extremely slow in some cases
This feature marks a layer 'unused' when now shape is shown on that layer in the view area. Currently, the application becomes very slow in some cases when this option is used.
Version 0.18
- Crash when selecting 'instance' mode on empty layout
When the layout is empty (no cell present, i.e. top cell was deleted) and 'Instance' mode is selected in editor mode, the program crashes with an internal error.
- Issues on Mac OS X
There are still some issues on Mac OS X, as well for the build as for the program itself - in particular with Qt 4.5.x. For example, with accessibility enabled, the program crashes when a file is loaded. This will be fixed in version 0.18.1.
Version 0.17.2
- Sizing bugs
The sizing function sometimes produces invalid results, in particular when doing a strong undersize.
- Build not working for Mac OS X
The 'ar' call has been changed such that the Mac OS X build should work now (not tested since no test system was available).
- Crash when double-clicking a path end in partial mode
When double-clicking on a path end in partial edit mode (dragging just the path end), the program crashed in some cases.
- 'Fit selection' is not working properly
Not all instances are taken into account.
- Wrong DBU read from GDS2 files
The DBU per user unit is used, which is not correct. Instead the DBU per meter unit should be used.
- Round paths are not written properly to OASIS files
- Windows repaint problem for hidden canvas content
Strange effects occure when a non-modal front dialog is moved over the canvas area.
- Space representation in vector fonts
Space characters are not represented.
Page Layout For Mac
Version 0.17.1
- Program hangs if the properties dialog is closed with the system menu
When the properties dialog is closed using the system menu (the 'X' button in the window title bar), KLayout goes into an unusable state. This does not happen if the dialog is closed using the 'Close' button.
- Program crashes if many text objects have identical location
This happens if more than 100 text objects are present that have identical locations.
- OASIS reader problems when property name and string ID's are defined after they are used
This was a known limitation but came up recently in a certain application.
- AREF row and column description was swapped and misleading
In GDS files, row and column vectors can be arbitrary x/y value pairs. However, some tools implement a more strict interpretation in which only orthogonal row and column vectors are allowed. Also, row and column must be oriented in a certain way. In addition, the description of row and column vectors is swapped.
Version 0.17
- Display freezes on some Windows installations
Apparently due to a problem with Qt's grabMouse function on some Windows installations the display freezes when a zoom box or selection box is opened. By switching to the Task manager using 'Ctrl+Alt+Del', the display can be unfrozen but zoom or selection operations a not possible. This problem existed in all previous versions as well and apparently occured in particular on Windows XP.
Version 0.16.1
- Some flaws in partial edit mode and polygon or path creation
In certain cases, the closing point of polygons was not created correctly, path segments did not snap correctly to 45 degree edges or partial edit mode was behaving in a strange way.
- Order of recent file list was latest last
... which is contrary to what other programs implement.
- Selection of very large arrays happened to be very slow
This happened because many markers have been drawn for such arrays. This has been changed such that the array is not drawn as individual markers for large arrays. Instead, a representative geometrical description is given.
Version 0.16
- Compile problems when ruby support is not enabled
KLayout won't link unless ruby support is enabled (-rblib, -rbinc on build.sh given).
- 'open recent' function is not working correctly on Windows
The file names are not stored properly in the config file - thus 'open recent' does not work since backslashes are dropped.
- 'change layer' function is not working properly
Sometimes an error is issued saying that the requested layer already exist (but it does not). Undo support is not implemented correctly.
Version 0.15
- Child cells are shown multiple times in cell hierarchy
Under certain circumstances, child cells are shown multiple times in the cell tree, i.e. a cell 'A' which is a child of 'TOP' might appear multiple times in the tree below 'TOP'. This is not intended - child cells are supposed to appear just once, even if instantiated multiple times.
- 'Save' saves all layers if none should be saved
If the layers to be saved are confined, i.e. to visibles ones, it may happen that, if no layer is visible for example, all layers are saved instead. A workaround is to create a new layer (i.e. layer 1000, datatype 0) and save it. Such an empty layer will be saved but won't appear in the OASIS or GDS2 file, since it does not contain any shapes.
- Text objects are not shown correctly if a scalable font is selected for them
Depending on the transformation of the text, the text may appear at unexpected locations for example. A workaround is to use the 'default' font.
Version 0.14
- Crash on Windows the first time when the program is called:
On windows, crashes have been observed, when the program is started the first time after installation. This indicates some problem with Qt installation in the registry. However, this bug was not tracked down yet, because it is not easy to reproduce. Since it only happens once, it is not considered pretty serious.
Version 0.13
Zawgyi Keyboard Layout For Mac
- Crash on Windows when the layer list becomes very small:
The program crashes on Windows, if the layer list becomes too small to be displayed. This happens for example, if at the default size of the program window, the color panel, the frame color panel and the stipple panel are opened in that order. Then, the height of the layer list becomes a few pixels and the program crashes.
- KLayout does not start on some platforms and exits with a segmentation fault:
This problem has been found on the 64bit Ubuntu 7.10 platform for example. The program does not start up and exits immediately with a segmentation fault.
Here is a small patch that fixes that problem:

Comments are closed.