Kibot

Latest version: v1.6.5

Safety actively analyzes 619426 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

1.6.5

Changed

- CI/CD: we now filter some warnings that are always generated by docker
images when we detect a CI/CD environment. They can be enabled using the
`--warn-ci-cd` command line option. (See 564)
- KiRi: continue even on corrupted schematics (583)
- Variants: avoid W045 on nameless pads. Assuming they are on purpose and not
real pads. (See 584)
- BoardView: Skip footprints with no pads (not just REF**)
(whitequark/kicad-boardview14)

Added

- KiCad 8 support
- Panelize: support for all new options (upto 1.5.1)
- 3D/2D renderers: support for ranges in the `show_components` and `highlight`
options. So one entry can be something like *R10-R20*. Can be disabled
using the global option `allow_component_ranges`. (See yaqwsx/PcbDraw159)
- Navigate results: A header and navigation bar (582)
- BoM: support for SVG format in the logos (383)

Fixed

- Netlist generation problems with components on the PCB but not in schematic.
(578)
- Filters:
- _none filter not always honored (i.e. exclude in BoM) (580)
- Rotation for bottom JLCPCB parts with offset (591)
- Rotation angle used to compute the offsets, must be the final angle
- PCB Parity: components excluded from the board reported anyways (585)
- BoardView:
- X axis mirroring issues (whitequark/kicad-boardview11)
- Alphanumeric pads sorting (whitequark/kicad-boardview17) and
(whitequark/kicad-boardview18)
- Present: problems when using gerbers already generated
- Diff: problems when using things like "origin/main" and add_link_id (589)
- Panelize: not able to use external JSON configs (592)

1.6.4

Changed

- Documentation:
- Now you can search in the docs
- Indexed so you can search by topic
- With a navigation side bar
- Variants and filters:
- Components only in the PCB are now processed
- QR Lib:
- Footprints: now they are flagged with exclude from BoM and Pos, also
with no court yard requirements for KiCad 7
- Symbol: Excluded from simulation for KiCad 7
- Elecrow, FusionPCB, JLCPCB, PCBWay and P-Ban templates now moves the files
to the compressed output by default.
- Note that JLCPCB BoM and Position files aren't included anymore, they are
uploaded separately.
- Quick Start:
- Now we generate only for projects, not separated files.
This avoids problems for sub-sheets in separated dirs.
- Diff:
- When *check_zone_fills* is enabled now we do a refill for the boards

Added

- New outputs:
- KiRi: interactive diff
- KiCanvas: on-line schematic/PCB browser
- General:
- Operations that copies the project now also copies the PRL and the DRU
- Files named *.kibot.yml are also detected as configuration files
- Mechanism to specify
- All inner layers (inners)
- All external copper layers (outers)
- Command line:
- `--help-list-offsets` to list footprint offsets (JLCPCB)
- `--help-list-rotations` to list footprint rotations (JLCPCB)
- `--stop-on-warnings` (`-W`) to stop on warnings (545)
- `--defs-from-env` allows using environment vars for substitution (549)
- Global options:
- `remove_solder_mask_for_dnp` similar to `remove_solder_paste_for_dnp` but
applied to the solder mask apertures. (476)
- `layer_defaults` to specify the default suffix and description. (504)
- `include_components_from_pcb` to disable the new behavior that includes
components from the PCB in the filter/variants processing
- `restore_project` now also restores the PRL
- Schematic format:
- Support for *unit names* (513)
- Internal templates:
- 3DRender_top, 3DRender_top_straight, 3DRender_bottom and
3DRender_bottom_straight: to generate simple and quick 3D renders.
- _KIBOT_POS_DNF_FILTER option to JLCPCB. It now excludes components added
by KiKit to create panels and can be customized.
- _KIBOT_PLOT_FOOTPRINT_REFS and _KIBOT_PLOT_FOOTPRINT_VALUES to
manufacturer templates. (523)
- _KIBOT_COMPRESS_MOVE to move gerber and drill files to the compressed
output, enabled by default. (537)
- Filters:
- New `_rot_footprint_jlcpcb` internal filter to fix the JLCPCB bottom
rotations.
- New options for the `rot_footprint` filters: (See 510)
- `mirror_bottom`: used to undo the KiCad mirroring of the bottom.
- `rot_fields`: list of fields to indicate arbitrary rotations.
- `offset_fields`: list of fields to indicate arbitrary offsets.
- `offsets`: a list of pairs containing regex and offset ("x, y")
- `bennymeg_mode`: used to provide compatibility with the
bennymeg/JLC-Plugin-for-KiCad tool.
- `rotations_and_offsets`: a more flexible mechanism to select
rotations and offsets. So you can have two different rotations
applied to the same footprint, i.e. different components with
the same footprint but different orientation in the reel.
- 3D outputs:
- `download_lcsc` option to disable LCSC 3D model download (See 415)
- Preflights:
- Individual directory for the ERC and DRC reports (562)
- BoM:
- Support for ${field} expansion. (471)
- LCSC links (SchrodingersGat/KiBoM190)
- `parse_value` can be used to disable the *Value* parser (See 494)
Also added a warning about using extra data in the *Value* field.
- iBoM:
- `forced_name` option to force the name displayed at the top left corner
(470)
- Blender export:
- Support for pcb2blender v2.6/2.7 (Blender 3.5.1/3.6)
- `auto_camera_z_axis_factor`: used to control the default camera distance
- Options to create simple animations:
- PoV `steps`: to create rotation angle increments
- `default_file_id`: can be used to create numbered PNGs
- `fixed_auto_camera`: to avoid adjusting the automatic camera on each frame
- Camera option to set the clip start (484)
- Traceback dump when Blender output contains it
- Subdirectory for each output generated (541)
- Option to disable the denoiser (539)
- KiKit
- Expand text variables and KiBot %X markers in text objects (see 497)
- PCB Print:
- Support for CURRENT_DATE text variable
- Options to mirror the text in the user layers when creating a mirrored page
(561)
- Options to select which layers are used for centering purposes (573)
- Populate:
- Basic support for regular list items (480)
- Position:
- Experimental support for gerber position files (500)
- Copy Files:
- Mode to export the whole project (SCH, PCB, symbols, footprints, 3D models
and project files) (491)
- Help for the error levels
- Warnings:
- Explain about wrong dir/output separation (493)
- Diff:
- Added option to un/fill zones before doing the comparison (See 391)
- Added a new mode where we can control the added/removed colors (551)

Fixed

- Schematics:
- Problems with deep nested and recycled sheets (520)
- Problems saving deep nested sheets
- Makefile/compress targets
- Rotated polygons and text used in the worksheet (466)
- The --log/-L didn't enabled full debug for all messages
- BoM:
- Problems when trying to aggregate the datasheet field (472)
- kibot-check:
- Show 7.x as supported (469)
- Blender export:
- Rotations are now applied to the current view, not just the top view
- Board/components not visible for small boards (See 484)
- Light type names (extra space) (505)
- Problems when no point of view was defined (546)
- update_xml with check_pcb_parity enabled:
- Avoid errors for KiCad 6 using "Exclude from BoM" components.
This limitation isn't found on KiCad 7. (486)
- *exclude_from_bom* mismatch on KiCad 7
- *Sheetfile* mismatch on KiCad 7 when testing from different directory
- Honor the 'Not in schematic' (board_only) flag when doing a parity check
- Dependencies downloader:
- Problems when connection timed-out
- Sub PCB separation using annotation method for some edeges and KiCad
versions (496)
- Problems when using NET_NAME(n) for a value (511)
- JLCPCB rotations for bottom components
- Copy Files:
- Warnings when using both, the STEP and WRL model, of the same component
- Fail to detect 3D models subdirs when running alone
- QR Lib:
- When used from the preflight the name of the file changed to the name of a
temporal, generating problems with the plot outputs, like pcb_print
- Project options not preserved, i.e. set_text_variables failing
- Bottom QRs should be mirrored in the Y axis
- Diff
- `current`: didn't apply global variants
- `current`: didn't honor KiCad native DNP flags, they need a filter
- Problems when trying to use an already existent worktree (555)
- Avoid using unexpected branches for worktrees (556)
- PCB Print:
- Issues when forcing the board edge and using scaling (532)
- Text not searchable when using newer rsvg-convert tools (552)
- Quick Start:
- Problems with KiCad 6+ files using KiCad 5 names for layers
- Problems scanning dirs without enough privileges
- PCB/SCH Variant
- Makefile/compress targets (missing project)
- 3D outputs:
- Problems when creating a colored resistor, but we didn't have a cache yet
(i.e. no model downloaded) 553

1.6.3

Changed
- Command line:
- `--list` also lists groups
- KiCad v6/7 schematic:
- When saving an schematic the hierarchy is expanded only if needed,
i.e. value of an instance changed
- List actions:
- Now you must explicitly ask to configure outputs. Otherwise isn't needed.
As a result you no longer need to have an SCH/PCB. Use `--config-outs` to
get the old behavior.
- Git diff link file name:
- Now we default to using worktrees instead of stash push/pop. As a side
effect the names of the git points are chnaged. This is because main/master
only applies to the main worktree. So the names now refer to the closest
tag.
- JLCPCB_stencil: Is now just like JLCPCB. The only difference is the added
layers.

Added
- General:
- OS environment expansion in ${VAR}
- Now outputs can request to be added to one or more groups (435)
- PCB text variables cached in the PCB are now reset when the config
uses `set_text_variables`. This is a complex dilemma of KiCad 6/7
policy implementation. See
[KiCad issue 14360](https://gitlab.com/kicad/code/kicad/-/issues/14360).
(441)
- Default values for TAGS
- Parametrizable imports
- Command line:
- `--list-variants` List all available variants (See 434)
- `--only-names` to make `--list` list only output names
- `--only-pre` to list only the preflights
- `--only-groups` to list only the groups
- `--output-name-first` to list outputs by name, no description (See 436)
- Global options:
- `use_os_env_for_expand` to disable OS environment expansion
- `environment`.`extra_os` to define environment variables
- `field_voltage` Name/s of the field/s used for the voltage raiting
- `field_package` Name/s of the field/s used for the package, not footprint
- `field_temp_coef` Name/s of the field/s used for the temperature
coefficient
- `field_power` Name/s of the field/s used for the power raiting
- `invalidate_pcb_text_cache` controls if we reset the text variables cached
in the PCB file.
- `git_diff_strategy` selects how we preserve the current repo state.
(See 443)
- Filters:
- New `value_split` to extract information from the Value field and put it in
separated fields. I.e. tolerance, voltage, etc.
- New `spec_to_field` to extract information from the distributors specs and
put in fields. I.e. RoHS status.
- New `generic` options `exclude_not_in_bom` and `exclude_not_on_board` to
use KiCad 6+ flags. (See 429)
- Internal templates:
- JLCPCB_with_THT and JLCPCB_stencil_with_THT: adding THT components.
- New internal filters:
- `_value_split` splits the Value field but the field remains and the extra
data is not visible
- `_value_split_replace` splits the Value field and replaces it
- Internal templates:
- CheckZoneFill: Used to check if a zone fill operation makes the PCB quite
different (431)
- Versions with stencil for Elecrow, FusionPCB, P-Ban and PCBWay.
- PanelDemo_4x4: Demo for a 4x4 panel.
- Render_3D:
- `realistic`: can be used to disable the realistic colors and get the GUI ones
- `show_board_body`: can be used to make the PCB core transparent (see inner)
- `show_comments`: to see the content of the User.Comments layer.
- `show_eco`: to see the content of the Eco1.User/Eco2.User layers.
- `show_adhesive`: to see the content of the *.Adhesive layers.
- Navigate_Results:
- `skip_not_run`: used to skip outputs not generated in default runs.
- Compress:
- `skip_not_run`: used to skip outputs not generated in default runs.
- Position:
- `quote_all`: forces quotes to all values in the CSV output. (See 456)

Fixed
- KiCad v6/7 schematic:
- Net Class Flags not saved in variants or annotated schematics
- Repeated UUIDs saved in variants
- Bitmap scale not saved in variants or annotated schematics
- `lib_name` attribute not saved in variants or annotated schematics
- Position:
- Components marked as "Exclude from position files" not excluded when only
SMD components are selected. (See 429)
- Diff:
- KIBOT_TAG with n > 0 skipped n commits, not n tags (430)
- Details related to the project not applied during a diff involving a
variant (project not copied) (438)
- Copy files:
- PCB not loaded if the only action was to copy the 3D models
- Problems for STEP models when copying models
- Gerber:
- Problems trying to compress gerbers for a board with inner layers when
using legacy file extensions (446)
- Electro-grammar:
- Problems with floating point tolerances (i.e. 0.1%) (447)
- KiCad user template directory autodetection for KiCad 7+

1.6.2

Added
- General:
- Support for time stamp in the date (i.e. 2023-04-02T09:22-03:00)
- Support to pass variables to the 3D models download URL (414)
- Support for netclass flags (418)
- Export KICADn_* environment variables for the older versions
So you can use KICAD6_* variables on KiCad 7.
- Expansion patterns:
- **%M** directory where the pcb/sch resides. Only the last component
i.e. /a/b/c/name.kicad_pcb -> c (421)
- Command line:
- `--banner N` Option to display a banner
- `--log FILE` Option to log to a file, in addition to the stderr
- Global options:
- `colored_tht_resistors` to disable the 3D colored resistors.
- `field_tolerance` field/s to look for resistor tolerance.
- `default_resistor_tolerance` which tolerance to use when none found.
- `cache_3d_resistors` to avoid generating them all the time.
- `resources_dir` to specify fonts and colors to install (CI/CD)
- 3D: colored 3D models for THT resistors
- Blender export:
- Better default light
- More light options
- Datasheet download: now the warnings mention which reference failed.
- Plot related outputs and PCB_Print:
- `individual_page_scaling`: to control if the center of the page is computed
using all pages or individually.
- Plot related outputs:
- All outputs now support scaling.
- BoM:
- Support for extra information in the *Value* field.
Currently just parsed, not rejected.
- PCB/SCH parity test:
- Check for value and fields/properties.
- SCH print:
- Support for title change
- VRML:
- Option to use the auxiliary origin as reference. (420)

Fixed
- Makefile: don't skip all preflights on each run, just the ones we generate
as targets. (405)
- KiKit present: problems when no board was specified. (402)
- Datasheet download:
- Avoid interruptions when too many redirections is detected (408)
- PcbDraw:
- KiCad 7.0.1 polygons used as board edge. (yaqwsx/PcbDraw142)
- PCB Print:
- Interference between the visible layers in the PRL file and the results
when scaling. (407)
- Problems with images in the WKS (KiCad 5/6)
- Diff:
- Problems when using an output and no variant specified.
- PCB/SCH parity test:
- Workaround for bogus net codes generated by KiCad (410)
- 3D Models:
- Problems to download KiCad 7 models (417)
- Added workaround for KiCad 7 failing to export VRMLs for PCBs using paths
relative to the footprint. (See 417)
- VRML:
- ref_y coordinate not used. (419)

Changed:
- Some R, L and C values that were rejected are accepted now. You just get a
warning about what part of the value was discarded.


v2
KiCad 5 stable KiBot GitHub Action

v2_k7
KiCad 7 using KiBot stable release

v2_k6
KiCad 6 with the stable KiBot GitHub Action

v2_dk7
KiCad 7 using the current development KiBot

v2_dk6
KiCad 6 using the current development KiBot

v2_dk5
KiCad 5 using the current development KiBot

1.6.1

Added
- KiCad 7.0.1 support
- Global options:
- `allow_blind_buried_vias` and `allow_microvias` for KiCad 7 (no longer in
KiCad)
- `erc_grid` to specify the grid size for KiCad 7 ERC tests
- Report:
- Counters for total vias and by via type (`vias_count`, `thru_vias_count`,
`blind_vias_count` and `micro_vias_count`)
- Warnings when micro and/or blind vias aren't allowed, but we found them.
- KiCad 7 specific:
- Avoid warnings about missing coutyard for footprints marked as excluded
from courtyard tests.
- `kicad_dnp_applied` global option to use the *Do Not Populate* schematic
flag as *do not fit* for KiBot, enabled by default.
- `kicad_dnp_applies_to_3D` global option to eliminate the 3D models of
components marked as *Do Not Populate*. This option applies to the case
where no filter or variants are in use. Enabled by default. The
`kicad_dnp_applied` option also disables it.
- `cross_using_kicad` global option to use KiCad to cross DNP components in
the schematic. Enabled by default.

Fixed
- Problems to detect the schematic name when the path to the config contained a
dot that isn't used for an extension and some particular conditions were met.
- PCB Print: KiCad crashing on some complex filled zones (396)

1.6.0

Changed
- Downloaded 3D models are no longer discarded.
They are stored in ~/.cache/kibot/3d
You can change the directory using KIBOT_3D_MODELS
- License is now AGPL v3, since we are incorporating AGPL code.

Added
- General:
- Support for `groups` of `outputs`
- Internal templates import
- Better support for wrong pre-flight options (360)
- A mechanism to cache downloaded 3D models
- Support to download 3D models from EasyEDA (using LCSC codes)
- Global options:
- field_lcsc_part: to select the LCSC/JLCPCB part field
- New outputs:
- `vrml` export the 3D model in Virtual Reality Modeling Language (349)
- `ps_sch_print`, `dxf_sch_print` and `hpgl_sch_print` variants of
`pdf_sch_print`
- `blender_export` exports the PCB to Blender and other 3D formats,
renders the PCB with impressive quality (experimental)
- New internal filters:
- `_only_smd` used to get only SMD parts
- `_only_tht` used to get only THT parts
- `_only_virtual` used to get only virtual parts
- Variants:
- Support for multi-boards as defined by KiKit
- Internal templates:
- FusionPCB: gerber, drill and compress
- Elecrow: gerber, drill and compress
- JLCPCB: gerber, drill, position, BoM and compress
- MacroFab_XYRS: XYRS position file compatible with MacroFab
- P-Ban: gerber, drill and compress
- PCB2Blender_2_1: generates a pcb2blender 2.1 file to import on Blender
(See 349)
- PCB2Blender_2_1_haschtl: PCB2Blender_2_1 variant for Haschtl fork.
- PCBWay: gerber, drill and compress
- Compress:
- Option to use the output's `dir` as reference (`from_output_dir`)
- iBoM:
- `hide_excluded` to hide excluded *.Fab drawings.
- PCB_Print:
- Added a mechanism to create a page for each copper layer. (365)
- Plot related outputs and PCB_Print:
- Added support for the KiCad 6 "sketch_pads_on_fab_layers" option. (356)
- Report:
- Expansion for KiCad text variables and environment variables (See 368)
- *SCH_Print:
- Added options to select the color theme and enable background color. (362)
- SVG:

Fixed
- BoM:
- pre_transform filers can't be logic filters
- Copy_Files:
- Problems on KiCad 5 (no 3rd party dir) (357)
- Problems with compress output (also Makefile) (372)
- DOCs
- annotate_pcb pre-flight missing options (360)
- annotate_pcb pre-flight wrong example (360)
- iBoM:
- Variant changes to the *.Fab weren't exported.
Now all 2D variant stuff is applied before calling iBoM (350)
- PCB_Print:
- Images not showing in custom frames. (352)
- Problems when trying to use groups of layers (i.e. copper)
- Report:

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.