The latest published Vello release is 0.3.0 which was released on 2024-10-04. You can find its changes documented below.
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.
- Breaking: Updated
wgpu
to 23.0.1 (#735, #743 by @waywardmonkeys) - Breaking: Updated to new
peniko
andcolor
is now used for all colors (#742 by @waywardmonkeys) - Breaking: The
full
feature is no longer present as the full pipeline is now always built (#754 by @waywardmonkeys) - The
r8
permutation of the shaders is no longer available (#756 by @waywardmonkeys) - Breaking: The
buffer_labels
feature is no longer present as the labels are always configured ([#757][] by @waywardmonkeys)
- Offset in image rendering, and sampling outside correct atlas area (#722 by @dfrg)
- Inference conflict when using Kurbo's
schemars
feature (#733 by @ratmice) - Detection of PNG format bitmap fonts, primarily for Apple systems (#740 by @LaurenzV)
0.3.0 - 2024-10-04
This release has an MSRV of 1.75.
- Support for most Emoji (#615, #641 by @DJMcNab)
- GPU Friendly Stroke Expansion, which documents key parts of how Vello works, was released (by @raphlinus, @armansito)
- Blurred rounded rectangles are now supported, which can be used for box shadows (#665 by @msiglreith)
- Vello is no longer considered experimental 🎉 (#691 by @waywardmonkeys) Note that Vello is still an alpha, but we believe that the direction has been proven.
- Access to the
Adapter
from the utilsDeviceHandle
(#634 by @cfagot) - Support for compositing existing
wgpu::Texture
s into a Vello scene (#636, #655 by @DJMcNab, @TrueDoctor) - Utilities for constructing an
AaSupport
from a set ofAaConfig
s (#654 by @simbleau) - An example which uses sdl2 (#671 by @TheNachoBIT)
- The underlying
Encoding
for a scene can now be modified, circumventing guardrails for advanced use-cases (#701 by @timtom-dev)
- Breaking: Updated
wgpu
to 22.1.0 (#635 by @waywardmonkeys) - Clipping more than four layers deep is now supported (#657 by @DJMcNab)
- Significantly improved automated testing (#610, #643 by @DJMcNab)
- Preliminary debug layers for Vello's internal development (#416 by @armansito)
- Examples now use the
run_app
API from Winit (#626, #628 by @yutannihilation) - Labels on GPU objects are now prefixed with
vello.
(#677 by @waywardmonkeys) - The async render implementations are deprecated and unstable; you should use the non-async versions as they enable greater throughput (#706 by @DJMcNab)
- Example code in the repository README (#627 by @kmoon2437)
- A possible crash on iOS working around an invariant undocumented by Apple (#639 by @DJMcNab)
- Large number of clips now work (#659 by @raphlinus)
- Empty clips now no longer cause artifacts (#651 by @raphlinus)
- A potential panic in the presence of a weaker than default allocator (#675 by @timtom-dev)
- Watertightness breaks causing artifacts with some rounded rectangles (#695 by @raphlinus)
- Breaking:
Pipelines
API fromvello_shaders
(#612 by @DJMcNab) - The
wgpu_profiler
profiler feature is no longer stable (#694 by @DJMcNab) - Breaking: Moved the
Recording
abstraction into alow_level
module, as almost all users should prefer the higher-levelRenderer
(#711 by @DJMcNab)
0.2.1 - 2024-07-16
This release has an MSRV of 1.75.
- Updated
wgpu
to 0.20.1. (#631by @waywardmonkeys) - Document the MSRV of releases in the changelog (#619 by @DJMcNab)
0.2.0 - 2024-06-08
This release has an MSRV of 1.75.
- Euler spiral based stroke expansion. (#496 by @raphlinus)
- Sweep gradients. (#435 by @dfrg)
- Bump allocation estimation. (#436, #454, #522 by @armansito)
- Impl
From<Encoding>
forScene
. (#538 by @waywardmonkeys) - Glyph hinting support. (#544 by @dfrg)
- Better glyph caching. (#555 by @dfrg)
vello_shaders
crate to load and preprocess WGSL. (#563 by @armansito)- Coverage-mask specialization. (#540 by @armansito)
- Support for the
#enable
post-process directive. (#550 by @armansito)
- Better error types. (#516 by @DasLixou)
RenderContext::new()
no longer returns aResult
. (#547 by @waywardmonkeys)- Updated
wgpu
to 0.20. (#560 by @waywardmonkeys)
force_rw_storage
feature. (#540 by @armansito)
- 64k draw object limit. (#526 by @raphlinus)
- Increased robustness of cubic params. (#521 by @raphlinus)
- Increased robustness of GPU shaders. (#537 by @raphlinus)
draw_leaf
uniformity. (#535 by @raphlinus)- Bug in join estimates in
vello_encoding
. (#573 by @armansito) - Incorrect use of numerical operators on atomics in binning. (#539 by @armansito)
path_reduced_scan
buffer size. (#551 by @armansito)- Handling of upstream pipeline failure. (#553 by @armansito)
- Very slow shader compilation. (#575 by @DJMcNab, @waywardmonkeys)
- Full system hang on Apple systems. (#589 by @raphlinus)
0.1.0 - 2024-03-04
- Initial release