v1.12.1 - 2025-08-04
What's Changed
Bug Fixes
- fix missing technology attribute in show function #753
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.12.0...v1.12.1
v1.12.0 - 2025-08-04
What's Changed
New
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.11.0...v1.12.0
v1.11.0 - 2025-08-04
What's Changed
New
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.10.1...v1.11.0
v1.10.1 - 2025-07-24
What's Changed
Bug Fixes
- fix schema connection serialization #745
 
Documentation
- fix schema connection serialization #745
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.10.0...v1.10.1
v1.10.0 - 2025-07-22
What's Changed
New
- add port definitions to cell decorator #738
 
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.9.5...v1.10.0
v1.9.5 - 2025-06-27
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.9.4...v1.9.5
v1.9.4 - 2025-06-23
What's Changed
Bug Fixes
- fix missing transformation string appending #739
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.9.3...v1.9.4
v1.9.3 - 2025-06-19
What's Changed
Bug Fixes
- fix basename/function_name not set on vinst insert #737
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.9.2...v1.9.3
v1.9.2 - 2025-06-19
What's Changed
Bug Fixes
- fix VInstance trans on insert #736
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.9.1...v1.9.2
v1.9.1 - 2025-06-19
What's Changed
Bug Fixes
- fix type completions for jedi #735
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.9.0...v1.9.1
v1.9.0 - 2025-06-18
What's Changed
New
- Update VKCell/VInstance recognition and add markers for virtual cells #733
 - Add pins #722
 - Add instance pins #732
 
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.8.2...v1.9.0
v1.8.2 - 2025-06-12
What's Changed
Bug Fixes
- fix routing if no sbend is allowed #728
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.8.1...v1.8.2
v1.8.1 - 2025-06-12
What's Changed
Bug Fixes
- insert dcplx_trans property to VInstance and fix place90 call #726
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.8.0...v1.8.1
v1.8.0 - 2025-06-12
What's Changed
New
- rework the optical placer and add sbend capabilities #720
 
Bug Fixes
- fix connect for virtual instances and the other way around #725
 - Override ProtoTInstanceGroup second generic param with TInstance #721
 - Fix create_port overloads #717
 
Typing
- Typing Fixes #718
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.7.2...v1.8.0
v1.7.2 - 2025-05-28
What's Changed
Bug Fixes
- fix electrical extraction for unnamed cells #715
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.7.1...v1.7.2
v1.7.1 - 2025-05-27
What's Changed
Bug Fixes
- update docstrings to netlist/schema classes #714
 - fix netlist stuff #712
 - fix schema serialization check and fix pydantic warning #711
 - fix property name for lvs_equivalent_ports #710
 
Dependency Updates
- update typer requirement from <0.16,>=0.15.2 to >=0.15.2,<0.17 #713
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.7.0...v1.7.1
v1.7.0 - 2025-05-23
What's Changed
New
- add basic lvs equivalency checks #706
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.6.0...v1.7.0
v1.6.0 - 2025-05-17
What's Changed
New
- Add Schema and Netlist for Schematic Cells and Extraction #679
 - Add conf, kcell to kf exports #701
 - Add correct conftest import in test files #700
 
Bug Fixes
Documentation
- Add Schema and Netlist for Schematic Cells and Extraction #679
 
Typing
- Enhance create_port to have a unified interface #703
 - Add conf, kcell to kf exports #701
 - Add correct conftest import in test files #700
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.5.4...v1.6.0
v1.5.4 - 2025-05-02
What's Changed
Bug Fixes
- fix route_bundle for single routes #694
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.5.3...v1.5.4
v1.5.3 - 2025-05-01
What's Changed
Bug Fixes
- fix layer selection for electrical router #693
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.5.2...v1.5.3
v1.5.2 - 2025-04-30
What's Changed
Bug Fixes
Documentation
- Lower mkdocs video lower bound #690
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.5.0...v1.5.2
v1.5.0 - 2025-04-27
What's Changed
New
- add route_bundle_rf for electrical #686
 
Bug Fixes
- fix the rf router #687
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.4.4...v1.5.0
v1.4.4 - 2025-04-22
What's Changed
Bug Fixes
- better port exceptions #682
 
Documentation
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.4.3...v1.4.4
v1.4.3 - 2025-04-17
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.4.2...v1.4.3
v1.4.2 - 2025-04-10
What's Changed
Bug Fixes
- fix factories getattr #671
 - Make 
@cellreturn the__call__from the class instead of the entire class #672 - Fix kcell func prune #670
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.4.0...v1.4.2
v1.4.0 - 2025-04-07
What's Changed
New
- add len to wrapper and make it properly pruning #669
 - add better error message on none return and support partials #668
 - add prune to cache #663
 - Session Storage #658
 - proof of concept for session loading/storing #662
 
Bug Fixes
- add len to wrapper and make it properly pruning #669
 - Fix types and mypy plugins #667
 - Fix cell decorator #666
 - fix session loading #664
 - Fix decorator #660
 - Remove klayout api from docs #656
 - Update min req test #655
 
Documentation
- add some extensions to griffe and mkdocs #657
 
Dependency Updates
- add some extensions to griffe and mkdocs #657
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.3.0...v1.4.0
v1.3.0 - 2025-03-28
What's Changed
New
- make length attribute in ManhattanRoute configurable with length_function #629
 
Bug Fixes
- Fix pydantic 2.11 #646
 
Dependency Updates
- Update klayout requirement from !=0.29.12,<0.30.0,>=0.29.11 to >=0.30,<0.31.0 #645
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.2.5...v1.3.0
v1.2.5 - 2025-03-23
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.2.4...v1.2.5
v1.2.4 - 2025-03-20
What's Changed
Bug Fixes
- fix connectivity-check #638
 
Documentation
- error messages for name conflicts on renaming #637
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.2.3...v1.2.4
v1.2.3 - 2025-03-13
What's Changed
Bug Fixes
- pin klayout version #635
 
Dependency Updates
- pin klayout version #635
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.2.2...v1.2.3
v1.2.2 - 2025-03-05
What's Changed
Bug Fixes
- fix connectivity checks #632
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.2.1...v1.2.2
v1.2.1 - 2025-03-04
What's Changed
Bug Fixes
- Fix optical place90 and BasePort.transformed docstring #631
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.2.0...v1.2.1
v1.2.0 - 2025-02-27
What's Changed
New
- add a  function for 
get_component#625 
Bug Fixes
- fix library/pdk cells sometimes not getting ports on creation #628
 - fix the filling functions not accepting all kinds of ProtoTKCell #627
 - fix duplicate cell because of test #626
 - Fix layer properties conversion #624
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.1.5...v1.2.0
v1.1.5 - 2025-02-21
What's Changed
Bug Fixes
- properly require newest klayout in python #622
 - fix enclosure model on init #621
 - Update KCLayout.rebuild to add kcells from the layout #620
 - fix dual rail route #618
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.1.3...v1.1.5
v1.1.3 - 2025-02-14
What's Changed
Bug Fixes
- fix waypoints in electrical routing for DKCell #617
 - Fallback for not annotated functions #616
 - change postprocess to get the proper output of the wrapped function #615
 - Fix route width #614
 - fix layer naming in LayerInfos #613
 - fix route bundle waypoints for um interface #612
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.1.2...v1.1.3
v1.1.2 - 2025-02-12
What's Changed
Bug Fixes
- fix setter for kcl, there should be no setter #611
 - better DPort constructor and name optional arg #610
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.1.1...v1.1.2
v1.1.1 - 2025-02-12
What's Changed
Bug Fixes
- fix constructors for kcell/dkcell #609
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.1.0...v1.1.1
v1.1.0 - 2025-02-11
What's Changed
New
- Move VKCell state to TVCell #607
 - Add default args for DPort center and orientation #601
 - Update base_kcell to base and add locked setters #599
 - Rework cross section #596
 - Add more concrete methods for Instances #598
 - Add concrete iter for InstancePorts and DInstancePorts #597
 - Add ports tests #595
 - Add all to more files #594
 - Add ruff Naming rule and fix most errors #591
 - Add tests for Instance Ports #593
 - Add ruff bugbear rule #592
 - Add to_itype, to_dtype to dbu, um classes #589
 - Make vinstance connect take ProtoPort #587
 - Add defaults for mirror, mirror_x, mirror_y #588
 - Add instances contains #585
 
Bug Fixes
- Fix route_bundle and DPort.copy_polar #608
 - Fix electrical route bundle #605
 - Fix clear kcells #603
 - Fix KCLayout.clear_kcells #602
 - Fix mirror default parameters #600
 - Make vinstance connect take ProtoPort #587
 - Fix um grid #586
 - Cast protoport to port before int angle match #584
 
Other changes
- Try to fix dependency #606
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.0.3...v1.1.0
v1.0.3 - 2025-01-28
What's Changed
New
- Split up classes into different files #583
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.0.2...v1.0.3
v1.0.2 - 2025-01-27
What's Changed
New
- Add RUF rule to ruff and rearanged added #582
 - Harmonize KCell.transform #581
 - add some basic thread safety locks #578
 - Add inheritance for bounding box operations #575
 - Use kdb.Cell.locked/is_locked for KCell locking #573
 - Make all arguments for add_port and add_ports kw #572
 
Bug Fixes
Documentation
- Fix cell decorator #576
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.0.1...v1.0.2
v1.0.1 - 2025-01-25
What's Changed
New
Bug Fixes
Documentation
- Fix instance collision error #570
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v1.0.0...v1.0.1
v1.0.0 - 2025-01-24
What's Changed
Breaking
- Introduce DKCell/DInstance/DInstancePorts/DPort and refactor classes for KCell/Port/Instance/Ports/InstancePorts #552 - A huge thanks to @MatthewMckee4 for the tremendous help
 
New
- Introduce DKCell/DInstance/DInstancePorts/DPort and refactor classes for KCell/Port/Instance/Ports/InstancePorts #552
 - Remove insts from TKCell #564
 
Bug Fixes
- Fix typing issues #560
 
Documentation
- Introduce DKCell/DInstance/DInstancePorts/DPort and refactor classes for KCell/Port/Instance/Ports/InstancePorts #552
 
Other changes
- update tests #557
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.23.2...v1.0.0
v0.23.2 - 2025-01-22
What's Changed
New
- Add more locked checks to VKCell and remade lock file #549
 
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.23.1...v0.23.2
v0.23.1 - 2025-01-12
What's Changed
New
- Add BaseKCell to init.py #545
 
Bug Fixes
- fix VInstance.bbox and duplication of VKCell #547
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.23.0...v0.23.1
v0.23.0 - 2025-01-05
What's Changed
Breaking
- (d)mirror as tuples instead of points #544
 - Port (d)center as tuple #541
 - Add BaseKCell class and update VKCell and KCell to inherit from it #528
 
New
- (d)mirror as tuples instead of points #544
 - Port (d)center as tuple #541
 - Add BaseKCell class and update VKCell and KCell to inherit from it #528
 - better LockedError message #536
 
Bug Fixes
- Port (d)center as tuple #541
 
Dependency Updates
- Add lockfile and more commands to makefile #538
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.22.0...v0.23.0
v0.22.0 - 2024-12-19
What's Changed
New
- add better handling of placing errors #532
 
Bug Fixes
- fix dict serialization #531
 - Fix ports setter for VKCell #529
 - fix writer using gdsii always #526
 - Fix fill_tiled segfault #521
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.11...v0.22.0
v0.21.11 - 2024-11-19
What's Changed
Bug Fixes
- Remove loguru catch #520
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.10...v0.21.11
v0.21.10 - 2024-11-19
What's Changed
Bug Fixes
- clean the name in kf show #519
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.8...v0.21.10
v0.21.8 - 2024-11-18
What's Changed
New
- Add Instance.purpose #514
 
Bug Fixes
- at least partially fix the fill_tiled error #518
 - fix: MetaData type alias and all exports #516
 - fix str(Port) #512
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.7...v0.21.8
v0.21.7 - 2024-11-06
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.6...v0.21.7
v0.21.6 - 2024-10-29
What's Changed
New
- add suffix #504
 
Bug Fixes
- fix error in width calculation of waypoints #505
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.5...v0.21.6
v0.21.5 - 2024-10-21
What's Changed
New
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.4...v0.21.5
v0.21.4 - 2024-10-17
What's Changed
New
- add port reorientation for route_bundle #498
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.3...v0.21.4
v0.21.3 - 2024-10-17
What's Changed
New
- add saveoptions to build cli #497
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.2...v0.21.3
v0.21.2 - 2024-10-17
What's Changed
New
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.1...v0.21.2
v0.21.1 - 2024-10-17
What's Changed
New
- add transform_ports option to KCell.transform #495
 - add instance iterator which returns coord plus port #491
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.21.0...v0.21.1
v0.21.0 - 2024-10-10
What's Changed
New
- Add SymmetricalCrossSection #481
 
Bug Fixes
- fix layerenum #490
 - fix naming of cells from vinsts #489
 - fix route_bundle bbox ignore for single route (or matching opposite side) #488
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.8...v0.21.0
v0.20.8 - 2024-10-02
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.7...v0.20.8
v0.20.7 - 2024-09-29
What's Changed
Bug Fixes
- decrease log level of layout_cache and klayout version mismatch log messages #480
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.6...v0.20.7
v0.20.6 - 2024-09-27
What's Changed
New
- add waypoint routing #473
 
Bug Fixes
- re-add LayerEnum to be available as kf.LayerEnum #476
 
Dependency Updates
- bump klayout to 0.29.7 #478
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.5...v0.20.6
v0.20.5 - 2024-09-13
What's Changed
New
- Better build cli #471
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.4...v0.20.5
v0.20.4 - 2024-09-12
What's Changed
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.3...v0.20.4
v0.20.3 - 2024-09-06
What's Changed
Bug Fixes
- fix add_port using arg call instead of kwarg call #466
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.2...v0.20.3
v0.20.2 - 2024-09-05
What's Changed
Bug Fixes
- Fix meta #465
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.1...v0.20.2
v0.20.1 - 2024-09-01
What's Changed
New
- add config option for custom show functions #461
 
Bug Fixes
- fix generic route not passing routing width to placer_function #463
 - fix errors for 
kf runnot finding modules. Change syntax #462 
Documentation
- add config option for custom show functions #461
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.20.0...v0.20.1
v0.20.0 - 2024-08-29
What's Changed
New
- clean up route_bundle and add a generic version #456
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.19.2...v0.20.0
v0.19.2 - 2024-08-29
What's Changed
Bug Fixes
- fix errors in enclosures and relax some port layer constraints #460
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.19.1...v0.19.2
v0.19.1 - 2024-08-26
What's Changed
Bug Fixes
Other changes
- Fixed another 
ororoutput #455 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.19.0...v0.19.1
v0.19.0 - 2024-08-14
What's Changed
Breaking
- Improve layers so that they can be passed easily by LayerInfo and not only by index #439
 
New
- Improve layers so that they can be passed easily by LayerInfo and not only by index #439
 
Bug Fixes
- better instance default name using trans instead of .x #450
 - fix write_context_info #448
 - Add missing space in KLayout version warning #447
 - ensure cell decorated functions return component #443
 - fix c.flatten(merge=True) deleting texts #441
 - Adjust AttributeError text in optical routing for taper and bend #438
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.4...v0.19.0
v0.18.4 - 2024-07-23
What's Changed
Bug Fixes
- fix the other case of model_dump #436
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.3...v0.18.4
v0.18.3 - 2024-07-23
What's Changed
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.2...v0.18.3
v0.18.2 - 2024-07-23
What's Changed
New
Bug Fixes
Other changes
- Fixed double 
orprint statement #428 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.1...v0.18.2
v0.18.1 - 2024-07-17
What's Changed
Bug Fixes
- Fix 
KCLayout.read(..., register_cells=True)#426 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.18.0...v0.18.1
v0.18.0 - 2024-07-16
What's Changed
New
Bug Fixes
- find dotenv #415
 
Dependency Updates
- update klayout and pre-commit #419
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.8...v0.18.0
v0.17.8 - 2024-06-27
What's Changed
Bug Fixes
- fix kclayout nested cells and ports/metainfo issues #414
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.7...v0.17.8
v0.17.7 - 2024-06-27
What's Changed
New
- Add check for klayout/klive version vs kfactory #411
 
Bug Fixes
Documentation
- fix l2n extraction and add test #412
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.6...v0.17.7
v0.17.6 - 2024-06-27
What's Changed
New
Bug Fixes
Documentation
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.5...v0.17.6
v0.17.5 - 2024-06-16
What's Changed
New
- add display_kcell display_type #396
 
Bug Fixes
- works with partials #399
 - full test suite for smart routing and error fixes #398
 - fix basename usage in cell decorator #400
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.4...v0.17.5
v0.17.4 - 2024-06-12
What's Changed
New
- add contains to settings/units/info #395
 
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.3...v0.17.4
v0.17.3 - 2024-06-10
What's Changed
Bug Fixes
- fix erroneous start for route_loosely #390
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.2...v0.17.3
v0.17.2 - 2024-06-10
What's Changed
New
- Add functional 
check_portsto@celldecorators #389 
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.1...v0.17.2
v0.17.1 - 2024-06-08
What's Changed
New
Bug Fixes
- fix plot with vinsts #385
 - pass flags to connect #384
 - Fix dcplx_trans setter on Port #383
 - Fix cells duplicated by having settings and info #379
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.17.0...v0.17.1
v0.17.0 - 2024-06-05
What's Changed
Breaking
- Drop rec_dicts flag and make it default to use rec dict inspection #375
 
Bug Fixes
- Improve and fix enclosure_tiled for KCellEnclosure and LayerEnclosure #374
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.16.1...v0.17.0
v0.16.1 - 2024-06-02
What's Changed
New
- Improve logger #368
 
Bug Fixes
- fix locked cell error #367
 
Documentation
- Improve logger #368
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.16.0...v0.16.1
v0.16.0 - 2024-06-02
What's Changed
Breaking
mirroranddmirrorM90 by default #350
New
- Add 
overwrite_existingandlayout_cacheoptions to the cell decorator #362 - Better error prints #366
 - Add length and length_straights to OpticalAllAngleRoute #361
 - Add all easy access properties to VKCell and VInstance #360
 - Add lyrdb option to 
plot#359 - Improve all-angle route_bundle to allow no backbone #353
 - Add hash to long automatic cell name #346
 mirroranddmirrorM90 by default #350
Bug Fixes
- fix dy for VInstance #365
 - typo #364
 - fix virtual cell show hierarchy error #358
 - Fix VKCell Setting Units #355
 - fix typo #351
 - Improve drotate #349
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.15.2...v0.16.0
v0.15.2 - 2024-05-29
What's Changed
Bug Fixes
- fix global config settings only being set on first import #345
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.15.1...v0.15.2
v0.15.1 - 2024-05-29
What's Changed
New
- Add 
multioption to fill and fix bugs #344 - add route_width to 
optical.route#342 - Add enum for handling check_instances #341
 - add center to SizeInfo #340
 
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.15.0...v0.15.1
v0.15.0 - 2024-05-27
What's Changed
Breaking
- Change to  
d{key}instead ofd.{key}#339 
New
- Add 
route_smartandroute_bundleport sort #335 
Bug Fixes
- Fix metaformat #338
 - Fix single bundle case for route_bundle #337
 - Fix route_bundle requiring a non-empty list of bounding boxes #336
 
Documentation
- Change to  
d{key}instead ofd.{key}#339 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.14.0...v0.15.0
v0.14.0 - 2024-05-24
What's Changed
New
- Add global flags for connection to not carry over rotation or angle #332
 - Separate function name #331
 - allow new conf fields #325
 
Bug Fixes
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.3...v0.14.0
v0.13.3 - 2024-05-21
What's Changed
New
Bug Fixes
- ports in instance #316
 
Documentation
- rename allow_width_mismatch #319
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.2...v0.13.3
v0.13.2 - 2024-05-15
What's Changed
New
- Improve fill tiled with row/column vectors #314
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.1...v0.13.2
v0.13.1 - 2024-05-15
What's Changed
Bug Fixes
- fix grid instance array not properly setting up the array #310
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.13.0...v0.13.1
v0.13.0 - 2024-05-07
What's Changed
New
- Improve VKCell/VInstance #305
 - allow_different_port_widths for electrical routing #307
 - add minimum_straight #304
 - add inside flag to route_loopback #303
 - Add optional type for settings to KCell to annotate units of parameters #302
 - Add indirect routing of endpoints #301
 - Allow dicts in info #293
 - Add smart routing #295
 - Add (ly)rdb and l2n to show #296
 - Add filter orientation #291
 - print ports in um #289
 - return uminstance with moving references #287
 - Add post process #273
 - serialize settings #285
 - Fix routing issues #284
 - Add 
copy_polartoPort#282 
Bug Fixes
pprint_portsadd missing type switch #306- Fix route_smart ignoring bounding boxes at the end of the routes #309
 - Fix passing port_type to route_single #298
 - fix flatten #300
 - fix typos #292
 - fix invert for route_manhattan #288
 - Fix routing issues #284
 - Fix proxy KCells #278
 - fix manahattan router terminating routing too early #275
 
Documentation
- Implement protocols for routing functions #280
 
Dependency Updates
- Ruff formatting #279
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.12.3...v0.13.0
v0.12.3 - 2024-03-06
What's Changed
Bug Fixes
- Fix KCellEnclosure and rename bbox_per_layer to bbox #270
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.12.2...v0.12.3
v0.12.2 - 2024-03-06
What's Changed
Bug Fixes
- Fix initialization of KCLayout.constants #269
 - Fix factories for euler and taper #268
 - fix KCLayout not allowing constants in the constructor #267
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.12.0...v0.12.2
v0.12.0 - 2024-03-01
What's Changed
Breaking
- Refactor cells classes into functions with protocols #263
 
New
Documentation
- Refactor cells classes into functions with protocols #263
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.4...v0.12.0
v0.11.4 - 2024-02-28
What's Changed
New
- Add automatic registering of KCell-functions to the KCLayout.factories #261
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.3...v0.11.4
v0.11.3 - 2024-02-27
What's Changed
New
- KCLayout cell decorator #260
 - Implement Grid #255
 - Add port access for instance arrays and pretty print for ports #252
 
Bug Fixes
- Fix tiling border problems #256
 
Documentation
- KCLayout cell decorator #260
 
Dependency Updates
- update min klayout version #254
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.2...v0.11.3
v0.11.2 - 2024-02-17
What's Changed
New
- Add top_kcell(s) functions and fix Instance creation #251
 - Allow inheritance from standard cells #249
 - Improve minkowski algorithms for violation fixing #248
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.1...v0.11.2
v0.11.1 - 2024-02-08
What's Changed
Bug Fixes
- Fix Layout read trying to update ports on locked cells #244
 
Dependency Updates
- Update ruff and lsp configs #243
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.11.0...v0.11.1
v0.11.0 - 2024-02-02
What's Changed
New
- Multi PDK #241
 
Other changes
- Version numbers #242
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.10.3...v0.11.0
v0.10.3 - 2024-01-12
What's Changed
New
Other changes
Dependency Updates
- Bump actions/setup-python from 4 to 5 #235
 - Bump actions/upload-pages-artifact from 2 to 3 #234
 - Bump actions/deploy-pages from 2 to 4 #233
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.10.2...v0.10.3
0.10.2 - 2023-12-08 (v0.10.2) - 2023-12-08
Fixed
- Fix no_warn being ignored in transform
 
0.10.1 - 2023-12-05 (v0.10.1) - 2023-12-05
Added
- Added 
centertorotateto allow rotating around a center point - Added 
rec_dictto@celldecorator to allow for recursive dictionaries - Added functionality to 
@cellto allow a user defined cache - Added invert to 
route_manhattanand allowrouting.optical.routeto add routing_kwargs to the routing function - add Instance.mirror Instance.center
 
Changed
- Renamed -> and allow passing kwargs to set attributes of the object
 - Renamed 
function_cache->cache - rename autorename_ports to auto_rename_ports
 - rename port position to center
 
Fixed
v0.10.0 - 2024-06-16
What's Changed
- add Instance setter and getter for center by @joamatab in #191
 - Add port center setter getter by @joamatab in #192
 - improve instance setters by @joamatab in #193
 - rename autorename_ports to auto_rename_ports by @joamatab in #195
 - rename port position to center by @joamatab in #199
 - Make Instance.flatten(
) work correctly with KCell/Instance by @sebastian-goeldi in #202  - add kf.KCell.center property by @joamatab in #200
 - add Instance.mirror and Instance.d.mirror by @sebastian-goeldi in #204
 - add towncrier news by @joamatab in #205
 - route optical uses allow_small_routes by @joamatab in #209
 - add ports length by @joamatab in #210
 - (Basic) Bundle routing by @sebastian-goeldi in #212
 - Fixed typo 
enclosure_mape->enclosure_mapby @sebastian-goeldi in #213 - remove debug prints by @joamatab in #214
 - use image by default by @joamatab in #215
 - add invert to droute_manhattan by @joamatab in #217
 - better_odd_port_width_message by @joamatab in #220
 - Added 
rec_dictto@celldecorator to allow for recursive dictionaries by @sebastian-goeldi in #221 - more consistent names for routes by @joamatab in #226
 - Virtual Cells by @sebastian-goeldi in #228
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.9.3...v0.10.0
v0.9.3 - 2024-06-16
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.9.2...v0.9.3
v0.9.1 - 2024-06-16
What's Changed
- Bump actions/checkout from 3 to 4 by @dependabot in #186
 - get_cells by @joamatab in #187
 
Full Changelog: https://github.com/gdsfactory/kfactory/compare/v0.9.0...v0.9.1
v0.9.0 - 2023-09-25
Added
- Added to be set by decorator #180
 - Added contains to port and eq #182
 - Add PDK capabilities to KCLayout #171
 - Added KCell.connectivity_chek to check for port alignments and overlaps
 - Added a cli based on typer to allow running of functions (taking int/float/str args) and allow upload/update of gdatasea edafiles
 
Fixed
- Fixed throw a critical log message on negative width and angles and convert them to positive ones #183
 
v0.8.0 - 2023-06-14
v0.8.0 - 2023-06-14
Added
- KCells now store (and retrieve) Ports and settings/info in/from GDS #106
 - Added docs section about loguru config #138
 - Added docs section about gdsfactory differences #140
 - Add Netlist extraction based on klayout.db.Netlist #147
 - Added UMKCell to allow addressing some parts in um #158
 - Added snapping of ports to cell decorator #159
 
Changed
- KCell.create_inst doesn't take DCellInstArray args anymore, use KCell.d.create_inst instead #158
 - Updated the Pdk to pydantic 2.0 PR
 - renamed waveguide -> straight PR
 
Fixed
- Fixed incompatibility of Pdk and technology with mypy #108
 - Fixed keep_mirror flag #143
 - Fixed (ix)90° bends second port off-grid #153
 - Fixed circular and euler bends having complex ports in the x*90° cases #159
 
v0.7.5 - 2023-06-01
v0.7.5 - 2023-06-01
Added
- Added 
mirror_x/mirror_yto Instance,xmin/xmax/ymin/ymaxgetter & setter to Instance,xmin/xmax/ymin/ymaxgetter to KCell,polygon_from_array,dpolygon_from_arry#92 - Document settings/config better #138
 - Added docs for people familiar with gdsfactory #140
 
Fixed
- Fixed missing changelog in docs #136
 - Fixed add_port ignore keep_mirror flag #143
 - Fixed changelog and changelog.d links
 
v0.7.4 - 2023-05-29
0.7.4 - 2023-05-29
Added
- add tbump and towncrier for changelog and bumping #129
 
Fixed
- enable non manhattan bend ports, and document how to get rid of gaps #131
 
0.6.0 (v0.6.0) - 2023-04-18
kcell.py
- KCell and Instance don´t  inherit from 
kdb.Cell/kdb.Instanceanymore. They should still transparently proxy to them - Ports automatically convert um <-> dbu
 - no more DPort/DCplxPort/ICplxPort
 
Fix (Cplx)KCell.dup (v0.4.1) - 2023-02-24
KCellandCplxKCellare now properly copying their instances when copied usingdupKLayout/klayout#1300
Complex Cells (v0.4.0) - 2023-02-21
CplxKCell:- Use 
DCplxPortby default. These ports can have arbitrary angle and are micrometer based Any other port will be silently converted toDCplxPort 
- Use 
 - 
library->klib: Renamekf.library->kf.klib,kf.KCell.library->kf.KCell.klib,kf.kcell.library->kf.KCell.klibin order to not confuse with the KLayout library and shadow it.Put deprecation warning and remove in 0.5.0 *
autocell* move cache fromcachetools.Cache[int,Any]to a dictionary{}* deprecate cachemaxsizefor 0.5.0: this is not necessary as a dictionary has infinite size and cache eviction is unwanted