Currently cad/oce does not build on Darwin, in part because sed
substitutions in CMakeFiles fail because the suffixes (.dylib) differ
from expected (.so). There are, however, two additional problems.
First, frameworks are not used by pkgsrc, yet CMakeLists.txt expects
them on Darwin and uses special installation steps. Instead, use the
standard installation steps. Additionally, there are a few PLIST
differences between Darwin and other platforms, which are handled with
PLIST.* variables that differentiate Darwin from other systems.
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
Version 1.6.11 (Jan 14, 2022)
Fix in Cell.write_svg when missing references.
Speed improvements in Cell.remove_polygons (thanks Troy for the contribution).
Version 1.6.10 (Nov 14, 2021)
Fix in Cell.get_polygons
Version 1.6.9 (Sep 23, 2021)
Fix in Cell.get_polygons with specified layer and datatype.
Raise error for duplicate cells when reading a GDSII file.
Version 1.6.8 (Aug 2, 2021)
Fix in boolean for complex geometries that freeze the operation.
Version 1.6.7 (Jul 14, 2021)
Fixes in boolean for bugs with self-intersecting holes and holes horizontal edges.
Fix bug in warning message.
Version 1.6.6 (Jun 09, 2021)
Fix error in Path.smooth not finding _hobby function.
Allow precision specification in SVG output.
Version 1.6.5 (Jun 08, 2021)
Support GDSII files with 0-padding at the end.
Allow fixing and modifying GDSII file timestamps.
Thanks Troy Tamas and Joaquin Matres for the fixes
Version 1.6.4 (Apr 23, 2021)
Fix missing module import (thanks Troy Tamas for the fix).
Version 1.6.3 (Dec 28, 2020)
Fix bounding box edge case (thanks Troy Tamas for the fix).
Version 1.6.2 (Dec 18, 2020)
More efficient bounding box calculation (thanks to Troy Tamas for the contribution).
Fix Label creation bug.
Version 1.6.1 (Oct 22, 2020)
Fix SVG output when Label contains special characters.
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