This release features a complete rewrite of the atopile core, laying the foundation for faster builds and new language capabilities. The VSCode extension has a brand new UI for a more polished development experience, including a migration flow for upgrading from earlier versions, tightened project selection, and faster startup times.Windows support has been improved for 0.14.x compatibility. The extension also adds an “open ato shell” menu option and fixes for SSH port forwarding and GLB workflows.The CLI now has better
ato package verify behavior with fixes for overly broad file globbing. The core compiler improves detection of duplicate and unused import statements. KiCad integration fixes ensure correct layer type handling in SEXP output.Under the hood, Python 3.14 compatibility has been addressed across the toolchain, including ABI fixes, pynng version pinning, and KiCad Dockerfile updates.Full Changelog: https://github.com/atopile/atopile/releases/tag/v0.14.0LSP autocomplete is here! The language server now provides dot auto-complete suggestions, import suggestions, and “go to definition” navigation, making the editor experience significantly more productive. The VSCode extension is also less noisy with annoying popups removed.The build system has been rearchitected to model builds as a DAG of individual steps, improving reliability and fixing issues with extra build directories being generated for dependencies.A new
ato package verify command helps validate packages before publishing. Package management is more robust with version fallback support, system cert store usage, and fixed authentication headers.Library improvements include support for parallel pull resistors in requires_pulls checks and hidden value text on the fab layer for cleaner board outputs.Full Changelog: https://github.com/atopile/atopile/releases/tag/v0.12.0This release brings a major rewrite of the KiCAD plugin, making it easier than ever to apply layouts and interact with your designs directly from KiCAD with a single button. The Model Context Protocol (MCP) is now set up automatically, streamlining AI-assisted development workflows and package management.The atopile library and example projects have been thoroughly cleaned up, and the language now supports enums in template arguments, unlocking new design possibilities. The VSCode extension introduces a powerful 3D model viewer, making it simple to visualize your designs in three dimensions.Numerous bug fixes and small improvements enhance stability, performance, and the overall user experience across the CLI, library, and extension. For a complete list of changes and improvements, see the full changelog linked below.Full Changelog: https://github.com/atopile/atopile/releases/tag/v0.11.0
Massive VSCode extension improvements with embedded package browser, KiCanvas PCB viewer, and 3D model viewer with GLB export. Added Model Context Protocol (MCP) support enabling AI-assisted development workflows.Multi-net support for complex routing configurations. Enhanced component lifecycle management with better datasheet handling and footprint loading from dependencies.Significantly improved Windows support fixing symlink permissions, PosixPath errors, and KiCad plugin issues. Better package management with automatic dependency syncing.Deterministic builds with stable file hashing and consistent net naming. CLI improvements including telemetry, better DRC error messages, and detection of CI providers.
Introduced comprehensive component lifecycle management for tracking part availability and obsolescence. Added support for 3D models in packages with automatic model rebuilding.Language Server Protocol (LSP) improvements including hover information, definition navigation, and enhanced syntax highlighting in VSCode.Better error handling with improved logging and diagnostic messages. Fixed deterministic net naming and part selection issues.Enhanced CLI with better part import path display and archive folder for logs.
Upgrading
Modules usingfootprint = will need to transition to parts.Major Language Server Protocol (LSP) upgrade providing real-time syntax and compile-time error reporting. VSCode extension refactored with auto-installation of atopile and enhanced syntax highlighting.Improved snippets and trailing comment support. Fixed KiCad file format issues including pad zone connections and dimension handling.Better development workflow with automatic rebuilding of editable packages when using
uv sync.Extended atopile language capabilities with new syntax features. Enhanced I2C support with addressors for 1 and 2 bit implementations and isolated bus checking.Improved
ato create component command to handle missing signals and numeric pin names. Better syntax error formatting in the CLI.Library updates including adjustable regulator improvements and bridgeable trait for regulators.Added I2C Addressing & Bus viewerBuild artifacts are now included when publishing. This means that when you go to https://packages.atopile.io/, you’ll see the build artifacts ready to order or explore.Added
hide_designators config option.Improved checks system with new exclude capabilityDisabled required check for top level modulesEnhanced ato create component to handle pins named as numbersUpgrading
No required changes for upgrading.If the
.required attribute is set True on an interface, that interface MUST be connected to from outside that module.
Take the example of a LDO - you reasonably MUST connect to the power input and outputs.
The antagonist concept to this is, like python, adding a _leading_underscore to private variables.I2C interfaces are now checked to ensure they have 900 to 100kΩ pullups on them.You can access lists and dicts (from stdlib/fabll) using square braces!(Beta) Windows support! atopile now runs on Windows.Upgrading
No required changes for upgrading.atopile’s package management system has had a huge upgrade!To find packages, check out the entirely overhauled package index.The new commands to packages are clearer and help keep the packages all in sync. See the updated package guide.If you’re looking to publish your own packages, check out the guide.
Upgrading
- The
ato-versionfield in yourato.yamlis now calledrequires-atopile. It remains a version spec, and we recommend that you set it to^0.4.0. - The structure of dependencies has changed! It’s best to remap them to the new registry using the
ato addcommand. Note: Many of the package names have also changed. - The
importidentifiers have also changed - to match the new project identifiers. Update these tofrom "{package-identifier}/file.ato" import MyThing.
Firstly, thanks for using atopile! It’s been a ride, and we’re glad you’re here. 🙌
I’m seeing a bunch of
There will be a LOT of new deprecation warnings you’ll see.For the most part, it’s safe to ignore them for the minute, and we plan to make the breaking changes in 0.4.0Upgrading will give you more access to features as they’re added, but there’s no need to rush if you’re content.Standard Library (previously
This vastly improves our ability to version and iterate on the standard library, use the best practices and latest features.See
Changed Commands
Add--help after any command to see new options in the CLI. This is always the most accurate source of information.| Old | New |
|---|---|
ato install --jlcpcb | ato create component |
I’m seeing a bunch of DeprecationWarning
There will be a LOT of new deprecation warnings you’ll see.For the most part, it’s safe to ignore them for the minute, and we plan to make the breaking changes in 0.4.0Upgrading will give you more access to features as they’re added, but there’s no need to rush if you’re content.PCBs are now directly modified
This means no more need to open the PCB file, import the netlist and cycle.ato build now directly modifies the PCB file as required on each build.Standard Library (previously generics) is now shipped built-in!
This vastly improves our ability to version and iterate on the standard library, use the best practices and latest features.See library for the latest and greatest.It should be better documented. If this is important for you, please vote on the issue.