forked from KLayout/klayout
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangelog
1984 lines (1895 loc) · 115 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.26 (2018-12-31):
* YET TO BE RELEASED
* Enhancement: Standalone Python modules provided
For details see:
%GITHUB%/wiki/klayout---Standalone-KLayout-Python-Module
0.25.5 (2018-09-30):
* Bugfix: %GITHUB%/issues/162
GDS2 LIBNAME was not maintained on "File/Save".
* Bugfix: %GITHUB%/issues/166
Internal error when writing GDS files (breaking of polygons)
* Bugfix: %GITHUB%/issues/172
DEF reader did not pull vias from LEF
* Bugfix: %GITHUB%/issues/174
Performance issue with many layers with width >1
* Bugfix: %GITHUB%/issues/176
Painting issue with texts
* Bugfix: %GITHUB%/issues/185
Hash values available as __hash__ standard method now
for Python
* Bugfix: some potential memory corruption issues fixed
During the efforts for making the code base compatible
with MSVC, some potential candidates for memory corruption
have been identified and fixed.
These fixes are included in this release.
0.25.4 (2018-08-25):
* Bugfix: %GITHUB%/issues/121
Issue with multiple reads of GDS2 layouts including PCells
* Bugfix: %GITHUB%/issues/134
Error in cell.fill_region caused by big polygon with
spikes
* Bugfix: %GITHUB%/issues/139
Libraries have not been reassigned when loading a GDS file
from command line (does not happen on File/Open)
* Bugfix: %GITHUB%/issues/141
Issue with RBA::QHostAddress (ambiguous overload) on Qt5
* Bugfix: %GITHUB%/issues/142
Issue with RBA::RecursiveShapeIterator#region=
* Bugfix: %GITHUB%/issues/144
The Salt package descriptions are not shown with Motif
style
* Bugfix: %GITHUB%/issues/148
Wrong font is used
* Bugfix: %GITHUB%/issues/152
Shapes#size reported a wrong shape count in viewer mode
* Bugfix: %GITHUB%/issues/153
Application crash when editing guiding shape properties
* Bugfix: %GITHUB%/issues/155
Program freezes after replacing nothing by something in
Macro editor
* Bugfix: %GITHUB%/issues/157
"Replace cell with ..." rejected cell names with a library
prefix
* Bugfix: %GITHUB%/issues/158
Repaint issue on cell context
* Bugfix: %GITHUB%/issues/159
Tech specific macros and DRC scripts were not shown in tech
manager
* Bugfix: 8 bit indexed GIF images can be used for package icons now
* Enhancement: Provide a way to specify the type of a macro
This feature is mainly useful for command line arguments.
If you run KLayout with "klayout -b -r myscript"
it will not be able to determine the type of macro without
a suffix.
You can now explicitly specify a certain type by
giving the suffix implicitly like: "klayout -b -r myscript[rb]"
This will read "myscript" but pretend it was "myscript.rb"
and execute it as Ruby script.
This feature is handy if you need to run a file with a
specific interpreter but cannot modify the file name.
* Enhancement: Selection now shows PCell display names
Before, the internal name was shown for instances
* Enhancement: There is an option in the View menu to show or hide markers
Markers may hide layout under them. With this feature you can
quickly disable all markers and the layout becomes visible.
0.25.3 (2018-05-03):
* Enhancement: Compile option to use libcurl instead of QtNetwork
This workaround enables builds on the native CentOS6
configuration with the package manager functional.
* Enhancement: Pass label (text) layers through DRC script
The "labels" method now allows copying labels from a layer
to the output.
* Enhancement: New "split" method for polygons
This method will fragment the polygons into two or more
smaller parts for reducing their vertex count.
* Enhancement: New "dtrans" method for RecursiveShapeIterator
This method delivers the transformation in micron unit space
* Enhancement: New "insert" methods for Shapes
Shapes can now insert from another Shapes container and
from a RecursiveShapeIterator. Possible applications are
fast flattening and fast region selection.
* Enhancement: New method to generate RDB items from shapes
RdbItem#add_value from a shape, RdbDatabase#create_items
from a shapes container or recursive shape iterator and
RdbDatabase#create_item from a shape.
* Enhancement: DXF and CIF "keep layer names"
If this option is set in the reader options, layer names
are not translated into GDS layer/datatype pairs.
Specifically a layer called "L5" for example is not
translated to 5/0 and to "L5D0" on output correspondingly.
The buddy script option is "--keep-layer-names".
* Enhancement: DXF contour joining accuracy
On the DXF reader's options, a contour joining accuracy
can be specified. Small gaps smaller than this accuracy
will be closed when forming joined contours from edges.
The buddy script option is --dxf-contour-accuracy=value.
* Bugfix: DXF display issue
In some cases, DXF cell instances did not trigger bounding
box update and the cells only got visible after save and
load.
* Bugfix: XOR progress is more realistic
The progress is updated after the layer has been computed,
not before.
* Bugfix: %GITHUB%/issues/117
DTrans#itype was broken.
* Bugfix: %GITHUB%/issues/116
Fixed a polygon decomposition bug when writing GDS files
with big polygons with many holes. As a side effect, the
polygons with many holes computed by a NOT operation for
example are less complex and spikes in the cutlines are
avoided.
* Bugfix: %GITHUB%/issues/115
Reader options were not persisted.
* Bugfix: %GITHUB%/issues/114
Custom line styles not loaded from tech's layer properties
file.
* Enhancement: %GITHUB%/issues/113
The XOR tool has an option now to heal result shapes which
cross tile boundaries. The result shape count of tiled
and non-tiled mode should basically be the same then.
* Bugfix: %GITHUB%/issues/112
Salt package repository relative paths have not been working.
* Bugfix: %GITHUB%/issues/109
Issues with Python 3 and shape properties - property
* Bugfix: %GITHUB%/issues/108
Bugfix on Box#enlarge and Box#moved for empty boxes.
keys generated with Python 3 could not be written to GDS2.
* Bugfix: %GITHUB%/issues/107
Undo not working with shapes.
* Enhancement: %GITHUB%/issues/106
Search & replace help page enhancements.
0.25.2 (2018-03-20):
* Bugfix: %GITHUB%/issues/90
DRC: "extended" was not working as expected with "joined = true"
* Bugfix: %GITHUB%/issues/89
Display issue on MacOS fixed
* Enhancement: %GITHUB%/issues/85
IDE debugger: files can be excluded from showing exceptions when
they are thrown. To exclude a file press the new "Ignore" button
when the debugger tells you an exception has been generated.
To re-able exception reporting, clear the list of the files
in the IDE settings ("Debugging" tab)
The macro IDE settings can now be edited in the File/Setup
dialog.
* Bugfix: %GITHUB%/issues/94
Retina displays are support to some extend on MacOS.
An open topic is the quality of the icons.
* Enhancement: build system for MacOS
0.25.1 (2018-02-23):
* Enhancements: build compatibility with MacOS and Qt 5.9.
Qt 4.6 supported now as well with one restriction:
the package installation feature is not working.
* Bugfixs: Package manager
- Remove button wasn't enabled if multiple packages were selected
- A potential crash ob removing packages was fixed
* Enhancement: 64 bit coordinate support enabled on Windows builds
* Further bugfixes: See links
- %GITHUB%/issues/21 (Autorun(-early) doesn't seem to run when lym files are inside a package)
- %GITHUB%/issues/24 (Text insert dialog bug - Ok button isn't working)
- %GITHUB%/issues/26 (Exceptions are reported every time they propagate up in the call chain in the ruby debugger)
- %GITHUB%/issues/28 (CIF format detection failed)
- %GITHUB%/issues/30 (Writer options dialog non-functional on a fresh configuration)
- %GITHUB%/issues/32 (Rounding issue with instance properties)
- %GITHUB%/issues/33 (Plugin factory not working when using with Python)
- %GITHUB%/issues/36 (Hardening against destruction of object inside event handler)
- %GITHUB%/issues/39 (Action cannot be reassigned)
- %GITHUB%/issues/40 (Crash in Python binding)
- %GITHUB%/issues/41 (Polygon#touches? issue)
- %GITHUB%/issues/42 (Headless mode support with Qt5/-zz)
- %GITHUB%/issues/43 (Crash when using Qt specific command line options)
- %GITHUB%/issues/44 (Transformation constructor with x,y not working)
- %GITHUB%/issues/45 (Partial selection does not capture instance)
- %GITHUB%/issues/48 (Cancel does not reset current tool)
- %GITHUB%/issues/51 (Segmentation fault on return to main window and other opportunities)
- %GITHUB%/issues/53 (Unreadable 'about' text)
- %GITHUB%/issues/62 (QXmlSimpleReader#parse cannot be called)
- %GITHUB%/issues/63 (Wrong output on DRC non_interacting with empty second input)
- %GITHUB%/issues/64 (Crash on exit)
- %GITHUB%/issues/68 (OASIS reader issue with degenerated shapes)
- %GITHUB%/issues/69 (DRC: 'inside' does not merge shapes of second input)
- %GITHUB%/issues/71 (Target cell argument is required)
- %GITHUB%/issues/72 (Edges/Region NOT issue)
- %GITHUB%/issues/73 (Allow 'change layers' on PCells which support a single layer parameter)
- %GITHUB%/issues/74 (Small-corner boolean issue)
- %GITHUB%/issues/75 (Python PCell issue when parameters are called 'layer')
- %GITHUB%/issues/79 (Replace function enabled also for read-only macros)
* Further enhancements: see links
- %GITHUB%/issues/29 (Permissive mode for OASIS writer on odd-width paths)
- %GITHUB%/issues/59 (Async download of package index and details)
- %GITHUB%/issues/66 (Authentication dialog indicates retry)
- %GITHUB%/issues/77 (Layout#copy_tree now works in non-editable mode too)
0.25 (2017-11-04):
* Enhancement: Menu customization
Menu items can be disabled or enabled now. The former
"Key Bindings" configuration page has been turned into
"Menu Customization". Check boxes allow enabling or
disabling of menu items. Disabled menu items are not
shown.
A search filter allows quick selection of menu items
by title or path.
* Enhancement: The cell tree no longer is collapsed on edits
or when the sorting order changes.
* Enhancement: Using a special menu path, macros can be
configured to appear in submenus now.
* Enhancement: KLAYOUT_HOME environment variable to
control the location of the application folder.
The application folder is the place where KLayout
keeps the configuration, macros, packages and
other things.
* Enhancements: Major overhaul of the build environment
- Qt5 supported now
- Employs qmake as build system
- Reorganisation of the sources
- Continuous integration enabled (unit tests
integrated in .pro files, JUnit output etc.)
- Compatible with the clang compiler
* Enhancements: Buddy tools: KLayout now comes with a set of
additional executables that provide some functionality
subset in a lean way. These binaries are named "strm..."
and are installed along with KLayout.
- strm2cif: converts any format to CIF
- strm2dxf: converts any format to DXF
- strm2gds: converts any format to GDS2
- strm2gdstxt: converts any format to GDS2/text
- strm2oas: converts any format to OASIS
- strm2txt: converts any format to plain text (internally)
- strmclip: creates a clip from a file
- strmcmp: compares two files (logically)
- strmxor: compares two files (geometrically)
For more information, use the "-h" or "--help" option.
* Enhancements: HTTPS support for loading files from URL's directly
* Enhancements: Numerous enhancements and optimizations in the RBA/pya
area and in the debugger.
* Enhancements: KLayout notifies the user when a file was changed and
asks whether to reload.
* Enhancements: "File cell or layer": type into the cell or layer list to jump to the
cell name typed.
* Enhancements: Advanced search features in the filter entry box
for the cell selection form: Case sensitive/insensitive,
glob pattern, clear button.
* Enhancements: Tree expansion icons have a better contrast now on Windows
with dark background.
* Enhancements: Forward and backward navigation buttons in the main window.
These buttons jump to the previous or next display state:
zoom window, hierarchy depth, etc..
* Enhancements: A Package manager is provided. Packages are add-ons for
KLayout and can include macros, script libraries, fonts
for the TEXT PCell, technologies, DRC scripts etc.
Packages can be published on GitHub or any server
supporting WebDAV. After registering a package, users
can install or update packages with a few clicks.
For more information see %GITHUB%/wiki
or "About Packages" in the "Various Topics" area of the main
documentation. The package manager is found in the "Tools"
menu under "Manage Packages".
* Enhancements: LEF/DEF reader:
- Compatibility fixes with version 5.8
- Regions and Groups are supported now
- LEF/DEF is a standare format now and
can be used with "File/Open" for example.
* Enhancement: DXR reader supports variable path widths now
* Enhancement: XOR provides graphical progress
* Enhancements: Libraries can be associated with a technology. Only libraries
associated with the selected technology are shown in the selection
dialog.
* Enhancements: Overlapping instances are easier to select now (instance
selection cycling).
* Enhancements: Many more methods in RBA/pya. For example:
- Ability to directly insert "D" types (such as DBox
into layouts and cells.
- RBA::RecursiveShapeIterator now supports complex (non-rectangular)
search regions
- A more consistent type framework (consistent complex transformation
types, vectors)
- More intuitive interface in certain objects (i.e. CellView,
LayerPropertiesNode, Annotation etc.). Changing an attribute
usually has an immediate effect on the respective property now
("live objects")
- Hash functions for certain objects - Box, Edge, Trans, Polygon,
and other objects can be used as dictionary keys now.
- New import methods for Region, EdgePairs and Edges
- New features for LayerMapping and CellMapping
- Multiple selected cells in LayoutView
- RBA::TextGenerator to supply the Basic.TEXT PCell's
functionality as static feature
- Receivers can be added to signals and removed from
signals now.
- Individual instance iterator for CellInstArray
- ...
* Enhancements: Enhanced layout statistics form with detailed shape
statistics.
* Enhancements: Line styles (dashed, dotted etc.) available now.
Works best with manhattan layouts.
* Enhancements: "Marked box mode": boxes are drawn with a cross.
* Enhancements: Arbitrary pattern size for custom fill pattern (no
limited to multiples of 8). Max size is 32x32.
Enhanced annotations:
- Ellipses
- Position markers
- Text alignment
- "Auto measure" rulers (place a ruler measuring the
distances between adjacent objects with a single
click)
* Enhancements: DRC enhancements:
- Text support
- "smoothed" function
- "layers" function delivers all layers read
- Polygon with edge interactions
- middle and extent_refs methods for center point and other
references
- "corners" function
- "collect...", "select" and "each" methods
* Enhancements: GDS2 paths can now use the MultiXY extension too.
* Enhancements: X2 Support for Gerber import.
* Enhancements: A function to reset the window state after the
window has been misconfigured (i.e. detaching or closing
the dockable windows). This feature is found in
View/Restore Window.
0.24.10 (2016-04-01):
* Enhancements: New method CellView#is_dirty?
This method indicates that a cell view needs saving
* Bugfix: DEF reader was not able to read routing
Routed segments with vias plus continued wiring
were not read. Instead an error message was shown
saying "Invalid orientation specification"
* Bugfix: Setting "technology-data" configuration property did not work
Reading or writing the "technology-data" configuration
property is the only way to access technology data from
a script. Hence it's important that this property can
be set. With this patch, "technology-data" can be set
to an XML string which has the same format than the
one stored within the configuration file.
* Bugfix: Reader issues with some RVE files
The RVE reader could not read files with cell names
containing hyphens (like "A-B").
* Bugfix: Inplace operators are now working in Python too
For example "r1 += r2" was not working where r1 and r2
were pya.Region objects.
0.24.9 (2016-11-28):
* 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.
0.24.8 (2016-06-19):
* Bugfix: XOR and different or big database units:
With tiling, XOR between two layouts with different database
units was still not working correctly. Also, when the database unit
was larger than 1nm, the XOR feature was dropping results sometimes
when tiling was on.
* Enhancements: progress bar shown also for "-z" mode scripts:
The solution of 0.24.7 has been modified to avoid annoying
progress bar windows popping up in background-window mode:
Now, progress bar windows will only pop up if an active main
window is present. This will enable progress bars for scripts that
open their own main windows but still keep the application GUI-less
when the script does not do so.
* Bugfix: Crash on empty panel:
When "New/Panel" is used a view without a layout is created.
An attempt to create layout on such panels crashed the application.
* Bugfix: LEF reader now can read PIN statements including VIA
* Bugfix: Polygon smoothing was not working properly in some cases
Previously the smoothing function was sometimes dropping vertexes
from the polygons.
Smoothing now does also guarantee not to exceed the given
distance.
* Bugfix: Sorting cells by area now sorts cells by name as second choice
In the previous version, cells with identical area were
grouped but the order was arbitrary. Now the name is used as
the second-level sorting criterion which keeps such cells
sorted by name.
0.24.7 (2016-05-01):
* Bugfix: XOR and different database units:
With tiling, XOR between two layouts with different database
units was not working correctly.
* Enhancements: progress bar shown also for "-z" mode scripts:
Scripts running in KLayout with the "-z" option (don't
show main window) were not experiencing progress reporting
before. Now a small modal window is shown during long-running
operations that indicates the progress and provides a Cancel
button to abort the operation.
* Bugfix: Crash on using "Edit/Make cell":
This happened sometimes if the selected objects contained
instances.
* Bugfix: Invalid behavior of paths with reflecting segments:
For example a path made of the points (0, 0), (0, 1000)
and (0, 0) had a reflecting segment which cause some
computations (for example the bounding box) to return
invalid results.
0.24.6 (2016-03-22):
* 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.
0.24.5 (2016-02-26):
* 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.
0.24.4 (2015-12-17):
* 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).
0.24.3 (2015-11-05):
* Enhancement: PYTHONPATH does not mess up the Windows installation any
longer. If you want to set the PYTHONPATH for KLayout, use
KLAYOUT_PYTHONPATH.
* Bugfix: The oasis_write_std_properties attribute of RBA::SaveLayoutOptions
did not work as described. To maintain backward compatibility and
enable the cell bounding box feature, a new attribute called
oasis_write_cell_bounding_boxes was introduced.
* Bugfix: "Hide all" only hides the top level layer properties, not the
members of layer groups.
* Bugfix: S_BOUNDING_BOX standard properties now appear after CELLNAME
records in OASIS files as required by the OASIS specification.
* Bugfix: The unintuitive behavior of the "Writer Options" has been changed.
Now, the writer options are applied to the saved layout always, not
just on the first save. Previously, the program remembered the options
and reused the previous options on following saves. This was quite
unintuitive since changing the properties did not necessarily affect
the way files were written.
* Enhancement: The starting directory for files dialogs is the "Documents"
folder on Windows now. Not the current directory which is the
installation directory usually.
* Bugfix: Signal names are property set for RBA::QListWidget and other
objects. This enables the use of "indexesChanged" signals and eliminates
Qt runtime warnings.
* Bugfix: Library cells were not properly loaded again after reloading
a layout which used libraries which itself referred to other libraries.
* Bugfix: The program crashed sometimes when using report databases with
properties.
* Bugfix: Layers with a single box rendered wrong results in the DRC's
size function with strong undersize. The boxes did not vanish as
expected but instead were inverted.
* Enhancement: The build now is compatible with Python 2.6.
* Bugfix: Reading OASIS files in strict mode with cell names consisting
of a "$" character followed by an integer number (like "$1") sometimes
messed up the cells.
* Bugfix: RBA::TilingProcessor could not be used both with tile size and
tile count set since setting the tile size was resetting the tile
count and vice versa.
0.24.2 (2015-10-02):
* Bugfix: Flip and Rotate function did not work as expected when the view
was descended into the hierarchy.
* Enhancement: RBA::BrowserDialog now also accepts a parent parameter
which are important to better integrate such dialogs into the
application.
* Bugfix/enhancement: "klayout_vo.exe" now is a pure viewer application
again. By calling this executable, the edit functions cannot be
enabled and the save functions are disabled as well. Under Linux,
renaming the binary to "klayout_vo" switches KLayout into this
mode as well.
* Bugfix: The zoom and selection rectangle can now be dragged outside the
visible area and still define the zoom or selection rectangle.
* Bugfix: expressions were not coercing floating-point values consistently:
The expression "to_i(2)+1.4" rendered 3 instead of 3.4 as expected.
The sum was treated as an integer sum because the first operand is
an integer. Now the integer is converted into a floating-point value
as expected.
0.24.1 (2015-08-26):
* 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.
0.24 (2015-07-25):
* 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.
0.23.11 (2015-05-23):
* 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.
0.23.10 (2015-03-07):
* Bugfix/Enhancement: CIF compatibility. The reader was not fully
compatible with the specification. For example, lower-case
characters have not been ignored as specified. This has been
fixed among other compatibility issues.
* Enhancement: The CIF writer now has an option to use blank characters
as x/y separator. Some tools apparently don't like comma
characters for separators (that is still the default).
* Enhancement: The CIF writer now has an option to emit dummy cell
calls on top level to reference the top cells. The top-level
entity is unnamed and does not correspond to a cell. Despite
that some tools require these entities not to be empty and
hold dummy references to the real top cells at least.
* Bugfix: Key bindings to default grid menu entries were not working
* Bugfix: When a layer was deleted and a shape on that layer was
selected, the application crashed
* Bugfix: Search and replace sometimes gave an internal error, for
example with the following query:
'with * do cell.name = "A" + cell.name'
* Bugfix: Search and replace was crashing when trying to delete
instances.
* Bugfix: Net tracer bug: the first selected shape was always taken as
a whole even if parts were disabled through boolean NOT
operations.
* Bugfix: Net tracer was using the wrong origin when working in
"descend" mode.
* Bugfix/Enhancement: The technology setup now features "read all" and
"add other layers" flags for the reader mapping table and
the layer properties. Before, the global flags were used
causing some confusion. With the new options the behavior
can be configured consistently.
* Enhancement: The file dialogs now remember the file type chosen.
* Bugfix: The application issues a error message when trying to
write very big images instead of crashing
* Enhancement: Two new Ruby methods to write image files. These new
methods are LayoutView#save_image_with_options and LayoutView#
get_image_with_options. These methods allow configuration of
more features for the image generation like box to draw,
oversampling etc.
* Enhancement: DXF reader now converts ATTDEF entities to texts too.
* Bugfix: The application crashed when the top cell was deleted.
0.23.9 (2014-12-28):
* Bugfix: DEF reader: E and W pin orientation was swapped.
* Bugfix: DEF reader: PIN definitions are read correctly even if
the PLACED statement comes before the LAYER statement.
* Enhancement: LEF reader: deprecated keyword TOPOPSTACKONLY is
ignored for VIA statements now instead of giving an error.
* Enhancement: DEF reader: the reader now is able to read BLOCKAGE
definitions. Currently, routing and placement blockages are
supported. The layers they appear on can be configured the
in the same fashion than for the other elements.
* Bugfix: Typing in the Macro Editor was slow if many macros were
bound to menus.
* Enhancement: GDS AREF's with pitches not a multiple of the database
unit are split into individual arrays rather than simply
rounding the pitch. The disadvantage of the rounding solution
was an accumulation of rounding errors over the array instances
leading to a substantial deviation from the target location.
* Bugfix: Paths have sometimes not been displayed properly,
specifically paths with a small segment length and sharp bends.
* Bugfix: DXF reader: bulges have not been ignored on the last vertex
of a non-closed POLYLINE as they should.
0.23.8 (2014-11-15):
* Bugfix: DRC: "inside", "not_inside", "outside" and "not_outside" were
broken
* Bugfix: LEF/DEF reader: VIA PATTERN support was broken
* Enhancement: LEF/DEF reader: Support for LEF/DEF Version 5.8 syntax
* Bugfix: The Tab order of certain dialogs was weired
* Bugfix: Multi-layout layer properties files in technology setups behaved
strangely. Now, the behavior of layout properties files (.lyp) is
the same in the technology context and the usual application context.
0.23.7 (2014-10-11):
* Bugfix: DRC was crashing on second run if it was overwriting an input file.
* Bugfix: RBA::InputDialog::ask_double was not accepting negative numbers.
* Bugfix: With a net highlighted in the net tracer, so view zoomed to show
the whole net if a layer was shown or hidden.
* Bugfix: Ruler snapping was disabled for moderately complex hierarchies.
The threshold has been increased. Now snapping of the ruler to objects
also works for denser and more complex layouts.
* Bugfix: Some signals were not available to Ruby (i.e. QIODevice signals).
* Enhancement: When using "Hide empty layers", the layer list will scroll to
keep the selected layer visible (unless it is empty and hidden therefore).
* Enhancement: A "split view" for the cell trees. When multiple layouts are
loaded in a panel, you can choose split view (right mouse in cell list,
check "Split View"). In split view, up to 5 cell trees are shown at the
same time.
0.23.6 (2014-08-20):
* Bugfix: A DRC issue was fixed. Sometimes errors were reported too many times.
This happened for big polygons wrapping smaller ones.
* Enhancement: Now, macro key bindings can be edited on the key binding page
of the setup dialog too if the macros are shown in the menu.
Before, those changes were reset when the program was closed.
* Enhancement: The DXF reader now also considers thin (width = 0) POLYLINES
as mergable edge contributions in the "merge edge" modes if the
POLYLINES are closed ones too.
* Bugfix: The float function in the OASIS writer was fixed.
This is a code cleanup, and did not have effect on functionality (yet).
0.23.5 (2014-07-04):
* Bugfix: DXF polyline mode could not be set in reader options in Ruby.
A value of 3 and 4 was not allowed.
* Enhancement: CIRCLE AND ELLIPSE objects are treated as thin lines in DXF reader's
"merge edges" mode. Hence they participate in region formation.
* Enhancement: A warning is displayed when an ambiguous keyboard shortcut is triggered
* Bugfix: An assertion in the boolean processor was fixed.
* Bugfix: The following command caused the program to crash on the Ruby console:
"require 'net/http'; uri = URI('xyz')".
* Bugfix: The "cell" function in DRC scripts was creating a new cell if is was not existing
yet. In general, the DRC function is not supposed to change the layout's hierarchy.
* Bugfix: The macro editor now can distinguish between the same file with different suffixes.
Before, "test.rb" and "test.lym" were not presented as different files.
* Enhancement: The marker browser now indicates if the number of markers exceeds the
specified maximum and the list is shortened.
* Bugfix: The "browser.rb" sample was not working any longer because of a backward
compatibility issue.
0.23.4 (2014-03-15):
* Bugfix: UTF8 encoding in XML was ignored - special characters have not been
read properly. This in particular caused issues in the .lym macro files
when UTF8 characters are employed.
* Bugfix: Backward compatiblity issue: layout files with PCells written with 0.23
could not be read with 0.22 and vice versa.
* Bugfix: Label text centering and right-alignment was not working propertly
with the default font.
* Bugfix: A segmentation fault occuring when rerunning a PCell macro has been
fixed.
* Bugfix: PCell layer parameters can be set to "no layer" now. This was possible
before, but caused some issues - i.e. creation of dead layers.
0.23.3 (2014-02-23):
* Bugfix: DRC bug fixed: "@x" notation was not working for layout, source and
target.
* Bugfix: A boolean processor bug was fixed that cause an internal error in
some rare cases with certain edge configurations.
* Bugfix: Image documentation was wrong about the offset meaning: it's the center,
not the lower left corner.
* Bugfix: Layer table tab names were lost when sorting or regrouping a layer
list.
* Enhancement: The net tracer now can be configured to auto-color the nets with
a set of predefined colors. 8 colors can be configured in the
configuration dialog or the net tracer setup page in the setup dialog.
* Enhancement: The net tracer now has a "Redo" button which will trace all
nets in the list again using the original start and stop (for path
tracing) locations.
0.23.2 (2014-01-26):
* Bugfix: Build issues fixed for MacOS and some Qt versions.
* Bugfix: DRC log to file was not working.
* Bugfix: Ruby script was crashing when using ruby-implemented tiling
processor receiver and multi-threaded tiling.
* Bugfix: Layout move function was using database units instead of micron.
* Bugfix: Search & replace markes where not shown in a reasonable context
for search in "All cells", instance markers are not shown
correctly.
* Bugfix: DRC now also handles the case of different database units for