forked from KLayout/klayout
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog
3000 lines (2859 loc) · 168 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
0.28.2 (2022-12-22):
* Bugfix: %GITHUB%/issues/1230 LVS browser crashes
0.28.1 (2022-12-21):
* Bugfix: %GITHUB%/issues/1225 XML error prevents generation of help index
* Bugfix: Python module now has py.typed
* Bugfix: Some segfaults fixed on MacOS, other Linux systems
* Bugfix: dropped Python modules from RPM and DEB packages as this creates conflicts with pip-installed modules
* Bugfix: OASIS reader error with CBLOCK byte counts larger than 4G
0.28 (2022-12-09):
Changes (list may not be complete):
* Bugfix: %GITHUB%/issues/989 "Layout#convert_pcell_to_static" does not handle"defunct" cells
* Bugfix: %GITHUB%/issues/991 Basic library not available in Python module
* Bugfix: %GITHUB%/issues/1059 Cleanup of PCell orphans after re-evaluation on load
* Bugfix: %GITHUB%/issues/1081 Using a layer properties file from recent list without layout loaded crashes KLayout
* Bugfix: %GITHUB%/issues/1138 Provide a way to suppress or redirect log output or disable warnings, specifically from file readers, in Python module
* Bugfix: %GITHUB%/issues/1178 technology-data xml results in SEGV
* Bugfix: %GITHUB%/issues/1190 General compatibility issue of Edges#extended/extended_* with deep mode
* Bugfix: %GITHUB%/issues/1216 DRC internal error on "moved"
* Bugfix: %GITHUB%/issues/1214 LEF via parser error
* Enhancement: %GITHUB%/issues/1056 X2 net names
* Enhancement: %GITHUB%/issues/1052 PDF documentation
* Enhancement: %GITHUB%/issues/1053 LEF/DEF enhancements
* Enhancement: Qt6 enabled
* Enhancement: KLayout paths
- $KLAYOUT_HOME can now be empty string (no home folder used)
- $KLAYOUT_PATH can now be empty string (no further and implicit search paths)
* Enhancement: Python typehints
- Python include files are generated for Python module
* Enhancement: Properties dialog now features object list on left side (select and change)
* Enhancement: Compute area and perimeter from selection (Edit/Selection/Area and Perimeter)
* Enhancement: Callbacks for PCells
- Allow dynamic change of some attributes (visibility, enabled etc.)
- By implementing "callback_impl" in PCellDeclarationHelper subclasses
* Enhancement: Report browser
- Shape user properties are turned into RDB values
- Scanning of text objects
* Enhancement: Support for high-DPI modes (scale factor 200%)
- "Highres" option to fully exploit resolution, normally follows screen scaling
* Enhancement: Multiple tech stacks for net tracer per technology
* Enhancement: New rulers
- Angle
- Radius (%GITHUB%/issues/906)
- Multi-segment
* Enhancement: LVS
- Generates a log view which may have useful hints
- Schematic and extracted netlists are available as separate tabs for LVS view
* Enhancement: DRC
- Antenna DRC measured values output on edge pair properties and into report file
- inside, not_inside, outside and not_outside also for edge/edge and edge/polygon layers
- split_inside, split_outside for edge/edge and edge/polygon layers
- andnot (edge/edge)
- inside_outside_part (edge/polygon)
- angle-class selectors (multiples or 90 or 45 degree)
- performance enhancements
- in_and_out (edge and polygon layers)
* Enhancement: "data:" URL schemes to pass direct base-64 encoded data
* Enhancement: "Close all except", "left of", "right of" etc. in layout tabs and macro editor tabs
* Enhancmennt: Drop-down list to select tab in layout views
* Enhancement: Setting for disabling "Save needed" dialog box
* Enhancement: File details are shown (dump of file header) for unknown file formats
* Enhancement: NoQt option for LayoutView
- PixelBuffer object instead of QImage
- LayoutView can be build without Qt
- Functions exist to emulate mouse events
- Included in standalone Python module
- Allows implementation of KLayout backend in web server
* Enhancement: New command "-rr" (like -r but keeps application running, for UI macros)
* Enhancement: PCell errors are shown on a special error layer which is visible together with guiding shapes
* Enhancement: custom queries support micron-unit attributes (dbbox, path_dtrans etc.)
* Enhancement: custom queries highlight results of queries when selected
* Enhancement: scale and snap improvements (edge pair support, properties maintained, arrays not always flattened)
* Enhancement: auto-run macros can not be given a priority in which they are executed
* Enhancement: D25 module overhauled
- Uses a DRC subset to generate layers
- Allows booleans and specific color assignments
- Supports edges and edge pairs (will build walls)
- Not backward compatible!
* Python/Ruby API:
- DText/Text: bbox, alignment enums
- Polygon#size with vector arguments
- DBox/Box#world
- Layout#unique_cell_name
- RecursiveShapeIterator#each, RecursiveInstanceIterator#each
- Layout#clip with DBox and Cell arguments
- Better automatic conversion of enum to int and vice versa
- CellInstArray constructor with Cell argument
- AbstractMenu#insert_menu, #clear_menu
- ActionBase#icon=, #on_menu_opening, #on_triggered
- CellMapping convinience methods
- Cell#read for easy importing of a layout into a cell + subtree
- LayerMap#map and #mmap: logical layer is optional now (needed to be incremental)
- Shapes#cell and #layout
- Edges#andnot, #split_interacting, #inside, #not_inside, #outside, #not_outside and related (for Region and Edges arguments)
- GenericDeviceExtractor#define_terminal convenience methods
- Box/DBox square and rectangle convenience constructor
- Box#enlarge convenience isotropic variant
- Region#in_and_out, Edges#in_and_out
- New class NetTracerConnectivity introduced for multi-stack support in NetTracerTechnology, substitutes connectivity part NetTracerTechnology
0.27.13 (2022-11-30):
* Bugfixes:
- selection did not work in non-editable mode
- partial selection did not work for guiding shapes
- compile issue: NDEBUG is not usable after ruby.h
0.27.12 (2022-11-01):
* Bugfix: %GITHUB%/issues/1173 DXF SPLINE implementation not compatible with ezdxf
* Bugfix: %GITHUB%/issues/1167 delete_cells slow in some cases
* Bugfix: %GITHUB%/issues/1164 Deleting cells: 'basic_string: construction from null is not valid'
* Bugfix: %GITHUB%/issues/1145 Crash when clearing a Shapes container by script while a shape is selected
* Bugfix: %GITHUB%/issues/1144 Copy layer not choosing the right "new" target layer sometimes
* Bugfix: %GITHUB%/issues/1143 DBU not taken from technology by default
* Bugfix: %GITHUB%/issues/1097 Change oasis writer defaults to strict + cblocks, discourage the usage of oas.gz
* Bugfix: Incorrect behavior of some deep-mode DRC functions
- deep edges "and" with Region: incorrect behavior if region is empty or non-deep
- deep edges "inside_part" with Region: incorrect behavior if region is empty or non-deep
- deep edges "outside_part" with Region: incorrect behavior if region is empty or non-deep
* Enhancement: Python include files are now provided for the Python package. This will add type information to the methods.
0.27.11 (2022-08-10):
* Bugfix: %GITHUB%/issues/1098 Normalize zero dimension when generating regular array instance
* Enhancement: %GITHUB%/issues/1103 Add setting to disable Save Needed dialog box
* Bugfix: %GITHUB%/issues/1106 "move by" does not move instances from partial selection
* Bugfix: %GITHUB%/issues/1111 GenericDeviceExtractor#define_opt_layer not working
* Bugfix: %GITHUB%/issues/1114 MSYS2 compatibility with latest revision (based on gcc 12.1)
* Bugfix: %GITHUB%/issues/1126 Internal error on DRC operation
* Bugfix: %GITHUB%/issues/1135 LVS mismatch on parallel devices and issue on ambiguity resolution
* Enhancement: Support for Python 3.11
* Enhancement: L2N and LVSDB readers made compatible with potential future extensions
* Enhancement: DRC Antenna check now can be given a text layer which receives output describing the measured and computed values
* Bugfix: *= method (e.g. Point, DPoint) properly listed in help and reflection API
* Bugfixes: Fixed a number of potential segfaults due to memory corruption found during master branch refactoring
0.27.10 (2022-06-04):
* Bugfix: %GITHUB%/issues/1081 Using a layer properties file from recent list without layout loaded crashes KLayout
* Enhancement: %GITHUB%/issues/1079 PCell update: Library#refresh should call coerce_parameters_impl
* Bugfix: %GITHUB%/issues/1075 Edit layer specification doesn't work well with PCells
* Bugfix: %GITHUB%/issues/1071 Issues with GDS text format and "Save As"
* Bugfix: %GITHUB%/issues/1068 Circle handle not shown sometimes
* Bugfixes: two potential segfaults fixed due to early delete of LayoutView and access to non-initialized memory
0.27.9 (2022-04-23):
* Bugfix: %GITHUB%/issues/1008 Don't optimize away points on path edit
* Bugfix: %GITHUB%/issues/1011 DRC in deep mode highlights erroneous width violation with text
* Bugfix: %GITHUB%/issues/1012 Warning requested if LEF/DEF map file does not capture certain layers
* Bugfix: %GITHUB%/issues/1013 OASIS writer bug with certain irregular arrays
* Bugfix: %GITHUB%/issues/1017 DXF export: better handling of PCB zone fills
* Bugfix: %GITHUB%/issues/1021 LVS unexpectedly failing
* Bugfix: %GITHUB%/issues/1029 Problem with Qt binding
* Bugfix: %GITHUB%/issues/1031 Buddy tools + OASIS: invalid warning about unexpected strict mode
* Bugfix: %GITHUB%/issues/1040 pip install klayout doesn't seem to work on M1 MacBookPro
* Bugfix: %GITHUB%/issues/1054 Qt binding: crash due to Python allocation-while-deallocating
* Bugfix: Ctrl+F will always enter search box in Macro IDE now
* Bugfix: LEF/DEF reader options - could not clear suffix or set datatype to none
* Bugfix: netlist/LVS result browser - do not clip texts, provide texts as tool tips as well for inspection
* Bugfix: the library selected box listed technology-specific libraries even if no technology was selected
* Bugfixes and enhancements for the LEF/DEF reader
Includes %GITHUB%/issues/1050, %GITHUB%/issues/1065 and %GITHUB%/issues/1047
plus a number of standard compatibility issues. Bugfixes and enhancements for the
strm2xyz buddy tool's LEF/DEF reader implementations.
* Enhancement: %GITHUB%/issues/1057 Include PCell update in Library#refresh
* Enhancement: %GITHUB%/issues/1058 Backspace to delete last point from polygon or path
* Enhancement: Split gates option for LVS (new keyword is "split_gates") - see documentation for details
* Enhancement: generate labels for PCB X2 net names
* Enhancement: PCell errors are now shown on a separate layer (formerly only if the PCell featured at least one layer-type parameter)
This layer is available with the same style and configuration than the guiding shape layer.
0.27.8 (2022-02-13):
* Bugfix: %GITHUB%/issues/971 Double compare fails in LVS
* Bugfix: %GITHUB%/issues/972 CIF writer generates unreadable file with invalid cell or layer names
* Bugfix: %GITHUB%/issues/973 Enhanced timeout in package manager on large file download
* Bugfix: %GITHUB%/issues/979 Backup file generation fails with relative paths
* Bugfix: %GITHUB%/issues/982 Heal option for tiled XOR
* Bugfix: %GITHUB%/issues/983 Bug changing PCell parameters of multiple cell instance
* Bugfix: %GITHUB%/issues/984 Crash in debug mode when placing a "slow cell"
* Bugfix: %GITHUB%/issues/994 Loss of selection when clicking at wrong position
To make this problem less annoying, the capture range was increased when
clicking at already selected items for "Move".
* Bugfix: %GITHUB%/issues/995 New top cell appearing after load
* Enhancement: %GITHUB%/issues/996 Refresh function to trigger update from within library
* Bugfix: %GITHUB%/issues/997 Wrong display of negative extensions of paths
* Bugfix: scale and grids were wrong in case of oversampling
0.27.7 (2022-01-12):
* Bugfix: %GITHUB%/issues/969 PCell error (infinite recursion)
0.27.6 (2022-01-04):
* Enhancement: %GITHUB%/issues/963 Display snapped position in main window
* Bugfix: %GITHUB%/issues/960 Cap values range now shown in netlist browser
* Bugfix: %GITHUB%/issues/954 Fixed a device extraction glitch
* Bugfix: %GITHUB%/issues/951 Internal error fixed when deleting the cell you're sitting at
Side effect: copy & paste of cells is correctly disabled now in viewer mode
* Bugfix: %GITHUB%/issues/942 Technology file routing suffix string typo
* Bugfix: %GITHUB%/issues/946 Python: __file__ returns quoted path string
* Bugfix: DRC check for equal width now returns more consistent results
Previously, a check like "layer.drc(width == something)" was not flagging
all candidates correctly.
* Enhancement: A PCell can request "lazy evaluation" now
This means that a parameter change needs to be committed in the UI before
it is being taken. This way, slow PCell evaluation will not make the
application stall. To add this feature, reimplement "wants_lazy_evaluation"
in the PCell class to return "true".
* Enhancement: "lvs_data" is a global function now in LVS scripts
* Bugfix: less liberal evaluation of expressions in string to numeric conversion
This will fix a potential vulnerability which allows someone to sneak
in expression code through malicious configuration, technology or layer properties
files.
0.27.5 (2021-11-14):
* Enhancements: Better support for execution (also cross-interpreter) of macro code from scripts
- New methods for the Macro class like "run" and loading from file
- New class Interpreter for accessing Ruby interpreter state from Python and vice versa
* Enhancement: New DRC function "enclosed" as the reverse of "enclosing"
- Allows using the rectangle filters with "via enclosed by metal"
- Usually better performance than "metal enclosing via"
* Enhancements: Usability
- Navigation in the 2.5d view
- "tap" function shows layer names and details from layer view
- Documentation about layer views
* Enhancement: CentOS7 RPM's use Python 3 now
* Enhancement: Sending custom query shape objects to RDB produces shape markers now
* Enhancement: New method LayoutView#is_editable?
* Enhancement: %GITHUB%/issues/879 PCellDeclaration#layout and Layout#library ownership links
* Bugfix: %GITHUB%/issues/918 Editor options tab window too big
* Bugfix: %GITHUB%/issues/920 Fill tool border parameter sign issue
* Bugfix: %GITHUB%/issues/921 BJT3 extraction with collector shape fixed
* Bugfix: %GITHUB%/issues/933 QMessageLogger methods safe now with "%" characters
* Bugfix: %GITHUB%/issues/935 Cell#insert (of cell instances) now checks their cell indexes
0.27.4 (2021-09-25):
* Enhancements: Some enhancements on the 2.5d view (e.g. live layer color update, z only scaling, wire frames, etc.)
* Enhancement: simple versions of DRC with_holes/without_holes without parameters
* Enhancement: LVS netlist compare performance improvements in certain cases
* Enhancement: %GITHUB%/issues/914 Make "tap" function available in reader mode
* Bugfix: %GITHUB%/issues/912 Decent error message (not crashing) when trying to create a cell or layer on an empty panel
* Bugfix: %GITHUB%/issues/909 DRC crash
* Bugfix: %GITHUB%/issues/905 Crash when deleting a hierarchical PCell library from Python
* Bugfix: %GITHUB%/issues/898 Spice reader ignores last line
* Bugfix: %GITHUB%/issues/897 Fill Tool crashes
* Bugfix: %GITHUB%/issues/894 border case GDS file behavior restored
* Bugfix: %GITHUB%/issues/892 Font path can be selected for standalone "Basic" library
* Bugfix: %GITHUB%/issues/886 Python module does not build from sources
* Bugfix: %GITHUB%/issues/881 Typo in separation_check signature
* Bugfix: %GITHUB%/issues/880 Clarification of device parameter compare on LVS
0.27.3 (2021-07-23):
* Enhancement: DRC - more filters for edge pair collections
As there are now: with(out)_area and with(out)_internal_angle
* Bugfix: %GITHUB%/issues/846 Crash in netlist browser
* Bugfix: %GITHUB%/issues/851 KLayout stalls in net browser net highlighting when net shapes contain texts
* Bugfix: %GITHUB%/issues/854 Resistor Device extractor extracts W and L 2 times too large
* Bugfix: %GITHUB%/issues/856 LVS: Resistor with bulk: bulk terminal swaps with A terminal
* Bugfix: %GITHUB%/issues/858 "+" line continuation in Spice reader only effective when at beginning of line
* Bugfix: %GITHUB%/issues/859 Technology was not assigned on new layout
* Bugfix: %GITHUB%/issues/864 Shapes#copy_shapes does not support undo/redo
* Bugfix: %GITHUB%/issues/866 Probe net not working for floating subcircuits in hierarchical net tracer
* Bugfix: %GITHUB%/issues/867 Macro editor freeze after search next
* Bugfix: %GITHUB%/issues/871 Application stalls with 'draw only border instances' mode with AREFs
* Bugfix: %GITHUB%/issues/875 Drawing glitch
* Enhancement: LVS features
- "extract_devices" returns the device class object
- Device class object can be used to enable parameters (make them primary)
- Spice writer delegate enabled in LVS for customization of output
- "blank_circuit" specifies circuits as black boxes and skips compare
- Better propagation of symmetric nets through swappable pins
- "tolerance" and "join_symmetric_nets" can be used anywhere in the LVS script now
- "same_nets!" (with exclamation mark) for strong matching of nets
- "same_nets" accepts glob pattern now
* Enhancements: RBA/pya
- Device#net_for_terminal with terminal name
- Circuit#nets_by_name with glob pattern
- Netlist#is_case_sensitive?, Netlist#case_sensitive=
- Netlist#nets_by_name to get nets from pattern
- CellView#context_trans and CellView#context_dtrans
* Enhancement: Ruby 3.0 basic enabling
* Enhancement: DRC "extent" accepts a cell name pattern now to deliver cell bounding boxes
* Bugfix: reverted change of #796
DXF version is back to AC1006 which seems to be more compatible with most consumers of
DXF files. Using 1016 AC1014 seems to require much more meta information I cannot
provide without deeper insight into the DXF structure.
0.27.2 (2021-06-20):
* Enhancement: %GITHUB%/issues/818 2.5d view shows view area instead of full layout
This way, it's possible to confine the extruded view to a small area of the
layout easily.
* Bugfix: %GITHUB%/issues/824 LEF/DEF flow - duplicate text label generated
* Bugfix: %GITHUB%/issues/826 Crash on deep, threaded DRC mode with universal DRC function
* Bugfix: %GITHUB%/issues/835 Crash on layout save after deep copy + close of other
* Bugfix: %GITHUB%/issues/839 Crash after PCell code exception is handled in Macro IDE
* Bugfix: Package names can contain dash characters ("-") too.
Previously this was not allowed leading to a conflict with the conventions
of the package repository at sami.klayout.org.
* Enhancement: a lot of typos fixed in documentation and code (thanks to Eugene)
0.27.1 (2021-05-31):
* Enhancement: %GITHUB%/issues/809
"without_density" goes outside the boundary of the input layer.
A new keyword ("padding_ignore") can be added to with_density/without_density
to ignore parts outside the boundary instead of treating them as zero
density.
* Enhancement: %GITHUB%/issues/808
Feature suggestion: DRC to report edges attached to corners as edge pairs.
There is a new output mode "as_edge_pairs" in addition to "as_dots" and
"as_boxes" now.
* Bugfix: %GITHUB%/issues/807 DRC: clear_connections and incremental connect was not working.
This is an important feature for correctly implementing antenna checks
* Bugfix: %GITHUB%/issues/806 LVS: CustomComparer is not working
* Bugfix: %GITHUB%/issues/801 DRC Layer#smoothed lacks the "keep_hv" argument
* Enhancement: %GITHUB%/issues/798 More flexibility on Spice reader.
A number of new features has been provided for the spice reader delegate
* Bugfix: %GITHUB%/issues/795 Unstable application with verbose log output
* Bugfix: %GITHUB%/issues/793 Bug on each_image_selected
* Bugfix: %GITHUB%/issues/787 Query issue (or general: expression issue).
A problem with memory corruption in certain scenarios was causes
an application crash.
* Bugfix: %GITHUB%/issues/778 Use system font instead of hard coded "Monospace"
* Bugfix: DRC "flatten" did not always flatten, but kept layers hierarchically
* Enhancement: DRC: a couple of new filters on edge pair layers:
- with_angle/without_angle: filter by angle of the edges (one or both)
- with_length/without_length: filter by length of the edges (one or both)
- with_distance/without_distance: filter by distance of the edges
* Enhancement: Added Edge#cut_point method
* Enhancement: LEF macro layouts now can be specified in UI
* Bugfix: full_edge, negative output for fragmented polygon vs. small ones (space, enclosure, overlap).
In some cases, only parts of the edges were reported and negative output was
incorrect. In addition, negative output for two-layer checks - such as "l1.drc(sep(l2) > 0.2)" - now
only is produced for the primary layer. With both outputs it was difficult to separate the
components.
* Bugfix: computed layers were printed with layer properties in lvsdb files sometimes.
* Enhancement: Performance improvements and memory footprint reduction for OpenRAM test case
* Bugfix: a number of typos fixed and documentation clarifications
* Bugfix: DRC "or" was producing flat output in deep mode
0.27 (2021-05-02):
* Enhancements: Numerous new functions for the RBA and pya API.
Some highlights:
- "Texts" for text collections (similar for Edges/EdgePairs/Region)
- New modes for blending layout files - see GitHub issue #666
- New function Cell#transform - see GitHub issue #598
- New functions for Image (read, write, clear)
- New functions for Region and Edges correlating with the new DRC features
- Multi-cell hierarchical copy/move of trees - will maintain shared instances
- RBA: iterators are now automatically made available as Enumerable
- All functions having a void return specification now return self (allows chaining)
- More functions for manipulating selections (LayoutView#select_all etc.)
- Spline interpolation code available in new "Utils" namespace
- QByteArray support, mapping to Python byte arrays
- MainWindow#set_key_bindings, MainWindow#get_key_bindings, MainWindow#set_menu_items_hidden etc.
- New class RecursiveInstanceIterator (similar to RecursiveShapeIterator, but acts on instances)
- Deep vs. flat operations do not always flatten out now (flat vs. deep does however)
- Global transformations for inputs
* Enhancements: New DRC features.
Some highlights:
- Better support for texts - "text layers"
- Combined AND+NOT feature for separating regions into inside and outside part
- "max_vertex_count" and "max_area_ratio" configuration options
- "forget" for memory optimization
- Shielding is optional now for some DRC functions
- "interact" now has a count filter
- In verbose more, figure counts and more information is printed
- Generic DRC function and complex DRC operations: for details search "Universal DRC" in documentation
- "not_opposite" and "rect_filter" options for some DRC functions
- "enclosing" (selects polygons entirely enclosing others)
- New filters for polygons: squares, non_squares, area ratio, bbox aspect ratio
- More intuitive specification of projection limits ("projecting < 2.um")
- "with_holes" and "without_holes", also with count
- Density check is included now ("with_densitiy", "without_density")
- "split_..." functions give interacting/non-interacting sets in one step
- Better support for generic transformations as Matrix2d and Matrix3d
- "fill" and "fill_with_left" functions for dummy fill
- NO "connected" feature yet. Sorry. Had to drop it to finish this release.
* Enhancements: new LVS features.
Some highlights:
- Improved netlist and LVS result browser (infinite-depth browsing)
- Improved circuit match algorithm
- Case insensitive handling of object names for SPICE netlists
- Probe feature fixed in flat mode
- "connect_explicit": for details search "connect_explicit" in documentation
* Enhancements: New features for images.
Some highlights:
- New menu item: show and hide all images - see GitHub issue #535
- False color nodes now can have a left and right color allowing color steps
- Persistance of images through a special file format: "lyimg" (XML based)
* Enhancements: LEF/DEF reader.
Some highlights:
- Support for layer map files
- More complete spec support (e.g. FILL, MASK, FOREIGN, DO/BY/STEP ...)
- Several bug fixes, e.g. routing layer switch for VIAs
- Some functions also act on the transient selection (less mouse clicks)
* Enhancements: Layout editing and rulers.
Some highlights:
- Object properties now are changed without having to commit the dialogs
- Dockable editor options windows
- "Recently used" list
- A "distribute objects" feature (Edit/Selection/Distribute)
- Snap highlighting
- Mouse tracking cursor indicates grid- and object-snapped location
* Enhancements: Help browser.
- Bookmarks
- Search in page (Ctrl+F)
* Enhancement: Improved fill tool.
The fill tool now also supports skewed fill pattern repetitions
* Enhancement: Ability to utilize a LayoutView as a Widget.
Standalone instantiation of a LayoutView object is
supported now. So it becomes possible to create
custom MainWindow UIs and embed a layout view there.
* Enhancement: Improved layer and cell list filtering and searching
* Enhancement: Experimental 3d (called 2.5d) view of layout.
For details search "2.5d View" in documentation.
* Enhancement: Improved performance on sea of instances for OASIS files.
Iterated OASIS instances are stored and handled in a leaner way in viewer mode
* Enhancement: Buddy scripts can concatenate files with "+" for input.
Concatenation happens by "blending files". Beware of the risk this implies.
A new option "--blend-mode" has been introduced for supporting overwrite, skip
and variant formation in case of cell name conflicts. See buddy script help.
* Enhancement: Layer maps now support n:m layer mapping.
This allows mapping n input layers to one logical layer (merging) and also
one input layer to m logical ones (clone layer). This applies to the
buddy scripts and layer maps inside KLayout's reader.
* Enhancement: include mechanism for easy include of files into DRC/LVS scripts.
This is a plain text substitution feature. Don't use it for Ruby or Python
scripts (the preferred way is still require/import). But it's a quick way
to include partial DRC and LVS scripts without having to worry about variable
scope. For details see "Including other files" in the documentation under:
KLayout User Manual/Design Rule Check (DRC)/DRC Runsets.
* Bugfix: %GITHUB%/issues/771
Fixed an issue with QByteArray/QVariant transformation in Qt binding
* Bugfix: %GITHUB%/issues/750
PCB gerber import: Incorrect handling of D02 operations.
* Bugfix: %GITHUB%/issues/747
Proper handling of comments in RVE DB reader
* Bugfix: %GITHUB%/issues/740
Bug in the "smooth" function.
* Enhancement: %GITHUB%/issues/715
A separate search range can be specified for box selections now
* Enhancement: %GITHUB%/issues/691
Technology specific libraries: library name resolution based on technology.
* Enhancement: %GITHUB%/issues/666
Controlling the way a layout reader integrates cells into an existing layout.
* Bugfix: %GITHUB%/issues/663
Deep mode DRC: separation from "inside" gives wrong errors.
* Enhancement: %GITHUB%/issues/648
LVS could not do "connect_implicit" with global nets.
* Bugfix: %GITHUB%/issues/609
Internal error on net extraction.
* Enhancement: %GITHUB%/issues/598
Plain transformation of cell missing.
* Enhancement: %GITHUB%/issues/588
RBA/PYA: Provide event when a net is selected in the netlist browser.
* Enhancement: %GITHUB%/issues/563
True support for text objects in DRC/LVS (text layers).
* Enhancement: %GITHUB%/issues/558
Edges#extents, Texts#extents and EdgePairs#extents now
work hierarchically in deep mode. In DRC, this means,
"extents" is a deep-enabled method now.
* Enhancement: %GITHUB%/issues/535
Image handling enhancements.
* Enhancement: %GITHUB%/issues/521
Enhanced API for ObjectInstPath.
* Enhancement: %GITHUB%/issues/487
Difficult to select specific labels for net name assignment in net extraction.
Solution involves a more elaborate handling of texts through "text layers.
0.26.12 (2021-04-21):
* Bugfix: %GITHUB%/issues/747
Result browser gives error message with // lines in RVE files
* Bugfix: %GITHUB%/issues/771
Problem with QMimeData binding
0.26.11 (2021-02-27):
* Bugfix: %GITHUB%/issues/733
Relative path resolution in session files fails when the session file's path contains "+" characters
* Enhancement: %GITHUB%/issues/730
Support of class 'QUiLoader' in PYA and RBA
* Bugfix: %GITHUB%/issues/728
Fails to build on Debian hppa: uses non-standard sa_restorer field of struct sigaction
* Bugfix: %GITHUB%/issues/726
Crash on LayoutView#clear_selection on Linux.
* Bugfix: %GITHUB%/issues/723
Backup scheme wasn't working correctly with a single file without path
given as command line argument.
0.26.10 (2020-02-02):
* Enhancement: %GITHUB%/issues/720
"Safe save" and backups: when saving files, the file is only overwritten after
the save terminated successfully. This will avoid loss of data for full volumes
or network share dropouts. In addition, a configurable number of back files can
be kept (see File/Setup: Application/General).
* Bugfix: %GITHUB%/issues/718
GDS export issue fixed (breaking of polygons was filling holes)
* Bugfix: %GITHUB%/issues/709
LVS compare enters infinite loop when it encounters two entirely identical subcircuits
* Bugfix: %GITHUB%/issues/708
Qt binding: missing support for binary strings as QByteArray representative
* Bugfix: %GITHUB%/issues/707
QJsonValue's string constructor is ambiguous
* Bugfix: %GITHUB%/issues/704
Rational Splines not supported DXF
* Bugfix: %GITHUB%/issues/693
MAGIC files won't find subcells when reading from command line
* Bugfix: HTTP stream reading issue with redirect
At least on MacOS a segfault happened when reading HTTP stream data
(e.g. for package manager) from addresses which are redirected.
* Enhancement: Removed %APPDATA% from DLL search path on Windows
This will avoid installation poisoning by the one from %APPDATA%
(which ironically is the default installation path). Eventually
multiple versions can be used in parallel.
0.26.9 (2020-11-27):
* Bugfix: %GITHUB%/issues/658
Menu items were not put into the right place on MacOS.
* Bugfix: %GITHUB%/issues/652
"M" factor scaling was not working for Spice reader.
* Bugfix: %GITHUB%/issues/651
Fixed an issue with DRC "select".
* Bugfix: %GITHUB%/issues/647
Text orientation was not considered properly in search & replace
* Bugfix: %GITHUB%/issues/646
A potential crash was fixed happening when a PCell
library is deleted
* Bugfix: Display bug
Cell placements with small magnification factors (such that the
viewport dimensions exceeded the DBU space when seem from inside
the cell) lead to display errors.
0.26.8 (2020-09-15):
* Enhancement: %GITHUB%/issues/639
A new method is available which enables copying of multiple cells
into a target layout while maintaining common subcells are single
cells.
* Bugfix: %GITHUB%/issues/637
Points have not been selected properly when inside mirrored subcells
in partial edit mode.
* Bugfix: %GITHUB%/issues/629
Qt5 QTimer timeout signal was not available to Python or Ruby.
This also applied to all "private" signals of Qt5. QTimer is just
one important example for this case.
* Bugfix: %GITHUB%/issues/617
A problem with pseudo-const Python/Ruby objects in the netlist API
was fixed.
* Bugfix: %GITHUB%/issues/615
Basic authentication for package manager now uses UTF-8 encoding.
Most servers expect this kind of encoding today. UTF password
characters are supported this way.
0.26.7 (2020-07-07):
* Bugfix: %GITHUB%/issues/381 and more
Some bugs fixed that happened specifically on MacOS.
1.) A segfault that happened in LVS
2.) Some classes were not properly registered for usage in scripts.
* Bugfix: %GITHUB%/issues/493
LVS asserted on MacOS
* Enhancement: %GITHUB%/issues/586
As a safety feature, the stream writers now refuse to write layouts
with cells carrying the same names. Writing such layers would result
in corrupted or invalid layout files.
* Bugfix: %GITHUB%/issues/589 (tentative)
On Anaconda-based builds for MacOS 10.15 (Catalina) a loss of instances
was observed. This could be traced down to compiler/library incompatibilities
but not further.
* Enhancements: %GITHUB%/issues/591
Two enhancements in the macro editor:
1.) A crash happening when adding a new location was fixed
2.) The template selection popup can now be disabled by dismissing the
tip dialog.
* Bugfix: %GITHUB%/issues/592
Reading a file into a layout with unnamed layers caused problems with
layer mapping specs.
* Bugfix: %GITHUB%/issues/596
Library#_destroy was crashing the application. As this function must not
be called, it's rerouted to "nothing" for backward compatibility.
* Enhancement: %GITHUB%/issues/603
The "adjust origin" feature now allows specifying the target
coordinates for the adjustment.
* Bugfix: %GITHUB%/issues/610
An internal error happened for certain hierarchical configurations on
netlist extraction.
* Enhancement: LVS netlist compare
The algorithm was improved to provide better reproducibility. The
detection of matching paths in the presence of ambiguities was
improved.
In addition, the netlist compare now favours net names for resolving
ambiguities. So if nets are named the same in the layout and the
schematic, ambiguities are resolved based on these names. This is
usually more efficient. A new function is available to turn this
feature off: "consider_net_names(false)".
0.26.6 (2020-06-05):
* Enhancement: %GITHUB%/issues/522
Skip comment lines with // in RVE DB reader
* Bugfix: %GITHUB%/issues/547
Doc fixes, better error messages on some Shape methods
* Bugfix: %GITHUB%/issues/554
Using 64bit coordinates on RVE reader to avoid overflow
* Bugfix: %GITHUB%/issues/565
Spice reader: .global should not add pin if the signal
isn't used in a subcircuit
* Bugfix: %GITHUB%/issues/568 and %GITHUB%/issues/578
A CIF reader and writer bug was fixed
* Bugfix: %GITHUB%/issues/570 and %GITHUB%/issues/579
Perimenter can be included in antenna area for the
antenna check. This also includes a mode in which only
the perimeter is considered.
* Enhancement: %GITHUB%/issues/560
A library can be associated with multiple technologies now.
* Bugfix: width of cell and library side panels could not be
reduced below the width of the selection boxes in the
header
* Bugfix: cell view selection header text did not get updated
when saving the layout to a different file
0.26.5 (2020-05-02):
* Bugfix: %GITHUB%/issues/539
An internal error happened on netlist flatten sometimes
* Bugfix: %GITHUB%/issues/524
Failed queries leave layout in undefined state
* Bugfix: %GITHUB%/issues/525
Report true source line in DRC and LVS verbose mode
* Bugfix: %GITHUB%/issues/526
Makes script debugging more reliable
* Enhancement: %GITHUB%/issues/527
Wildcard layer mapping for stream readers
* Bugfix: %GITHUB%/issues/544
Duplicate .global statements in SPICE netlists created
duplicate pins
* Bugfix: %GITHUB%/issues/548
A shielding issue was fixed for DRC space measurements
* Bugfix: diff tool bug with paths
Differences in path points where no reported
* Enhancement: documentation clarifications and typos fixed
0.26.4 (2020-03-02):
* Bugfix: %GITHUB%/issues/517
DEF reader could not read VIAS+VIARULE without pattern
* Enhancement: %GITHUB%/issues/471
Leaner way to specify LVS compare tolerances for device parameters
* Enhancement: %GITHUB%/issues/473
Direct access to image data in scripts (array of values instead of
per-pixel calls)
* Bugfix: %GITHUB%/issues/476
Issues with "target" switching in DRC solved
* Bugfix: %GITHUB%/issues/477
Missing letter "J" in Times font .. actually this bug is of 1967.
* Bugfix: %GITHUB%/issues/478
Layout queries could not use the "shapes" method
* Bugfix: %GITHUB%/issues/481
"isolated" DRC function reported duplicate marker shapes
* Enhancement: %GITHUB%/issues/482
"join_symmetric_nets" feature in LVS for implementing
"split gate" configurations
* Enhancement: %GITHUB%/issues/486
There is a "save as" function available now in the macro editor
(in context menu of the macro tree)
* Enhancement: %GITHUB%/issues/489
Pin names can be attached as properties to port and pin shapes
when reading LEF or DEF
* Bugfix: %GITHUB%/issues/491
Performance enhancement of L2N/LVS DB file loader
* Bugfix: %GITHUB%/issues/496
Fixed builds on CentOS 8 and Fedora 31
* Enhancement: %GITHUB%/issues/500
Option to limit number of shapes for net tracer
* Bugfix: %GITHUB%/issues/501
Issues with ownership transfer fixed in Qt binding
* Bugfix: %GITHUB%/issues/502
Issues with AbsoluteProgressReporter in scripts fixed
0.26.3 (2020-01-05):
* Bugfix: %GITHUB%/issues/466
A crash happened when accessing layer properties tabs with
an invalid index in Ruby or Python
* Bugfix: %GITHUB%/issues/464
Problem building a layer tree with "add_child" (Ruby/Python)
* Bugfix: %GITHUB%/issues/463
Configuring a layer color with a group node was not effective
over multiple levels of hierarchy
* Enhancement: %GITHUB%/issues/462
MOS transistor gate figures can be more generic now,
e.g. ring-like or non-rectangular
* Bugfix: %GITHUB%/issues/458
A net extraction bug related to certain array/array
interactions is fixed
0.26.2 (2019-12-18):
* Bugfix: %GITHUB%/issues/453
A crash happened when the "inverse" button is used on the TEXT
PCell
* Bugfix: %GITHUB%/issues/449
The Qt windows styling plugin is now installed too on Windows.
* Bugfix: %GITHUB%/issues/448
The LVSDB database wasn't written with the proper device
class statements in short form.
* Bugfix: %GITHUB%/issues/447
Net extraction did not work properly on a specific test case
with folded and interleaving array instances.
* Bugfix: %GITHUB%/issues/445
"Selection/Merge shapes" gave cryptic message when instances are selected
* Enhancement: %GITHUB%/issues/444
Support for net joining though labels also for specific
subcells (here: to support double-height standard cells)
* Bugfix: %GITHUB%/issues/440
LayoutView#each_annotation_selected wasn't working
* Enhancement: %GITHUB%/issues/438
Redefining a circuit in Spice netlists will give an error now
* Enhancement: %GITHUB%/issues/436
Option to silence instance copy mode dialog,
Enhancements to interactive move, duplicate and copy (sensitive
to transient selection now)
* Enhancement: %GITHUB%/issues/434
New preinstalled Ruby gems and Python packages (e.g. numpy, scipy,
test/unit for Ruby) for the Windows packages.
* Bugfix: %GITHUB%/issues/429
Support for MAGIC file format (*.mag)
* Enhancement: %GITHUB%/issues/428
Edit buttons are not shown in user properties dialog
in viewer mode
* Enhancement: %GITHUB%/issues/426
Techs can be grouped in menu now
* Enhancement: %GITHUB%/issues/425
Don't generate dummy pins for dummy gates
* Bugfix: %GITHUB%/issues/419
Multiple top circuits after flatten of netlist
* Bugfix: %GITHUB%/issues/417
Probe nets does not work with flat extraction on Tools/Trace All Nets/Flat
* Bugfix: %GITHUB%/issues/415 and %GITHUB%/issues/439
Macros need to be stored with CRLF on Windows for management
with a versioning system like git
* Enhancement: %GITHUB%/issues/411
Multiple device extractors for same class
* Bugfix: %GITHUB%/issues/410
Errors were not reported on "rerun" from the DRC and LVS report dialogs
* Bugfix: %GITHUB%/issues/408
Internal error after EdgePairs#polygon
* Enhancement: %GITHUB%/issues/407
Variables can be used in technology base path now
- $(tech_name) -> substituted by the technology name
- $(tech_dir) -> substituted by the directory the technology file is stored in
- $(tech_file) -> substituted by the absolute path to the tech file
- $(appdata_path) -> substituted by KLayout's home directory (e.g. ~/.klayout)
- $(env('X')) -> substituted by the environment variable $X
* Enhancement: %GITHUB%/issues/406
DRC edge layers: AND between intersecting edges gives point-like
markers indicating the intersection points
* Enhancement: netlist object properties
User properties can be attached to the following netlist objects
now: Pin, Device, Circuit, Net and SubCircuit. Properties are
key/value pairs (keys and values can be strings can be strings
or numbers).
The property-enabled classes use "NetlistObject" as the base
class now. NetlistObject provides "set_property" to set or reset
a property and "property" to retrieve one.
Properties are persisted in L2N and LVSDB files and written to
layout shapes on "build_nets".
* Enhancement: more detailed progress
On certain nested operations, a double or triple progress bar is
shown indicating the progress of nested operations.
0.26.1 (2019-11-06):
* Bugfix: %GITHUB%/issues/354
Buddy scripts did segfault.
* Bugfix: %GITHUB%/issues/352
LVS: equivalent_pins required the cell to be present.
* Enhancement: %GITHUB%/issues/353
Session files: "file-path" and "rdb-file" behavior was inconsistent.
* Bugfix: %GITHUB%/issues/358
"strm2oas" was writing GDS files.
* Bugfix: %GITHUB%/issues/363
It was possible to produce bad polygons while drawing.
* Bugfix: %GITHUB%/issues/372
pymod build failed with HAVE_64BIT_COORD=1.
* Enhancement: %GITHUB%/issues/376
Parameters UI callback invoking.
* Bugfix: %GITHUB%/issues/368
Segfault with layer list manipulation while iterating.
* Bugfix: %GITHUB%/issues/386
"None" is a reserved keyword for Python binding - use "None_".
* Enhancement: %GITHUB%/issues/382
Possibility to copy user property value.
* Enhancement: %GITHUB%/issues/387
Salt: Python version can be specified in "api-version".
Other requirements can be specified too.
* Bugfix: %GITHUB%/issues/392
Layers "Style" sub-pane was malformed.
* Enhancement: %GITHUB%/issues/394
Even bigger font sizes for rulers and labels for the 4k age:
Now there is "XLarge", "XXLarge" and "XXXLarge" as well.
* Enhancement: %GITHUB%/issues/393
DRC syntax errors are now shown in their original code line
of the DRC script.
* Bugfix: %GITHUB%/issues/400
Snap feature wasn't working for deep regions in certain use
cases.
* Enhancement: new "scale_and_snap" methods
These methods allow scaling and snapping of layouts. Scaling
is supported by a rational factor. After scaling, snapping can
be applied to an integer grid. There are two incarnations.
Region#scale_and_snap (or Region#scaled_and_snapped): this is
a flat implementation which allows anisotropic scaling/snapping
as well.
And there is Layout#scale_and_snap which is a fully
hierarchical scale-and-snap feature. The latter does not support
anisotropic scaling/snapping, but works hierarchically without
opening gaps. It operates on a top cell and on all layers.
* Enhancement: new Region#pull_* methods and DRC features
"pull_*" is a class of methods that allows rehierarchisation
of shapes. These methods act similar to "interacting", but
the other way around: instead of delivering interacting
shapes of the first argument, it will deliver shapes of
the second argument. For example, "a.pull_interacting(b)"
will deliver polygons of b which interact with polygons
of a. As a side effect, the polygons of b will be stored
hierarchically close to the polygons of a. This provides
a way to "re-hierarchise" layout.
The full class of methods and DRC functions involve:
Region#pull_interacting, Region#pull_inside, Region#pull_overlapping
and the same functions for DRC.
"pull_interacting" is also available for the Edges class
and edge layers in DRC.
* Enhancement: Net tracer bug fix for heavily decomposed polygons
The net tracing feature now can operate on heavily decompose
polygons as well. Such layouts can be created by using a low
max. vertex count on GDS write. The problem were small
triangles with an area of 0.5 square DBU.
* Enhancements: General fixes of deep DRC mode
Some inconsistencies with merged/raw mode have been
removed. Performance was enhanced in a few places.
Multithreaded mode now works more reliably.
* Enhancements/bugfixes: various LVS improvements
The backtracking algorithm should work more reliable
in cases of ambiguities and floating nets or pins.
Performance should be better in some cases.
LVS script structure is less rigid now. "cheats" to
forcibly ignore hierarchy interactions for some
cells (useful for SRAM layout for example).
Still there is some work to do.
0.26 (2019-09-10):
* Bugfix: %GITHUB%/issues/197
Python: Reimplemented methods are not getting called
* Bugfix: %GITHUB%/issues/236
Crash when using "Delete all rulers"
* Bugfix: %GITHUB%/issues/251
Register application exit handler in Ruby
* Bugfix: %GITHUB%/issues/264
Python exceptions are redirected when PCell is used
* Bugfix: %GITHUB%/issues/265
LEF file can't be read
* Bugfix: %GITHUB%/issues/277
Region#min_coherence is not recognized by Region#sized
* Bugfix: %GITHUB%/issues/293
File/Setup menu and dialog names are inconsistent
* Bugfix: %GITHUB%/issues/294
Cannot display the right icon in Ubuntu
* Bugfix: %GITHUB%/issues/302
Display issues with small cells
* Bugfix: %GITHUB%/issues/305
CIF box positions are incorrect when a rotation is specified
* Bugfix: %GITHUB%/issues/306
Round corners issue
* Bugfix: %GITHUB%/issues/316
Text capture box has zero dimension for move
* Bugfix: %GITHUB%/issues/318
Unable to disable a key binding
* Bugfix: %GITHUB%/issues/321
Something's wrong with tip windows
* Bugfix: %GITHUB%/issues/322
CIF, error when changing layer name while file open in KLayout
* Bugfix: %GITHUB%/issues/330
DXF reader stalls
* Bugfix: %GITHUB%/issues/337
Annotation: make "cross" styles available for scripts
* Bugfix: %GITHUB%/issues/338
Unreadable Assistant document: QComboBox
* Bugfix: Rare crash fixed with line width > 1
With line widths > 1, segfaults have been observed in some
rare cases.
* Enhancement: %GITHUB%/issues/287
Return an ObjectInstPath from the RecursiveShapeIterator
* Enhancement: %GITHUB%/issues/317
"infix move"
* Enhancement: %GITHUB%/issues/333
Ruby/Python automation of "auto measure"
* Enhancement: %GITHUB%/issues/342
Ruler properties editor: swap points and snap to object buttons
* Enhancement: %GITHUB%/issues/343
Dockable bookmark window
* Enhancement: Hierarchical mode for DRC ("deep" keyword)
DRC can be put into hierarchical mode with the "deep"
statement at the beginning of the file.
In hierarchical mode, most operations are performed
in a hierarchical fashion - i.e. trying to maintain
as much from the original hierarchy as possible.
* Enhancements: Antenna checks for DRC
DRC now got an antenna check feature. Netlist extraction
is the basis for this feature.
* Enhancement: Hierarchical mode in XOR tool and "strmxor"
The XOR tool and the "strmxor" buddy tool provide
switches to enable hierarchical mode. These options
are considered experimental currently as XOR between
two different layouts was not the implementation goal.
* Enhancement: Netlist extraction
KLayout supports extraction of netlists from a layout.
This is the first step towards LVS. This feature includes
an infrastructure providing netlist data structures
(with Ruby/Python bindings), Netlist readers and writers
(Spice format), device recognition and a netlist browser.
* Enhancement: LVS
The LVS feature is based on the netlist extraction capabilities.
It adds netlist vs. netlist compare and the corresponding
infrastructure.
LVS is a new script environment that is based on the DRC feature
and extends the DRC script language by LVS elements.
* Enhancement: Command line option -mn to open netlist database
* Enhancement: Net tracer "trace all nets"
Based on the netlist extraction feature, an alternative mode
for net tracing is provided. With "trace all nets", no a single
but all nets are traced at once. Probing then happens in the
final nets extracted rather than providing the seed shape.
"Trace all nets" operates in hierarchical mode and therefore
usually is faster and has a smaller memory footprint when
extracting huge nets such as power nets.
* Enhancement: Library browser
The library browser is a dockable tool window which shows
all libraries installed. Use drag and drop to place a library
cell from the library browser in edit mode.
* Enhancement: Layout query enhancements
Layout queries (aka "Search and replace") now allow specification
of Variables when using the script API. The performance of queries has been
enhanced in the case of cell tree recursion.
* Enhancement: Gridline colors
The grid lines (or dots, depending on the style) can now be given
different colors for axes, grid lines and the ruler inset.
* Enhancement: Multiple files on import
The "File/Import/Other files into current" feature now allows
importing multiple files into the current layout.
* Enhancement: Python standalone module
KLayout supports production of standalone Python modules
which provide the same features than the "pya" module but
for use without the KLayout binary. If installed properly,
"import klayout" will pull in all modules. "import klayout.db"
will pull in the database part.
Deployment on PyPI is supported.
* Enhancement: Modal help dialog from modal windows
When using Assistant links in the UI, the assistant now is shown
as a modal window when called from a modal dialog. Before, the
Assistant window wasn't usable in this case.
0.25.9 (2019-06-18):
* Bugfix: %GITHUB%/issues/261
Issue with iterating Python sequences
* Bugfix: %GITHUB%/issues/271
Chose cell coordinates on "Make Cell"
* Bugfix: %GITHUB%/issues/272
Error message if trying to run macros in unsupported languages
* Bugfix: %GITHUB%/issues/275
"Write without context" did not have an effect with OASIS
* Bugfix: %GITHUB%/issues/276
LayerPropertiesNodeRef was not working as documented
* Bugfix: %GITHUB%/issues/278
Lost reference with ObjectInstPath#shape
* Bugfix: %GITHUB%/issues/281
Width and space violations are reported now also for
the "kissing corners" case
0.25.8 (2019-02-23):
* Bugfix: %GITHUB%/issues/234
Issues with LayoutView#save_image_with_options
* Bugfix: %GITHUB%/issues/232
Crash on reading .lyp files with big stipple pattern
* Bugfix: %GITHUB%/issues/228
Bug in Region#interact and DRC's "interact" function.
* Bugfix: %GITHUB%/issues/225
Mirrored custom stipple pattern
0.25.7 (2019-01-09):
* Bugfix: %GITHUB%/issues/200
Safer iteration of cell instances and shapes (with
modifications of container during iteration) - in this
case while flattening instances