Skip to content

Changelog

What's new in GDSFactory+. This changelog highlights features and improvements that matter most to users.


2.0.0

GDSFactory+ 2.0 is a major release. The Python runtime is now a real installable SDK, schematic capture works for electronic as well as photonic designs, a third simulation engine (Circulax) joins SAX and SPICE, and settings and health checks are consolidated into a single editor. See Breaking changes before upgrading.

Python SDK

  • Installable gdsfactoryplus package - GDSFactory+ ships as a real Python package with a compiled native core, type stubs, and platform wheels, so you can script it from your own code instead of driving the extension
  • Verification API - gdsfactoryplus.check exposes check_drc (remote DRC service), check_lvs (compiled LVS), and check_connectivity (local optical and electrical checks, returning LYRDB XML)
  • Routing API - gdsfactoryplus.routing provides PDK-agnostic routing helpers: manual, step-based, corner-based, and A* routes and bundles, plus S-bend and DBU variants
  • DoRoutes and Playdough access - DoRoutes and Playdough routing are available through gdsfactoryplus.routing, alongside a placement API and a PDK component picker
  • Simulation API - gdsfactoryplus.sim is available from the SDK, with web helpers under sim.web
  • Autodesign campaigns - gdsfactoryplus.autodesign composes a campaign from a folder, template, or file-mode JSON, submits it server-side, streams typed events, and downloads results even when a run fails
  • Settings access - Settings retrieval and access validation are available from the native core, with a generated settings.pyi describing the settings dictionary

Schematic capture

  • Photonic/electronic device tray - A domain rocker switches between five photonic groups (waveguides, couplers, resonators, IO, active) and a full electronic toolbar with port, source, and transistor flyouts
  • Picker-first placement - Long-press variant trays are replaced by split buttons, and most devices show a searchable picker before placement with autofocused search, single-click confirm, and arrow/Enter/Escape navigation
  • Components button - An unfiltered library picker at the head of the photonic tray reaches every library entry regardless of symbol type
  • Library tree grouped by PDK - Every library entry carries its owning PDK module path as its first tag, so PDK cells, gdsfactory builtins, and project cells no longer mix together in the model selector
  • Ideal sources and detectors are port variants - Optical sources and detectors are emitter/detector variants placed directly on ports rather than separate components, with matching toolbar buttons and glyphs
  • Manhattan-only routing - The freeform wire tool is gone; the click-to-turn Manhattan tool is the route tool (W), so you can no longer draw corners the builder would reject. Segments that are non-Manhattan beyond the build's snap tolerance get an inline warning decal
  • Port-press to draw wires - Clicking a port circle in cursor mode starts a wire immediately, with a pencil cursor on port hover
  • Route tapering and s-bends - Routes between ports with different cross-section widths taper automatically at build time and render as a smooth transition; any optical segment can also be tapered manually or annotated as an s-bend
  • Floating selection toolbar - Rotate, flip, cut, copy, and delete appear in a bar anchored above your selection instead of the top toolbar
  • Expose component ports - Unconnected component ports can be exposed and edited from the selection toolbar or the context window
  • Pin to canvas - Pin an instance or locked group to send it to the back and lock it against drag, rotate, flip, and delete, marked with a pushpin badge. Multi-select operations skip pinned instances instead of failing
  • Copy-paste keeps routes - Copying a selection carries its routes along with the instances and pastes at the cursor position
  • Incremental symbol loading - Components appear immediately as placeholder boxes after indexing and upgrade to full symbols as runtime data arrives; unchanged factories are skipped by hash-based caching and symbols are generated on demand, so the full factory library becomes placeable within seconds
  • Live reload - Component-library changes from the server are picked up without a restart
  • Correct routing around rotated cells - Obstacle boxes account for instance orientation, so routes no longer detour around phantom rectangles and cut through real waveguides
  • Consistent transforms - X/Y flips behave consistently across schematic views, rotate/flip persist beyond the first save, alignment actions map to the correct axis, and instance flips, rotations, and name labels compose correctly in the world frame
  • Persistent bend settings - User-edited bend radius, bend params, and cross-section survive reload instead of being overwritten by the cross-section default, and the design radius is passed to the router as its minimum bend radius
  • Alt to drag - The drag modifier moved from Ctrl to Alt, avoiding platform shortcut conflicts
  • Trackpad-friendly zoom - Scroll-zoom is normalized, fixing runaway zoom on trackpads
  • Assorted fixes - Undo covers the first action after opening a schematic and works from both Cmd-Z and the toolbar; ESC dismisses context menus and modals; thin polylines no longer vanish; dangling wires validate; grouping no longer breaks simulation; validator rejections no longer crash the editor; and edits made during a resync are no longer applied out of order

Layout placement and routing

  • Autorouting controls - Route all unconnected connections or reroute selected routes with the Manhattan router. Match lengths works on two or more selected routes, including hand-drawn routes, with optimization profiles and advanced controls for bend matching, clearance, and optimization
  • Automatic placement - DoRoutes places components from their footprints and connections. Project settings control whether placement preserves orientations or may rotate and mirror components
  • Precise placement - Position instances numerically using an anchor or port, double-click route segments for numeric placement, and read cursor coordinates on the canvas
  • Group alignment and butt coupling - Align and butt-couple components within selections and locked groups. Moving a component carries its attached routes, and rotate/flip actions apply to the full selection
  • Route inspection and bends - Selected routes show their total length; hover details identify endpoints and lengths. Route properties offer a custom bend selector, and wider routes are easier to select
  • Project cross-section defaults - Choose a default cross-section for the project; user-selected cross-sections survive reopening and switching tabs
  • Editor recovery - Failed layout reloads can be retried, and unavailable WebGL2 is reported explicitly

Simulation

  • Circulax - A third simulation engine joins SAX and SPICE
  • Multi-axis (ND) sweeps - Unified ND sweeps with multi-axis DC sweep, an x-axis selector, aggregated trace families, automatic midpoint probe tracking, and noise-floor filtering
  • Electro-optic DC sweeps - Wavelength and electrical (voltage/current) sweeps share one sweep model, with signal selection in the controls panel and analysis-specific result views
  • Preflight checks - The dashboard validates your circuit before running (SAX needs ≥2 ports, Circulax an emitter-variant port, SPICE a ground reference, plus missing-model detection) and shows a Ready/blocking-reason badge instead of a blank plot. Simulate stays disabled until the circuit is valid
  • Readable failures - Simulation errors show a clean message with the Python traceback in a collapsible section
  • Plot axis and unit controls - Linear/log toggles on both axes, THz or GHz frequency display (photonic projects keep THz, RF projects can pick GHz), and Circulax power reported in mW
  • Persistent sweep range - Frequency and wavelength sweep defaults are saved per project under PDK & Checks, with ad-hoc dashboard overrides still available
  • Consistent signal selection - SAX, SPICE, and Circulax dashboards share the same add-signal dropdown
  • Model authoring - Add Model on Python factory cards generates SAX, Circulax, or SPICE starters in project-owned overlay modules, so you can attach models to dependency factories without touching installed packages. Edit Model opens an existing model at its definition line. RF models are offered where available, and measured-data authoring supports explicit parser selection
  • Hierarchical and composite circuits - Hierarchical PDK cells, project-local hierarchical components, and composite cells are all decomposed correctly when simulating; simulation preflight resolves skeleton factories so SPICE and Circulax export sees real ports even for never-rendered subcircuits
  • Chart navigation and export - Zoom simulation charts and export dashboard results to CSV. SPICE charts also expose axis scale controls
  • SPICE netlist export - Export a SPICE netlist from a factory card's menu
  • Searchable templates - Find simulation templates using the template list's search box
  • Simulation fixes - Layout-mode SAX resolves cross-section names and radius-dependent geometry correctly, discovers models across submodules, and preserves the selected wavelength range. S-parameter plot formats and photonics-full SAX/Circulax simulation paths are corrected

Verification

  • Connectivity check - A new end-to-end optical and electrical connectivity check, available from the factory card, the SDK, and as an AI agent tool, with findings displayed in the shared verification browser
  • Shared verification browser - DRC, LVS, and connectivity share run browsing, search, grouping, tags, status, and result actions. Show in Layout and result selections use the regular GDS editor, with native error markers and persistent local run history
  • DRC submission control - Cancel active submissions, browse large reports with infinite scrolling, and inspect available results and diagnostics from timed-out or failed submissions
  • LVS fixes - Corrected KFactory LVS execution and geometry parsing
  • Ideal components skipped - Ideal schematic components (vsource, isource, generic resistor) are skipped during GDS build instead of failing it

AI agent

  • Design and Support modes - Switch between design work and setup, diagnosis, and support. DRC and connectivity run only when explicitly requested or included in an agreed verification plan
  • Provider connections - Configure Together AI, Ollama, or other compatible Chat Completions endpoints, with discovered or manually configured models. Custom provider connections and MCP servers are disabled in GovCloud
  • Custom instructions - Save your own instructions to guide the agent
  • Sub-agents - Delegate bounded work to sub-agents that can edit files, view their transcripts from spawn cards, and follow their progress through the shared permission flow
  • Simulation-template assistance - The Design agent discovers and adapts simulation notebooks from the template registry to your project; preparing a notebook does not automatically run it
  • Assisted bug reports - The agent helps diagnose issues and prepare editable support reports
  • Schematic interaction - The agent reads, edits, and builds whole schematics: readSchematic returns a grid view with component positions, wire paths, and connectivity, updateSchematic applies targeted changes, and asciiSchematic writes a complete circuit from a compact ASCII graph, validated for unknown letters, cell footprints, and rotations
  • Custom MCP servers - Settings → AI hosts a machine-local MCP server registry so you can connect your own tools. Server failures are isolated, user-supplied tools and instructions are untrusted by default, and activity is written to a local audit log
  • More tools - DRC checks, connectivity checks, and PDK/search-filtered cell listing, with clear messaging when a feature isn't enabled for your account
  • Reliable model selection - Model choice always resolves through the model catalog, a failing keychain no longer breaks the catalog, and BYOK options are hidden in private-cloud deployments
  • Better chat UX - A live inline activity cursor, reference badges showing the source filename, editor-aware quick actions, serialized tool-approval prompts, Escape to dismiss the AskUser selector, and correct transcript reattachment
  • Conversation reliability - Chats are saved before streaming, interrupted turns retain context, factory mentions work again, and concurrent file writes are coordinated. Tables render in chat and repeated tool calls collapse

Settings and health

  • Unified settings editor - Global and project settings, server status, AI provider and model, PDK and checks, and logging live in one settings tab with left-hand navigation and scope badges, replacing the scattered dropdown menus and the old Status tab. The form writes straight into pyproject.toml, preserving comments and unrelated keys
  • Health at a glance - Health checks are grouped into System / Environment / Project with contextual fix actions, plus a sidebar banner showing server and connection status
  • Setup and recovery - Environment setup streams progress and can repair an unhealthy Python runtime. Missing API keys appear in the sidebar, logs remain accessible when the server fails, and Python setup preserves comments in VS Code project settings
  • Simplified action bar - Six icons plus a Settings cog, with a hamburger menu collecting project actions and project identity in the status bar

VS Code extension

  • Blank projects set themselves up - Creating a new blank project runs the full setup (prerequisites, staging, validation) automatically across the folder reload, and templates can be created in an empty folder
  • Bundled UV - The extension includes a pinned UV executable for environment setup
  • Theme-aware viewers - The 2D/3D GDS viewer follows your VS Code light/dark theme, opens beside the active editor instead of taking it over, and is focused after a build
  • Read-only upstream sources - PDK and site-packages files open read-only so you can navigate into installed factories without editing them by accident; project files stay editable
  • Source browsing and conversion - Read-only sources retain syntax highlighting and language services. Factory cards identify Python, .gsch, and legacy PIC YAML sources; legacy PIC YAML can be built or converted to Python or .gsch, and schematic factories offer Convert to Python
  • Persistent browsing - The sidebar remembers your default library, and opening GDS from a factory card reuses an existing viewer or opens a normal editor tab
  • Build cancellation - Cancel queued or running factory builds
  • Clearer errors - Python worker errors surface their real message and traceback instead of a bare RUST_ERROR code across ~30 error paths, and a malformed pyproject.toml is reported explicitly instead of silently falling back to defaults
  • Factory card actions - Delete, download GDS (with or without metadata), duplicate, copy-to-project for PDK cells, connectivity in the verification menu, python/schematic source tags, and a filterable has_model tag. Names sort naturally, so cell2 comes before cell10
  • Auto-save - Pending edits are saved before build, simulate, and switching between schematic views
  • Better bug reports - Report Bug is on the action bar, attaches logs, saves a local copy, accepts screenshot and file uploads, and keeps its state when hidden and reopened
  • Pre-release channel - Pre-release builds are published to the VS Code Marketplace
  • Fixes - No React crash when opening a folder without pyproject.toml, working 3D viewer layer stack and opacity slider, pyproject.toml ignore patterns respected by the indexer, cross-platform crash logs, external links opening in your real browser, and a Windows checkout fix

PDK and project management

  • Faster, more reliable workers - Reworked worker management, PDK registry, indexing, and cache invalidation
  • Graceful cell-name conflicts - Two factories sharing a short cell name no longer break the whole PDK; only the contended name is dropped and builds, which use fully-qualified names, keep working
  • Robustness - A model module that fails to import no longer takes down routing, PDKs using relative imports resolve their fully-qualified cell names correctly, and the SAX version pin is gone for broader PDK compatibility
  • Wheel installs and upgrades - The package manager installs local .whl files as persisted project dependencies, vendoring them into the project so paths aren't machine-local, and adds a constraint-respecting upgrade-all action
  • Simpler scaffolding - New factories land in the project's library directory and no longer inject a PDK import, since activation comes from pyproject.toml

Docs

  • Current v2 documentation - The published site now focuses on v2; the v1 documentation line is retired
  • Pre-executed simulation templates - Simulation-template pages render from pre-executed markdown, so examples always show real output
  • New guides - Updated photonic design, electrical design, and DRC quickstarts; autorouting and Playdough guides; GDSFactory layout and PDK tutorials; an advanced grating-coupler workflow; and the LVS quickstart with engine selection

Breaking changes

  • Schematics are redesigned in v2 - v1 used .pic.yml schematics; v2 uses the new .gsch format and schematic editor. Use the legacy factory card's Convert to Schematic action rather than renaming the file. Conversion uses companion schematic placement data when available, but remains best-effort: review component placement, rotations, and wire endpoints after conversion. The new schematic editor also replaces the old interaction model, including source/detector placement and routing tools

July 2026

1.8.19 - July 26

  • LVS quickstart - Added a Step 3b quickstart guide covering LVS, including how to choose an engine
  • CSPDK active circuits - The AI agent can now discover the CSPDK active circuits project as a PDK
  • GDS opens in place - Layouts open in the active editor group instead of beside it

1.8.18 - July 6

  • Automatic UV setup - VS Code now configures UV automatically at workspace startup, so environments are ready without manual steps
  • Reliable GDS writes - Cell names are deduplicated before write_gds, preventing write errors from duplicate names
  • PDK-as-project fix - uv add is now skipped when the project is the PDK itself
  • Docs improvements - Added all CSPDK flavors to the PDK table, a VPN/corporate network troubleshooting section, and navigation icons across docs pages

June 2026

1.8.17 - June 24

  • Curated BYOK models - The OpenAI bring-your-own-key provider now exposes a curated allowlist of models instead of the full catalog
  • Reliable SAX errors - SAX endpoints now always return JSON on errors, so failures surface cleanly instead of breaking clients
  • PDK docs - Improved PDK documentation wording and clarified guidance for multi-repo setups

1.8.16 - June 16

  • Multi-provider agent backend - The AI agent now supports a provider abstraction with Amazon Bedrock Converse and bring-your-own-key (BYOK) configurations
  • macOS file descriptor handling - Low file descriptor limits are now detected and raised automatically for child processes, preventing spawn failures
  • FAQ page - Added a new FAQ page to the documentation

1.8.15 - June 9

  • Getting-started guide - The VS Code welcome walkthrough is now a full getting-started guide for new users
  • LVS connectivity - The Elvis engine now resolves PDK connectivity automatically during LVS
  • Configurable portal URL - The portal URL can now be configured
  • SAX model generation - Original docstrings and parameter defaults are preserved when generating SAX model code

May 2026

1.8.14 - May 22

  • Workspace-aware simulation - Simulation requests are now aligned with the path-based workspace, fixing mismatches when running simulations from project subdirectories

1.8.13 - May 21

  • PDK loading stability - GFP app server no longer crashes when PDK loading fails, and entries with missing import or package names are now skipped instead of failing the load
  • SAX compatibility - Bumped SAX upper bound to <0.18.0 for compatibility with newer releases
  • Docs build fix - Added the missing components/icon.html template that was breaking documentation builds
  • PDK tutorial - Clarified the structure of the PDK management tutorial

1.8.11 - May 19

  • DRC rich status - DRC now handles rich status responses from dodeck for clearer progress and result reporting

1.8.10 - May 19

  • Extension reliability - Fixed extension loading and build issues, plus a collapsible stack trace for unknown agent errors to aid troubleshooting
  • DRC navigation - Clicking a DRC error in the panel now zooms directly to its location in the layout viewer
  • Schematic model creation - Fixed the model creation form flashing and disappearing on open
  • Spawn and platform fixes - Conda env vars are filtered from all child process spawns, macOS maxfiles guidance is surfaced on spawn EBADF, and unsupported platforms now show a clear error message

1.8.9 - May 12

  • SAX model samples - Updated sample SAX model definitions to match the current sax.models API

1.8.7 - May 11

  • Schematic rotation fix - Rotation now correctly saves from the Transform instead of a stale Instance field
  • SPICE export robustness - Dangling ports now produce a warning instead of an error, allowing export to complete
  • Process and routing stability - Fixed spawn EBADF errors from fd leaks and zombie watcher processes, and bundles now correctly delete when their last route is removed
  • DRC upload reliability - HTTP timeout for the upload-url request increased to 120s to prevent failures on large designs

1.8.6 - May 3

  • SPICE export fixes - Model names are now used instead of GDS cell names in netlist export, with improved robustness, better UX, and resolved dangling port and unknown PDK layer errors
  • Schematic improvements - New tuple editing widget in settings UI, fan points now included in multi-select drag selection, and mirror transforms correctly preserved
  • Save GDS - "Download GDS" renamed to "Save GDS" in the layout viewer for clarity
  • Licensed server error clarity - Extension now shows a specific error when a licensed server is unreachable, replacing the generic connection error

April 2026

1.8.5 - April 24

  • SPICE export - Netlist parameters are now exported; output format can be set to spectre, spice, or hspice, with improved connectivity and HSpice formatting
  • gfp new - New gfp new command scaffolds a project from a Blank Template, with a companion webview tab in the extension
  • Agent @ mentions and slash commands - Redesigned @ mentions for photonic references, new @file / @symbol support, and slash-command autocomplete with a shared popup helper
  • Agent permission system - New per-session permission system with an auto-approve-all toggle for trusted bash operations, plus scoped allow/deny UX
  • DRC improvements - Reduced polling noise and elapsed time now shown in the DRC panel
  • Schematic - Keepout spacing now correctly applies transforms to all instances; prompts for a name when duplicating a schematic

1.8.4 - April 16

  • Platform-aware venv path - VS Code extension now writes the correct uv virtual environment path in project settings for both Windows and Unix platforms
  • Agent stability fix - Removed invalid --effort CLI flag that was crashing the agent process on startup

1.8.3 - April 15

  • src/ layout support - Python packages using a src/ directory layout are now correctly detected during project setup
  • Schematic placement - Component placement multiplier increased 4x to 16x for better automatic spacing in schematics
  • Offline error clarity - Extension now shows a network error (not an API key error) when offline, with a retry button for recovery
  • Agent session performance - Persistent session index added so large session histories load without scanning the entire JSONL file

1.8.2 - April 8

  • Agent confirmation fix - Removed stream stall timer that was incorrectly aborting pending user confirmations
  • IME input fix - Fixed Enter key prematurely sending messages during IME composition (affects CJK and other input methods)
  • Project setup fix - Agent project setup workflow now correctly generates a .gitignore file

1.8.0 - April 7

  • New layout viewer - Completely overhauled layout viewer with improved rendering and navigation
  • Multi-session agent - AI agent now supports multiple concurrent sessions with a Sessions dashboard, per-session status indicator, and isolated confirmation handling between sessions
  • Agent reliability & UX - GFP provider enabled for all users by default, automatic error classification with retry, actionable crash notifications, improved mode/workflow prompting, and full file content shown in Write previews
  • PDK selector - New dropdown in the VS Code extension to switch PDKs without editing config files
  • Schematic self-links - Schematic editor now supports connections between ports on the same instance
  • Security hardening - Multiple bash allowlist tightening fixes, env var hijack detection, and command substitution guards in agent safety hooks

March 2026

1.7.1 - March 25

  • Schematic fix - Fixed schematic editor rendering issue
  • Archive extraction fix - Archives are now extracted directly into the output directory
  • Agent credential routing - Agent credential routing now correctly respects the configured provider setting

1.7.0 - March 23

  • Verification mode - AI agent now supports a verification mode to validate design decisions before committing changes
  • Subagent UI - Task (subagent) activity is now visualized directly in the agent chat, with a new sample-browser subagent for exploring registry samples
  • Spec-first design workflow - New build-custom-component workflow lets users design components from a specification before writing code
  • Bug fixes - Fixed agent chat scroll lock during streaming, silent hangs on SDK error subtypes, and cell-image endpoint loading from built GDS files

1.6.4 - March 17

  • Agent mode system - New progressive disclosure mode system with a dedicated design mode, giving users clearer control over how the AI agent operates
  • Write/Edit confirmation UI - Agent now shows a diff preview when writing or editing files, with an explicit confirmation step before applying changes
  • Context window bar - Context window usage is now visible in the agent chat so users can monitor how much of the context budget is in use
  • Bug fixes - Fixed simulation panel issues, agent chat tab persistence across VS Code reloads, and Write/Edit confirmation UI in live chat

1.6.3 - March 15

  • AI agent controls - AI assistant is now gated behind an org-level LLM flag with a terms of use consent screen on first use, a new Settings tab for AI provider selection, and a todo panel for tracking agent tasks
  • DRC waiver support - DRC results panel now handles waiver status with corresponding UI updates for a cleaner review workflow
  • MCP tools install - New "Install MCP for AI tools" option in the settings dropdown for easier AI tool setup
  • Bug fixes - Fixed building all components, connectivity panel navigation, factory card buttons disabled while server is starting/stopping, and array instance port handling

1.6.2rc1 - March 15

  • Build fix - Fixed building all components to ensure the full component list compiles correctly
  • Agent key disabled - GDSFactory+ key temporarily disabled in the AI agent while a replacement flow is prepared
  • Improved error messages - Clearer error messages for model documentation and general error reporting

1.6.1rc1 - March 13

  • AI agent gating - AI assistant is now gated behind an organization-level LLM flag, with a terms of use consent screen on first use and a new Settings tab for AI provider selection
  • DRC waiver support - DRC results panel now handles waiver status with corresponding UI updates for a cleaner review workflow
  • MCP tools install - New "Install MCP for AI tools" option in the settings dropdown for easier AI tool setup
  • Bug fixes - Fixed connectivity panel navigation opening wrong panel, factory card buttons now correctly disabled while server is starting/stopping, and array instance port handling in the port-center endpoint

1.6.0 - March 8

  • PDK upload improvements - Simplified PDK upload UI to a single multi-file picker supporting wheels and zip files for a streamlined upload experience
  • AI Agent enhancements - Agent API key is now stored securely in the OS keychain, with new tools for installing private PDKs and auto-resuming after extension reload
  • Configuration panel - New Fix All button applies all suggested fixes at once; config panel header renamed and UV API key validation added
  • SAX simulation fixes - Fixed filtering of None values from netlist settings and improved phase unwrapping for phase jumps larger than 360°

1.5.12 - March 5

  • AI Agent - New AI chat assistant integrated directly in the VS Code extension for interactive circuit design help
  • Agent type-ahead - You can now type your next message while the AI is still responding, with the ability to interrupt ongoing responses
  • Ask Assistant shortcuts - Quick "Ask Assistant" buttons added to the Configuration panel and Issue Report for faster access to AI help
  • Agent UI improvements - Cleaner chat messages, improved markdown rendering, better tool call display, disclaimer on welcome screen, and styled input with a purple-pink accent

1.5.11 - March 4

  • Schematic routing fix - Schematic editor now works correctly when no routing strategies are configured
  • Simulation cache fix - Cache is cleared before running simulations to ensure fresh results
  • Issue report improvements - Log files in issue reports are now gzip-compressed to avoid request size limits
  • Installation fix - Fixed GDSFactory+ installation method and removed unsupported "from netlist" simulation options

February 2026

1.5.10 - February 28

  • DRC CLI improvements - DRC CLI now accepts specific cell names and defaults to a sensible output path, making design rule checks easier to run
  • Schematic self-reference fix - Fixed issue where adding an instance with the same name as the parent netlist was incorrectly allowed
  • Settings bar fix - Fixed settings bar buttons not responding when the extension is in an error state

1.5.7 - February 17

  • Sim panel fixes - Fixed batch port loading and model-driven parameter chips in the simulation panel
  • PDK duplicate fix - Fixed project cells being shadowed by unregistered base PDK duplicates
  • Sim panel performance - Improved simulation panel performance

1.5.6 - February 17

  • Build status endpoint - Added authoritative build tracking endpoint for improved build monitoring
  • Datadog error tracking - Integrated Datadog error tracking in VS Code extension and Python server for enhanced debugging

1.5.5 - February 16

  • SAX model associations - Parameters in the SAX simulation panel now show their associated models
  • New cell build fix - Resolved a race condition that prevented newly created cells from building immediately
  • PDK mapping fix - Fixed PDK mapping for packages that share import names
  • Freeze fix - Fixed a freeze issue in the extension
  • Datadog error tracking - Integrated Datadog error tracking in VS Code extension and Python server for enhanced debugging

1.5.4 - February 13

  • Array instance port exposure - Added option to expose ports for array instances in schematic editor
  • Upload PDK context menu - New context menu entry for uploading PDKs
  • 3D viewer fix - Fixed 3D viewer functionality in workspace
  • Simulation panel improvements - Enhanced simulation panel interface

1.5.2 - February 11

  • Rust-based SVG generation - Ported SVG generation to Rust for improved performance
  • Upload PDK panel - New webview panel for uploading PDKs directly from the UI
  • Issue reporting improvements - Enhanced issue reporting now available in webview UI and activated earlier
  • Database stability - Fixed race condition for more reliable database operations

1.4.4 - February 5

  • Simulation display - Simulations now displayed in iframe for better integration

1.4.3 - February 5

  • Factory source viewing - Added ability to show the source code of factories
  • Remote simulation fix - Fixed remote server URL usage for simulations
  • Component filtering - Improved filtering for project components

1.4.1 - February 4

  • PDK retrieval fix - Fixed issue with getting PDK
  • Simulation serialization - Fixed simulation serialization issues
  • Reload improvements - Better remove and reload functionality

1.4.0 - February 4

  • Simulation storage - Integrated simulation storage with SAX endpoint for better simulation data management
  • Enhanced simulation API - Updated simulation client to support new SDK routes and features
  • Base model simulation fix - Fixed issues with simulating base models
  • Cross-section improvements - Cross-sections now register automatically and sort alphabetically

January 2026

1.3.13 - January 29

  • Container memory detection - Improved memory status reading for Kubernetes and containerized environments
  • API key validation - Extended API key checking to support additional hosts

1.3.12 - January 26

  • DataLab Rust API v1 support - Updated simulation module to support new DataLab Rust API v1
  • LVS improvements - Enhanced Layout vs Schematic verification functionality

1.3.11 - January 26

  • Schematic conversion fix - Fixed issue when converting components into schematic format

1.3.10 - January 26

  • Separate DRC endpoint - DRC checks are now distinct from connectivity checks for better clarity
  • Model Context Protocol (MCP) - Added MCP server integration enabling AI assistants to interact with GDSFactory+ tools

1.3.5 - January 19

  • Standalone mode improvement - Made ws_port truly optional for better standalone server configuration
  • Automated testing - Added integration testing infrastructure for improved reliability

1.3.4 - January 15

  • Server health monitoring - Added health check ping to watcher for improved server reliability

1.3.3 - January 15

  • Server auto-shutdown - Added health check ping to automatically shut down orphaned servers
  • Simulation client - Improved simulation client functionality

1.3.2 - January 13

  • Local server testing - Added documentation for testing the local server
  • VSCode development - Fixed build and development instructions for contributors

1.3.1 - January 12

  • LVS/Connectivity check fix - Resolved EBADF errors by switching to HTTP API for validation checks
  • Documentation workflow - Improved CI process for automated documentation updates

1.3.0 - January 9

  • UV sync optimization - Improved virtual environment creation with hardlink mode for faster setup
  • Development documentation - Updated installation instructions for contributors

1.2.9 - January 9

  • Schematic to Python conversion - Added 'Into Python' conversion feature for schematic factories
  • File permission handling - Cross-platform modal for resolving file access issues
  • PDK editor improvements - Toolbar buttons now visible for read-only PDK editors

1.2.8 - January 8

  • SSH remote support - Added documentation for using GDSFactory+ with SSH remotes
  • Conda environment fix - Filtered out conda environment variables to prevent conflicts
  • Schematic type parsing - Improved Python type annotation handling using ruff AST parsing
  • Download messaging - Better user feedback during download operations

1.2.7 - January 7

  • Cross-section creation - New option in left panel to create cross-sections directly
  • SPICE support - Added SPICE netlist export capability
  • Python 3.13 and 3.14 support - Extended Python version compatibility
  • Single-click GDS view - Click on a factory to open its GDS directly instead of expanding the card
  • Better error messages - Line numbers now included in factory error messages

1.2.5 - January 6

  • 3D etched layers fix - Fixed rendering of etched layers in 3D viewer
  • API key validation - API key now properly checked after reloading settings

1.2.4 - December 23

  • Linux compatibility - Fixed wheel builds for broader Linux distribution support
  • UV sync fix - Resolved issues with environment synchronization

1.2.3 - December 22

  • Schematic build optimization - Reduced schematic file sizes
  • Issue submission fix - Fixed the submit issue feature
  • Bug report templates - Added structured issue templates for better bug reporting
  • Nginx improvements - Added caching and compression for faster workspace loading

1.2.0-1.2.2 - December 16-17

  • macOS 14 support - Added support for older macOS versions
  • Workspace networking - Fixed IP binding for cloud workspaces
  • Server stability - Fixed server crashes

December 2025

1.1.16-1.1.18 - December 15-16

  • Memory check fix - Improved memory usage validation
  • Documentation improvements - Better organized docs and changelog

1.1.15 - December 12

  • LVS for schematic cells - Run Layout vs Schematic checks on cells that have associated schematics
  • Cleaner workspace UI - Removed the right chat panel for a more focused workspace
  • 3D viewer fix - Fixed issues with the 3D visualization feature

1.1.14 - December 10

  • Performance improvements - Faster component loading and building
  • Mac compatibility - Schematic editor now compiles correctly on macOS

1.1.10-1.1.13 - December 8-10

  • Click to route - Create routes by simply clicking on ports
  • Better component search - Separate buttons for clearing filters and search input
  • API key saving - API keys now save correctly in the new project panel
  • Auto-focus GF+ tab - The extension automatically focuses on the GF+ tab when you open a project
  • Various stability fixes - Fixed issues with workspaces, file watching, and GDS downloads

November 2025

1.1.0 - November 20

  • Component search hints - Get helpful hints when searching for components
  • Stage dependencies - Configure stage dependencies in the settings panel
  • Better DRC panel - Improved Design Rule Check error display and navigation
  • Port label improvements - Better visibility with updated size and hover colors
  • Instance deselection - Click away from instances to deselect them
  • Offline improvements - Better user experience when working without internet

1.0.25-1.0.26 - November 4-6

  • Frequency domain simulations - Run RF simulations with frequency sweep support
  • New settings parser - Improved configuration handling

October 2025

1.0.17 - October 22

  • Simulation templates - Pre-built templates to help you get started with simulations quickly
  • Git host support - Build workspaces from different Git hosting providers

1.0.11 - October 15

  • PDK token support - Use PDK tokens for authentication
  • Bundle merging - Improved bundle handling for components
  • Download GDS fix - Fixed GDS file downloading
  • Mouse position text - Fixed text color for mouse position display

1.0.10 - October 10

  • Simulation pane fix - Fixed issues with the simulation panel
  • Python script simulation - Fixed Python script simulation execution

1.0.8 - October 5

  • Schematic merging - Improved schematic merge functionality
  • Build documentation - Updated docs on building the Schematic editor and VSCode extension

1.0.5 - September 30

  • DRC view improvements - Enhanced Design Rule Check visualization and browser

1.0.3 - September 29

  • DRC visualization fix - Fixed DRC error visualization

1.0.2 - September 28

  • DRC visualization - Improved DRC visualization
  • 3D viewer labels - Fixed 3D viewer with labels

1.0.1 - September 26

  • Schematic freeze fix - Fixed freeze when converting to schematic
  • Schema generation - Fixed schema generation issues
  • Windows compatibility - Improved kill command for Windows

September 2025

1.0.0 - September 25

Major release with significant architectural improvements and new features.

  • Static analyzer - New static analyzer for quickly finding cells and models in projects
  • Metadata database - Light-weight database for quick metadata querying and cell tracking
  • 3D visualization - Integrated new three-cad-viewer with enhanced layer handling
  • Read-only schematic editor - View base PDK netlists and Python cells in read-only mode
  • Verification tools - Prettier DRC/LVS/Connectivity interface with improved error reporting
  • Simulation improvements - Enhanced simulation interface with model status tracking
  • PDK browser - New database-backed PDK tree with improved navigation
  • Component browser - Card-based UI with expandable cards and busy icons
  • Search improvements - Fuzzy match search, regex-based finding, and filter chips
  • Vastly improved startup time - Significantly faster loading for large projects

August 2025

0.57.15 - August 27

  • Updated branding - New logos and navbar tooltip names

0.57.13 - August 20

  • PDK loading indicator - Visual feedback when loading PDKs
  • Better authentication - Improved authentication flow
  • Release documentation - Added release documentation

0.57.8 - August 15

  • Package manager - Added Python package manager for easier dependency management

0.57.4 - August 13

  • Themed documentation - Docs now match the customer portal theme
  • Memory check - Added memory usage validation

0.57.1-0.57.2 - August 7

  • Show compatibility - Backward and forward compatible show interface
  • LYP layer stack support - Support for LYP layer stack files
  • Internet connectivity check - Better handling when offline

0.57.0 - August 6

  • Better validation - Improved validation tools
  • Simulation menus - Enhanced simulation menu interface

0.56.3 - August 4

  • Settings improvements - Fixed adding settings
  • Show interface update - Updated to latest kfactory show interface
  • UV install progress - Progress indicator during UV installation

0.56.1 - August 4

  • Logical simulations - Run simulations from netlist directly
  • Right-click add model - Add models via context menu
  • Lazy loading - Improved performance with lazy loading

0.56.0 - August 3

  • Progress bar - Added progress bar for operations
  • Smarter component builds - Optimized component building

0.55.11 - August 1

  • Generic PDK check - Fixed check if component belongs to generic PDK
  • Temp GDS handling - Fixed temporary GDS file handling

0.55.5 - July 31

  • Caching improvements - Enhanced caching for better performance
  • Test improvements - Tests now skip functions requiring arguments
  • Function definition navigation - Fixed go-to function definition
  • Cross-section creation - Create cross-sections from UI

July 2025

0.55.2 - July 17

  • Source folder support - Support for src folder project structure
  • Consolidated commands - Simplified command structure

0.55.0 - July 13

  • Better icons - Improved icons throughout the UI
  • Cleaner menus - Streamlined menu structure

0.54.6 - July 9

  • Simulation support - Added simulate functionality

0.54.4 - July 2

  • Layout build status in schematic - See build status directly in schematic view

June 2025

0.54.3 - June 30

  • Project buttons - Improved project panel buttons
  • Sign-in page - New sign-in page for VSCode extension
  • Readonly mode - Support for read-only project viewing

0.54.0 - June 27

  • gplugins integration - Added gplugins dependency support
  • New schematic editor - Updated schematic editor

0.53.0 - June 21

  • SAX 0.15+ support - Compatibility with newer SAX versions
  • Test command fix - Fixed test command when pytest fails

0.52.1 - June 16

  • Nicer icons - Improved icons in doweb
  • Schematic menu bar - Added menu bar to schematic editor

0.52.0 - June 13

  • PICS tree filtering - Ignore items in PICS tree
  • Auto venv selection - Automatically select project venv when present
  • Issue reporting - Updated issue reporting

0.51.2 - June 5

  • Simpler documentation - Streamlined documentation
  • Better API key validation - Improved API key validation

0.51.0 - June 2

  • Auto-resize SVG - Automatically resize SVG exports
  • Schematic inactive mode - Added inactive mode for schematics

May 2025

0.50.4 - May 27

  • KFactory netlist - Enabled kfactory netlist support

0.50.3 - May 27

  • Security fix - Prevented hostname injection vulnerability

0.50.1 - May 24

  • Connectivity check - Changed connectivity check to optical-only by default
  • Placement updates - Improved placement update handling

0.49.4 - May 20

  • Underscored cells - No longer ignoring underscored cell names

0.49.0-0.49.1 - May 19

  • Validation improvements - Enhanced validation for projects
  • Conda environment fix - Fixed UV install with conda environments

0.48.0 - May 15

  • VSCode extension cleanup - Cleaned up extension source code
  • Linux ARM support - Added ARM test support

0.47.0 - May 13

  • Better builds - Improved build process
  • Linux ARM release - Added Linux ARM release binaries
  • Schematic generation - Moved generate schematic to show menu

0.46.0 - May 7

  • Exploding instances - Added instance exploding feature
  • API key fix - Fixed axiomatic API key handling

0.45.0-0.45.2 - May 2-6

  • Electrical connectivity from PDK - Load proper electrical connectivity from PDK
  • Duplicate and delete - Added duplicate and delete operations
  • LVS fixes - Fixed LVS connectivity issues

0.44.0 - April 30

  • Cache pruning - Improved cache management
  • PDK settings - Additional PDK settings for DRC/GPT sections

0.43.0 - April 28

  • Memory management - Workspaces no longer use excessive memory

0.42.2 - April 27

  • Freeze Python cells - Convert Python cells to schematics

0.41.4 - April 25

  • Electrical LVS - Added electrical LVS support
  • Underscored components - Allow underscored component names

0.41.1 - April 21

  • Model creation - Added model creation workflow

April 2025

0.41.0 - April 18

  • Python 3.12 venv - PDK init now uses Python 3.12

0.40.4 - April 16

  • Extended port info - More detailed port information
  • Settings management fix - Fixed manage settings error

0.40.0 - April 14

  • New schematic editor - Support for new schematic editor (dropped old editor)
  • Init command fix - Fixed init command

0.39.2 - April 1

  • AI engine selector - Choose AI engine in VSCode chat

March 2025

0.39.0 - March 29

  • Improved AI assistant - Better GPT integration
  • Default schematic editor - Open doschematic by default for new schematics
  • Matplotlib fix - Fixed matplotlib crashes

0.38.1 - March 23

  • Flip links - Use 'f' key to flip links in schematic

0.38.0 - March 23

  • GFP projects - Started support for creating GFP projects

0.37.3 - March 23

  • Connection arrows - Show arrows in schematic connections
  • Faster CLI - Improved CLI performance

0.36.5 - March 10

  • GFP test - Added gfp test command
  • Port improvements - Better port handling

0.36.0 - March 7

  • GFP show improvements - Enhanced gfp show command

0.35.6 - February 17

  • Ruff and Pyright - Better code quality with strict linting
  • Issue reports - Improved issue reporting

0.35.1 - February 10

  • Schematic panning - Added panning support in schematic editor
  • Help text - Reduced help text size, added 'press [h] for help' hint

0.35.0 - February 9

  • Status bar icon - Added validation status bar icon
  • Clickable log links - Links with line numbers in logs are now clickable
  • Paths with spaces - Fixed gfp serve with paths containing spaces

0.34.0-0.34.2 - February 6-7

  • LVS support - Added Layout vs Schematic verification
  • Instance moving - Move instances in schematic editor
  • Log files - Added log file generation

0.33.0 - January 30

  • Improved validation - Significantly enhanced validation features

0.31.1 - January 27

  • OC SPICE parsing - Improved Open Compute SPICE parsing
  • Layout placements - Use layout placements for schematic if none available

0.31.0 - January 26

  • UV fixes - Various UV package manager improvements
  • DoItForMe - Added doitforme to gf+ serve

0.30.3 - January 25

  • Spaces in paths - Allow spaces in gfp and project paths
  • Windows and macOS wheels - Fixed wheel builds
  • Route bundle naming - Fixed route bundle naming

0.30.0 - January 24

  • API key validation - Improved API key validation
  • OC SPICE parsing - Better Open Compute SPICE parsing

0.29.0 - January 21

  • DRC error browser - Improved DRC error browser
  • Connectivity check - Fixed connectivity check execution
  • Schema generation - Faster schema generation

0.28.2 - January 17

  • No zombie processes - Fixed zombie process issues
  • Improved watcher - Better file watcher
  • Windows fixes - Fixed Windows-specific issues

0.28.0 - January 16

  • Auto UV install - Automatically install UV if not installed
  • Default PDKs - Fixed default PDK handling

January 2025 (continued)

0.19.0 - January 3

  • Component search in schematic - Search for components in schematic editor
  • Route bundle syntax - Support route bundle syntax in schematic
  • Edit placements - Edit placements in schematic editor
  • Local simulations - Simulations are now always local (deprecated DoSAX)
  • Stop server/watcher - Added ability to stop server/watcher
  • GDSFactory+ command prefix - Commands now prefixed with GDSFactory+

December 2024

0.18.8 - December 30

  • Connectivity checks videos - Added connectivity checks and VSCode extension videos
  • Link grouping - Grouping of links in bundle routes

0.18.0 - December 21

  • Watcher/server improvements - Major improvements to watcher and server
  • Tree button reorder - Reordered tree buttons in VSCode

0.17.0 - December 16

  • Instance editing - Improved instance editing in schematic editor
  • Route settings - Added route settings in schematic editor

0.15.4 - December 13

  • Array instances - Array instance support in schematic
  • Pyright extension - Added pyright extension for type checking

0.14.2 - December 5

  • Python extension dependency - Added Python extension as dependency
  • Spectre export - Export to Spectre format

0.14.0 - December 3

  • New schematic editor - Major new schematic editor release
  • Performance improvements - Various performance optimizations

November 2024

0.8.2 - November 8

  • OC SPICE parsing - Parse Open Compute SPICE files

Earlier Releases

Earlier releases focused on initial development, including the foundational VSCode extension, basic schematic editor, DRC integration, and initial simulation support. See the internal changelog for detailed release-by-release information.