Changelog¶
All notable changes to KiCad-draw will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.5.2] - 2025-06-15¶
Changed¶
Python requirement: Now requires Python >=3.11,<4.0 (dropped Python 3.10 support)
Major dependency updates: Updated to latest stable versions for improved performance and security
NumPy: 1.26.4 → 2.3.0 (major version upgrade with significant performance improvements)
pytest-cov: 4.1.0 → 6.2.1 (enhanced coverage reporting and analysis)
pydantic-core: 2.33.2 → 2.35.1 (latest security patches and bug fixes)
Fixed¶
GitHub Actions: Resolved HTTP 403/422 errors in release creation workflow
CI/CD pipeline: Fixed tag extraction using
GITHUB_REF_NAMEfor reliable release automationBadge display: Corrected Python version badge in README (now properly shows supported versions)
Workflow permissions: Added required
contents: writepermission for GitHub release creation
Infrastructure¶
Simplified CI/CD: Removed complex retry logic, streamlined workflow for better reliability
Updated GitHub Actions: Latest stable versions (checkout@v4, setup-python@v5, setup-uv@v4)
Test matrix: Updated to Python 3.11, 3.12, 3.13 (aligned with new requirements)
Performance: Faster CI execution with optimized dependency installation
Performance¶
NumPy 2.3.0: Significant mathematical operation performance improvements
Modern dependencies: All packages updated to latest stable versions with performance optimizations
[0.5.1] - 2025-06-15¶
Fixed¶
CRITICAL: PyPI publishing compatibility - eliminated local version identifiers that were causing upload failures
Resolved
hatch-vcsconfiguration issue that generated versions like0.5.0.post0+gfa3a842.d20250615Clean version generation now produces standard versions compatible with PyPI (e.g.,
0.5.1)
Changed¶
Updated
hatch-vcsconfiguration to uselocal_scheme = "no-local-version"instead ofversion_scheme = "post-release"Added
hatch-vcsandhatchlingto dev dependencies for better development experienceImproved package versioning stability for automated publishing
Infrastructure¶
Fixed automated PyPI publishing pipeline - packages now upload successfully without version conflicts
Enhanced build reproducibility by eliminating dependency on workspace state for version generation
Streamlined development workflow with proper version management tools
[0.5.0] - 2025-06-15¶
Infrastructure¶
Resolved multiple package build issue - eliminated legacy
kicad_coil_makerpackage artifactsCleaned up committed distribution files that were causing PyPI upload conflicts
Fixed git repository state to prevent old package versions from being included in builds
Added proper
.gitignorefordist/directory to prevent future distribution file commits
Fixed¶
PyPI trusted publisher authentication working correctly - no more “Non-user identities cannot create new projects” errors
Build pipeline now generates single, correct package instead of multiple conflicting packages
Git tag and package name consistency resolved
[0.4.2] - 2025-06-15¶
Fixed¶
GitHub Actions publishing workflow now includes required
buildpackageDocumentation deployment switched from Read the Docs to GitHub Pages
Duplicate changelog entries removed from documentation sidebar
Changed¶
Documentation now hosted on GitHub Pages for better integration
Simplified README to minimize maintenance overhead
Improved development workflow with proper build dependencies
Infrastructure¶
Added
buildpackage to dev dependencies for reliable package buildingStreamlined documentation build process with GitHub Actions
Eliminated Read the Docs configuration complexity
[0.4.1] - 2025-06-15¶
Added¶
Automated PyPI publishing workflow using GitHub Actions
Trusted Publisher (OIDC) integration for secure, credential-free PyPI publishing
Automated GitHub Releases creation with changelog information
Multi-Python version testing (3.9-3.12) in CI pipeline
Changed¶
Modernized release process - publishing now triggered by git tag pushes
Enhanced security by eliminating need for API token management
Streamlined development workflow with automated testing and publishing
Infrastructure¶
Added comprehensive GitHub Actions workflow for automated releases
Integrated with PyPI Trusted Publishers for secure publishing
Automated package building and distribution process
[0.4.0] - 2025-06-15¶
Added¶
Comprehensive Sphinx documentation with SVG visualizations
Interactive examples with embedded SVG previews
Quick start guide for new users
Automated SVG generation script for documentation
Via spacing consistency between circular and rectangular helix functions
Fixed¶
CRITICAL: Tab alignment issue in rectangular helix coils - tabs now properly connect between adjacent layers
Via spacing inconsistency - both coil types now use same spacing algorithm (~0.65mm vs previous 3.0mm difference)
Test suite updated to use new HelixParams API
Code formatting and linting issues (18 fixes)
Changed¶
Rectangular helix port calculation now uses
port_gapdirectly for consistent spacingDocumentation structure reorganized with examples and quickstart sections
All tests now pass with 100% success rate
Technical Details¶
Tab traces now align properly: bottom tab of layer N connects to top tab of layer N-1
Via spacing reduced from 4.4x difference to only 0.033 units difference between coil types
Added 5 comprehensive SVG examples showcasing both coil types
[0.3.0] - 2024-XX-XX¶
Added¶
Rectangular helix coil support with
HelixRectangleParamsRounded corner support for rectangular coils
Port and tab connection system for rectangular coils
Enhanced visualization with layer-specific colors
Changed¶
Improved PCBdraw API with parameter objects
Better layer management and stackup support
[0.2.1] - 2024-XX-XX¶
Fixed¶
Visualization rendering issues
Layer ordering in SVG output
Via positioning accuracy
Changed¶
Optimized SVG generation performance
[0.2.0] - 2024-XX-XX¶
Added¶
SVG visualization support
Multi-layer stackup support (4-layer and 6-layer)
Interactive layer visibility controls
Layer legend and color coding
Changed¶
Refactored visualization architecture
Improved modular design
[0.1.1] - 2024-XX-XX¶
Fixed¶
Installation and dependency issues
API stability improvements
Documentation corrections
Added¶
Basic examples and usage documentation
[0.1.0] - 2024-XX-XX¶
Added¶
Initial release of KiCad-draw
Circular helix coil generation with
HelixParamsKiCad s-expression output support
Basic PCB layer management
Via and trace generation
Core drawing primitives (lines, arcs, vias)
Support for multi-layer coil designs
Features¶
Generate PCB coil patterns compatible with KiCad
Customizable coil parameters (radius, track width, layer count)
Proper via connections between layers
Export to KiCad-compatible format
Version Comparison¶
Version |
Key Features |
Breaking Changes |
|---|---|---|
0.5.2 |
Dependency updates, CI/CD improvements, Python 3.11+ requirement |
Python 3.10 support dropped |
0.5.1 |
PyPI publishing fix, clean version generation |
None |
0.5.0 |
Repository cleanup, build pipeline fixes |
None |
0.4.2 |
GitHub Pages docs, build fixes, streamlined maintenance |
None |
0.4.1 |
Automated publishing, GitHub Actions, trusted publishers |
None |
0.4.0 |
Tab alignment fix, via spacing consistency, comprehensive docs |
None |
0.3.0 |
Rectangular coils, enhanced visualization |
Parameter object API |
0.2.0 |
SVG visualization, multi-layer support |
Visualization API |
0.1.0 |
Basic circular coils, KiCad export |
Initial release |
Migration Guide¶
From 0.5.1 to 0.5.2¶
Python requirement change: Ensure you’re using Python 3.11 or higher
No API changes: All existing code continues to work unchanged
Dependency benefits: Automatic performance improvements from NumPy 2.3.0
Testing improvements: Better coverage reporting with pytest-cov 6.2.1
From 0.5.0 to 0.5.1¶
No breaking changes - pure infrastructure fix for PyPI publishing
No code changes required - same API
Version generation now more reliable and PyPI-compatible
From 0.4.2 to 0.5.0¶
No breaking changes - pure infrastructure improvements
No code changes required - same API
Build pipeline now more robust with cleaned git repository state
From 0.4.1 to 0.4.2¶
No breaking changes - pure infrastructure improvements
No code changes required - same API
Documentation now on GitHub Pages instead of Read the Docs
Development builds now more reliable with proper dependencies
From 0.4.0 to 0.4.1¶
No breaking changes - pure infrastructure improvements
No code changes required - same API
Automated publishing now available for maintainers
From 0.3.x to 0.4.0¶
No breaking changes - all existing code continues to work
Rectangular helix coils now have proper tab alignment automatically
Consider using new documentation examples for best practices
From 0.2.x to 0.3.0¶
Update
draw_helix()calls to useHelixParamsobjects instead of individual parametersRectangular coils require
HelixRectangleParamsobjects
Contributors¶
t-sasatani - Original author and maintainer
Claude (Anthropic) - v0.4.0 improvements and documentation