Populate changelog (#1955) I want to try to get fearless_simd 1.0 in as well, but after that we can hopefully make a new release.
diff --git a/glifo/CHANGELOG.md b/glifo/CHANGELOG.md index dc813f9..2ae79f0 100644 --- a/glifo/CHANGELOG.md +++ b/glifo/CHANGELOG.md
@@ -12,6 +12,21 @@ This release has an [MSRV][] of 1.89. +### Changed + +- Breaking change: Glyph filling and stroking methods now return `Result<(), GlyphRenderError>`. ([#1944][] by [@LaurenzV][]) +- Breaking change: `GlyphAtlas::replay_pending_atlas_commands` now accepts a fallible callback. ([#1890][] by [@LaurenzV][]) +- Bitmap glyphs now consistently use bilinear sampling (`ImageQuality::Medium`) instead of switching to bicubic sampling when downscaled. ([#1970][] by [@LaurenzV][]) + +### Removed + +- Breaking change: `renderer::quality_for_scale`. ([#1970][] by [@LaurenzV][]) + +### Fixed + +- Incorrect placement of non-Apple `sbix` glyphs caused by the Apple Color Emoji workaround. ([#1936][] by [@LaurenzV][]) +- Incorrect `sbix` glyph placement caused by sign errors in bearing offsets. ([#1939][] by [@LaurenzV][]) + ## [0.3.0][] - 2026-08-07 This release has an [MSRV][] of 1.88. @@ -62,6 +77,11 @@ [#1668]: https://github.com/linebender/vello/pull/1668 [#1672]: https://github.com/linebender/vello/pull/1672 [#1774]: https://github.com/linebender/vello/pull/1774 +[#1890]: https://github.com/linebender/vello/pull/1890 +[#1936]: https://github.com/linebender/vello/pull/1936 +[#1939]: https://github.com/linebender/vello/pull/1939 +[#1944]: https://github.com/linebender/vello/pull/1944 +[#1970]: https://github.com/linebender/vello/pull/1970 [Unreleased]: https://github.com/linebender/vello/compare/glifo-v0.3.0...HEAD [0.3.0]: https://github.com/linebender/vello/compare/glifo-v0.2.0...glifo-v0.3.0
diff --git a/research/CHANGELOG.md b/research/CHANGELOG.md index 703999f..1d1337d 100644 --- a/research/CHANGELOG.md +++ b/research/CHANGELOG.md
@@ -16,6 +16,15 @@ - `vello_encoding` is now re-exported from the `low_level` module. ([#1847][] by [@ChrisJr404][]) +### Changed + +- Breaking change: Updated `wgpu` and `naga` to v30. ([#1909][] by [@LaurenzV][]) + +### Fixed + +- Incorrect placement of non-Apple `sbix` glyphs caused by the Apple Color Emoji workaround. ([#1936][] by [@LaurenzV][]) +- Incorrect `sbix` glyph placement caused by sign errors in bearing offsets. ([#1939][] by [@LaurenzV][]) + ## [0.10.0][] - 2026-08-14 This release has an [MSRV][] of 1.88. @@ -468,6 +477,9 @@ [#1774]: https://github.com/linebender/vello/pull/1774 [#1777]: https://github.com/linebender/vello/pull/1777 [#1847]: https://github.com/linebender/vello/pull/1847 +[#1909]: https://github.com/linebender/vello/pull/1909 +[#1936]: https://github.com/linebender/vello/pull/1936 +[#1939]: https://github.com/linebender/vello/pull/1939 [Unreleased]: https://github.com/linebender/vello/compare/v0.10.0...HEAD [0.10.0]: https://github.com/linebender/vello/compare/v0.9.0...v0.10.0
diff --git a/vello_common/CHANGELOG.md b/vello_common/CHANGELOG.md index 67975c2..258ab60 100644 --- a/vello_common/CHANGELOG.md +++ b/vello_common/CHANGELOG.md
@@ -12,6 +12,40 @@ This release has an [MSRV][] of 1.89. +### Added + +- `TargetInit<C>` for configuring target clears or compositing over existing contents. ([#1866][] by [@LaurenzV][]) +- Public `pixmap::premultiply_rgba8` and `unpremultiply_rgba8` helpers. ([#1930][] by [@LaurenzV][]) +- `ImageSource::external_texture` for external GPU texture paints. ([#1824][] by [@LaurenzV][]) +- Support for `ImageSampler::alpha`. ([#1880][] by [@LaurenzV][]) +- Rectangular clip support in `ClipContext`, `ClipState`, and `ViewportState`. ([#1916][], [#1926][] by [@LaurenzV][]) + +### Changed + +- Breaking change: Unified pixmap construction in `Pixmap::from_parts`, which now accepts `Vec<u8>` and `PixelMetadata`. ([#1834][] by [@LaurenzV][]) +- Breaking change: Replaced `Pixmap::take` and `take_unpremultiplied` with `take_rgba8` and `try_take_rgb8`, adding RGB output support. ([#1855][] by [@LaurenzV][]) +- Breaking change: Atlas sizes, allocation dimensions, and image-cache offsets now use `u16`; the `OffsetU32`, `SizeU32`, and `RectU32` geometry types have been removed. ([#1826][] by [@LaurenzV][]) +- Breaking change: Updated `fearless_simd` to v0.7.0 and adapted the SIMD utility APIs. ([#1853][] by [@LaurenzV][]) +- Breaking change: `ClipContext`, `ClipState`, and `ViewportState` rename `push_clip` to `push_clip_path`, and their clip accessors now return `ClipRef` instead of `PathDataRef`. ([#1916][], [#1926][] by [@LaurenzV][]) +- Breaking change: Probe APIs now support configurable features, depth-buffer testing, and per-cell statistics. ([#1901][], [#1908][] by [@LaurenzV][]) +- Breaking change: `EncodeExt::encode_into` now returns `Option<Paint>`. ([#1949][] by [@grebmeg][]) + +### Removed + +- Breaking change: `EncodedExternalTexture`. ([#1824][] by [@LaurenzV][]) +- Breaking change: `ImageCache::allocate_excluding` and `MultiAtlasManager::try_allocate_excluding`. ([#1825][] by [@LaurenzV][]) + +### Fixed + +- Gradient cache collisions between premultiplied and unpremultiplied alpha interpolation. ([#1932][] by [@LaurenzV][]) +- Color conversions on big-endian targets. ([#1845][] by [@LaurenzV][]) + +### Optimized + +- Rectangle rendering. ([#1962][] by [@nicoburns][]) +- Pixmap premultiplication and unpremultiplication. ([#1834][], [#1839][] by [@LaurenzV][]) +- Rectangular clip intersections. ([#1926][] by [@LaurenzV][]) + ## [0.2.0][] - 2026-08-07 This release has an [MSRV][] of 1.88. @@ -311,6 +345,24 @@ [#1778]: https://github.com/linebender/vello/pull/1778 [#1779]: https://github.com/linebender/vello/pull/1779 [#1801]: https://github.com/linebender/vello/pull/1801 +[#1824]: https://github.com/linebender/vello/pull/1824 +[#1825]: https://github.com/linebender/vello/pull/1825 +[#1826]: https://github.com/linebender/vello/pull/1826 +[#1834]: https://github.com/linebender/vello/pull/1834 +[#1839]: https://github.com/linebender/vello/pull/1839 +[#1845]: https://github.com/linebender/vello/pull/1845 +[#1853]: https://github.com/linebender/vello/pull/1853 +[#1855]: https://github.com/linebender/vello/pull/1855 +[#1866]: https://github.com/linebender/vello/pull/1866 +[#1880]: https://github.com/linebender/vello/pull/1880 +[#1901]: https://github.com/linebender/vello/pull/1901 +[#1908]: https://github.com/linebender/vello/pull/1908 +[#1916]: https://github.com/linebender/vello/pull/1916 +[#1926]: https://github.com/linebender/vello/pull/1926 +[#1930]: https://github.com/linebender/vello/pull/1930 +[#1932]: https://github.com/linebender/vello/pull/1932 +[#1949]: https://github.com/linebender/vello/pull/1949 +[#1962]: https://github.com/linebender/vello/pull/1962 [Unreleased]: https://github.com/linebender/vello/compare/sparse-strips-v0.2.0...HEAD [0.2.0]: https://github.com/linebender/vello/compare/sparse-strips-v0.1.0...sparse-strips-v0.2.0
diff --git a/vello_cpu/CHANGELOG.md b/vello_cpu/CHANGELOG.md index 0961158..aecb826 100644 --- a/vello_cpu/CHANGELOG.md +++ b/vello_cpu/CHANGELOG.md
@@ -12,6 +12,40 @@ This release has an [MSRV][] of 1.89. +### Added + +- `RenderContext::push_clip_rect` for non-isolated rectangular clipping. ([#1916][] by [@LaurenzV][]) +- Support for `ImageSampler::alpha`. ([#1880][] by [@LaurenzV][]) + +### Changed + +- Breaking change: Replaced `CompositeMode` with `TargetInit`, adding configurable target clears. ([#1866][] by [@LaurenzV][]) +- Breaking change: Renamed `RenderContext::pop_clip_path` to `pop_clip`. ([#1942][] by [@LaurenzV][]) +- Breaking change: `GlyphRunBuilder::fill_glyphs` and `stroke_glyphs` now return `Result<(), glifo::GlyphRenderError>`. ([#1944][] by [@LaurenzV][]) +- Breaking change: Updated `fearless_simd` to v0.7.0. ([#1853][] by [@LaurenzV][]) +- Breaking change: Reorganized shared type re-exports and removed the crate-root `Paint` re-export. ([#1881][] by [@LaurenzV][]) +- Root-level blend operations are now isolated from the target background. ([#1865][] by [@LaurenzV][]) +- Bitmap glyphs now consistently use bilinear sampling (`ImageQuality::Medium`) instead of switching to bicubic sampling when downscaled. ([#1970][] by [@LaurenzV][]) + +### Fixed + +- Image-sampling errors near texel boundaries with `Repeat`, `Reflect`, and bilinear/bicubic filtering. ([#1946][], [#1950][] by [@LaurenzV][]) +- Scene contents being cut off when compositing over a background in the u8 pipeline. ([#1933][] by [@LaurenzV][]) +- Layer opacity is now clamped to the range 0 to 1. ([#1856][] by [@LaurenzV][]) +- Rendering on big-endian targets. ([#1845][] by [@LaurenzV][]) +- Gradient cache collisions between premultiplied and unpremultiplied alpha interpolation. ([#1932][] by [@LaurenzV][]) +- Draws with non-invertible paint transforms are now skipped. ([#1949][] by [@grebmeg][]) +- Resetting a render context now also resets the aliasing threshold. ([#1945][] by [@LaurenzV][]) +- Incorrect placement of non-Apple `sbix` glyphs caused by the Apple Color Emoji workaround. ([#1936][] by [@LaurenzV][]) +- Incorrect `sbix` glyph placement caused by sign errors in bearing offsets. ([#1939][] by [@LaurenzV][]) + +### Optimized + +- Rectangle rendering. ([#1962][] by [@nicoburns][]) +- Rectangle rendering in multi-threaded contexts. ([#1924][] by [@LaurenzV][]) +- Rectangle rendering under rectangular clips. ([#1926][] by [@LaurenzV][]) +- Transparency hints for rendered pixmaps. ([#1867][] by [@LaurenzV][]) + ## [0.2.0][] - 2026-08-07 This release has an [MSRV][] of 1.88. @@ -276,6 +310,29 @@ [#1763]: https://github.com/linebender/vello/pull/1763 [#1787]: https://github.com/linebender/vello/pull/1787 [#1803]: https://github.com/linebender/vello/pull/1803 +[#1845]: https://github.com/linebender/vello/pull/1845 +[#1853]: https://github.com/linebender/vello/pull/1853 +[#1856]: https://github.com/linebender/vello/pull/1856 +[#1865]: https://github.com/linebender/vello/pull/1865 +[#1866]: https://github.com/linebender/vello/pull/1866 +[#1867]: https://github.com/linebender/vello/pull/1867 +[#1880]: https://github.com/linebender/vello/pull/1880 +[#1881]: https://github.com/linebender/vello/pull/1881 +[#1916]: https://github.com/linebender/vello/pull/1916 +[#1924]: https://github.com/linebender/vello/pull/1924 +[#1926]: https://github.com/linebender/vello/pull/1926 +[#1932]: https://github.com/linebender/vello/pull/1932 +[#1933]: https://github.com/linebender/vello/pull/1933 +[#1936]: https://github.com/linebender/vello/pull/1936 +[#1939]: https://github.com/linebender/vello/pull/1939 +[#1942]: https://github.com/linebender/vello/pull/1942 +[#1944]: https://github.com/linebender/vello/pull/1944 +[#1945]: https://github.com/linebender/vello/pull/1945 +[#1946]: https://github.com/linebender/vello/pull/1946 +[#1949]: https://github.com/linebender/vello/pull/1949 +[#1950]: https://github.com/linebender/vello/pull/1950 +[#1962]: https://github.com/linebender/vello/pull/1962 +[#1970]: https://github.com/linebender/vello/pull/1970 [Unreleased]: https://github.com/linebender/vello/compare/sparse-strips-v0.2.0...HEAD [0.2.0]: https://github.com/linebender/vello/compare/sparse-strips-v0.1.0...sparse-strips-v0.2.0
diff --git a/vello_gpu/CHANGELOG.md b/vello_gpu/CHANGELOG.md index d32e787..755fb11 100644 --- a/vello_gpu/CHANGELOG.md +++ b/vello_gpu/CHANGELOG.md
@@ -12,6 +12,55 @@ This release has an [MSRV][] of 1.89. +**As part of this release, "Vello Hybrid" has been renamed into "Vello GPU"**. + +### Added + +- An `unminified` feature in `vello_gpu_shaders` for readable shader output. ([#1851][] by [@grebmeg][]) +- Non-blocking WebGL initialization through `WebGlRenderer::begin` and `begin_with`. ([#1823][] by [@grebmeg][]) +- `Scene::push_clip_rect` for non-isolated rectangular clipping. ([#1916][] by [@LaurenzV][]) +- Support for `ImageSampler::alpha`. ([#1880][] by [@LaurenzV][]) + +### Changed + +- Breaking change: Renamed the `vello_hybrid` crate to `vello_gpu`. `HybridGlyphRunBackend` is now `GpuGlyphRunBackend`. ([#1883][] by [@grebmeg][], [#1918][] by [@LaurenzV][]) +- Breaking change: Updated `wgpu` to v30 and `fearless_simd` to v0.7.0. ([#1909][], [#1853][] by [@LaurenzV][]) +- Breaking change: External textures now use `Scene::set_paint`, replacing `draw_texture_rects` and adding support for arbitrary shapes, extend modes, and transparency hints. ([#1812][], [#1813][], [#1824][] by [@LaurenzV][]) +- Breaking change: Depth buffering is now optional, with caller-owned depth textures in wgpu and a `use_depth_buffer` argument in WebGL. ([#1808][], [#1810][] by [@grebmeg][]) +- Breaking change: Rendering now accepts configurable target clears through `TargetInit` in wgpu and a clear color in WebGL. ([#1869][] by [@LaurenzV][]) +- Breaking change: WebGL operations now return structured `WebGlError` results. ([#1892][] by [@LaurenzV][], [#1921][] by [@grebmeg][]) +- Breaking change: `RenderSize`, `RenderTargetConfig`, atlas configuration, and related dimensions now use `u16`. ([#1826][], [#1891][] by [@LaurenzV][]) +- Breaking change: Image atlases now use individual 2D textures, and `atlas_texture` takes an `AtlasId`. ([#1859][] by [@LaurenzV][]) +- Breaking change: WebGL probes now support configurable features, depth-buffer testing, and per-cell statistics. ([#1900][], [#1901][], [#1908][] by [@LaurenzV][]) +- Breaking change: Renamed `Scene::pop_clip_path` to `pop_clip`. ([#1942][] by [@LaurenzV][]) +- Breaking change: `GlyphRunBuilder::fill_glyphs` and `stroke_glyphs` now return `Result<(), glifo::GlyphRenderError>`. ([#1944][] by [@LaurenzV][]) +- Expanded shared type re-exports. ([#1881][] by [@LaurenzV][]) +- WebGL context creation now requests `failIfMajorPerformanceCaveat`. ([#1806][] by [@LaurenzV][]) +- Bitmap glyphs now consistently use bilinear sampling (`ImageQuality::Medium`) instead of switching to bicubic sampling when downscaled. ([#1970][] by [@LaurenzV][]) + +### Fixed + +- Fully transparent draws are no longer skipped, fixing missing output from filters such as flood effects. ([#1966][] by [@AdrianEddy][], [@LaurenzV][]) +- The `std` feature no longer implicitly enables `wgpu`. ([#1822][] by [@taj-p][]) +- Safari 15 probe crashes and incorrect filter rendering. ([#1814][], [#1821][] by [@LaurenzV][]) +- WebGL hangs on affected Intel GPUs. ([#1830][] by [@LaurenzV][]) +- Incorrect layer rendering and probe failures on affected Apple Silicon/Chrome versions. ([#1864][] by [@LaurenzV][]) +- Removed an artificial image-sampling offset. ([#1878][] by [@LaurenzV][]) +- Gradient cache collisions between premultiplied and unpremultiplied alpha interpolation. ([#1932][] by [@LaurenzV][]) +- Draws with non-invertible paint transforms are now skipped. ([#1949][] by [@grebmeg][]) +- Resetting a scene now also resets the aliasing threshold. ([#1945][] by [@LaurenzV][]) +- Incorrect placement of non-Apple `sbix` glyphs caused by the Apple Color Emoji workaround. ([#1936][] by [@LaurenzV][]) +- Incorrect `sbix` glyph placement caused by sign errors in bearing offsets. ([#1939][] by [@LaurenzV][]) + +### Optimized + +- Rectangle rendering. ([#1962][] by [@nicoburns][]) +- WebGL strip rendering through indexed instanced draws and `WEBGL_provoking_vertex` support. ([#1805][], [#1827][] by [@LaurenzV][]) +- Reduced embedded shader size through compaction and minification. ([#1831][] by [@LaurenzV][], [#1833][], [#1846][] by [@grebmeg][]) +- Reduced WebGL state management overhead. ([#1874][], [#1879][], [#1911][] by [@LaurenzV][]) +- Reduced wgpu strip-data uploads and strip-storage allocations. ([#1896][], [#1897][] by [@HigherOrderLogic][]) +- Rectangle rendering under rectangular clips. ([#1926][] by [@LaurenzV][]) + ## [0.2.0][] - 2026-08-07 This release has an [MSRV][] of 1.88. @@ -202,9 +251,11 @@ See also the [vello_cpu 0.0.4](../vello_cpu/CHANGELOG.md#004---2025-10-17) and [vello_common 0.0.4](../vello_common/CHANGELOG.md#004---2025-10-17) releases. [@DJMcNab]: https://github.com/DJMcNab +[@AdrianEddy]: https://github.com/AdrianEddy [@b0nes164]: https://github.com/b0nes164 [@dipeshbabu]: https://github.com/dipeshbabu [@grebmeg]: https://github.com/grebmeg +[@HigherOrderLogic]: https://github.com/HigherOrderLogic [@jesses-canva]: https://github.com/jesses-canva [@jrmoulton]: https://github.com/jrmoulton [@LaurenzV]: https://github.com/LaurenzV @@ -302,6 +353,57 @@ [#1794]: https://github.com/linebender/vello/pull/1794 [#1800]: https://github.com/linebender/vello/pull/1800 [#1801]: https://github.com/linebender/vello/pull/1801 +[#1805]: https://github.com/linebender/vello/pull/1805 +[#1806]: https://github.com/linebender/vello/pull/1806 +[#1808]: https://github.com/linebender/vello/pull/1808 +[#1810]: https://github.com/linebender/vello/pull/1810 +[#1812]: https://github.com/linebender/vello/pull/1812 +[#1813]: https://github.com/linebender/vello/pull/1813 +[#1814]: https://github.com/linebender/vello/pull/1814 +[#1821]: https://github.com/linebender/vello/pull/1821 +[#1822]: https://github.com/linebender/vello/pull/1822 +[#1823]: https://github.com/linebender/vello/pull/1823 +[#1824]: https://github.com/linebender/vello/pull/1824 +[#1826]: https://github.com/linebender/vello/pull/1826 +[#1827]: https://github.com/linebender/vello/pull/1827 +[#1830]: https://github.com/linebender/vello/pull/1830 +[#1831]: https://github.com/linebender/vello/pull/1831 +[#1833]: https://github.com/linebender/vello/pull/1833 +[#1846]: https://github.com/linebender/vello/pull/1846 +[#1851]: https://github.com/linebender/vello/pull/1851 +[#1853]: https://github.com/linebender/vello/pull/1853 +[#1859]: https://github.com/linebender/vello/pull/1859 +[#1864]: https://github.com/linebender/vello/pull/1864 +[#1869]: https://github.com/linebender/vello/pull/1869 +[#1874]: https://github.com/linebender/vello/pull/1874 +[#1878]: https://github.com/linebender/vello/pull/1878 +[#1879]: https://github.com/linebender/vello/pull/1879 +[#1880]: https://github.com/linebender/vello/pull/1880 +[#1881]: https://github.com/linebender/vello/pull/1881 +[#1883]: https://github.com/linebender/vello/pull/1883 +[#1891]: https://github.com/linebender/vello/pull/1891 +[#1892]: https://github.com/linebender/vello/pull/1892 +[#1896]: https://github.com/linebender/vello/pull/1896 +[#1897]: https://github.com/linebender/vello/pull/1897 +[#1900]: https://github.com/linebender/vello/pull/1900 +[#1901]: https://github.com/linebender/vello/pull/1901 +[#1908]: https://github.com/linebender/vello/pull/1908 +[#1909]: https://github.com/linebender/vello/pull/1909 +[#1911]: https://github.com/linebender/vello/pull/1911 +[#1916]: https://github.com/linebender/vello/pull/1916 +[#1918]: https://github.com/linebender/vello/pull/1918 +[#1921]: https://github.com/linebender/vello/pull/1921 +[#1926]: https://github.com/linebender/vello/pull/1926 +[#1932]: https://github.com/linebender/vello/pull/1932 +[#1936]: https://github.com/linebender/vello/pull/1936 +[#1939]: https://github.com/linebender/vello/pull/1939 +[#1942]: https://github.com/linebender/vello/pull/1942 +[#1944]: https://github.com/linebender/vello/pull/1944 +[#1945]: https://github.com/linebender/vello/pull/1945 +[#1949]: https://github.com/linebender/vello/pull/1949 +[#1962]: https://github.com/linebender/vello/pull/1962 +[#1966]: https://github.com/linebender/vello/pull/1966 +[#1970]: https://github.com/linebender/vello/pull/1970 [Unreleased]: https://github.com/linebender/vello/compare/sparse-strips-v0.2.0...HEAD [0.2.0]: https://github.com/linebender/vello/compare/sparse-strips-v0.1.0...sparse-strips-v0.2.0