# Changelog

Release history from [GitHub Releases](<https://github.com/gdsfactory/gsim/releases>).

## 0.8.0

Released 2026-10-22. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.8.0>).

### What's Changed

#### New Features

- docs(palace): add chip junction inductors and eigenmode field plots [\#407](<https://github.com/gdsfactory/gsim/pull/407>)
- docs(fdtd): use built-in arbitrary grating coupler in the GPDK example [\#414](<https://github.com/gdsfactory/gsim/pull/414>)
- feat(palace): warn when via merging grows the via area [\#412](<https://github.com/gdsfactory/gsim/pull/412>)
- feat(palace): warn when a wave-port mode solve jumps (port-mode continuity check) [\#410](<https://github.com/gdsfactory/gsim/pull/410>)
- feat(palace): default to configurable complex MUMPS multigrid [\#376](<https://github.com/gdsfactory/gsim/pull/376>)
- feat: send FDTD and Palace sizing without an SDK upgrade [\#344](<https://github.com/gdsfactory/gsim/pull/344>)
- feat(tcad): DEVSIM charge-transport backend configured by physical concern [\#370](<https://github.com/gdsfactory/gsim/pull/370>)
- feat(palace): electrostatic terminals by connected net or region [\#359](<https://github.com/gdsfactory/gsim/pull/359>)
- feat(palace): modal-to-terminal transformation for multi-conductor wave ports [\#345](<https://github.com/gdsfactory/gsim/pull/345>)
- feat(fdtd): add notebook field-monitor helper [\#371](<https://github.com/gdsfactory/gsim/pull/371>)
- feat(palace): symmetry planes for half-model driven and eigenmode simulations [\#338](<https://github.com/gdsfactory/gsim/pull/338>)
- feat(palace): native-2D BoundaryModeSim owns its run, paths and fields [\#350](<https://github.com/gdsfactory/gsim/pull/350>)
- feat(fdtd): support directional domain padding [\#349](<https://github.com/gdsfactory/gsim/pull/349>)

#### Bug Fixes

- fix(fdtd): contain disconnected sidewalls in the physical domain [\#418](<https://github.com/gdsfactory/gsim/pull/418>)
- fix(palace): detect connected conductor necks and notches [\#384](<https://github.com/gdsfactory/gsim/pull/384>)
- fix(cloud): record an uploaded job before starting it [\#390](<https://github.com/gdsfactory/gsim/pull/390>)
- fix(palace): write BoundaryMode material tensors in the 2D mesh frame [\#409](<https://github.com/gdsfactory/gsim/pull/409>)
- fix(palace): remove fixed node-count performance warning [\#405](<https://github.com/gdsfactory/gsim/pull/405>)
- fix(palace): restore executable permissions for MPI launchers [\#404](<https://github.com/gdsfactory/gsim/pull/404>)
- fix(cloud): surface sizing rejections and Palace OOM guidance [\#403](<https://github.com/gdsfactory/gsim/pull/403>)
- fix: stabilize FDTD counts and bound Palace AMR sizing [\#402](<https://github.com/gdsfactory/gsim/pull/402>)
- fix(stack): preserve YAML sidewall angles [\#401](<https://github.com/gdsfactory/gsim/pull/401>)
- fix(palace): report effective mesh sizing in diagnostics [\#382](<https://github.com/gdsfactory/gsim/pull/382>)
- fix(palace): honor layout database units in Gmsh geometry [\#383](<https://github.com/gdsfactory/gsim/pull/383>)
- fix(tcad): load scipy-openblas32 natively with DEVSIM 2.11.1 [\#387](<https://github.com/gdsfactory/gsim/pull/387>)
- fix: read gmsh meshes without a blank line per read; restore a palace export [\#374](<https://github.com/gdsfactory/gsim/pull/374>)
- fix(fdtd): warn when material dispersion is dropped; opt-in dispersion blocks [\#369](<https://github.com/gdsfactory/gsim/pull/369>)
- fix(fdtd): keep background LayerLevels that have no source polygons [\#367](<https://github.com/gdsfactory/gsim/pull/367>)
- fix(palace): reject ports outside the meshed domain before upload [\#366](<https://github.com/gdsfactory/gsim/pull/366>)
- fix(meep): report stopping mode as info, quiet the Xvfb fallback [\#365](<https://github.com/gdsfactory/gsim/pull/365>)
- fix(gcloud): keep the cloud progress bar from going backwards [\#364](<https://github.com/gdsfactory/gsim/pull/364>)
- fix(fdtd): write grid.non\_pml\_bounds to config.json [\#363](<https://github.com/gdsfactory/gsim/pull/363>)
- fix(fdtd): write mesh.msh and config.json with LF line endings [\#362](<https://github.com/gdsfactory/gsim/pull/362>)
- fix(palace): keep R/L/C of non-excited lumped ports in driven sims [\#355](<https://github.com/gdsfactory/gsim/pull/355>)

#### Refactoring

- refactor(palace): move the local launch into palace.runtime [\#391](<https://github.com/gdsfactory/gsim/pull/391>)
- refactor(palace): declare shared simulation state once [\#392](<https://github.com/gdsfactory/gsim/pull/392>)

#### Maintenance

- docs(palace): publish a large QPDK qubit chip demo [\#386](<https://github.com/gdsfactory/gsim/pull/386>)
- docs: automate API references and release changelog [\#351](<https://github.com/gdsfactory/gsim/pull/351>)

#### Documentation

- docs: add Codecov coverage badge to README and docs home [\#368](<https://github.com/gdsfactory/gsim/pull/368>)
- docs(palace): which Gmsh settings give the same mesh, and comparing mesh hashes [\#361](<https://github.com/gdsfactory/gsim/pull/361>)
- docs(nbs): move the CPW de-embedding legend below the panels [\#352](<https://github.com/gdsfactory/gsim/pull/352>)

#### Other changes

- test(tcad): draw the diode regions directly, not from cached cells [\#416](<https://github.com/gdsfactory/gsim/pull/416>)
- test: expand solver, geometry, and cloud coverage [\#373](<https://github.com/gdsfactory/gsim/pull/373>)
- Add asymmetric finite-ground CPW airbridge example [\#263](<https://github.com/gdsfactory/gsim/pull/263>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.7.0...0.8.0](<https://github.com/gdsfactory/gsim/compare/0.7.0...0.8.0>)

## 0.7.0

Released 2026-10-09. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.7.0>).

### What's Changed

#### New Features

- feat(stack): import layer stacks from EMX process files [\#343](<https://github.com/gdsfactory/gsim/pull/343>)
- feat(palace): expose wave-port boundary policy [\#313](<https://github.com/gdsfactory/gsim/pull/313>)
- feat(palace): report solver and mode-validation evidence [\#317](<https://github.com/gdsfactory/gsim/pull/317>)
- docs(palace): use scikit-rf for transmission-line calibration [\#319](<https://github.com/gdsfactory/gsim/pull/319>)
- feat(palace): expose the Gmsh 3D algorithm and thread counts [\#290](<https://github.com/gdsfactory/gsim/pull/290>)
- feat(palace): find the electrical nets of a layout [\#289](<https://github.com/gdsfactory/gsim/pull/289>)

#### Bug Fixes

- fix(materials): silicon refractive index in the O-band (Li 1980) [\#346](<https://github.com/gdsfactory/gsim/pull/346>)
- fix(palace): derive Floquet phase from the actual mesh period [\#314](<https://github.com/gdsfactory/gsim/pull/314>)
- fix(palace): read eigenmode fields and exact-zero S parameters [\#315](<https://github.com/gdsfactory/gsim/pull/315>)
- docs: set an eigenmode target in the QPDK two-qubit meshing notebook [\#326](<https://github.com/gdsfactory/gsim/pull/326>)
- fix(mesh): ignore the user's Gmsh options file [\#329](<https://github.com/gdsfactory/gsim/pull/329>)
- fix(palace): clarify launch errors and exclude slow transmon docs notebook [\#324](<https://github.com/gdsfactory/gsim/pull/324>)
- fix(ci): install qpdk 0.4.0 for the QPDK resonator docs notebook [\#325](<https://github.com/gdsfactory/gsim/pull/325>)
- fix(palace): export valid transient solver settings [\#308](<https://github.com/gdsfactory/gsim/pull/308>)
- fix(palace): validate problem targets and fallback configs [\#307](<https://github.com/gdsfactory/gsim/pull/307>)
- fix(palace): align field saves with frequency samples [\#305](<https://github.com/gdsfactory/gsim/pull/305>)

#### Refactoring

- refactor(palace): group solver settings under sim.solver [\#331](<https://github.com/gdsfactory/gsim/pull/331>)

#### Maintenance

- ci: limit docs notebook execution to 30 minutes [\#333](<https://github.com/gdsfactory/gsim/pull/333>)

#### Documentation

- docs(palace): physical RLGC in the CPW de-embedding notebook (joint fit with impedance anchors) [\#342](<https://github.com/gdsfactory/gsim/pull/342>)

#### Other changes

- chore(deps): bump pdk-schema to 0.3.0 [\#347](<https://github.com/gdsfactory/gsim/pull/347>)
- test(palace): cover field cycles across MFEM versions [\#281](<https://github.com/gdsfactory/gsim/pull/281>)
- Circuit parameter extraction refactor [\#321](<https://github.com/gdsfactory/gsim/pull/321>)
- Palace transmon eigenmode notebook (conflicts resolved) [\#327](<https://github.com/gdsfactory/gsim/pull/327>)
- chore: update default code owners [\#328](<https://github.com/gdsfactory/gsim/pull/328>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.6.0...0.7.0](<https://github.com/gdsfactory/gsim/compare/0.6.0...0.7.0>)

## 0.6.0

Released 2026-09-30. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.6.0>).

### What's Changed

#### New Features

- feat(palace): read and check the capacitance matrices of an electrostatic run [\#288](<https://github.com/gdsfactory/gsim/pull/288>)
- feat(palace): record a mesh hash and the Gmsh settings in the mesh stats [\#287](<https://github.com/gdsfactory/gsim/pull/287>)
- feat(palace): report Field DOF estimates and export mesh metadata [\#297](<https://github.com/gdsfactory/gsim/pull/297>)
- feat(palace): read the per-pass output of adaptive mesh refinement [\#286](<https://github.com/gdsfactory/gsim/pull/286>)
- feat(palace): show worst element distortion in mesh summaries [\#294](<https://github.com/gdsfactory/gsim/pull/294>)
- feat(palace): expose adaptive mesh refinement controls [\#285](<https://github.com/gdsfactory/gsim/pull/285>)
- feat(palace): report elements per region in mesh stats [\#284](<https://github.com/gdsfactory/gsim/pull/284>)
- Add Palace domain energy and port contact helpers [\#282](<https://github.com/gdsfactory/gsim/pull/282>)
- feat(palace): expose Palace's advanced wave-port eigensolver controls [\#253](<https://github.com/gdsfactory/gsim/pull/253>)
- feat(palace): clarify lumped port geometries [\#261](<https://github.com/gdsfactory/gsim/pull/261>)
- feat(palace): add PN-junction models and BoundaryMode ports [\#268](<https://github.com/gdsfactory/gsim/pull/268>)

#### Bug Fixes

- fix: support pdk-schema 0.2 analytic material cards [\#309](<https://github.com/gdsfactory/gsim/pull/309>)
- fix(palace): correct numerical solver exports [\#304](<https://github.com/gdsfactory/gsim/pull/304>)
- fix(palace): export sample counts for logarithmic sweeps [\#299](<https://github.com/gdsfactory/gsim/pull/299>)
- fix(palace): apply the airbox lateral margin once, not twice [\#279](<https://github.com/gdsfactory/gsim/pull/279>)
- fix(palace): clip GPDK wave ports to the meshed airbox [\#270](<https://github.com/gdsfactory/gsim/pull/270>)
- fix(meep): repair explicit bounds integration [\#260](<https://github.com/gdsfactory/gsim/pull/260>)

#### Documentation

- docs: add QPDK two-qubit Palace meshing notebook [\#295](<https://github.com/gdsfactory/gsim/pull/295>)
- docs: display Palace mesh summary in lumped CPW notebook [\#280](<https://github.com/gdsfactory/gsim/pull/280>)
- docs: simplify CPW examples and add de-embedding and mode comparisons [\#271](<https://github.com/gdsfactory/gsim/pull/271>)
- docs: restore the CPW wave-port tutorial [\#269](<https://github.com/gdsfactory/gsim/pull/269>)
- docs(palace): validate IHP cmim against PDK compact model + fix MIM meshing [\#235](<https://github.com/gdsfactory/gsim/pull/235>)

#### Other changes

- test(palace): pin the mesh-size options the stats fixtures rely on [\#296](<https://github.com/gdsfactory/gsim/pull/296>)
- \[WIP\] Adding new RF components from IHP PDK [\#167](<https://github.com/gdsfactory/gsim/pull/167>)
- Use effective indices in the 2D meep notebook, not bulk ones [\#254](<https://github.com/gdsfactory/gsim/pull/254>)
- Incorporate palace binary downloader [\#233](<https://github.com/gdsfactory/gsim/pull/233>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.5.0...0.6.0](<https://github.com/gdsfactory/gsim/compare/0.5.0...0.6.0>)

## 0.5.0

Released 2026-09-15. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.5.0>).

### What's Changed

#### New Features

- feat(meep): support explicit xy bounds [\#258](<https://github.com/gdsfactory/gsim/pull/258>)
- feat: expand optical material library [\#255](<https://github.com/gdsfactory/gsim/pull/255>)
- feat(palace): emit WavePortPEC for numeric wave ports [\#251](<https://github.com/gdsfactory/gsim/pull/251>)
- feat: add simulation notebooks for new RF components [\#237](<https://github.com/gdsfactory/gsim/pull/237>)
- feat: show progress bar while waiting for cloud simulations [\#248](<https://github.com/gdsfactory/gsim/pull/248>)
- feat: improve FDTD geometry viewer [\#244](<https://github.com/gdsfactory/gsim/pull/244>)
- feat: establish GDSFactory FDTD as primary photonic engine [\#243](<https://github.com/gdsfactory/gsim/pull/243>)
- feat(fdtd): loft angled sidewalls [\#241](<https://github.com/gdsfactory/gsim/pull/241>)
- feat: add geometry-aware FDTD mesh sizing [\#239](<https://github.com/gdsfactory/gsim/pull/239>)
- feat: add ergonomic FDTD cloud workflow [\#238](<https://github.com/gdsfactory/gsim/pull/238>)

#### Bug Fixes

- fix(meep): resolve port geometry per layer [\#259](<https://github.com/gdsfactory/gsim/pull/259>)

#### Documentation

#### Other changes

- docs cleanup [\#252](<https://github.com/gdsfactory/gsim/pull/252>)
- chore: remove generated simulation output [\#240](<https://github.com/gdsfactory/gsim/pull/240>)
- perf(ci): execute only changed notebooks on pull requests [\#236](<https://github.com/gdsfactory/gsim/pull/236>)
- chore(nbs): drop ubcpdk, use generic PDK [\#234](<https://github.com/gdsfactory/gsim/pull/234>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.4.0...0.5.0](<https://github.com/gdsfactory/gsim/compare/0.4.0...0.5.0>)

## 0.4.0

Released 2026-08-19. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.4.0>).

### What's Changed

#### New Features

- feat: run documentation notebooks in CI [\#224](<https://github.com/gdsfactory/gsim/pull/224>)
- feat: extend Meep background dielectrics into PML [\#223](<https://github.com/gdsfactory/gsim/pull/223>)
- feat: add Meep refractive index plots [\#222](<https://github.com/gdsfactory/gsim/pull/222>)
- feat: add PDK-native GDSFactory FDTD artifact generation [\#216](<https://github.com/gdsfactory/gsim/pull/216>)
- feat: add auto aspect to MEEP 2D plots [\#218](<https://github.com/gdsfactory/gsim/pull/218>)
- feat: add explicit MEEP Z bounds [\#219](<https://github.com/gdsfactory/gsim/pull/219>)
- feat: add canonical PDK resolver [\#214](<https://github.com/gdsfactory/gsim/pull/214>)

#### Bug Fixes

- 2D TW-MZM cross-section with PN junction and CPW electrodes [\#232](<https://github.com/gdsfactory/gsim/pull/232>)
- fix(stack): remove synthetic passivation and align Meep 2D backgrounds [\#231](<https://github.com/gdsfactory/gsim/pull/231>)
- fix: hide vertices in interactive 2D plots [\#221](<https://github.com/gdsfactory/gsim/pull/221>)
- fix: prevent MEEP derived layer aliasing [\#220](<https://github.com/gdsfactory/gsim/pull/220>)
- fix: report cloud jobs that fail before start [\#217](<https://github.com/gdsfactory/gsim/pull/217>)

#### Maintenance

#### Documentation

#### Other changes

- fix: surface cache-lookup and failed-job diagnostics [\#226](<https://github.com/gdsfactory/gsim/pull/226>)
- test: migrate cloud fixtures to z bounds [\#229](<https://github.com/gdsfactory/gsim/pull/229>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.3.0...0.4.0](<https://github.com/gdsfactory/gsim/compare/0.3.0...0.4.0>)

## 0.3.0

Released 2026-08-13. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.3.0>).

### What's Changed

#### New Features

- feat: add built-in MaterialCards [\#212](<https://github.com/gdsfactory/gsim/pull/212>)

#### Bug Fixes

- Fix XZ geometry export and preview [\#213](<https://github.com/gdsfactory/gsim/pull/213>)
- fix: add PyPI package description [\#209](<https://github.com/gdsfactory/gsim/pull/209>)

#### Other changes

- chore: enable tbump for releases [\#208](<https://github.com/gdsfactory/gsim/pull/208>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.2.0...0.3.0](<https://github.com/gdsfactory/gsim/compare/0.2.0...0.3.0>)

## 0.2.0

Released 2026-08-12. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.2.0>).

### What's Changed

#### New Features

- feat(meep): orthogonal sim API — mode+cuts, domain.z\_ref, per-axis margins [\#186](<https://github.com/gdsfactory/gsim/pull/186>)

#### Bug Fixes

- fix: support gdsfactoryplus 2 [\#204](<https://github.com/gdsfactory/gsim/pull/204>)
- fix(palace): omit BoundaryMode Target when set to auto [\#199](<https://github.com/gdsfactory/gsim/pull/199>)
- fix(palace): restore airbox in notebooks so absorbing BC is not on metal [\#200](<https://github.com/gdsfactory/gsim/pull/200>)
- fix(meep): repair mode-solver parity rejection test [\#194](<https://github.com/gdsfactory/gsim/pull/194>)
- docs: fix broken changelog and API reference links [\#188](<https://github.com/gdsfactory/gsim/pull/188>)

#### Documentation

- docs: fix mode-solver plot titles and add TFLN band diagram [\#198](<https://github.com/gdsfactory/gsim/pull/198>)
- docs: simplify eigenmode nav labels and de-emphasize solver in titles [\#197](<https://github.com/gdsfactory/gsim/pull/197>)
- docs: add Eigenmode Analysis section and fix mode-solver plot width [\#196](<https://github.com/gdsfactory/gsim/pull/196>)
- docs(meep): add mode solver notebooks to docs [\#195](<https://github.com/gdsfactory/gsim/pull/195>)
- docs(meep): add 2D grating-coupler wavelength-sweep notebook [\#187](<https://github.com/gdsfactory/gsim/pull/187>)

#### Other changes

- chore: require cache-enabled gdsfactoryplus [\#207](<https://github.com/gdsfactory/gsim/pull/207>)
- feat: derive cloud cache key from simulation inputs [\#206](<https://github.com/gdsfactory/gsim/pull/206>)
- Add RF transformer layout, Palace EM simulation, and Circulax parameter fit notebook [\#191](<https://github.com/gdsfactory/gsim/pull/191>)
- feat(meep): cloud eigenmode solver with context reconstruction [\#174](<https://github.com/gdsfactory/gsim/pull/174>)
- Fixed NaNs in visualization of surface fields and adopted PyVista [\#190](<https://github.com/gdsfactory/gsim/pull/190>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.1.0...0.2.0](<https://github.com/gdsfactory/gsim/compare/0.1.0...0.2.0>)

## 0.1.0

Released 2026-07-06. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.1.0>).

### What's Changed

#### New Features

- feat(docs): add dark theme toggle and gdsfactory header link [\#177](<https://github.com/gdsfactory/gsim/pull/177>)
- feat(palace): electrostatic simulation end-to-end [\#146](<https://github.com/gdsfactory/gsim/pull/146>)
- fix(test): clean up PEC block test marks [\#142](<https://github.com/gdsfactory/gsim/pull/142>)
- Add cdaunt, flaport, and das-dias to CODEOWNERS [\#141](<https://github.com/gdsfactory/gsim/pull/141>)
- Add jupytext sync for notebook diffs [\#135](<https://github.com/gdsfactory/gsim/pull/135>)

#### Bug Fixes

- test: tighten cloud sim S-param tolerances to absolute 0.01 [\#178](<https://github.com/gdsfactory/gsim/pull/178>)
- fix(docs): run waveport on cloud and build width sweep notebook [\#170](<https://github.com/gdsfactory/gsim/pull/170>)
- fix(palace): restore air domain in CPW test fixtures via set\_airbox [\#165](<https://github.com/gdsfactory/gsim/pull/165>)
- fix(meep): slice animation/diagnostics at core layer, not stack midpoint [\#164](<https://github.com/gdsfactory/gsim/pull/164>)
- fix(palace): correct metal\_tags typing to satisfy ty [\#152](<https://github.com/gdsfactory/gsim/pull/152>)
- fix: replace run\_local with run in notebooks, add inductor to docs [\#140](<https://github.com/gdsfactory/gsim/pull/140>)
- fix: reorder pyproject.toml sections to satisfy tombi-format [\#139](<https://github.com/gdsfactory/gsim/pull/139>)
- fix: force utf-8 on write\_text so Windows cp1252 doesn't break output [\#127](<https://github.com/gdsfactory/gsim/pull/127>)
- fix: enforce cp1252 compatibility in Python sources [\#125](<https://github.com/gdsfactory/gsim/pull/125>)

#### Maintenance

- ci: add per-PR sim\_smoke\_test cloud check [\#160](<https://github.com/gdsfactory/gsim/pull/160>)
- ci: add Claude Code PR review workflows [\#159](<https://github.com/gdsfactory/gsim/pull/159>)
- test: add cloud simulation fixtures with cloud marker [\#128](<https://github.com/gdsfactory/gsim/pull/128>)
- ci: add Windows and macOS to test matrix [\#126](<https://github.com/gdsfactory/gsim/pull/126>)

#### Documentation

- docs: use explicit get\_stack() from PDK in Palace notebooks [\#134](<https://github.com/gdsfactory/gsim/pull/134>)

#### Other changes

- Fix docs formulas and meshing plots rendering [\#185](<https://github.com/gdsfactory/gsim/pull/185>)
- Migrate docs from mkdocs to zensical [\#176](<https://github.com/gdsfactory/gsim/pull/176>)
- fix: case-insensitive material override and overlay matching (\#163) [\#172](<https://github.com/gdsfactory/gsim/pull/172>)
- Add 2D Palace BoundaryMode solver support [\#150](<https://github.com/gdsfactory/gsim/pull/150>)
- feat(meep): add interactive Plotly 2D plots with layer toggle [\#157](<https://github.com/gdsfactory/gsim/pull/157>)
- feat(api): explicit Material with refractive\_index support in notebooks and improve mesh refinement [\#155](<https://github.com/gdsfactory/gsim/pull/155>)
- Add RLC model fitting to inductor notebook [\#154](<https://github.com/gdsfactory/gsim/pull/154>)
- fix(palace): align PDK stack defaults [\#151](<https://github.com/gdsfactory/gsim/pull/151>)
- Curved-element meshing and Palace 3D photonics example [\#131](<https://github.com/gdsfactory/gsim/pull/131>)
- feat(mesh): decimate\_tolerance, verbosity, and stale tag fix [\#145](<https://github.com/gdsfactory/gsim/pull/145>)
- feat: Simulation.run\_local() for MEEP and sim fixes [\#144](<https://github.com/gdsfactory/gsim/pull/144>)
- feat: frequency-dependent material dispersion and API refactor [\#143](<https://github.com/gdsfactory/gsim/pull/143>)
- Add T-Bar CPW electrode MZM example (and supporting fixes/features) [\#129](<https://github.com/gdsfactory/gsim/pull/129>)
- Transmon qubit example with inductance port [\#110](<https://github.com/gdsfactory/gsim/pull/110>)
- Palace driven simulation for spiral inductor with guard ring [\#132](<https://github.com/gdsfactory/gsim/pull/132>)
- Update import path for `apply_additive_metals` [\#130](<https://github.com/gdsfactory/gsim/pull/130>)
- Relax gdsfactory version pin to \>=9,\<10 [\#124](<https://github.com/gdsfactory/gsim/pull/124>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.16...0.1.0](<https://github.com/gdsfactory/gsim/compare/0.0.16...0.1.0>)

## 0.0.16

Released 2026-04-22. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.16>).

### What's Changed

#### Bug Fixes

- fix: replace Unicode arrow with ASCII for Windows compatibility [\#123](<https://github.com/gdsfactory/gsim/pull/123>)

#### Documentation

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.15...0.0.16](<https://github.com/gdsfactory/gsim/compare/0.0.15...0.0.16>)

## 0.0.15

Released 2026-04-22. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.15>).

### What's Changed

#### New Features

- feat(meep): XZ 2D FDTD with fiber source and grating-coupler notebook [\#120](<https://github.com/gdsfactory/gsim/pull/120>)

#### Documentation

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.14...0.1.0](<https://github.com/gdsfactory/gsim/compare/0.0.14...0.1.0>)

## 0.0.14

Released 2026-04-21. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.14>).

### What's Changed

#### New Features

- feat(palace): auto-size mesh, always refine ports, improve CPW defaults [\#111](<https://github.com/gdsfactory/gsim/pull/111>)
- feat: add 2D effective-index MEEP simulation mode [\#108](<https://github.com/gdsfactory/gsim/pull/108>)
- Add code coverage with Codecov [\#103](<https://github.com/gdsfactory/gsim/pull/103>)
- ci: add test workflow [\#101](<https://github.com/gdsfactory/gsim/pull/101>)

#### Bug Fixes

- fix: silence ty warnings in viz.py and rename 2D page to "2D FDTD" [\#118](<https://github.com/gdsfactory/gsim/pull/118>)
- fix(meep): log z\_crop application instead of silently rewriting layers [\#116](<https://github.com/gdsfactory/gsim/pull/116>)
- fix(palace): auto-size mesh for all presets, detect CPW gap widths [\#114](<https://github.com/gdsfactory/gsim/pull/114>)
- fix(stack): respect PDK layer\_type metadata in extract\_layer\_stack [\#105](<https://github.com/gdsfactory/gsim/pull/105>)
- fix(mesh): correctly re-identify conductor volumes after dedup and re… [\#104](<https://github.com/gdsfactory/gsim/pull/104>)
- fix: handle 403 Forbidden for accounts without cloud sim [\#99](<https://github.com/gdsfactory/gsim/pull/99>)
- fix: handle transient HTTP errors in job polling loop [\#98](<https://github.com/gdsfactory/gsim/pull/98>)
- fix: add nbformat dependency for plotly notebook rendering [\#97](<https://github.com/gdsfactory/gsim/pull/97>)
- fix: add nest\_asyncio2 for PyVista trame in VS Code [\#95](<https://github.com/gdsfactory/gsim/pull/95>)

#### Refactoring

- refactor(palace): consolidate MeshConfig/MeshResult, drop pipeline.py [\#115](<https://github.com/gdsfactory/gsim/pull/115>)
- refactor(palace): drop graded preset and PEC refinement flag [\#113](<https://github.com/gdsfactory/gsim/pull/113>)

#### Maintenance

#### Documentation

- docs(meep): publish 2D effective-index notebook [\#117](<https://github.com/gdsfactory/gsim/pull/117>)

#### Other changes

- Add offset parameter to inplane and via ports. [\#106](<https://github.com/gdsfactory/gsim/pull/106>)
- Wave port [\#53](<https://github.com/gdsfactory/gsim/pull/53>)
- test: remove redundant tests, add workflow integration tests [\#102](<https://github.com/gdsfactory/gsim/pull/102>)
- Implement surface booleans via occ.cut() [\#79](<https://github.com/gdsfactory/gsim/pull/79>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.13...0.1.0](<https://github.com/gdsfactory/gsim/compare/0.0.13...0.1.0>)

## 0.0.13

Released 2026-04-06. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.13>).

### What's Changed

#### New Features

- feat(meep): energy\_decay stopping + fix OR condition bug [\#93](<https://github.com/gdsfactory/gsim/pull/93>)
- feat: add plot\_interactive() to Palace SParams [\#89](<https://github.com/gdsfactory/gsim/pull/89>)
- add sparams\_path [\#81](<https://github.com/gdsfactory/gsim/pull/81>)
- feat: add interactive Plotly S-parameter plotting [\#75](<https://github.com/gdsfactory/gsim/pull/75>)

#### Bug Fixes

- fix: use PLOTLY\_RENDERER env var for interactive charts in CI [\#77](<https://github.com/gdsfactory/gsim/pull/77>)
- fix: render interactive Plotly charts on GitHub Pages [\#76](<https://github.com/gdsfactory/gsim/pull/76>)

#### Refactoring

- refactor: remove MPI process count from client API [\#92](<https://github.com/gdsfactory/gsim/pull/92>)

#### Maintenance

- ci: commit executed notebooks instead of running in CI [\#87](<https://github.com/gdsfactory/gsim/pull/87>)
- ci: make docs build manual-only and sequential [\#86](<https://github.com/gdsfactory/gsim/pull/86>)

#### Documentation

- docs: rebuild palace\_qpdk\_resonator notebook [\#91](<https://github.com/gdsfactory/gsim/pull/91>)
- chore: notebook cleanup, renames, and meep plot methods [\#90](<https://github.com/gdsfactory/gsim/pull/90>)

#### Other changes

- chore: pin gdsfactoryplus minimum version [\#94](<https://github.com/gdsfactory/gsim/pull/94>)
- deps: update gdsfactory to \~=9.39, unpin gdsfactoryplus [\#88](<https://github.com/gdsfactory/gsim/pull/88>)
- Add configurable verbosity to mesh generator, fix tests, refactor palace simulation classes and local non-Apptainer Palace support [\#49](<https://github.com/gdsfactory/gsim/pull/49>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.1.0...0.1.1](<https://github.com/gdsfactory/gsim/compare/0.1.0...0.1.1>)

## 0.0.12

Released 2026-03-26. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.12>).

### What's Changed

#### New Features

- feat: add port name mapping to Palace S-parameter results [\#73](<https://github.com/gdsfactory/gsim/pull/73>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.11...0.1.0](<https://github.com/gdsfactory/gsim/compare/0.0.11...0.1.0>)

## 0.0.11

Released 2026-03-25. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.11>).

### What's Changed

#### New Features

- feat: via volume meshing with fragment-based boolean pipeline [\#69](<https://github.com/gdsfactory/gsim/pull/69>)

#### Bug Fixes

- fix: revert Netgen meshing for via ports [\#71](<https://github.com/gdsfactory/gsim/pull/71>)
- fix: resolve type errors for ty 0.0.25 [\#70](<https://github.com/gdsfactory/gsim/pull/70>)

#### Documentation

- docs: split API reference into per-module pages [\#67](<https://github.com/gdsfactory/gsim/pull/67>)
- docs: add field viz to QPDK resonator notebook [\#66](<https://github.com/gdsfactory/gsim/pull/66>)
- docs: add field component plots to CPW field viz notebook [\#65](<https://github.com/gdsfactory/gsim/pull/65>)
- docs: Palace field visualization notebook [\#64](<https://github.com/gdsfactory/gsim/pull/64>)

#### Maintenance

- ci: allow pages deploy on workflow\_dispatch [\#72](<https://github.com/gdsfactory/gsim/pull/72>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.10...0.0.11](<https://github.com/gdsfactory/gsim/compare/0.0.10...0.0.11>)

## 0.0.10

Released 2026-03-20. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.10>).

### What's Changed

#### New Features

- feat: auto-label PRs for categorized release notes by @vvahidd in [https://github.com/gdsfactory/gsim/pull/55](<https://github.com/gdsfactory/gsim/pull/55>)
- feat: add live log streaming for cloud simulation jobs by @vvahidd in [https://github.com/gdsfactory/gsim/pull/59](<https://github.com/gdsfactory/gsim/pull/59>)
- feat: add PEC block support for Palace simulations by @vvahidd in [https://github.com/gdsfactory/gsim/pull/60](<https://github.com/gdsfactory/gsim/pull/60>)
- feat: add field saving parameters for Palace simulations by @vvahidd in [https://github.com/gdsfactory/gsim/pull/63](<https://github.com/gdsfactory/gsim/pull/63>)

#### Bug Fixes

- fix: cpw bug phase shift by @cdaunt in [https://github.com/gdsfactory/gsim/pull/57](<https://github.com/gdsfactory/gsim/pull/57>)

#### Documentation

- docs: improve Palace config docstrings and notebook defaults by @vvahidd in [https://github.com/gdsfactory/gsim/pull/62](<https://github.com/gdsfactory/gsim/pull/62>)

#### Other Changes

- better names for docs by @joamatab in [https://github.com/gdsfactory/gsim/pull/58](<https://github.com/gdsfactory/gsim/pull/58>)

### New Contributors

- @joamatab made their first contribution in [https://github.com/gdsfactory/gsim/pull/58](<https://github.com/gdsfactory/gsim/pull/58>)
- @cdaunt made their first contribution in [https://github.com/gdsfactory/gsim/pull/57](<https://github.com/gdsfactory/gsim/pull/57>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.9...0.0.10](<https://github.com/gdsfactory/gsim/compare/0.0.9...0.0.10>)

## 0.0.9

Released 2026-03-18. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.9>).

### What's Changed

#### Other Changes

- feat: add auto-generated release notes by @vvahidd in [https://github.com/gdsfactory/gsim/pull/47](<https://github.com/gdsfactory/gsim/pull/47>)
- fix: default CPW port length to 0.1 µm by @vvahidd in [https://github.com/gdsfactory/gsim/pull/50](<https://github.com/gdsfactory/gsim/pull/50>)
- fix: add missing trame core package to dependencies by @vvahidd in [https://github.com/gdsfactory/gsim/pull/51](<https://github.com/gdsfactory/gsim/pull/51>)
- fix: fuse overlapping same-layer surfaces before extrusion in Palace mesh by @vvahidd in [https://github.com/gdsfactory/gsim/pull/54](<https://github.com/gdsfactory/gsim/pull/54>)

**Full Changelog**: [https://github.com/gdsfactory/gsim/compare/0.0.8...0.0.9](<https://github.com/gdsfactory/gsim/compare/0.0.8...0.0.9>)

## 0.0.8

Released 2026-03-05. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.8>).

No release notes were published for this version.

## 0.0.6

Released 2026-02-24. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.6>).

No release notes were published for this version.

## 0.0.5

Released 2026-02-19. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.5>).

No release notes were published for this version.

## 0.0.4

Released 2026-02-05. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.4>).

No release notes were published for this version.

## 0.0.3

Released 2026-02-03. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.3>).

No release notes were published for this version.

## 0.0.2

Released 2026-01-24. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.2>).

No release notes were published for this version.

## 0.0.0

Released 2026-01-23. [View release](<https://github.com/gdsfactory/gsim/releases/tag/0.0.0>).

No release notes were published for this version.
