The latest published Vello release is 0.5.0 which was released on 2025-05-08. You can find its changes documented below.
This release has an MSRV of 1.85.
This release has an MSRV of 1.85.
Default
for RendererOptions
. (#524 by @DJMcNab)RendererOptions { // ... + ..Default::default() }
Renderer::render_to_surface
has been removed. (#803 by @DJMcNab)Renderer::render_to_texture
to render to an intermediate texture, then blit from that to the surface yourself. We suggest using the TextureBlitter
utility from wgpu
. For users of the util
module, it has been updated to create a suitable blit pipeline and intermediate texture for each surface.+let target_view = /* cached: device.create_texture(/* size of surface*/).create_view(...) */; - device.render_to_surface(..., &surface_texture, ...); + device.render_to_texture(..., &target_view, ...); +let mut encoder = device.create_command_encoder(&wgpu::CommandEncoderDescriptor { + label: Some("Surface Blit"), +}); +blitter.copy( + &device, + &mut encoder, + &target_view, + &surface_texture.create_view(&wgpu::TextureViewDescriptor::default()), +); +queue.submit([encoder.finish()]);
override_image
has been updated to remove its use of Arc
, as wgpu::Texture
s are now internally reference counted. (#802 by @DJMcNab)This release has an MSRV of 1.82.
This release has an MSRV of 1.82.
As part of an initiative to improve color handling across the ecosystem (and especially within Linebender crates), Vello is now using the new color
crate. This is the first step towards providing richer color functionality, better handling of color interpolation, and more.
This release intentionally uses wgpu
23.0.1 rather than 24.0.0 so that it can match the version used in Bevy 0.15.
wgpu
to 23.0.1 (#735, #743 by @waywardmonkeys)peniko
and color
is now used for all colors (#742 by @waywardmonkeys)color
, the byte order of vello_encoding::DrawColor
is changed (#758 by @waywardmonkeys, #796 by @tomcur).full
feature is no longer present as the full pipeline is now always built (#754 by @waywardmonkeys)r8
permutation of the shaders is no longer available (#756 by @waywardmonkeys)buffer_labels
feature is no longer present as the labels are always configured (#757 by @waywardmonkeys)i16
rather than skrifa::NormalizedCoord
in the public API (#747 by @nicoburns)schemars
feature (#733 by @ratmice)This release has an MSRV of 1.75.
Adapter
from the utils DeviceHandle
(#634 by @cfagot)wgpu::Texture
s into a Vello scene (#636, #655 by @DJMcNab, @TrueDoctor)AaSupport
from a set of AaConfig
s (#654 by @simbleau)Encoding
for a scene can now be modified, circumventing guardrails for advanced use-cases (#701 by @timtom-dev)wgpu
to 22.1.0 (#635 by @waywardmonkeys)run_app
API from Winit (#626, #628 by @yutannihilation)vello.
(#677 by @waywardmonkeys)Pipelines
API from vello_shaders
(#612 by @DJMcNab)wgpu_profiler
profiler feature is no longer stable (#694 by @DJMcNab)Recording
abstraction into a low_level
module, as almost all users should prefer the higher-level Renderer
(#711 by @DJMcNab)This release has an MSRV of 1.75.
wgpu
to 0.20.1. (#631by @waywardmonkeys)This release has an MSRV of 1.75.
From<Encoding>
for Scene
. (#538 by @waywardmonkeys)vello_shaders
crate to load and preprocess WGSL. (#563 by @armansito)#enable
post-process directive. (#550 by @armansito)RenderContext::new()
no longer returns a Result
. (#547 by @waywardmonkeys)wgpu
to 0.20. (#560 by @waywardmonkeys)force_rw_storage
feature. (#540 by @armansito)draw_leaf
uniformity. (#535 by @raphlinus)vello_encoding
. (#573 by @armansito)path_reduced_scan
buffer size. (#551 by @armansito)