Skip to content

Changelog

Release history from GitHub Releases.

0.8.0

Released 2026-10-22. View release.

What's Changed

New Features

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

Bug Fixes

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

Refactoring

  • refactor(palace): move the local launch into palace.runtime #391
  • refactor(palace): declare shared simulation state once #392

Maintenance

  • docs(palace): publish a large QPDK qubit chip demo #386
  • docs: automate API references and release changelog #351

Documentation

  • docs: add Codecov coverage badge to README and docs home #368
  • docs(palace): which Gmsh settings give the same mesh, and comparing mesh hashes #361
  • docs(nbs): move the CPW de-embedding legend below the panels #352

Other changes

  • test(tcad): draw the diode regions directly, not from cached cells #416
  • test: expand solver, geometry, and cloud coverage #373
  • Add asymmetric finite-ground CPW airbridge example #263

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.7.0...0.8.0

0.7.0

Released 2026-10-09. View release.

What's Changed

New Features

  • feat(stack): import layer stacks from EMX process files #343
  • feat(palace): expose wave-port boundary policy #313
  • feat(palace): report solver and mode-validation evidence #317
  • docs(palace): use scikit-rf for transmission-line calibration #319
  • feat(palace): expose the Gmsh 3D algorithm and thread counts #290
  • feat(palace): find the electrical nets of a layout #289

Bug Fixes

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

Refactoring

  • refactor(palace): group solver settings under sim.solver #331

Maintenance

  • ci: limit docs notebook execution to 30 minutes #333

Documentation

  • docs(palace): physical RLGC in the CPW de-embedding notebook (joint fit with impedance anchors) #342

Other changes

  • chore(deps): bump pdk-schema to 0.3.0 #347
  • test(palace): cover field cycles across MFEM versions #281
  • Circuit parameter extraction refactor #321
  • Palace transmon eigenmode notebook (conflicts resolved) #327
  • chore: update default code owners #328

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.6.0...0.7.0

0.6.0

Released 2026-09-30. View release.

What's Changed

New Features

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

Bug Fixes

  • fix: support pdk-schema 0.2 analytic material cards #309
  • fix(palace): correct numerical solver exports #304
  • fix(palace): export sample counts for logarithmic sweeps #299
  • fix(palace): apply the airbox lateral margin once, not twice #279
  • fix(palace): clip GPDK wave ports to the meshed airbox #270
  • fix(meep): repair explicit bounds integration #260

Documentation

  • docs: add QPDK two-qubit Palace meshing notebook #295
  • docs: display Palace mesh summary in lumped CPW notebook #280
  • docs: simplify CPW examples and add de-embedding and mode comparisons #271
  • docs: restore the CPW wave-port tutorial #269
  • docs(palace): validate IHP cmim against PDK compact model + fix MIM meshing #235

Other changes

  • test(palace): pin the mesh-size options the stats fixtures rely on #296
  • [WIP] Adding new RF components from IHP PDK #167
  • Use effective indices in the 2D meep notebook, not bulk ones #254
  • Incorporate palace binary downloader #233

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.5.0...0.6.0

0.5.0

Released 2026-09-15. View release.

What's Changed

New Features

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

Bug Fixes

  • fix(meep): resolve port geometry per layer #259

Documentation

Other changes

  • docs cleanup #252
  • chore: remove generated simulation output #240
  • perf(ci): execute only changed notebooks on pull requests #236
  • chore(nbs): drop ubcpdk, use generic PDK #234

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.4.0...0.5.0

0.4.0

Released 2026-08-19. View release.

What's Changed

New Features

  • feat: run documentation notebooks in CI #224
  • feat: extend Meep background dielectrics into PML #223
  • feat: add Meep refractive index plots #222
  • feat: add PDK-native GDSFactory FDTD artifact generation #216
  • feat: add auto aspect to MEEP 2D plots #218
  • feat: add explicit MEEP Z bounds #219
  • feat: add canonical PDK resolver #214

Bug Fixes

  • 2D TW-MZM cross-section with PN junction and CPW electrodes #232
  • fix(stack): remove synthetic passivation and align Meep 2D backgrounds #231
  • fix: hide vertices in interactive 2D plots #221
  • fix: prevent MEEP derived layer aliasing #220
  • fix: report cloud jobs that fail before start #217

Maintenance

Documentation

Other changes

  • fix: surface cache-lookup and failed-job diagnostics #226
  • test: migrate cloud fixtures to z bounds #229

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.3.0...0.4.0

0.3.0

Released 2026-08-13. View release.

What's Changed

New Features

  • feat: add built-in MaterialCards #212

Bug Fixes

  • Fix XZ geometry export and preview #213
  • fix: add PyPI package description #209

Other changes

  • chore: enable tbump for releases #208

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.2.0...0.3.0

0.2.0

Released 2026-08-12. View release.

What's Changed

New Features

  • feat(meep): orthogonal sim API — mode+cuts, domain.z_ref, per-axis margins #186

Bug Fixes

  • fix: support gdsfactoryplus 2 #204
  • fix(palace): omit BoundaryMode Target when set to auto #199
  • fix(palace): restore airbox in notebooks so absorbing BC is not on metal #200
  • fix(meep): repair mode-solver parity rejection test #194
  • docs: fix broken changelog and API reference links #188

Documentation

  • docs: fix mode-solver plot titles and add TFLN band diagram #198
  • docs: simplify eigenmode nav labels and de-emphasize solver in titles #197
  • docs: add Eigenmode Analysis section and fix mode-solver plot width #196
  • docs(meep): add mode solver notebooks to docs #195
  • docs(meep): add 2D grating-coupler wavelength-sweep notebook #187

Other changes

  • chore: require cache-enabled gdsfactoryplus #207
  • feat: derive cloud cache key from simulation inputs #206
  • Add RF transformer layout, Palace EM simulation, and Circulax parameter fit notebook #191
  • feat(meep): cloud eigenmode solver with context reconstruction #174
  • Fixed NaNs in visualization of surface fields and adopted PyVista #190

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.1.0...0.2.0

0.1.0

Released 2026-07-06. View release.

What's Changed

New Features

  • feat(docs): add dark theme toggle and gdsfactory header link #177
  • feat(palace): electrostatic simulation end-to-end #146
  • fix(test): clean up PEC block test marks #142
  • Add cdaunt, flaport, and das-dias to CODEOWNERS #141
  • Add jupytext sync for notebook diffs #135

Bug Fixes

  • test: tighten cloud sim S-param tolerances to absolute 0.01 #178
  • fix(docs): run waveport on cloud and build width sweep notebook #170
  • fix(palace): restore air domain in CPW test fixtures via set_airbox #165
  • fix(meep): slice animation/diagnostics at core layer, not stack midpoint #164
  • fix(palace): correct metal_tags typing to satisfy ty #152
  • fix: replace run_local with run in notebooks, add inductor to docs #140
  • fix: reorder pyproject.toml sections to satisfy tombi-format #139
  • fix: force utf-8 on write_text so Windows cp1252 doesn't break output #127
  • fix: enforce cp1252 compatibility in Python sources #125

Maintenance

  • ci: add per-PR sim_smoke_test cloud check #160
  • ci: add Claude Code PR review workflows #159
  • test: add cloud simulation fixtures with cloud marker #128
  • ci: add Windows and macOS to test matrix #126

Documentation

  • docs: use explicit get_stack() from PDK in Palace notebooks #134

Other changes

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

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.16...0.1.0

0.0.16

Released 2026-04-22. View release.

What's Changed

Bug Fixes

  • fix: replace Unicode arrow with ASCII for Windows compatibility #123

Documentation

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.15...0.0.16

0.0.15

Released 2026-04-22. View release.

What's Changed

New Features

  • feat(meep): XZ 2D FDTD with fiber source and grating-coupler notebook #120

Documentation

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.14...0.1.0

0.0.14

Released 2026-04-21. View release.

What's Changed

New Features

  • feat(palace): auto-size mesh, always refine ports, improve CPW defaults #111
  • feat: add 2D effective-index MEEP simulation mode #108
  • Add code coverage with Codecov #103
  • ci: add test workflow #101

Bug Fixes

  • fix: silence ty warnings in viz.py and rename 2D page to "2D FDTD" #118
  • fix(meep): log z_crop application instead of silently rewriting layers #116
  • fix(palace): auto-size mesh for all presets, detect CPW gap widths #114
  • fix(stack): respect PDK layer_type metadata in extract_layer_stack #105
  • fix(mesh): correctly re-identify conductor volumes after dedup and re… #104
  • fix: handle 403 Forbidden for accounts without cloud sim #99
  • fix: handle transient HTTP errors in job polling loop #98
  • fix: add nbformat dependency for plotly notebook rendering #97
  • fix: add nest_asyncio2 for PyVista trame in VS Code #95

Refactoring

  • refactor(palace): consolidate MeshConfig/MeshResult, drop pipeline.py #115
  • refactor(palace): drop graded preset and PEC refinement flag #113

Maintenance

Documentation

  • docs(meep): publish 2D effective-index notebook #117

Other changes

  • Add offset parameter to inplane and via ports. #106
  • Wave port #53
  • test: remove redundant tests, add workflow integration tests #102
  • Implement surface booleans via occ.cut() #79

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.13...0.1.0

0.0.13

Released 2026-04-06. View release.

What's Changed

New Features

  • feat(meep): energy_decay stopping + fix OR condition bug #93
  • feat: add plot_interactive() to Palace SParams #89
  • add sparams_path #81
  • feat: add interactive Plotly S-parameter plotting #75

Bug Fixes

  • fix: use PLOTLY_RENDERER env var for interactive charts in CI #77
  • fix: render interactive Plotly charts on GitHub Pages #76

Refactoring

  • refactor: remove MPI process count from client API #92

Maintenance

  • ci: commit executed notebooks instead of running in CI #87
  • ci: make docs build manual-only and sequential #86

Documentation

  • docs: rebuild palace_qpdk_resonator notebook #91
  • chore: notebook cleanup, renames, and meep plot methods #90

Other changes

  • chore: pin gdsfactoryplus minimum version #94
  • deps: update gdsfactory to ~=9.39, unpin gdsfactoryplus #88
  • Add configurable verbosity to mesh generator, fix tests, refactor palace simulation classes and local non-Apptainer Palace support #49

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.1.0...0.1.1

0.0.12

Released 2026-03-26. View release.

What's Changed

New Features

  • feat: add port name mapping to Palace S-parameter results #73

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.11...0.1.0

0.0.11

Released 2026-03-25. View release.

What's Changed

New Features

  • feat: via volume meshing with fragment-based boolean pipeline #69

Bug Fixes

  • fix: revert Netgen meshing for via ports #71
  • fix: resolve type errors for ty 0.0.25 #70

Documentation

  • docs: split API reference into per-module pages #67
  • docs: add field viz to QPDK resonator notebook #66
  • docs: add field component plots to CPW field viz notebook #65
  • docs: Palace field visualization notebook #64

Maintenance

  • ci: allow pages deploy on workflow_dispatch #72

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.10...0.0.11

0.0.10

Released 2026-03-20. View release.

What's Changed

New Features

Bug Fixes

Documentation

Other Changes

New Contributors

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.9...0.0.10

0.0.9

Released 2026-03-18. View release.

What's Changed

Other Changes

Full Changelog: https://github.com/gdsfactory/gsim/compare/0.0.8...0.0.9

0.0.8

Released 2026-03-05. View release.

No release notes were published for this version.

0.0.6

Released 2026-02-24. View release.

No release notes were published for this version.

0.0.5

Released 2026-02-19. View release.

No release notes were published for this version.

0.0.4

Released 2026-02-05. View release.

No release notes were published for this version.

0.0.3

Released 2026-02-03. View release.

No release notes were published for this version.

0.0.2

Released 2026-01-24. View release.

No release notes were published for this version.

0.0.0

Released 2026-01-23. View release.

No release notes were published for this version.