Releases: Argmaster/pygerber
Releases · Argmaster/pygerber
Release 2.4.3
Release 2.4.3
- Fixed
background_colorparameter being completely ignored in raster renders. Thanks
to @totalretribution reporting the issue. - Changed default color map used by Project
render_raster()to
DEFAULT_ALPHA_COLOR_MAPasDEFAULT_COLOR_MAPresulted in images with layers
obfuscating each other in counter intuitive way. - Unified gray shades of non-alpha and alpha variant of SOLDER_MASK preset color scheme.
Pre-Release 3.0.0a4
- Relaxed
pyparsingdependency requirements to allow for use of3.2and above for
supported Python versions. - Relaxed
numpydependency requirements to allow for use of2.xand above for
supported Python versions. - Relaxed
pydanticdependency requirements to allow for use of2.xand above for
supported Python versions. - Relaxed
pillowdependency requirements to allow for use of8.xand above for
supported Python versions. - Relaxed
clickdependency requirements to allow for use of8.xand above for
supported Python versions. - Relaxed Python version requirement to allow for use of
3.8and above. - Removed
pygerber.sequence_toolsmodule. - Removed
pygerber.frozen_general_modelmodule. - Removed
pygerber.gerber.linter.diagnosticmodule. - Removed
pygerber.warningsmodule. - Updated documentation links to point to stable release documentation.
- Renamed
GerberX3Builder.add_trace()toGerberX3Builder.add_line_trace()to be
consistent withGerberX3Builder.add_clockwise_arc_trace()and
GerberX3Builder.add_counter_clockwise_arc_trace(). - Added support for Altium implied leading zeros omitted. Contributed by @sjgallagher2
in #340. - Added arc drawing in
GerberX3Builder. - Added region statement generation to
GerberX3Builder. - Added Gerber to PNG, JPEG, TIFF, BMP, WEBP and SVG conversion commands to CLI.
- Added Gerber format command to CLI.
- Extended documentation.
Release 2.4.2
- Relaxed
pyparsingdependency requirements to allow for use of3.2and above for
supported Python versions. - Relaxed
numpydependency requirements to allow for use of2.xand above for
supported Python versions. - Relaxed
pydanticdependency requirements to allow for use of2.xand above for
supported Python versions. - Relaxed
pillowdependency requirements to allow for use of8.xand above for
supported Python versions. - Relaxed
clickdependency requirements to allow for use of8.xand above for
supported Python versions. - Relaxed Python version requirement to allow for use of
3.8and above. - Changed documentation deployment flow to include
latest,stableanddevlinks.
Pre-Release 3.0.0a3
- Removed legacy error types from
pygerber.gerber.api._errors. - Removed
pygerber.common.general_modelmodule. - Removed
pygerber.common.immutable_map_modelmodule. - Removed
pygerber.common.rgbamodule. - Rename
Projectclass frompygerber.gerber.apitoCompositeView. - Changed
source_codeandfile_typeattributes ofGerberFileto be read-only. - Changed return type of
CompositeView.render_with_pillowtoCompositePillowImage.
Interface ofCompositePillowImageis the same as previouslyCompositeView. - Changed miniatures displayed by language server to be fixed size due to repeating
problems with apertures being too small or too large. - Added custom
__str__toCompositeViewandGerberFileclasses. - Added
GerberJobFileclass for handling.gbrjobfiles. - Added
Projectclass for grouping multipleCompositeViewobjects. - Added documentation for
GerberJobFileandProjectclasses. - Added
pygerber.vm.shapelypackage containing implementation of Gerber vm (renderer)
using shapely library. - Added
render_with_shapelytoGerberFileclass. - Updated
Quick startguide. - Updated many of docstrings in
pygerber.gerber.apipackage. - Restored
pygerber_language_servercommand.
Pre-Release 3.0.0a2
- Removed
Parser2and related infrastructure. It was already replaced byParserin
previous release, but I didn't have time to make sure all of dependencies were gone. - Removed most of the old documentation.
- Moved
pygerber.gerberx3topygerber.gerber. I acknowledge this is a breaking
change, but usinggerberx3as a package name when it in fact contained code mostly
compatible with more than just X3 was misleading. - Moved
pygerber.gerber.ast.buildertopygerber.builder.gerber. - Moved
pygerber.vm.buildertopygerber.builder.rvmc. - Added new documentation layout.
- Added documentation for
GerberX3Builderfrompygerber.builder.gerbermodule. - Added
Quick startguide to documentation. - Added
pygerber.gerber.pygments, a Pygments lexer for Gerber files. To use it you
have to installpygmentsextras package (or just have pygments installed from other
source). - Added support for deprecated syntax construct of
D01with code omitted. - Changed
pygerber.gerber.formatterAPI and structure. Formatter options are no longer
directly passed toFormatterclass, they are stored in dedicatedOptionsclass. - Added 2 high level formatter API functions available in
pygerber.gerber.formatter:
format,formats. - Improved docstrings in
pygerber.builder.gerber - Improved
pygerber.gerber.formatterdocstrings, especially ones related to formatter
options. - Changed
pygerber.gerber.apito usepygerber.builder.gerber. This is a major change
in how this API works. I am planning to create some guide on how to migrate code from
PyGerber 2.4.x to 3.x.x, there is placeholder docs page for that. - Deleted implementation of command line interface. Unfortunately, command line
interface is not functional right now.
Pre-Release 3.0.0a0
- Added
pygerber.gerberx3.formatterfor formatting Gerber files. - Added
GerberX3Builderclass for building Gerber code from scratch. - Redesigned PyGerber Parser implementation and AST classes.
- Added intermediate step between parsing and rendering done by
pygerber.gerberx3.compiler. - Redesigned rendering principles, now implemented in
pygerber.vm, supports only
rendering raster images with Pillow. SVG rendering is planned to be included in 3.0.0
release. - Ported language server to new parser.
Release 2.4.1
Release 2.4.0
- Added command line interface utilizing API V2 for rendering Gerber files to images.
This includes interface for rendering PNG, JPEG and SVG images and multi-file projects
to single PNG/JPEG image. - Added support for inferring file type from file extension or
.FileFunctionfile
attribute. This mechanism is used by default by API V2 based command line interface. - Refactored test suite and dropped testing of code related to
Parserclass originally
included inPyGerber2.0.0. Currently onlyParser2related code is actively
tested.
Release 2.3.2
- Fixed clockwise arc rendering in raster renderer. Reported by @tgbl-mk (#203). Fixed
by @Argmaster in #205. - Fixed empty comment parsing. Reported by @lookme2 (#198). Fixed by @Argmaster in #201.
- Disabled MacOS test suite due to consistent failures during Python installation on
macos-latestGitHub hosted machines.
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.