Changelog for
klayout-devel-1716050512.879239d-16.55.x86_64.rpm :
* Sun Nov 27 2016 matthiasAATTkoefferlein.de- Update to 0.24.9
* 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: Using Layout objects for inputs didn\'t work
* Bugfix: Copying Hierarchy treets containing PCell\'s made the PCell\'s being turned into static cells.
* Sun Jun 19 2016 matthiasAATTkoefferlein.de- Update to 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.
* Sat Apr 30 2016 matthiasAATTkoefferlein.de- Update to 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.
* Wed Mar 23 2016 matthiasAATTkoefferlein.de- Update to 0.24.6
* 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.
* Tue Feb 23 2016 matthiasAATTkoefferlein.de- Update to 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::LayerProperties#id was not always unique as stated by the documentation. Specifically not after a file was loaded.
* Mon Dec 28 2015 matthiasAATTkoefferlein.de- Update to 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::TilingProcess#threads 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).
* Thu Nov 05 2015 matthiasAATTkoefferlein.de- Update to 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.
* Sat Oct 03 2015 matthiasAATTkoefferlein.de- Update to 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.
* Thu Aug 27 2015 matthiasAATTkoefferlein.de- Update to 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: \"Path#width=\" does no longer reset the round end flag.
* Enhancement: the \"Show All\" mode of the marker browser is persisted now.- Update to 0.24
* Enhancement: Python support: Scripts and PCells can now be coded in Python as well. Python and Ruby scripts may coexist in the same application and they can be debugged together. The macro IDE features a Python tab in which Python scripts can be managed. The language features of Python and Ruby are very similar, so the features of the integration are highly comparable and easy to translate. The Python module name is \"pya\".
* Bugfix: When using a layer with special hierarchy level settings (i.e. #
*), the ruler did not snap to that shapes.
* Bugfix: Qt item ownership is now transferred on some methods. For example, \"QTreeWidget#insertItem\" now will transfer ownership of the item to the tree widget. Hence, when the variable holding the item goes out of scope, the tree item will not be destroyed.
* Enhancement: The shape selection can now be manipulated through scripts (new LayoutView methods \"object_selection=\", \"select_object\" etc.)
* Enhancement: New edge vs. region operations are supported (edge AND region and edge MINUS region)
* Enhancement: RBA/pya objects now in general feature a \"_manage\" and \"_unmanage\" method will allows releasing the ownership over an object in cases where object lifetime control is important (specifically when passing objects around in Qt applications).
* Enhancement: Many new RBA methods, i.e. Annotation#id Cell#change_pcell_parameters Cell#pcell_parameters_by_name DPolygon#assign_hull (raw argument) DPolygon#assign_hole (raw argument) DPolygon#each_edge (with contour argument) DPolygon#insert_hole (raw argument) DPolygon#transform DSimplePolygon#initialize (raw parameter) DSimplePolygon#initialize (raw parameter) DSimplePolygon#set_points DSimplePolygon#transform EdgePairs#+ Edges#& (with Region) Edges#&= (with Region) Edges#- (with Region) Edges#-= (with Region) Edges#inside_part Edges#select_inside_part Edges#outside_part Edges#select_outside_part Instance#change_pcell_parameter Instance#change_pcell_parameters Instance#convert_to_static Instance#flatten Instance#is_pcell? Instance#pcell_declaration Instance#pcell_parameters Instance#pcell_parameters_by_name Layout#begin_shapes (with cell ref) Layout#begin_shapes_overlapping (with cell ref) Layout#begin_shapes_touching (with cell ref) Layout#create_cell (with PCell parameters and/or lib name) Layout#delete_property Layout#flatten_into Layout#has_prop_id? Layout#pcell_ids Layout#pcell_names Layout#prop_id Layout#prop_id= LayoutView#clear_object_selection LayoutView#object_selection LayoutView#object_selection= LayoutView#replace_annotation LayoutView#select_object LayoutView#unselect_object MainWindow#cm_close_all MainWindow#cm_save_all MainWindow#cm_sel_move_to MainWindow#instance MainWindow#manager ObjectInstPath#== ObjectInstPath#!= ObjectInstPath#< ObjectInstPath#append_path ObjectInstPath#clear_path ObjectInstPath#cv_index= ObjectInstPath#layer= ObjectInstPath#seq= ObjectInstPath#shape= ObjectInstPath#top ObjectInstPath#top= RdbItemValue#initialize (with float argument) RdbItemValue#float RdbItemValue#is_float? RdbItemValue#tag_id RdbItemValue#tag_id= SaveLayoutOptions#gds_write_file_properties SaveLayoutOptions#gds_write_file_properties= SaveLayoutOptions#oasis_write_std_properties SaveLayoutOptions#oasis_write_std_properties= Shape#each_edge (with contour argument)
* Enhancement: Qt API is aligned better with C++ Qt notation. Several bug fixes, new features and stability enhancements. For example: New: RBA::Qt::white or RBA::Qt::GlobalColor::white Old: RBA::Qt_GlobalColor::white
* Enhancement: the debugger can now be disabled in the macro editor IDE for enhanced script execution performance with IDE window open and less interactions between Qt code and Macro IDE
* Bugfix: DRC crashed when outputting shapes to a layer that was used as an input in further parts of the script but has been declared as input befor the layer was output.
* Bugfix: \".lyp wildcard replacement\" now honors transformations as well
* Bugfix: Gerber import issues fixed: Zero-diameter circular apertures moves are translated into lines, Zero-length moves must not be clear for G1 and circular apertures.
* Bugfix: The technology button now applies the technology even if the technology did not change.
* Enhancement: Polygons with holes are better supported now (for example in partial editing). Such polygons cannot be written to GDS or OASIS (they will be converted to ones without holes), but they may be created in DRC scripts.
* Bugfix: \"Reload layout\" now doesn\'t forget the technology that was attached to a layout.
* Bugfix: Box side setters now behave more consistently in scripting. Before this fix, it was not possible to assign the sides of a box this way: \"b = Box::new; b.left = 100; b.right = 300\".
* Bugfix: recursive library references (library referencing itself indirectly) made the application crash.
* Bugfix: Subclass mapping sometimes failed in certain cases. This was particular annoying in Qt\'s event handlers since \"QKeyEvent\" (or similar classes) only showed up \"QEvent\".
* Enhancement: \"Move selection to\" function available in \"Edit/Selection/Move To\". With this function, the selection (shapes are instances) can be moved to a specific position. You can specify the reference point to use. For example the center of the bounding box.
* Bugfix: Menu icon assignment was not working in some cases within scripts.
* Bugfix: Readonly (global) macros could be edited but not saved.
* Bugfix: Instances could be selected even if they had only invalid layers.
* Enhancement: The application now features a crash handler. This handler gives some debugging information about the crash which you can send together with a bug report. In some cases, the crash handler will allow continuing to work with the application although it\'s highly advisable to save and close.
* Bugfix: Registering plugins through the script\'s plugin API sometimes disabled view features.
* Bugfix: The macro IDE is not automatically put in the foreground any more. This sometimes interfered with modal dialogs shown from a macro.
* Enhancement: The macro IDE now features watch expressions which are automatically evaluated when in a breakpoint.
* Enhancements: The \"Save Layout\" options are now separated from the save function. That means they can be configured once and the dialog will not pop up always when saving. This way, \"Save All\" is provided which will save all open files with the current options.
* Enhancement: A \"Close All\" function to close all open layouts.
* Enhancement: In scripted layout loads, multiple files can be loaded into the same layout object. In that case, the content of the files are merged. This worked so far with GDS. Now this also works with OASIS.
* Bugfix: OASIS int-typed properties now as written as such. Before, they have been written as strings.
* Enhancement: sizing code and path to polygon translation now will better maintain 45-degree edges.
* Enhancement: DRC support for edge/polygon booleans (\"edges AND polygons\" will select the edges inside the polygons, \"edges MINUS polygons\" will remove the edges inside the polygons)
* Enhancement: Global layout properties supported as well. Layout properties can be edited by selecting \"User Properties\" in \"File/Layout Properties\". They are written to OASIS. Writing to GDS2 is optional since that may create compatibility issues with other tools.
* Enhancement: The OASIS writer will now produce some standard properties: \"S_TOP_CELL\", \"S_BOUNDING_BOX\", \"S_CELL_OFFSET\", \"S_MAX_SIGNED_INTEGER_WIDTH\", \"S_MAX_UNSIGNED_INTEGER_WIDTH\" and \"S_BOUNDING_BOXES_AVAILABLE\".
* Enhancement: User properties of cells are available in cell context menu too: this way there can be browsed in non-editable mode too.
* Enhancement: \"Degenerated\" polygons (one or two points) can be created in scripts now when using \"raw\" mode. Such polygons are useful in the context of Minkowsky sums for example.
* Bugfix: The application crashed when the macro currently running was deleted.
* Enhancement: \"Search & replace\" now is available in viewer mode too, but without the ability to replace or delete.
* Enhancement: In menu paths, appending a \"+\" to the path means to add something after that item.
* Bugfix: Guiding shapes are only selected if the PCell corresponding to them is visible.
* Enhancement: there is a clearer indication now that \'Show layers without fill\' is on.
* Enhancement: a new mode is available in which PCell content can be selected too. When editing things inside PCells however, PCell recomputation may revert these edits. The mode is found in \"File/Setup\", \"Application/Selection\" page.
* Enhancement: Edge set boolean operations have been too selective with respect to almost-parallel edges. Now a tolerance is applied allowing edges to deviate by ~1 dbu.
* Enhancement: Search & replace: texts, paths and boxes are exported into report databases. Shapes and instances are shown in micron coordinates and as seen in top.
* Enhancement: \"Apply all\" in properties dialogs: with this function, a specific change is applied to all shapes or instances of the same class. For example a path width change is applied to all other selected paths. The change will be applied smartly (hopefully), so that the intention of the change is preserved. For example a left edge shift for a box will be turned into the same shift for all other selected boxes.
* Enhancement: multiple categories can be selected in the marker browser now.
* Enhancement: the instance properties page now shows the cell dimensions (which are not editable of course).
* Enhancement: box property editing is less tedious - the left and right coordinates will now swap if the order changes and the mode (width/center or coordinates) is maintained.
* Enhancement: Report databases now support \"tagged values\" (values with a name) which are shown in the marker list. The markers can be sorted by these values, provided they are string or numerical values. RVE properties are read as tagged values.
* Sat May 23 2015 matthiasAATTkoefferlein.de- Update to 0.23.11
* Bugfix: partial edit mode - a cell could be selected even if not visible With the new version, the selection behavior of normal selection and partial selection are somewhat more consistent.
* Bugfix: The CIF reader was not able to read CIF files with line breaks Commands with line breaks separating arguments were not read correctly.
* Bugfix: Printout now considers global transformation correctly Previously, the global transformation was ignored on printout and for screenshots.
* Enhancement: Partial edit mode now also supports polygons with holes Polygons with holes are rare since they cannot be represented in GDS or OASIS files. But they can be generated in DRC scripts. Now, such polygons can be edited in partial edit mode too.
* Bugfix: LEF/DEF reader now correctly uses half the path width for path extension Previously the default value was 0.
* Bugfix: Library update was not working properly for OASIS reader OASIS files with library references had as issue when updating the library cells: cell deleted in the library were not deleted in the layout.
* Enhancement: Warning, when drawing on invisible layers Previously there was not feedback: the shape was drawn, but not visible. Now, a warning pops up when trying to draw on invisible layers. This warning can be disabled.