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.
XXXTNN package phase is broken on macOS due to app bundling changes.
Extensive CMake surgery required. Will fix this in a follow-up commit.
New in 6.0:
- Modern, consistent look and feel
KiCad 6.0 features a refreshed user interface designed to reduce the
barriers of entry for new users
- Upgraded schematic editing
KiCad's schematic editor has received its biggest overhaul ever for
version 6.0
- Improved PCB design experience
KiCad's PCB editor has had a complete look and feel upgrade
The following features are deprecated as of version 6.0:
XSLT BOM generation scripts
The SWIG Python API
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
Major bugfixes:
* Fixed encode from dwg and json for many objects: missing size and bitsize
recalculation for objects with strings and DD types. (GH #322, #326)
* dwgadd: Fixed the pspace command. (GH #319)
* Missed all binary DXF groups 0. Still not working, but added to oss-fuzz.
* Support older gperf, older than 3.1. eg. macOS
LibreDWG version 0.12.3 - 2021/02/26 - beta:
Minor bugfixes:
* Fixed many more minor fuzzer errors, detected with the new llvmfuzz.
* Harmonize UBSAN access for unaligned shorts (unicode strings).
Wrong only with UBSAN or HAVE_ALIGNED_ACCESS_REQUIRED.
* Fix dwg2dxf/dxf2dwg uppercase extension problem (Windows) (GH #311).
* Fix section_string_stream offset for r2010 beta 2 (many public samples) (GH #318)
Minor features:
* Added google oss-fuzz integration, by David Korczynski (PR #316)
libredwg is now fuzzed twice daily.
* Added examples/llvmfuzz for libfuzzer and the google oss-fuzz service.
LibreDWG version 0.12.2 - 2021/02/23 - beta:
Minor bugfixes:
* Fixed extending the write buffer for the 2 CRC bytes. Occurs very
seldomly (GH #315)
LibreDWG version 0.12.1 - 2021/01/31 - beta:
Major bugfixes:
* fixed dwg_bmp() and dwgbmp for >= r2004. Wrong dat offset.
* Fixed EED with code 3 for layer handles. (Fixes GH #310, shanzhugit)
* Fixed bit_convert_TU utf8 conversion with ubsan, wrong endian-ness.
Various fuzzing errors detected and fuzzed by Chew Kin Zhong (See GH #304):
* Fix possible null-deref with broken DWG's in dwg_get_first_object.
* Fix possible null-deref with broken DWG's in dwg_find_class with empty
CLASS.dxfname. (GH #309)
* Fix possible null-deref with broken DWG's in dwglayers with empty
LAYER.name. (GH #308)
* Fix short integer overflow in EED checks when decoding malcrafted DWG's,
which also led to encode buffer overflows. (GH #307)
* Fix possible null-derefs with broken DWG's in json export. (GH #306)
* Fix possible null-deref with broken DWG's in dwg_next_entity iterator. (GH #305)
* Fix wrong TFF overflow check for static strings, where we cannot set
the string nor the size. (GH #304)
* Fix heap-overflows and invalid free's when decoding broken 3DSOLID's
in malcrafted DWG's. Only accept version 1 and 2. (GH #304)
Minor features:
* Added string converters with known TU sizes: bit_TU_to_utf8_len, bit_read_TU_len.
Despite not causing a failure to build and package, qcad's build was
failing to find libqcadcore while building libqcadscripts. This
commits adds a patch, similar to many others already present, that
adds -L ../core and then installs the library (and then the expected
PLIST change).
It remains a mystery why the build ever worked; the makefile I get
seems to ignore the failed build, which seems wrong. The bulk builds
have worked. But Mustafa reports a build failure, and I find that
failure in my log, even if it is non-fatal.
Reported by Mustafa Dogan.
3.3.111 01sep21 Fix in fstapi for read start limit time.
Fix xml2stems when begin blocks are in functions.
Skip over decimal point in timescale in viewer.
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.
3.3.108 30dec20 Fix VZT writer crash when dumpoff is invoked before first
timestep.
Fix convert_ffo() that scanned in wrong direction.
Fix use after free in fstapi.c.
3.3.109 10apr21 gtk_ctree_node_moveto bugfix in SST.
MSVC compiler fix for fstapi.
Update xml2stems and rtlbrowse to support generate.
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.27.0 is again, waiting)
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.
Based on wip/klayout (a little bit old version) by Atzushi Toyokura work.
(pkgsrc)
- rename patch
- Add comment on patches
- more PLIST_SUBST
(upstream changes)
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.
"More than 280 commits since 2.2.0-rc1 and too much delay, but here it is,
the next big step to final 2.2.0 release. We fixed some really serious
bugs with DWG reading, what hopefully leads to much less issues and crashes
when opening DWG files. There may be still some issues with DWG we want to
address and fix for the final 2.2.0 release."