The latest published Vello release is 0.4.1 which was released on 2025-03-10. You can find its changes documented below.
This release has an MSRV of 1.85.
Renderer::render_to_surface has been removed. (#803 by @DJMcNab) This API was not fit for purpose for several reasons, for example, it assumed that you would only ever use a single window. The new recommended way to use Vello to render to a surface is to use Renderer::render_to_texture, then copy from that to the surface yourself. This can use the new TextureBlitter type from wgpu for this blitting. The util module has been updated to create a blit pipeline and intermediate texture for each surface.The crates were switched to edition 2024 of Rust.
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::Textures into a Vello scene (#636, #655 by @DJMcNab, @TrueDoctor)AaSupport from a set of AaConfigs (#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)