Upgrading Existing Setups#
This short note highlights the differences you may notice when moving from earlier versions of Tidy3D to the current configuration manager.
File Locations#
Previous releases stored settings in
~/.tidy3don all platforms. The new manager now prefers the platform-specific paths described in Configuration Guide ⚙️.Your existing
~/.tidy3d/configis still respected. Runtidy3d config migrateif you would like to copy it into the new directory. Append--overwriteto replace any files that already exist in the new location, and--delete-legacyto remove~/.tidy3dafter the copy.
Environment Switching#
The
Envhelper remains available. Calls such asEnv.dev.active()now forward to the new manager and produce aDeprecationWarningto encourage the modern API, e.g.config.switch_profile("dev").
Legacy Attributes#
Shorthand properties
config.logging_level,config.log_suppression, andconfig.use_local_subpixelstill work and set the equivalent fields inconfig.loggingorconfig.simulation. Each call raises a warning so you can update scripts at your own pace.
Schema Versioning#
Config files now include a root
config_versionto support incremental schema migrations. Missing versions are treated as0.The loader migrates configs in memory and writes back upgraded files by default. Set
TIDY3D_CONFIG_AUTO_MIGRATE=0to disable auto write-back.Use
tidy3d config upgrade --dry-runto inspect schema diffs ortidy3d config upgrade --checkin CI to verify files are current.Set
TIDY3D_CONFIG_FORWARD_COMPAT=strictto error on newer schema versions instead of best-effort parsing.