Known changes and backwards incompatibilities in 2026.03.0
Link for Siemens EDA plugin update
The OpenAccess PDK evaluation plugin was updated to version 3, which is required to be present in the PDK for the integration with Siemens EDA. PDKs need to be rebuilt or plugin files need to be added manually. Please contact support for assitance.
pkg_resources removal
The deprecated pkg_resources package is not distributed anymore with the installer. Older PDKs might rely on this package’s parse_version function to parse version strings. The parse function from the packaging.version package can be used instead.
Dummy fill functions
The functions for dummy filling of a layout or GDSII file based on a Box and a specified density
have been enhanced for more flexibility on the dummy filling. Their API has changed, see i3.dummy_fill_layout and i3.dummy_fill_gdsii.
The original functions introduced in 2025.12 are available as i3.dummy_fill_layout_box and i3.dummy_fill_gdsii_box.
Users using these functions will need to perform a renaming.
To use the original API:
dummy_fill_layout: replace with dummy_fill_layout_box.
dummy_fill_gdsii: replace with dummy_fill_gdsii_box.
View manager is no longer a weak reference
The manager property of IPKISS views is now stored as a regular reference, not a weak reference. This will only have effect when explicitly referring to the manager property of a view, which normally does not happen with a regular IPKISS usage.
import ipkiss3.all as i3
class MyCell(i3.PCell):
class Layout(i3.LayoutView):
def generate(self, layout):
pass
cell = MyCell(name="Some cell")
lv = cell.Layout()
# 2025.12: <class 'weakref.ReferenceType'>
# 2026.03: <class '__main__.MyCell'>
print(type(lv.manager))
# 2025.12: <class '__main__.MyCell'>
# 2026.03: TypeError: 'MyCell' object is not callable
print(type(lv.manager()))