Changelog
[1.1.0] — 2026-06-04
Added
- Public [
add_route_from_corners_dbu][doroutes.add_route_from_corners_dbu] API for routing in database units (#126) - Backwards-compatible support for passing lengths in both microns and dbu (#120)
[1.0.0] — 2026-05-26
Changed
- Breaking: standardized public API — routing and bundle functions use micron parameters, always return corners, and follow consistent naming (#115, #119)
- [
FanStrategy][doroutes.FanStrategy] TypedDict replaces loose keyword arguments for fan-in/fan-out configuration (#115) - Deprecation wrappers added for all renamed/removed parameters — old call sites emit warnings instead of breaking (#115)
[0.6.1] — 2026-05-21
Fixed
- Use
round()instead ofint()for um-to-dbu corner conversion to avoid float truncation (#118)
[0.6.0] — 2026-05-08
Added
return_cornerskwarg on routing and bundle functions (#113)- A*
clearanceparameter for obstacle margin control (#102) - Separate fan-in / fan-out strategy support (#100)
- Steps routing in microns (#99)
- Bundle fan-in anchor control with validation (#94)
- Fan-in strategy on [
add_bundle_from_corners][doroutes.add_bundle_from_corners] (#92) - Generic PDK in notebooks, replacing cspdk (#93)
- Configurable leading-straight on manhattan fan-in (#71)
- Switch tree pad routing example (#74)
- lbend and sbend fan-in demos (#51)
- Python 3.11+ support (#41)
Fixed
- L-bend wire clearance (#91)
- Collapse collinear corners so consecutive same-axis steps don't insert fake bends (#70)
- Sbend fan-in radius calculation rewritten as per-wire angle euler s-bend (#55)
- Remove
PDK.activate()calls and cspdk dependency (#98)
Changed
- Corners routing parameter switched from dbu to microns (#87)
- Split
bundle_from_corners+ manual dispatchers, unifiedcomponentparam name (#86) - Upgraded gdsfactory to 9.40.2
[0.5.0] — 2026-03-27
Added
- 3D multilayer routing subpackage (#22)
- 1x16 optical switch with electrical routing example
- Interactive KLayout GDS viewer for stress test results
Fixed
- Reduced routing runtime with coarser grid and tighter margin
[0.4.0] — 2026-02-22
Added
- [
add_bundle_from_corners][doroutes.add_bundle_from_corners] for explicit corner-based bundle routing (#24) - Array indexing support for instance port references (#23)
- Array routing example notebook (#25)
[0.3.1] — 2026-01-07
Added
- Python 3.14 support
Fixed
- Fix tests and notebooks compatibility (#17)
[0.3.0] — 2025-11-25
Fixed
- kfactory 2.0 compatibility (#13)
[0.2.6] — 2025-11-25
Fixed
- Pin kfactory dependency version
[0.2.4] — 2025-09-01
Fixed
- Increase bounding box search area for route finding (#10)
[0.2.3] — 2025-05-13
Added
- Ubuntu ARM release builds
[0.2.2] — 2025-05-13
Added
- Native ARM builds without emulation (#9)
[0.2.1] — 2025-05-13
Added
[0.2.0] — 2025-03-09
Fixed
- Graceful error handling instead of panicking when no route found (#6)
- API key verification error handling
[0.1.0] — 2025-03-04
Added
- Documentation site
- kfactory-only routing backend (#2)
- Bundle routing support
- A* routing function
[0.0.1] — 2025-02-14
Added
- Initial release
- Corner-based and step-based routing
- A* pathfinding with obstacle avoidance
- Bundle routing with fan-in/fan-out
- Circuit from YAML netlist
- Discretization for field-based routing