Skip to content

Releases: INTI-CMNB/KiBot

KiCad 6 stable

02 Apr 18:11
Compare
Choose a tag to compare

KiCad 6 with the stable KiBot GitHub Action

KiCad 7 development

02 Apr 18:18
Compare
Choose a tag to compare

KiCad 7 using the current development KiBot

KiCad 6 development

02 Apr 18:17
Compare
Choose a tag to compare

KiCad 6 using the current development KiBot

KiCad 5 development

02 Apr 18:15
Compare
Choose a tag to compare

KiCad 5 using the current development KiBot

v1.6.1

16 Mar 16:35
Compare
Choose a tag to compare

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)

v1.6.0

06 Feb 12:18
Compare
Choose a tag to compare

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:

v1.5.1

16 Dec 15:51
Compare
Choose a tag to compare

Fixed

  • System level resources look-up

v1.5.0

16 Dec 13:33
Compare
Choose a tag to compare

Changed

  • Diff:
    • Now the default is to compare all the schematic pages. (#319)
  • Report:
    • loss tangent decimals, added one more.

Added

  • New output:
    • populate to create step-by-step assembly instructions
      With support for pcbdraw and render_3d.
    • panelize to create a PCB panel containing N copies of the PCB.
    • stencil_3d to create 3D self-registering printable stencils.
    • stencil_for_jig to create steel stencils and 3D register.
    • kikit_present to create a project presentation web page.
  • generic filters: options to filter by PCB side
  • BoM:
    • Option to link to Mouser site.
    • Human readable text output format.
  • Diff:
    • Option to compare only the first schematic page. (See #319)
  • iBoM:
    • Support for the offset_back_rotation option
  • Navigate Results:
    • Support for compress
  • PcbDraw:
    • BMP output format
    • Image margin
    • Outline width
    • Solder paste removal
    • V-CUTS layer
    • Resistor remap and flip
    • A remap_components option with better type checks
    • Better support for variants
    • Option to control the SVG precision (units scale)
    • Filter expansion in show_components and highlight
  • PCB_Print:
    • Option to control the SVG precision (units scale)
    • Now the text in the PDF is searchable. (#331)
    • Margins for the autoscale mode. (#337)
  • Render_3D:
    • Option to render only some components (like in PcbDraw)
    • Option to auto-crop the resulting PNG
    • Option to make transparent the background
    • Option to highlight components
  • SVG:
    • Option to control the SVG precision (units scale)

Fixed

  • QR lib update: Problems when moving the footprint to the bottom for
    KiCad 5.
  • SVG, PCB_Print, PcbDraw: Problems to display the outputs using Chrome and
    Firefox.
  • Diff: Problems when comparing to a repo point where the PCB/SCH didn't exist
    yet. (#323)
  • Report: Problems when using NPTH holes with sizes that doesn't correspond to
    real drill tools. It generated bogus reports about wrong OARs. (#326)
  • Problems when using more than one dielectric in the stack-up. (#328)
  • Gerber: Extension used for JLCPCB inner layers. (#329)
  • BoM:
    • The length of the CSV separator is now validated.
    • Using \t, \n, \r and \ is now supported. (See #334)
    • Digi-key link in the HTML output.
  • KiBoM: User defined fields wasn't available as column names. (#344)
  • Imports:
    • Problems with recursive imports when the intermediate import didn't
      contain any of the requested elements (i.e. no outputs). (#335)
  • Navigate results: fail when no output to generate. Now you get a warning.
  • Makefile: outputs marked as not run by default were listed in the all
    target.

v1.4.0

12 Oct 13:25
Compare
Choose a tag to compare

Changed

  • Diff:
    • When comparing a file now the links says Current/FILE instead of None
    • The default was to compare the current file on storage, now is the current
      file on memory. It includes the zone refill indicated in the preflights.
      (See #295)
    • Now the error about differences bigger than the threshold is more clear.
      KiBot also returns a distinct error level.
  • Now the global dir option also applies to the preflights, can be disabled
    using use_dir_for_preflights. (#292)
  • When importing globals now options that are lists or dicts are merged, not
    just replaced. (#291)

Added

  • General things:
    • Some basic preprocessing, now you can parametrize the YAML config.
      (See #233 #243)
    • Support for 3D models aliases and also a global option to define
      them in the KiBot configuration (See #261)
    • Environment and text variables now can be used as 3D model aliases.
      (See #261)
    • Environment and text variables expansion is now recursive.
      So in ${VAR} the VAR can contain ${OTHER_VAR}
    • Command line option to specify warnings to be excluded. Useful for
      warnings issued before applying the global options (i.e during
      import). (#296)
    • pre_transform filter to outputs supporting variants.
  • New outputs:
    • PCB_Variant: saves a PCB with filters and variants applied.
    • Copy_Files: used to copy files to the output directory. (#279)
      You can also copy the 3D models.
  • Support for Eurocircuits drill adjust to fix small OARs.
    Option eurocircuits_reduce_holes. (#227)
  • Global options:
    • Support for changing text variables with variants during outputs creation.
      Option set_text_variables_before_output. (See #233)
    • Options to control which stuff is changed on PCB variants: (See #270)
      • cross_footprints_for_dnp
      • remove_adhesive_for_dnp
      • remove_solder_paste_for_dnp
      • hide_excluded (default value)
    • Mechanism to give more priority to local globals. (See #291)
  • Diff:
    • Mechanism to compare using a variant (See #278)
    • Mechanism to specify the current PCB/Schematic in memory (See #295)
    • Mechanism to compare with the last Nth tag (See #312)
    • Option to skip pages with no differences
  • Sch Variant:
    • Option to copy the project. Needed for text variables.
    • Option to change the title (similar to PCB Variant)
  • Render_3D: Options to disable some technical layers and control the
    silkscreen clipping. (#282)
  • Internal BoM:
    • Now you can aggregate components using CSV files. (See #248)
    • Added some basic support for "Exclude from BoM" flag (See #316)
  • Now you can check PCB and schematic parity using the update_xml preflight
    (See #297)
  • New filters:
    • urlify to convert URLs in fields to HTML links (#311)
    • field_modify a more generic field transformer
  • Position: option to set the resolution for floating values (#314)

Fixed

  • Problems to compress netlists. (#287)
  • 2D PCB processing didn't show in 3D targets (i.e. solder paste not removed in
    the 3D render). (See #270)
  • KiBot exited when downloading a datasheet and got a connection error
    (#289 #290)
  • KiCad 5 "assert "lower <= upper" failed in Clamp()" (#304)
  • Missing XYRS information for components with multiple units (#306)
  • Schematic v6:
    • Problems when creating a variant of a sub-sheet that was edited as a
      standalone sheet (#307)
    • Autoplace fields could be lost in variants.
  • iBoM: Name displayed in the HTML when using filters and/or variants.
  • Position: Components wrongly separated by side when the side column wasn't
    the last column (#313)

v1.3.0

08 Sep 12:09
Compare
Choose a tag to compare

Changed

  • The order in which main sections are parsed is now fixed.
    The declared order is ignored. The order is:
    kiplot/kibot, import, global, filters, variants, preflight, outputs
  • Datasheet download:
    • Continue downloading if an SSL certificate error found (#239)
  • PCB_Print: PNGs no longer has transparent background. This is because now we
    use a PDF as intermediate step.
  • Fails to expand KiCad vars are reported once (not every time)
  • No more warnings about missing 3D models when we can download them

Added

  • New outputs:
    • Diff: to compute differences between PCBs and SCHs. (INTI-CMNB/KiAuto#14)
    • Info: collects info about the environment. (See #209)
  • Try to download missing tools and Python modules.
    The user also gets more information when something is missing.
    It can be disabled from the command line.
  • Global options:
    • Cross components without a body (#219)
    • Restore the project at exit (#250)
  • Imports:
    • Now you can nest imports (import from an imported file) (#218)
    • Preflights can be imported (#181)
  • --dont-stop command line option, to try to continue even on errors (#209)
  • PDF/SVG PCB Print: option to print all pages/single page (#236)
  • iBoM: Support for variants that change component fields (#242)
  • Workaround for problems with DRC exclusions (See INTI-CMNB/KiAuto#26, #250)
    Global option: drc_exclusions_workaround
    KiCad bug 11562
  • Internal BoM: KiCad 6 text variables expansion in the fields (#247)
  • Compress: Option to store symlinks. (See #265)
  • PCB Print:
    • Option to configure the forced edge color. (#281)
    • Option to control the resolution (DPI). (See #259)
    • Option to move the page number to the extension (page_number_as_extension)
      (See #283)
    • Option to customize the page numbers (See #283)
  • Installation checker: option to show the tool paths.

Fixed

  • OAR computation (Report) (#225)
  • Position: Problems when doing manual panelization (repeated references) (#224)
  • PCB_Print:
    • Problems with filtered/modified PCBs
    • Problems with zones on multiple layers (#226)
    • Problems with hide_excluded: true and components not in the SCH (#258)
    • Text vars generated in the same run didn't show up (#280)
    • Low resolution for the solder mask. (See #259)
  • SCH Variants on KiCad 6: Problems with missing values in the title block.
  • Report: Converted file wasn't stored at dir (#238)
  • Datasheet download: Time-outs on some servers expecting modern browsers (#240)
  • SCH Print and Netlist: name collisions. When the default name used by KiCad
    belongs to an already existing file. (#244)
  • Install checker: fixed problems to detect iBoM installed as plugin. (#209)
  • Internal Netlist generation (i.e. iBoM with variants): problems withg
    components that doesn't specify a library. (See #242)
  • Problems when setting a text variable to an empty string. (#268)
  • QR lib update: Problems when moving the footprint to the bottom. (#271)
  • Misleading messages for missing 3D models that starts with ${VAR} when VAR
    isn't defined. The old code tried to make it an absolute path.