Changelog

The latest published vello_common release is 0.0.7 which was released on 2026-03-24. You can find its changes documented below.

Unreleased

This release has an MSRV of 1.88.

Added

  • TextureId, a handle for user-provided textures resolved at render-time, and EncodedExternalTexture for encoding draws that sample from them. (#1552 by @tomcur)

Optimized

  • Performance of clipped drawing by culling geometry outside the clip bounding box during flattening. (#1519 by @tomcur)

Removed

  • Support for recordings. This decision was made due to a number of downsides that came with the implementation. See the corresponding PR and Zulip thread for more information. (#1611 by @LaurenzV)

0.0.7 - 2026-03-24

This release has an MSRV of 1.92.

Added

Changed

  • Replaced custom blend mode representation with peniko Mix for filter effects. (#1410 by @LaurenzV)

Removed

Fixed

Optimized

  • Bézier flattening performance by catching more Béziers whose chords are immediately within rendering tolerance. (#1216 by @tomcur)
  • Flattening and tiling performance by culling out-of-viewport Béziers before flattening. (#1341 by @tomcur)
  • Rendering performance of scenes including blend layers by ensuring no commands are generated for wide tiles without layer content. (#1403 by @tomcur)
  • Scenes including blend layers by only allocating layer scratch buffers for a wide tile upon draw commands being performed in that wide tile. (#1414 by @tomcur)
  • Analytic anti-aliasing. (#1426, #1442 by @tomcur)
  • Filter application to layers. (#1444 by @LaurenzV)
  • Rendering pixel-aligned rectangles. (#1453 by @grebmeg)
  • Coarse rasterization and scheduling of scenes without layers. (#1454 by @LaurenzV)
  • Resetting wide tiles. (#1484 by @LaurenzV)

0.0.6 - 2026-01-15

This release has an MSRV of 1.88.

Changed

Optimized

See also the vello_hybrid 0.0.6 and vello_cpu 0.0.6 releases.

0.0.5 - 2026-01-08

This release has an MSRV of 1.88.

Added

  • A new module clip allowing for the possibility to intersect two strips to create a new strip representing their intersection. (#1203 by @LaurenzV)
  • An extend method to StripStorage to extend its alphas/strips from another StripStorage. (#1203 by @LaurenzV)
  • A new trait for approximate integer division by 255. (#1203 by @LaurenzV)
  • A from_parts method for masks. (#1237 by @LaurenzV)
  • Initial support for image filters. (#1286 by @grebmeg)

Changed

  • WideTile::generate now takes an additional BlendMode as a parameter. (#1159 by @LaurenzV)
  • CmdFill and CmdAlphaFill now store a BlendMode instead of Option<BlendMode>. (#1159 by @LaurenzV)
  • Strip now implements PartialEq and Eq. (#1203 by @LaurenzV)
  • Strip now has a is_sentinel method. (#1203 by @LaurenzV)
  • StripStorage now implements PartialEq and Eq. (#1203 by @LaurenzV)
  • The generate_filled_path method of StripGenerator now takes an optional clip path as input. (#1203 by @LaurenzV)
  • The generate method of Wide now takes an optional mask as an additional argument. (#1237 by @LaurenzV)
  • CmdFill and CmdAlphaFill now store an optional mask. (#1237 by @LaurenzV)
  • Various changes to the logic for computing tile intersections and representation of tiles. (#1293, #1317, #1318 by @b0nes164)
  • Support for computing data necessary to implement multi-sampled anti-aliasing. (#1319, by @b0nes164)

Optimized

See also the vello_hybrid 0.0.5 and vello_cpu 0.0.5 releases.

0.0.4 - 2025-10-17

This release has an MSRV of 1.86.

No changelog was kept for this release.

See also the vello_hybrid 0.0.4 and vello_cpu 0.0.4 releases.

0.0.3 - 2025-10-04

This release has an MSRV of 1.86.

No changelog was kept for this release.

See also the vello_cpu 0.0.3 release.

0.0.2 - 2025-09-22

This release has an MSRV of 1.85.

No changelog was kept for this release.

See also the vello_cpu 0.0.2 release.

0.0.1 - 2025-05-10

This release has an MSRV of 1.85.

This is the initial release. No changelog was kept for this release.

See also the vello_cpu 0.0.1 release.