Skip to content

Releases: Argmaster/pygerber

Release 2.3.1

18 Apr 23:52
be342e9
Compare
Choose a tag to compare

Release 2.3.1

  • Added support for rotation of code 21 center line macro primitive in SVG and Raster
    renderers. Support is not exhaustive, it will be extended whenever extension is
    requested by users.
  • Fixed bug causing macro flashes to be partially cut off in images rendered with SVG
    renderer.
  • Fixed incorrect version string in pygerber.__version__ and reported by
    pygerber --version.

Release 2.3.0

11 Apr 23:52
faeec6d
Compare
Choose a tag to compare

Release 2.3.0

  • Added full support for transforms (LP, LM, LR, LS commands) in Parser2.
  • Fixed titles in Parser2 and Parser feature support documentation. They were swapped.
  • Fixed bug causing SvgRenderer2 to incorrectly render masks in some cases.
  • Optimized SvgRenderer2 group and mask usage to reduce file size and memory usage of
    software displaying output SVGs.
  • Fixed parsing of attributes without value.
  • Updated documentation to mention deprecation of API V1 elements and changed order of
    pages to better expose API V2.
  • Added example files shipped with PyGerber for testing and demonstration purposes. They
    can be accessed via pygerber.examples module.
  • Added new pygerber.gerberx3.api.v2 module with new high level utilizing API V2
    capabilities. This module is mend to replace API V1 in future releases.
  • Added new API for rendering multiple Gerber files at once into single image. Available
    as part of pygerber.gerberx3.api.v2 module with use of Project class.

Release 2.2.1

27 Jan 02:35
ea140b6
Compare
Choose a tag to compare

Release 2.2.1

  • Fixed rendering of first macro flash.
  • Added reference page for SvgRenderer2 in docs.
  • Fixed duplicated element prefixes in docs.
  • Fixed supported feature counts in docs.
  • Updated README.md feature support links.

Release 2.2.0

23 Jan 21:34
bd8cbae
Compare
Choose a tag to compare

Release 2.2.0

  • Added alternative parser implementation, pygerber.gerberx3.parser2.parser2.Parser2
    class.
  • Added introspection interface based on new Parser2 class.
  • Added macro support to Parser2 class which was not previously available in Parser
    class.
  • Added API for customizing Token classes used by Tokenizer. Tokenizer class now
    accepts optional options parameter of class TokenizerOptions.
  • Added documentation for introspection.
  • Added experimental SVG backend for Gerber code with Parser2 generated command buffers.
  • Changed documentation layout to improve readability.
  • Fixed switching to single quadrant mode being ignored.
  • Refactored feature support documentation.

Release 2.0.2

02 Jan 00:16
537047c
Compare
Choose a tag to compare

Release 2.0.2

  • Fixed incorrect bounding box prediction for displaced drawings (#105).
  • Added 3.12 as supported in package tags.
  • Fixed documentation links in README.md and pyproject.toml.

Release 2.1.1

01 Jan 23:42
be3eff8
Compare
Choose a tag to compare

Release 2.1.1

  • Fixed incorrect bounding box prediction for displaced drawings (#105).
  • Added 3.12 as supported in package tags.
  • Fixed documentation links in README.md and pyproject.toml.

Release 2.1.0

01 Nov 17:35
c102351
Compare
Choose a tag to compare

Release 2.1.0

  • Fixed #37
  • Added latest Gerber spec file revision 2023.08 to documentation.
  • Added command line interface for PyGerber 2D rendering.
  • Added Gerber X3/X2 language server which can be acquired with
    pip install pygerber[language-server]. Currently server capabilities include hover
    messages with Gerber reference cited and minimal amount of suggestions. We are
    planning to further extend this server in future releases.
  • Added is-language-server-available CLI command for checking if
    pygerber[language-sever] is available.
  • Added support for arc region boundaries (#61).
  • Added warning messages whenever zero surface flash is created.
  • Improved documentation for many of supported Gerber commands. This documentation is
    used by language server to provide specification reference.
  • Refactored tokenizer implementation, as a result #67 was fixed and #64 is no longer an
    issue in some cases.

Release 2.0.1

12 Sep 22:11
2c1fe02
Compare
Choose a tag to compare

Release 2.0.1

  • Fixed names of Gerber specification files (.pdf.pdf extension replaced with .pdf)
  • Added draw_region_outlines option (disabled by default) which controls whether lines
    which make up a region boundary should be drawn after region is filled. KiCAD seem to
    assume that those boundaries are not drawn and region outline is 1px instead of
    thickness of aperture.
  • Changed Decimal precision to 60 decimal places.
  • Changed precision of INCH_TO_MM_MULTIPLIER (now its 25.4) and MM_TO_INCH_MULTIPLIER
    (dynamically calculated with Decimal).
  • Changed circle aperture to make result better match expectations and KiCAD reference.
  • Fixed warning message logged every time a valid region was created to show up only
    when region is not valid.
  • Added warnings for zero surface aperture draws.

Release 2.0.0

06 Sep 21:32
Compare
Choose a tag to compare

Release 2.0.0

  • Added Gerber X3 format tokenizer with support for selective feature support:

    • Supported Gerber X3 features: G04, MO, FS, AD, AM, Dnn (nn≥10), D01,
      D02, D03, G01, G02, G03, G75, LP, LM, LR, LS, G36, G37,
      AB, SR, TF, TA, TO,TD, M02.

    • Supported DEPRECATED Gerber features: G54, G70, G71, G90, G91, G74,
      M00, M01, IP, LN,
      Combining G01/G02/G03 and D01/D02/D03 in a single command,
      Coordinate Data without Operation Code, Style Variations in Command Codes, FS,
      Draws and Arcs with Rectangular Apertures.

    For more detailed descriptions of supported features please refer to documentation or
    README.md.

  • Added Gerber X3 format parser with support for selective feature support:

    • Supported Gerber X3 features: G04, MO, FS, AD, AM, Dnn (nn≥10), D01,
      D02, D03, G01, G02, G03, G75, LP, LM, LR, LS, G36, G37,
      M02.

    • Supported DEPRECATED Gerber features: G54, G70, G71, G90, G91, G74,
      M00, M01, IP, LN, Combining G01/G02/G03 and D01 in a single command,
      Coordinate Data without Operation Code, Style Variations in Command Codes,
      Draws and Arcs with Rectangular Apertures.

    For more detailed descriptions of supported features please refer to documentation or
    README.md.

  • Added rendering backend capable of producing 2D rasterized images based on parser
    instructions. Supported drawing elements:

    • Aperture definition with circle
    • Aperture definition with rectangle
    • Aperture definition with obround
    • Aperture definition with polygon
    • Draw flash with circle aperture
    • Draw flash with rectangle aperture
    • Draw flash with obround aperture
    • Draw flash with polygon aperture
    • Draw line
    • Draw clockwise arc
    • Draw counterclockwise arc

Release candidate 2.0.0rc3

03 Sep 23:17
9a0ec25
Compare
Choose a tag to compare
Pre-release
  • Added changelog content.
  • Fixed outdated README.md examples (#34).
  • Added get_image() method to Rasterized2DRenderingResult and Rasterized2DResultHandle objects.
  • Added CI (#39).
  • Added issue templates (#38).