All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Problems when the system locale isn't English and the English locale isn't installed. In this case KiCad 7/8 didn't switch to English when the environment asked for "C" locale. Note that KiCad 6 prevented the use of English if it wasn't installed.
- Support for KiCad 8.0.3 (bogus Report dialog)
- Convert command to convert Altium files
- 3D render options to control:
- KiCad 8:
- User drawings
- User Eco 1
- User Eco 2
- Not realistic
- KiCad 5:
- User comments/drawings
- User eco 1/2
- Realistic mode
- KiCad 8:
- Better error message when kicad_common.json is corrupted (INTI-CMNB/KiBot#599)
- Support for KiCad 8
- Support for KiCad 8 E/DRC from command line
- New DRC options
- Schematic parity
- All errors for each track
- Units used in the report
- New DRC options
- Support for KiCad 7.0.6/7/8 when no interposer is available (mostly ARM64)
- New options widgets in the ERC dialog (skipped when no interposer)
- New behavior when schematic already opened
- Experimental option to enable the file creation by PID when using the interposer. Use KIAUTO_USE_PID_FOR_CREATE=1 environment variable. You can try it if experimenting problems using VirtioFS on macOS.
- Support for KiCad 7.0.7 RC1
- Workaround for ERC dialog not closed using ESC after running the ERC
- Support for new GenCad export behavior
- Support for the new message when a file is already opened
- New 3d_view options:
- use_layer_colors: instead of realistic
- hide_board_body: transparent core
- show_comments: visible User.Comments (only when use_layer_colors enabled)
- show_eco: visible Eco*.User (only when use_layer_colors enabled)
- show_adhesive: visible *.Adhesive
- Problems with KiCad 7.0.5 ERC formatting
- Workaround for bogus KiCad 7.0.2 error about missing simulation model for power symbols.
- Workaround for KiCad 7.0.2 closing the ERC dialog.
- Support for KiCad 7.99 details (ERC and async dialogs issues)
- Support for KiCad warnings about missing fonts.
- Workaround for KiCad 7 not defining KICAD7_FOOTPRINT_DIR during DRC
- Support for kicad-cli options from the KiCad 8.0 branch
- Grid size for ERC in KiCad 7
- KiCad 7 RC2 support. This is a preliminary support, please be patient.
- Eeschema Export:
- Color theme
- Enable background color (INTI-CMNB/KiBot#362)
- HPGL origin
- HPGL pen size
- VRML Export (INTI-CMNB/KiBot#349)
- Problems with GTK 3.24.34 and recycled DRC dialog
- ERC exclusions not detected (#31)
- Support for KiCad 5 "could not find valid layer for pad" warning (See INTI-CMNB/KiBot#299)
- 3D render options to control:
- Hide the silkscreen layers
- Hide the solder mask layers
- Hide the solder paste layers
- Hide filled areas in zones
- Don't clip silkscreen at solder mask edges
- Don't clip silkscreen at via annuli
- The 3D render now enables silkscreen clips by default
- Support for the asynchronous "Info" dialogs found in KiCad 6. Example: missing .kicad_wks (See INTI-CMNB/KiBot#264)
- Project files are now restored using binary mode. So we preserve the original end of line.
- Problems when the output directory doesn't exist.
- Support for the error dialog we get when sub-sheets are missing.
- Problems when using
--output_name
and the system temporal dir isn't in the same file system as the selected name.
- New interporser mechanism for Linux x86_64.
- Faster and more reliable
--separate_info
command line option to send information to stdout (separated from debug in stderr)--info
command line option to debug installation issues- Now all eeschema_do commands supports
--output_name
- DRC unconnected and warnings count (KiCad 6) (#25)
- Support for partially saved projects (KiCad 6). (See INTI-CMNB/kicad_auto#11)
- The typing delay of pasted text is now scaled by the time-out scale.
- Delay before trying to paste the filename in the 3D render.
- Discard DRC errors explicitly excluded by KiCad 6 configuration. (#25)
- Problems to parse some KiCad 6 DRC messages. (#25)
- Force Mesa GL to use sofware render. Helps on some setups. (#22)
- Support missing fp/sym-lib-table template. (#24)
- Better pcbnew window available mechanism. (See #21)
- An option to use the ray trace end detection with regular (OpenGL) renders (See #23)
- Increased some timeouts, specially when waiting for the file creation (See #23)
- Problems when using PCBs in a read-only dir
- kicad2step: very small wait on exit (#21)
- kicad2step: output dir option ignored
- Added IPC-D-356 netlist generation
- eeschema_do fails when loading the schematics took more than 3 seconds.
- Time-outs when waiting for the PCB print dialog. Should make things faster.
--list
option was limited to layer IDs upto 50. Now isn't limited.- Problems with xclip messages for the version found on Fedora 35.
- 3D View: support for X, Y, Z rotation in steps (KiCad 6 only)
- PCB export: support for KiCad 6 color theme selection
- 3D View: support for alpha channel (KiCad 6)
- 3D View: support for solder mask and silk screen bottom colors (KiCad 6)
- KiCad 6: 3D View axis not disabled
- 3D View support for KiCad 6 (now that bug 9890 is fixed)
- Gencad export (#17)
- pcbnew_do SVG export
- KiCad 6: pcbnew_do problems when KiCad isn't configured.
- Error message when the
import
tool isn't installed.
- Support for
--subst-models
option
kicad2step_do
a wrapper forkicad2step
, a GUI tool in KiCad 6
- Better support for KiCad 6 DRC errors.
- Better support for KiCad 6 error dialog at start-up.
- Added experimental mechanism to detect the ray tracing end (#12)
- 3D View zoom issues on some systems (#13)
- Problems with xdotool failing to match strings on some locales.
- Monochrome schematic print.
- pcbnew_do export problems when the PCB name contained "print" and we asked to fill zones.
- PCB 3D view capture.
- pcbnew_do export problems when the PCB name contained "print".
- Now the time-out scale also affects the time we wait for a file creation.
- pcbnew_do export scaling for the "fit page" case.
- Locale problems for some Linux distros (i.e. Arch)
- Problems with wrong KiCad version in unstable Debian.
- Verbosity level 3 enables logs for: KiCad, check for Xvfb and recordmydesktop.
- GitLab CI workaround:
- Retries when we detect KiCad prematurely dies (before creating a window).
- Delay after detecting Xvfb is running (increased exponentially on retries).
- Call to
vmstat
anduptime
after time-out. - KiCad bug #6989 message supression.
- Command line option to scale all the time-outs.
- KiCad environment variables preservation in eeschema_do
- Support for KICAD_CONFIG_HOME defined from inside KiCad
- ERC report name can be configured
- No KiCad config assumed, now we ask KiCad
- Support for KiCad 5.99 DRC/ERC reports.
- Problems when using KiCad 5.99 and projects from KiCad 5.
- Option to pcbnew_do export:
--mirror/-M
Mirror printing (KiCad 6 only!)
- Options to pcbnew_do export:
--scaling/-s
Scale factor (0 fit page)--pads/-p
Pads style (0 none, 1 small, 2 full)--no-title/-t
Remove the title-block--monochrome/-m
Print in blanck and white--separate/-S
Layers in separated sheets
- Support for KiCad Nightly
- Just define the environment variable:
KIAUS_USE_NIGHTLY=5.99
- Just define the environment variable:
- Crash when no arguments.
- Crash when no x11vnc and it was requested.
- Lost warning messages when using --warnings_as_errors
- --fill_zones/-f option to 'pcbnew_do export' to fill zones before printing.
- Filtered errors are displayed as warnings, but ignored.
- Filtered warnings are displayed as information.
- When an error/warning is filtered a debug message informs which regex matched.
- --errors_filter/-f option to provide a file containing errors to ignore from DRC/ERC.
- Sometimes when using a WM the "pcbnew_do export" failed to open the Printer dialog.
- Sometimes when exiting xdotool didn't find any window and reported error.
- When the filled zones changed during DRC the PCB could be saved even when we didn't specify --save
- Under some situations the EEschema plot dialog failed to clear the old file path and we pasted concatenated. Was introduced when fixing the browse button selected.
- --wait_key/-w option to send the commands step by step (debug)
- --start_x11vnc/-s option to start a server so we can monitor what's going on (debug)
- --use_wm/-m option to start a window manager (fluxbox) so we can interact better (debug)
- Now we exit eeschema and pcbnew without killing the application.
- Default record height now is 960.
- Error and Warning dialog detection. Now we use more specific regular expressions.
- Sometimes the 'Plot Schematic Options' starts with the browse button selected and we must move left.
- Sometimes the netlist dialog starts with the generation button selected and we move to the plugin button instead. Now we detect it and go back to the generate button.
- Support for PS, DXF and HPGL to the schematic export.
- Support for eeschema already running.
- Support for loading KiCad 4 schematics (asking for Remap symbols)
- pcbnew_print_layers to "pcbnew_do export" to be coherent with "eeschema_do"
- pcbnew_run_drc to "pcbnew_do run_drc" ditto
- --ignore_unconnected of pcbnew_run_drc wasn't implemented.
- ERC omitted warnings if errors were detected.
- The project file could be altered, or even lost, during schematic export.
- Now we use setxkbmap instead of xset to test X is working. If setxkbmap isn't available we default to xset.
- More support for docker environment in the pcbnew scripts
- Now eeschema_do reports ERC warnings as warning messages
- Support missing *-lib-table in user config
- Create the KiCad config dir if it doesn't exist
- Two missing dependences.
- Debug and info colors.
- Support for the names used by kiplot for the inner layers.
- Supressed eeschema stdout to avoid printing the ERC report.
- ERC errors now reported as negative values.
- --save to save the PCB after DRC (updating filled zones)
- Sorted command line options
- Give more priority to the local module instead of the system wide installed.
- Option to list all layers to pcbnew_print_layers.
- Documentation for the new scripts.
- Debian package files.
- Different error levels.
- --version and --verbose.
- Unified the loggers and made it coloured.
- Width and height config for the record function.
- --output_name option to the DRC.
- Netlist generation
- Simple BoM (XML) generation
- Print a PDF containing one or more layers.
- Error level of src/pcbnew_run_drc to negative to be more coherent with the run_erc command.
- Interpreter to Python 3.
- Renamed the main scripts so they don't include .py in the name.
- Renamed the "util" package to "kicad_auto" (less generic).
- Moved the eeschema/export_bom.py functionality to the bom_xml command of src/eeschema_do.
- eeschema/schematic.py -> src/eeschema_do.py (more descriptive name).
- Now we keep only the last recorded video.
- Added creation of a suitable eeschema config, instead of editing the current.
- Made schematic and output_dir position args (always used).
- Removed --screencast_dir in favor of --record (+ size).
- _pcbnew/print_layers.py to src/pcbnew_print_layers.
- Renamed _pcbnew/run_drc.py to src/pcbnew_run_drc.
- Made some debug/info message classification to make it cleaner.
- Supressed the recordmydesktop output.
- Now the screencast files are named according to the recorded task.
- Suppressed the pcbnew stderr (noissy).
- Disabled long waits to test for old errors.
- Adapted to KiCad 5.1.x.
- Saves the current pcbnew/eeschema config and creates one usable. The originals are restored.
- Custom configs. Now they are generated on-the-fly.
- _pcbnew/generate_svg.py, its functionality can be achieved using pcbnew_print_layers.
- _pcbnew/generate_gerber.py, kiplot project has a better solution.
- Simplified the copy/paste mechanism used for run_erc. The old one could fail.
- src/pcbnew* always recorded the session.
- Adjusted the pcbnew first time-out, for some reason I'm getting huge delays.
- A test (and wait) for the Xvfb, sometimes is slow and xclip runs before it.
- clipboard_store rewrite, the old version ignored any errors
- Made stronger the eeschema config parser.
- Language set as english + UTF-8 (to run outside docker).