Skip to content

vpype 1.10.0

Compare
Choose a tag to compare
@github-actions github-actions released this 07 Apr 13:52

Annotated Release Notes

New features and improvements

  • Added the alpha command to set layer opacity without changing the base color (#447, #451)

  • Improved support for layer pen width and opacity in the viewer (#448)

    • The "Pen Width" and "Pen Opacity" menus are now named "Default Pen Width" and "Default Pen Opacity".
    • The layer opacity is now used for display by default. It can be overridden by the default pen opacity by checking the "Override" item from the "Default Pen Opacity" menu.
    • The layer pen width is now used for display by default as well. Likewise, it can be overridden by checking the "Override" item from the "Default Pen Width" menu.
  • Added HPGL configuration for the Calcomp Artisan plotter (thanks to Andee Collard and @ithinkido) (#418)

  • Added the --dont-set-date option to the write command (#442)

  • The read command now better handles SVGs with missing width or height attributes (#446)

    When the width or height attribute is missing or expressed as percent, the read command now attempts to use the viewBox attribute to set the page size, defaulting to 1000x1000px if missing. This behavior can be overridden with the --display-size and the --display-landscape parameters.

Bug fixes

  • Fixed an issue with forlayer where the _n variable was improperly set (#443)
  • Fixed an issue with write where layer opacity was included in the stroke attribute instead of using stroke-opacity, which, although compliant, was not compatible with Inkscape (#429)
  • Fixed an issue with vpype --help where commands from plug-ins would not be listed (#444)
  • Fixed a minor issue where plug-ins would be reloaded each time vpype_cli.execute() is called (#444)
  • Fixed a rendering inconsistency in the viewer where the ruler width could vary by one pixel depending on the OpenGL driver/GPU/OS combination (#448)

API changes

  • Changed the parameter name of both vpype_viewer.Engine() and vpype_viewer.render_image() from pen_width and pen_opacity to default_pen_width and default_pen_opacity (breaking change) (#448)
  • Added override_pen_width and override_pen_opacity boolean parameters to both vpype_viewer.Engine() and vpype_viewer.render_image() (#448)
  • Added vpype_cli.FloatType(), vpype_cli.IntRangeType(), vpype_cli.FloatRangeType(), and vpype_cli.ChoiceType() (#430, #447)
  • Changed vpype.Document.add_to_sources() to also modify the vp_source property (#431)
  • Added a set_date:bool = True argument to vpype.write_svg() (#442)
  • Changed the default value of default_width and default_height arguments of vpype.read_svg() (and friends) to None to allow svgelement better handle missing width/height attributes (#446)

Other changes

  • Added support for Python 3.10 and dropped support for Python 3.7 (#417)
  • Miscellaneous code cleaning and fixes (#440, 906087b)
  • Updated installation instructions to use pipx (#428)
  • Updated the documentation template (#428)
  • Updated code base with modern typing syntax (using pyupgrade) (#427)