- straight_heater_doped has with_top_contact and with_bot_contact settings to remove some contacts - rib_heater_doped and rib_heater_doped_contact has with_bot_heater and with_top_heater settings
3.8.3
- replace in contact_yspacing by heater_gap in straight_heater_doped
3.8.2
- add kwarg `auto_rename_ports=True` to `add_ports_from_markers_center` - mzi length_x is optional and defaults to straight_x_bot/top defaults - change mzi_phase_shifter straight_x = None, to match phase shifter footprint - replace gf.components.mzi_phase_shifter_90_90 with gf.components.mzi_phase_shifter_top_heater_metal
3.8.1
- add `gf.components.mzi` as a more robust implementation for the MZI - rename `gf.components.mzi` to `gf.components.mzi_arms` - expose `toolz.compose` as `gf.compose` - add `gf.components.mzi1x2`, `mzi1x2_2x2`, `mzi_coupler`
3.8.0
- add `gf.components.copy_layers` to duplicate a component in multiple layers. - better error message for `gf.pack` when it fails to pack some Component. - rename gf.simulation.gmpb as gf.simulation.modes - rename gf.simulation.gtidy3d as gf.simulation.tidy3d - gf.simulation.modes.find_neff_vs_width can store neffs in CSV file when passing `filepath` - `gf.components.rectangle_with_slits` has now `layer_slit` parameter
3.7.8
- cell accepts `autoname` (True by default) - import_gds defaults calls cell with `autoname=False`