Skip to content

fix(deps): Bump the nuget-minor-and-patch group with 11 updates#49

Merged
Alpaq92 merged 2 commits into
mainfrom
dependabot/nuget/Flags.Icons.Avalonia/nuget-minor-and-patch-c8cec43a35
Jul 1, 2026
Merged

fix(deps): Bump the nuget-minor-and-patch group with 11 updates#49
Alpaq92 merged 2 commits into
mainfrom
dependabot/nuget/Flags.Icons.Avalonia/nuget-minor-and-patch-c8cec43a35

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 19, 2026

Copy link
Copy Markdown
Contributor

Updated Aprillz.MewUI from 0.15.2 to 0.17.1.

Release notes

Sourced from Aprillz.MewUI's releases.

0.17.1

What's Changed

Following the MewUI.Skia and MewUI.MewDock extensions that shipped with v0.16.0, this release continues to grow the MewUI ecosystem with two more native extensions: the new MewUI.Svg library (deferred from v0.16.0) and the new MewUI.MewCharts charts extension. On the core side, the Image control gains first-class vector image source support, the MewUI.WebView2.Win32 add-on package is renamed for naming consistency, and two outstanding layout bugs around MinWidth / MaxWidth constraints are fixed.

Added

Libraries

  • MewUI.Svg library — SVG rendering library that lives under extensions/MewUI.Svg. Builds on top of the v0.16.0 GPU interop foundation to composite SVG content directly onto each backend's GPU surface. Vendored on top of the SVG.NET submodule for the parser. Ships with SvgImageSource, which wraps an SVG document as an IImageSource so it can be assigned to Image.Source like any bitmap (with color tinting via Tint for icon use cases), and MewUI.Svg.Sample includes an Icons tab that bundles icons.zip (Simple Icons set) and demonstrates loading and tinting SVG icons at runtime.
    Aprillz MewUI Svg Sample_Cbqk1mzdM8

  • MewUI.MewCharts library — charts extension built on a vendored LiveChartsCore (LiveCharts2 v2.0.4) backend, drawing through the MewUI rendering pipeline.
    Aprillz MewUI MewCharts Sample_rR2EVDrptn

Controls

  • Vector image source support in Image control — adds the IVectorImageSource interface and a dedicated RenderVector path so that vector sources are measured and drawn at native vector resolution. Image.MeasureContent and OnRender resolve vector vs. raster sources automatically.

Diagnostics / analyzers

  • MEW1104 analyzer rule — code-fix that refactors "assignment to fluent call" patterns into idiomatic chained form. Documented in the analyzer README in both English and Korean.

Improved

Backend / platform

  • GDI hit-test against complex clip regions via PtVisible — pixel compositing is now restricted to the HDC clip bounds, improving culling accuracy for non-rectangular clips.

Controls

  • Focus is cleared on a left click that hits no focus target (#​91) — clicking empty space now releases focus instead of leaving the previous element selected.

Fixed

Layout

  • Auto measure constraints not clamped to MinWidth / MaxWidth (#​173) — auto Width / Height now clamp to the element's min/max bounds before measuring content, while explicit Width / Height keep their existing desired-size behavior.
  • Explicit size lost after min/max constraints (#​170) — an explicitly assigned Width / Height is now preserved after the min/max pass instead of being collapsed.

⚠️ Breaking Changes

  • MewUI.Win32.WebView2 renamed to MewUI.WebView2.Win32 — the package, source folder, and project / sample references are renamed to match the MewUI.<Feature>.<Platform> convention used by other platform-specific projects. Consumers must update their PackageReference / ProjectReference.

변경 사항

v0.16.0과 함께 도입된 MewUI.Skia / MewUI.MewDock 확장에 이어, 이번 릴리즈에서는 네이티브 확장 두 가지를 추가로 도입해 MewUI 생태계를 계속 확장합니다. v0.16.0에서 다음 릴리즈로 미뤘던 MewUI.Svg 라이브러리와 새 MewUI.MewCharts 차트 확장이 새로 도입되고, 코어 Image 컨트롤에는 벡터 이미지 소스 지원이 추가되며, MewUI.WebView2.Win32 부가 패키지의 이름이 명명 규칙에 맞게 정리되고, MinWidth / MaxWidth 제약과 관련된 미해결 레이아웃 버그 두 건도 함께 해결됩니다.

추가됨

라이브러리

  • MewUI.Svg 라이브러리extensions/MewUI.Svg에 위치한 SVG 렌더링 라이브러리. v0.16.0에서 도입한 GPU 인터롭 기반 위에서 SVG 콘텐츠를 각 백엔드의 GPU 서피스 위로 직접 합성. 파서는 SVG.NET 서브모듈을 사용. SVG 문서를 IImageSource로 래핑해 비트맵과 동일하게 Image.Source에 할당할 수 있는 SvgImageSource(아이콘 활용을 위한 컬러 틴팅 Tint 지원)를 함께 제공하며, MewUI.Svg.Sample에는 Simple Icons 세트가 담긴 icons.zip을 번들로 제공하고 런타임에 SVG 아이콘을 로드 및 틴팅하는 Icons 탭이 포함되어 있음.
  • MewUI.MewCharts 라이브러리LiveChartsCore(LiveCharts2 v2.0.4) 백엔드 기반 차트 확장. MewUI 렌더링 파이프라인을 통해 그려짐.

컨트롤

  • Image 컨트롤의 벡터 이미지 소스 지원IVectorImageSource 인터페이스와 전용 RenderVector 경로 추가. 벡터 소스는 네이티브 벡터 해상도로 측정되고 그려지며, Image.MeasureContent / OnRender가 벡터 / 래스터 소스를 자동으로 분기 처리.
    ... (truncated)

0.16.0

What's Changed

This release introduces a new GPU-accelerated rendering and interop foundation for MewUI.
It replaces the previous offscreen render-target abstraction with the new IRenderSurface / IRenderDevice model, adds external GPU/raster interop paths, and introduces a GPU-accelerated image filter graph.

The most visible results of this work are the new MewUI.Skia integration and the FFmpeg-based video playback sample.

On top of that foundation, this release adds several user-facing features, including the ColorPicker control and a live hierarchical performance profiler.
It also includes major backend improvements such as asynchronous OpenGL PBO uploads, Win32 transparent windows backed by DirectComposition, a shared D3D11 device across Direct2D consumers, and a 1:1 BitBlt fast path for external GDI DIBs.

Because the release contains breaking changes across backend interfaces and the platform-surface namespace, custom backends, WriteableBitmapControl, and code that uses platform-surface interfaces will need to be migrated.

Added

Libraries / samples

  • MewUI.Skia library — Skia integration over the GPU interop path. Composes Skia (SKCanvas) content zero-copy inside the MewUI control tree. Ships per-backend interop bridges and metapackages for Direct2D, GDI, MewVG.Win32, MewVG.X11, and MewVG.MacOS (SkiaSharp 3.x).
    Aprillz MewUI Skia Sample_jXYs619rqW

  • MewUI.MewDock docking framework — a tabbed / split docking system with a companion sample.

  • MewUI.Analyzers — Roslyn analyzers and code fixes for common MewUI patterns, shipped as an analyzer NuGet for consumer projects.
    devenv_SQEyrIKVVW

  • MewUI.Test — comprehensive test suites for binding, events, and the GDI backend.

  • Skia sample app (#​116)MewUI.Skia.Sample, with backend toggle to compare GPU and CPU fallback paths.

  • FFmpeg-based video playback sampleMewUI.Video.Sample, with NVDEC hardware-decode fallback. Decoder frames are displayed without a copy through the external GPU interop path.

  • OffscreenControl and custom rendering sample (#​153) — caches a subtree to an offscreen surface that the host control draws as a single image.

Rendering / backend

  • Image filter graph — an ImageFilter node graph evaluated through IImageFilterContext / ScratchSurfacePool. Ships with a CPU reference executor and Direct2D / Metal / OpenGL GPU executors, plus a separable Gaussian blur as a built-in node.
  • External GPU / raster interopIRasterSource, ExternalRasterSource, ExternalGpuWriteScope, GpuInteropInvalidation, and GpuResourceAffinity expose externally owned or GPU-resident textures as IImage without copy, and manage write scopes and invalidation for shared GPU resources. On Win32, D3D11 surfaces are shared into OpenGL contexts via WGL_NV_DX_interop.
  • Shared D3D11 device across Direct2D consumersD3D11RenderTargetDeviceProvider lets multiple D2D consumers (GPU surfaces, DXGI images, etc.) reuse a single D3D11 device, removing duplicate device creation and cross-context state churn.
  • External DIB image + 1:1 BitBlt fast path (GDI) — externally owned DIBs are wrapped as IImage without an intermediate copy, and matching source/destination rectangles take a direct BitBlt path instead of StretchBlt, improving both pixel accuracy and cost.
  • Asynchronous OpenGL PBO uploads — a pool of PBO + fence-sync uploaders eliminates per-frame texture upload stalls.
  • IGraphicsContext extensionsSetClipPath(PathGeometry) and GetClipBoundsLocal().
  • IImageBrush + TileMode — image / pattern fill brush.
  • PathGeometry.Transform(Matrix3x2) — bakes a transform matrix into the geometry so that a subsequent Stroke preserves element-DIP thickness.
  • IGlyphOutlineFont — every font backend can extract glyph outlines as PathGeometry, with synthetic bold / italic support.
  • HasAlpha flag on bitmap resources — skips GPU blending cost for sources that do not carry alpha.
  • IPixelBufferSource.IsStreaming flag — explicit hint that the buffer is updated frequently. The MewVG asynchronous PBO upload path now branches on this instead of a size heuristic.
  • SIMD RGBA↔BGRA channel swap — AVX2 and SSSE3 32 bpp R/B swap with in-place support.
  • ImageSource.FromBgraPixels and PixelFormatConverter.FromRgba — helpers for raw pixel input and non-BGRA inputs.

Platform

  • Win32 transparent-window mode abstractionIWin32TransparencyCapabilities exposes which mode (layered HWND / DirectComposition / opaque) each backend supports. Includes DirectComposition native bindings such as DCompositionCreateDevice.
  • Precise (high-resolution) mouse wheel scrolling (#​152) — both vertical and horizontal axes, including X11 horizontal wheel (#​149) and Win32 high-resolution deltas. SmallChange / LargeChange are now available on every RangeBase control.
  • Continuous rendering during OS modal loops (#​145) — animations and live previews keep updating while a native modal (resize, move, drag) is active.
  • Mouse leave tracking via TRACKMOUSEEVENT — reliable MouseLeave events on Win32 (#​148).
    ... (truncated)

Commits viewable in compare view.

Updated Aprillz.MewUI.Backend.Direct2D from 0.15.2 to 0.17.1.

Release notes

Sourced from Aprillz.MewUI.Backend.Direct2D's releases.

0.17.1

What's Changed

Following the MewUI.Skia and MewUI.MewDock extensions that shipped with v0.16.0, this release continues to grow the MewUI ecosystem with two more native extensions: the new MewUI.Svg library (deferred from v0.16.0) and the new MewUI.MewCharts charts extension. On the core side, the Image control gains first-class vector image source support, the MewUI.WebView2.Win32 add-on package is renamed for naming consistency, and two outstanding layout bugs around MinWidth / MaxWidth constraints are fixed.

Added

Libraries

  • MewUI.Svg library — SVG rendering library that lives under extensions/MewUI.Svg. Builds on top of the v0.16.0 GPU interop foundation to composite SVG content directly onto each backend's GPU surface. Vendored on top of the SVG.NET submodule for the parser. Ships with SvgImageSource, which wraps an SVG document as an IImageSource so it can be assigned to Image.Source like any bitmap (with color tinting via Tint for icon use cases), and MewUI.Svg.Sample includes an Icons tab that bundles icons.zip (Simple Icons set) and demonstrates loading and tinting SVG icons at runtime.
    Aprillz MewUI Svg Sample_Cbqk1mzdM8

  • MewUI.MewCharts library — charts extension built on a vendored LiveChartsCore (LiveCharts2 v2.0.4) backend, drawing through the MewUI rendering pipeline.
    Aprillz MewUI MewCharts Sample_rR2EVDrptn

Controls

  • Vector image source support in Image control — adds the IVectorImageSource interface and a dedicated RenderVector path so that vector sources are measured and drawn at native vector resolution. Image.MeasureContent and OnRender resolve vector vs. raster sources automatically.

Diagnostics / analyzers

  • MEW1104 analyzer rule — code-fix that refactors "assignment to fluent call" patterns into idiomatic chained form. Documented in the analyzer README in both English and Korean.

Improved

Backend / platform

  • GDI hit-test against complex clip regions via PtVisible — pixel compositing is now restricted to the HDC clip bounds, improving culling accuracy for non-rectangular clips.

Controls

  • Focus is cleared on a left click that hits no focus target (#​91) — clicking empty space now releases focus instead of leaving the previous element selected.

Fixed

Layout

  • Auto measure constraints not clamped to MinWidth / MaxWidth (#​173) — auto Width / Height now clamp to the element's min/max bounds before measuring content, while explicit Width / Height keep their existing desired-size behavior.
  • Explicit size lost after min/max constraints (#​170) — an explicitly assigned Width / Height is now preserved after the min/max pass instead of being collapsed.

⚠️ Breaking Changes

  • MewUI.Win32.WebView2 renamed to MewUI.WebView2.Win32 — the package, source folder, and project / sample references are renamed to match the MewUI.<Feature>.<Platform> convention used by other platform-specific projects. Consumers must update their PackageReference / ProjectReference.

변경 사항

v0.16.0과 함께 도입된 MewUI.Skia / MewUI.MewDock 확장에 이어, 이번 릴리즈에서는 네이티브 확장 두 가지를 추가로 도입해 MewUI 생태계를 계속 확장합니다. v0.16.0에서 다음 릴리즈로 미뤘던 MewUI.Svg 라이브러리와 새 MewUI.MewCharts 차트 확장이 새로 도입되고, 코어 Image 컨트롤에는 벡터 이미지 소스 지원이 추가되며, MewUI.WebView2.Win32 부가 패키지의 이름이 명명 규칙에 맞게 정리되고, MinWidth / MaxWidth 제약과 관련된 미해결 레이아웃 버그 두 건도 함께 해결됩니다.

추가됨

라이브러리

  • MewUI.Svg 라이브러리extensions/MewUI.Svg에 위치한 SVG 렌더링 라이브러리. v0.16.0에서 도입한 GPU 인터롭 기반 위에서 SVG 콘텐츠를 각 백엔드의 GPU 서피스 위로 직접 합성. 파서는 SVG.NET 서브모듈을 사용. SVG 문서를 IImageSource로 래핑해 비트맵과 동일하게 Image.Source에 할당할 수 있는 SvgImageSource(아이콘 활용을 위한 컬러 틴팅 Tint 지원)를 함께 제공하며, MewUI.Svg.Sample에는 Simple Icons 세트가 담긴 icons.zip을 번들로 제공하고 런타임에 SVG 아이콘을 로드 및 틴팅하는 Icons 탭이 포함되어 있음.
  • MewUI.MewCharts 라이브러리LiveChartsCore(LiveCharts2 v2.0.4) 백엔드 기반 차트 확장. MewUI 렌더링 파이프라인을 통해 그려짐.

컨트롤

  • Image 컨트롤의 벡터 이미지 소스 지원IVectorImageSource 인터페이스와 전용 RenderVector 경로 추가. 벡터 소스는 네이티브 벡터 해상도로 측정되고 그려지며, Image.MeasureContent / OnRender가 벡터 / 래스터 소스를 자동으로 분기 처리.
    ... (truncated)

0.16.0

What's Changed

This release introduces a new GPU-accelerated rendering and interop foundation for MewUI.
It replaces the previous offscreen render-target abstraction with the new IRenderSurface / IRenderDevice model, adds external GPU/raster interop paths, and introduces a GPU-accelerated image filter graph.

The most visible results of this work are the new MewUI.Skia integration and the FFmpeg-based video playback sample.

On top of that foundation, this release adds several user-facing features, including the ColorPicker control and a live hierarchical performance profiler.
It also includes major backend improvements such as asynchronous OpenGL PBO uploads, Win32 transparent windows backed by DirectComposition, a shared D3D11 device across Direct2D consumers, and a 1:1 BitBlt fast path for external GDI DIBs.

Because the release contains breaking changes across backend interfaces and the platform-surface namespace, custom backends, WriteableBitmapControl, and code that uses platform-surface interfaces will need to be migrated.

Added

Libraries / samples

  • MewUI.Skia library — Skia integration over the GPU interop path. Composes Skia (SKCanvas) content zero-copy inside the MewUI control tree. Ships per-backend interop bridges and metapackages for Direct2D, GDI, MewVG.Win32, MewVG.X11, and MewVG.MacOS (SkiaSharp 3.x).
    Aprillz MewUI Skia Sample_jXYs619rqW

  • MewUI.MewDock docking framework — a tabbed / split docking system with a companion sample.

  • MewUI.Analyzers — Roslyn analyzers and code fixes for common MewUI patterns, shipped as an analyzer NuGet for consumer projects.
    devenv_SQEyrIKVVW

  • MewUI.Test — comprehensive test suites for binding, events, and the GDI backend.

  • Skia sample app (#​116)MewUI.Skia.Sample, with backend toggle to compare GPU and CPU fallback paths.

  • FFmpeg-based video playback sampleMewUI.Video.Sample, with NVDEC hardware-decode fallback. Decoder frames are displayed without a copy through the external GPU interop path.

  • OffscreenControl and custom rendering sample (#​153) — caches a subtree to an offscreen surface that the host control draws as a single image.

Rendering / backend

  • Image filter graph — an ImageFilter node graph evaluated through IImageFilterContext / ScratchSurfacePool. Ships with a CPU reference executor and Direct2D / Metal / OpenGL GPU executors, plus a separable Gaussian blur as a built-in node.
  • External GPU / raster interopIRasterSource, ExternalRasterSource, ExternalGpuWriteScope, GpuInteropInvalidation, and GpuResourceAffinity expose externally owned or GPU-resident textures as IImage without copy, and manage write scopes and invalidation for shared GPU resources. On Win32, D3D11 surfaces are shared into OpenGL contexts via WGL_NV_DX_interop.
  • Shared D3D11 device across Direct2D consumersD3D11RenderTargetDeviceProvider lets multiple D2D consumers (GPU surfaces, DXGI images, etc.) reuse a single D3D11 device, removing duplicate device creation and cross-context state churn.
  • External DIB image + 1:1 BitBlt fast path (GDI) — externally owned DIBs are wrapped as IImage without an intermediate copy, and matching source/destination rectangles take a direct BitBlt path instead of StretchBlt, improving both pixel accuracy and cost.
  • Asynchronous OpenGL PBO uploads — a pool of PBO + fence-sync uploaders eliminates per-frame texture upload stalls.
  • IGraphicsContext extensionsSetClipPath(PathGeometry) and GetClipBoundsLocal().
  • IImageBrush + TileMode — image / pattern fill brush.
  • PathGeometry.Transform(Matrix3x2) — bakes a transform matrix into the geometry so that a subsequent Stroke preserves element-DIP thickness.
  • IGlyphOutlineFont — every font backend can extract glyph outlines as PathGeometry, with synthetic bold / italic support.
  • HasAlpha flag on bitmap resources — skips GPU blending cost for sources that do not carry alpha.
  • IPixelBufferSource.IsStreaming flag — explicit hint that the buffer is updated frequently. The MewVG asynchronous PBO upload path now branches on this instead of a size heuristic.
  • SIMD RGBA↔BGRA channel swap — AVX2 and SSSE3 32 bpp R/B swap with in-place support.
  • ImageSource.FromBgraPixels and PixelFormatConverter.FromRgba — helpers for raw pixel input and non-BGRA inputs.

Platform

  • Win32 transparent-window mode abstractionIWin32TransparencyCapabilities exposes which mode (layered HWND / DirectComposition / opaque) each backend supports. Includes DirectComposition native bindings such as DCompositionCreateDevice.
  • Precise (high-resolution) mouse wheel scrolling (#​152) — both vertical and horizontal axes, including X11 horizontal wheel (#​149) and Win32 high-resolution deltas. SmallChange / LargeChange are now available on every RangeBase control.
  • Continuous rendering during OS modal loops (#​145) — animations and live previews keep updating while a native modal (resize, move, drag) is active.
  • Mouse leave tracking via TRACKMOUSEEVENT — reliable MouseLeave events on Win32 (#​148).
    ... (truncated)

Commits viewable in compare view.

Updated Aprillz.MewUI.Backend.MewVG.MacOS from 0.15.2 to 0.17.1.

Release notes

Sourced from Aprillz.MewUI.Backend.MewVG.MacOS's releases.

0.17.1

What's Changed

Following the MewUI.Skia and MewUI.MewDock extensions that shipped with v0.16.0, this release continues to grow the MewUI ecosystem with two more native extensions: the new MewUI.Svg library (deferred from v0.16.0) and the new MewUI.MewCharts charts extension. On the core side, the Image control gains first-class vector image source support, the MewUI.WebView2.Win32 add-on package is renamed for naming consistency, and two outstanding layout bugs around MinWidth / MaxWidth constraints are fixed.

Added

Libraries

  • MewUI.Svg library — SVG rendering library that lives under extensions/MewUI.Svg. Builds on top of the v0.16.0 GPU interop foundation to composite SVG content directly onto each backend's GPU surface. Vendored on top of the SVG.NET submodule for the parser. Ships with SvgImageSource, which wraps an SVG document as an IImageSource so it can be assigned to Image.Source like any bitmap (with color tinting via Tint for icon use cases), and MewUI.Svg.Sample includes an Icons tab that bundles icons.zip (Simple Icons set) and demonstrates loading and tinting SVG icons at runtime.
    Aprillz MewUI Svg Sample_Cbqk1mzdM8

  • MewUI.MewCharts library — charts extension built on a vendored LiveChartsCore (LiveCharts2 v2.0.4) backend, drawing through the MewUI rendering pipeline.
    Aprillz MewUI MewCharts Sample_rR2EVDrptn

Controls

  • Vector image source support in Image control — adds the IVectorImageSource interface and a dedicated RenderVector path so that vector sources are measured and drawn at native vector resolution. Image.MeasureContent and OnRender resolve vector vs. raster sources automatically.

Diagnostics / analyzers

  • MEW1104 analyzer rule — code-fix that refactors "assignment to fluent call" patterns into idiomatic chained form. Documented in the analyzer README in both English and Korean.

Improved

Backend / platform

  • GDI hit-test against complex clip regions via PtVisible — pixel compositing is now restricted to the HDC clip bounds, improving culling accuracy for non-rectangular clips.

Controls

  • Focus is cleared on a left click that hits no focus target (#​91) — clicking empty space now releases focus instead of leaving the previous element selected.

Fixed

Layout

  • Auto measure constraints not clamped to MinWidth / MaxWidth (#​173) — auto Width / Height now clamp to the element's min/max bounds before measuring content, while explicit Width / Height keep their existing desired-size behavior.
  • Explicit size lost after min/max constraints (#​170) — an explicitly assigned Width / Height is now preserved after the min/max pass instead of being collapsed.

⚠️ Breaking Changes

  • MewUI.Win32.WebView2 renamed to MewUI.WebView2.Win32 — the package, source folder, and project / sample references are renamed to match the MewUI.<Feature>.<Platform> convention used by other platform-specific projects. Consumers must update their PackageReference / ProjectReference.

변경 사항

v0.16.0과 함께 도입된 MewUI.Skia / MewUI.MewDock 확장에 이어, 이번 릴리즈에서는 네이티브 확장 두 가지를 추가로 도입해 MewUI 생태계를 계속 확장합니다. v0.16.0에서 다음 릴리즈로 미뤘던 MewUI.Svg 라이브러리와 새 MewUI.MewCharts 차트 확장이 새로 도입되고, 코어 Image 컨트롤에는 벡터 이미지 소스 지원이 추가되며, MewUI.WebView2.Win32 부가 패키지의 이름이 명명 규칙에 맞게 정리되고, MinWidth / MaxWidth 제약과 관련된 미해결 레이아웃 버그 두 건도 함께 해결됩니다.

추가됨

라이브러리

  • MewUI.Svg 라이브러리extensions/MewUI.Svg에 위치한 SVG 렌더링 라이브러리. v0.16.0에서 도입한 GPU 인터롭 기반 위에서 SVG 콘텐츠를 각 백엔드의 GPU 서피스 위로 직접 합성. 파서는 SVG.NET 서브모듈을 사용. SVG 문서를 IImageSource로 래핑해 비트맵과 동일하게 Image.Source에 할당할 수 있는 SvgImageSource(아이콘 활용을 위한 컬러 틴팅 Tint 지원)를 함께 제공하며, MewUI.Svg.Sample에는 Simple Icons 세트가 담긴 icons.zip을 번들로 제공하고 런타임에 SVG 아이콘을 로드 및 틴팅하는 Icons 탭이 포함되어 있음.
  • MewUI.MewCharts 라이브러리LiveChartsCore(LiveCharts2 v2.0.4) 백엔드 기반 차트 확장. MewUI 렌더링 파이프라인을 통해 그려짐.

컨트롤

  • Image 컨트롤의 벡터 이미지 소스 지원IVectorImageSource 인터페이스와 전용 RenderVector 경로 추가. 벡터 소스는 네이티브 벡터 해상도로 측정되고 그려지며, Image.MeasureContent / OnRender가 벡터 / 래스터 소스를 자동으로 분기 처리.
    ... (truncated)

0.16.0

What's Changed

This release introduces a new GPU-accelerated rendering and interop foundation for MewUI.
It replaces the previous offscreen render-target abstraction with the new IRenderSurface / IRenderDevice model, adds external GPU/raster interop paths, and introduces a GPU-accelerated image filter graph.

The most visible results of this work are the new MewUI.Skia integration and the FFmpeg-based video playback sample.

On top of that foundation, this release adds several user-facing features, including the ColorPicker control and a live hierarchical performance profiler.
It also includes major backend improvements such as asynchronous OpenGL PBO uploads, Win32 transparent windows backed by DirectComposition, a shared D3D11 device across Direct2D consumers, and a 1:1 BitBlt fast path for external GDI DIBs.

Because the release contains breaking changes across backend interfaces and the platform-surface namespace, custom backends, WriteableBitmapControl, and code that uses platform-surface interfaces will need to be migrated.

Added

Libraries / samples

  • MewUI.Skia library — Skia integration over the GPU interop path. Composes Skia (SKCanvas) content zero-copy inside the MewUI control tree. Ships per-backend interop bridges and metapackages for Direct2D, GDI, MewVG.Win32, MewVG.X11, and MewVG.MacOS (SkiaSharp 3.x).
    Aprillz MewUI Skia Sample_jXYs619rqW

  • MewUI.MewDock docking framework — a tabbed / split docking system with a companion sample.

  • MewUI.Analyzers — Roslyn analyzers and code fixes for common MewUI patterns, shipped as an analyzer NuGet for consumer projects.
    devenv_SQEyrIKVVW

  • MewUI.Test — comprehensive test suites for binding, events, and the GDI backend.

  • Skia sample app (#​116)MewUI.Skia.Sample, with backend toggle to compare GPU and CPU fallback paths.

  • FFmpeg-based video playback sampleMewUI.Video.Sample, with NVDEC hardware-decode fallback. Decoder frames are displayed without a copy through the external GPU interop path.

  • OffscreenControl and custom rendering sample (#​153) — caches a subtree to an offscreen surface that the host control draws as a single image.

Rendering / backend

  • Image filter graph — an ImageFilter node graph evaluated through IImageFilterContext / ScratchSurfacePool. Ships with a CPU reference executor and Direct2D / Metal / OpenGL GPU executors, plus a separable Gaussian blur as a built-in node.
  • External GPU / raster interopIRasterSource, ExternalRasterSource, ExternalGpuWriteScope, GpuInteropInvalidation, and GpuResourceAffinity expose externally owned or GPU-resident textures as IImage without copy, and manage write scopes and invalidation for shared GPU resources. On Win32, D3D11 surfaces are shared into OpenGL contexts via WGL_NV_DX_interop.
  • Shared D3D11 device across Direct2D consumersD3D11RenderTargetDeviceProvider lets multiple D2D consumers (GPU surfaces, DXGI images, etc.) reuse a single D3D11 device, removing duplicate device creation and cross-context state churn.
  • External DIB image + 1:1 BitBlt fast path (GDI) — externally owned DIBs are wrapped as IImage without an intermediate copy, and matching source/destination rectangles take a direct BitBlt path instead of StretchBlt, improving both pixel accuracy and cost.
  • Asynchronous OpenGL PBO uploads — a pool of PBO + fence-sync uploaders eliminates per-frame texture upload stalls.
  • IGraphicsContext extensionsSetClipPath(PathGeometry) and GetClipBoundsLocal().
  • IImageBrush + TileMode — image / pattern fill brush.
  • PathGeometry.Transform(Matrix3x2) — bakes a transform matrix into the geometry so that a subsequent Stroke preserves element-DIP thickness.
  • IGlyphOutlineFont — every font backend can extract glyph outlines as PathGeometry, with synthetic bold / italic support.
  • HasAlpha flag on bitmap resources — skips GPU blending cost for sources that do not carry alpha.
  • IPixelBufferSource.IsStreaming flag — explicit hint that the buffer is updated frequently. The MewVG asynchronous PBO upload path now branches on this instead of a size heuristic.
  • SIMD RGBA↔BGRA channel swap — AVX2 and SSSE3 32 bpp R/B swap with in-place support.
  • ImageSource.FromBgraPixels and PixelFormatConverter.FromRgba — helpers for raw pixel input and non-BGRA inputs.

Platform

  • Win32 transparent-window mode abstractionIWin32TransparencyCapabilities exposes which mode (layered HWND / DirectComposition / opaque) each backend supports. Includes DirectComposition native bindings such as DCompositionCreateDevice.
  • Precise (high-resolution) mouse wheel scrolling (#​152) — both vertical and horizontal axes, including X11 horizontal wheel (#​149) and Win32 high-resolution deltas. SmallChange / LargeChange are now available on every RangeBase control.
  • Continuous rendering during OS modal loops (#​145) — animations and live previews keep updating while a native modal (resize, move, drag) is active.
  • Mouse leave tracking via TRACKMOUSEEVENT — reliable MouseLeave events on Win32 (#​148).
    ... (truncated)

Commits viewable in compare view.

Updated Aprillz.MewUI.Backend.MewVG.X11 from 0.15.2 to 0.17.1.

Release notes

Sourced from Aprillz.MewUI.Backend.MewVG.X11's releases.

0.17.1

What's Changed

Following the MewUI.Skia and MewUI.MewDock extensions that shipped with v0.16.0, this release continues to grow the MewUI ecosystem with two more native extensions: the new MewUI.Svg library (deferred from v0.16.0) and the new MewUI.MewCharts charts extension. On the core side, the Image control gains first-class vector image source support, the MewUI.WebView2.Win32 add-on package is renamed for naming consistency, and two outstanding layout bugs around MinWidth / MaxWidth constraints are fixed.

Added

Libraries

  • MewUI.Svg library — SVG rendering library that lives under extensions/MewUI.Svg. Builds on top of the v0.16.0 GPU interop foundation to composite SVG content directly onto each backend's GPU surface. Vendored on top of the SVG.NET submodule for the parser. Ships with SvgImageSource, which wraps an SVG document as an IImageSource so it can be assigned to Image.Source like any bitmap (with color tinting via Tint for icon use cases), and MewUI.Svg.Sample includes an Icons tab that bundles icons.zip (Simple Icons set) and demonstrates loading and tinting SVG icons at runtime.
    Aprillz MewUI Svg Sample_Cbqk1mzdM8

  • MewUI.MewCharts library — charts extension built on a vendored LiveChartsCore (LiveCharts2 v2.0.4) backend, drawing through the MewUI rendering pipeline.
    Aprillz MewUI MewCharts Sample_rR2EVDrptn

Controls

  • Vector image source support in Image control — adds the IVectorImageSource interface and a dedicated RenderVector path so that vector sources are measured and drawn at native vector resolution. Image.MeasureContent and OnRender resolve vector vs. raster sources automatically.

Diagnostics / analyzers

  • MEW1104 analyzer rule — code-fix that refactors "assignment to fluent call" patterns into idiomatic chained form. Documented in the analyzer README in both English and Korean.

Improved

Backend / platform

  • GDI hit-test against complex clip regions via PtVisible — pixel compositing is now restricted to the HDC clip bounds, improving culling accuracy for non-rectangular clips.

Controls

  • Focus is cleared on a left click that hits no focus target (#​91) — clicking empty space now releases focus instead of leaving the previous element selected.

Fixed

Layout

  • Auto measure constraints not clamped to MinWidth / MaxWidth (#​173) — auto Width / Height now clamp to the element's min/max bounds before measuring content, while explicit Width / Height keep their existing desired-size behavior.
  • Explicit size lost after min/max constraints (#​170) — an explicitly assigned Width / Height is now preserved after the min/max pass instead of being collapsed.

⚠️ Breaking Changes

  • MewUI.Win32.WebView2 renamed to MewUI.WebView2.Win32 — the package, source folder, and project / sample references are renamed to match the MewUI.<Feature>.<Platform> convention used by other platform-specific projects. Consumers must update their PackageReference / ProjectReference.

변경 사항

v0.16.0과 함께 도입된 MewUI.Skia / MewUI.MewDock 확장에 이어, 이번 릴리즈에서는 네이티브 확장 두 가지를 추가로 도입해 MewUI 생태계를 계속 확장합니다. v0.16.0에서 다음 릴리즈로 미뤘던 MewUI.Svg 라이브러리와 새 MewUI.MewCharts 차트 확장이 새로 도입되고, 코어 Image 컨트롤에는 벡터 이미지 소스 지원이 추가되며, MewUI.WebView2.Win32 부가 패키지의 이름이 명명 규칙에 맞게 정리되고, MinWidth / MaxWidth 제약과 관련된 미해결 레이아웃 버그 두 건도 함께 해결됩니다.

추가됨

라이브러리

  • MewUI.Svg 라이브러리extensions/MewUI.Svg에 위치한 SVG 렌더링 라이브러리. v0.16.0에서 도입한 GPU 인터롭 기반 위에서 SVG 콘텐츠를 각 백엔드의 GPU 서피스 위로 직접 합성. 파서는 SVG.NET 서브모듈을 사용. SVG 문서를 IImageSource로 래핑해 비트맵과 동일하게 Image.Source에 할당할 수 있는 SvgImageSource(아이콘 활용을 위한 컬러 틴팅 Tint 지원)를 함께 제공하며, MewUI.Svg.Sample에는 Simple Icons 세트가 담긴 icons.zip을 번들로 제공하고 런타임에 SVG 아이콘을 로드 및 틴팅하는 Icons 탭이 포함되어 있음.
  • MewUI.MewCharts 라이브러리LiveChartsCore(LiveCharts2 v2.0.4) 백엔드 기반 차트 확장. MewUI 렌더링 파이프라인을 통해 그려짐.

컨트롤

  • Image 컨트롤의 벡터 이미지 소스 지원IVectorImageSource 인터페이스와 전용 RenderVector 경로 추가. 벡터 소스는 네이티브 벡터 해상도로 측정되고 그려지며, Image.MeasureContent / OnRender가 벡터 / 래스터 소스를 자동으로 분기 처리.
    ... (truncated)

0.16.0

What's Changed

This release introduces a new GPU-accelerated rendering and interop foundation for MewUI.
It replaces the previous offscreen render-target abstraction with the new IRenderSurface / IRenderDevice model, adds external GPU/raster interop paths, and introduces a GPU-accelerated image filter graph.

The most visible results of this work are the new MewUI.Skia integration and the FFmpeg-based video playback sample.

On top of that foundation, this release adds several user-facing features, including the ColorPicker control and a live hierarchical performance profiler.
It also includes major backend improvements such as asynchronous OpenGL PBO uploads, Win32 transparent windows backed by DirectComposition, a shared D3D11 device across Direct2D consumers, and a 1:1 BitBlt fast path for external GDI DIBs.

Because the release contains breaking changes across backend interfaces and the platform-surface namespace, custom backends, WriteableBitmapControl, and code that uses platform-surface interfaces will need to be migrated.

Added

Libraries / samples

  • MewUI.Skia library — Skia integration over the GPU interop path. Composes Skia (SKCanvas) content zero-copy inside the MewUI control tree. Ships per-backend interop bridges and metapackages for Direct2D, GDI, MewVG.Win32, MewVG.X11, and MewVG.MacOS (SkiaSharp 3.x).
    Aprillz MewUI Skia Sample_jXYs619rqW

  • MewUI.MewDock docking framework — a tabbed / split docking system with a companion sample.

  • MewUI.Analyzers — Roslyn analyzers and code fixes for common MewUI patterns, shipped as an analyzer NuGet for consumer projects.
    devenv_SQEyrIKVVW

  • MewUI.Test — comprehensive test suites for binding, events, and the GDI backend.

  • Skia sample app (#​116)MewUI.Skia.Sample, with backend toggle to compare GPU and CPU fallback paths.

  • FFmpeg-based video playback sampleMewUI.Video.Sample, with NVDEC hardware-decode fallback. Decoder frames are displayed without a copy through the external GPU interop path.

  • OffscreenControl and custom rendering sample (#​153) — caches a subtree to an offscreen surface that the host control draws as a single image.

Rendering / backend

  • Image filter graph — an ImageFilter node graph evaluated through IImageFilterContext / ScratchSurfacePool. Ships with a CPU reference executor and Direct2D / Metal / OpenGL GPU executors, plus a separable Gaussian blur as a built-in node.
  • External GPU / raster interopIRasterSource, ExternalRasterSource, ExternalGpuWriteScope, GpuInteropInvalidation, and GpuResourceAffinity expose externally owned or GPU-resident textures as IImage without copy, and manage write scopes and invalidation for shared GPU resources. On Win32, D3D11 surfaces are shared into OpenGL contexts via WGL_NV_DX_interop.
  • Shared D3D11 device across Direct2D consumersD3D11RenderTargetDeviceProvider lets multiple D2D consumers (GPU surfaces, DXGI images, etc.) reuse a single D3D11 device, removing duplicate device creation and cross-context state churn.
  • External DIB image + 1:1 BitBlt fast path (GDI) — externally owned DIBs are wrapped as IImage without an intermediate copy, and matching source/destination rectangles take a direct BitBlt path instead of StretchBlt, improving both pixel accuracy and cost.
  • Asynchronous OpenGL PBO uploads — a pool of PBO + fence-sync uploaders eliminates per-frame texture upload stalls.
  • IGraphicsContext extensionsSetClipPath(PathGeometry) and GetClipBoundsLocal().
  • IImageBrush + TileMode — image / pattern fill brush.
  • PathGeometry.Transform(Matrix3x2) — bakes a transform matrix into the geometry so that a subsequent Stroke preserves element-DIP thickness.
  • IGlyphOutlineFont — every font backend can extract glyph outlines as PathGeometry, with synthetic bold / italic support.
  • HasAlpha flag on bitmap resources — skips GPU blending cost for sources that do not carry alpha.
  • IPixelBufferSource.IsStreaming flag — explicit hint that the buffer is updated frequently. The MewVG asynchronous PBO upload path now branches on this instead of a size heuristic.
  • SIMD RGBA↔BGRA channel swap — AVX2 and SSSE3 32 bpp R/B swap with in-place support.
  • ImageSource.FromBgraPixels and PixelFormatConverter.FromRgba — helpers for raw pixel input and non-BGRA inputs.

Platform

  • Win32 transparent-window mode abstractionIWin32TransparencyCapabilities exposes which mode (layered HWND / DirectComposition / opaque) each backend supports. Includes DirectComposition native bindings such as DCompositionCreateDevice.
  • Precise (high-resolution) mouse wheel scrolling (#​152) — both vertical and horizontal axes, including X11 horizontal wheel (#​149) and Win32 high-resolution deltas. SmallChange / LargeChange are now available on every RangeBase control.
  • Continuous rendering during OS modal loops (#​145) — animations and live previews keep updating while a native modal (resize, move, drag) is active.
  • Mouse leave tracking via TRACKMOUSEEVENT — reliable MouseLeave events on Win32 (#​148).
    ... (truncated)

Commits viewable in compare view.

Updated Aprillz.MewUI.Platform.MacOS from 0.15.2 to 0.17.1.

Release notes

Sourced from Aprillz.MewUI.Platform.MacOS's releases.

0.17.1

What's Changed

Following the MewUI.Skia and MewUI.MewDock extensions that shipped with v0.16.0, this release continues to grow the MewUI ecosystem with two more native extensions: the new MewUI.Svg library (deferred from v0.16.0) and the new MewUI.MewCharts charts extension. On the core side, the Image control gains first-class vector image source support, the MewUI.WebView2.Win32 add-on package is renamed for naming consistency, and two outstanding layout bugs around MinWidth / MaxWidth constraints are fixed.

Added

Libraries

  • MewUI.Svg library — SVG rendering library that lives under extensions/MewUI.Svg. Builds on top of the v0.16.0 GPU interop foundation to composite SVG content directly onto each backend's GPU surface. Vendored on top of the SVG.NET submodule for the parser. Ships with SvgImageSource, which wraps an SVG document as an IImageSource so it can be assigned to Image.Source like any bitmap (with color tinting via Tint for icon use cases), and MewUI.Svg.Sample includes an Icons tab that bundles icons.zip (Simple Icons set) and demonstrates loading and tinting SVG icons at runtime.
    Aprillz MewUI Svg Sample_Cbqk1mzdM8

  • MewUI.MewCharts library — charts extension built on a vendored LiveChartsCore (LiveCharts2 v2.0.4) backend, drawing through the MewUI rendering pipeline.
    Aprillz MewUI MewCharts Sample_rR2EVDrptn

Controls

  • Vector image source support in Image control — adds the IVectorImageSource interface and a dedicated RenderVector path so that vector sources are measured and drawn at native vector resolution. Image.MeasureContent and OnRender resolve vector vs. raster sources automatically.

Diagnostics / analyzers

  • MEW1104 analyzer rule — code-fix that refactors "assignment to fluent call" patterns into idiomatic chained form. Documented in the analyzer README in both English and Korean.

Improved

Backend / platform

  • GDI hit-test against complex clip regions via PtVisible — pixel compositing is now restricted to the HDC clip bounds, improving culling accuracy for non-rectangular clips.

Controls

  • Focus is cleared on a left click that hits no focus target (#​91) — clicking empty space now releases focus instead of leaving the previous element selected.

Fixed

Layout

  • Auto measure constraints not clamped to MinWidth / MaxWidth (#​173) — auto Width / Height now clamp to the element's min/max bounds before measuring content, while explicit Width / Height keep their existing desired-size behavior.
  • Explicit size lost after min/max constraints (#​170) — an explicitly assigned Width / Height is now preserved after the min/max pass instead of being collapsed.

⚠️ Breaking Changes

  • MewUI.Win32.WebView2 renamed to MewUI.WebView2.Win32 — the package, source folder, and project / sample references are renamed to match the MewUI.<Feature>.<Platform> convention used by other platform-specific projects. Consumers must update their PackageReference / ProjectReference.

변경 사항

v0.16.0과 함께 도입된 MewUI.Skia / MewUI.MewDock 확장에 이어, 이번 릴리즈에서는 네이티브 확장 두 가지를 추가로 도입해 MewUI 생태계를 계속 확장합니다. v0.16.0에서 다음 릴리즈로 미뤘던 MewUI.Svg 라이브러리와 새 MewUI.MewCharts 차트 확장이 새로 도입되고, 코어 Image 컨트롤에는 벡터 이미지 소스 지원이 추가되며, MewUI.WebView2.Win32 부가 패키지의 이름이 명명 규칙에 맞게 정리되고, MinWidth / MaxWidth 제약과 관련된 미해결 레이아웃 버그 두 건도 함께 해결됩니다.

추가됨

라이브러리

  • MewUI.Svg 라이브러리extensions/MewUI.Svg에 위치한 SVG 렌더링 라이브러리. v0.16.0에서 도입한 GPU 인터롭 기반 위에서 SVG 콘텐츠를 각 백엔드의 GPU 서피스 위로 직접 합성. 파서는 SVG.NET 서브모듈을 사용. SVG 문서를 IImageSource로 래핑해 비트맵과 동일하게 Image.Source에 할당할 수 있는 SvgImageSource(아이콘 활용을 위한 컬러 틴팅 Tint 지원)를 함께 제공하며, MewUI.Svg.Sample에는 Simple Icons 세트가 담긴 icons.zip을 번들로 제공하고 런타임에 SVG 아이콘을 로드 및 틴팅하는 Icons 탭이 포함되어 있음.
  • MewUI.MewCharts 라이브러리LiveChartsCore(LiveCharts2 v2.0.4) 백엔드 기반 차트 확장. MewUI 렌더링 파이프라인을 통해 그려짐.

컨트롤

  • Image 컨트롤의 벡터 이미지 소스 지원IVectorImageSource 인터페이스와 전용 RenderVector 경로 추가. 벡터 소스는 네이티브 벡터 해상도로 측정되고 그려지며, Image.MeasureContent / OnRender가 벡터 / 래스터 소스를 자동으로 분기 처리.
    ... (truncated)

0.16.0

What's Changed

This release introduces a new GPU-accelerated rendering and interop foundation for MewUI.
It replaces the previous offscreen render-target abstraction with the new IRenderSurface / IRenderDevice model, adds external GPU/raster interop paths, and introduces a GPU-accelerated image filter graph.

The most visible results of this work are the new MewUI.Skia integration and the FFmpeg-based video playback sample.

On top of that foundation, this release adds several user-facing features, including the ColorPicker control and a live hierarchical performance profiler.
It also includes major backend improvements such as asynchronous OpenGL PBO uploads, Win32 transparent windows backed by DirectComposition, a shared D3D11 device across Direct2D consumers, and a 1:1 BitBlt fast path for external GDI DIBs.

Because the release contains breaking changes across backend interfaces and the platform-surface namespace, custom backends, WriteableBitmapControl, and code that uses platform-surface interfaces will need to be migrated.

Added

Libraries / samples

  • MewUI.Skia library — Skia integration over the GPU interop path. Composes Skia (SKCanvas) content zero-copy inside the MewUI control tree. Ships per-backend interop bridges and metapackages for Direct2D, GDI, MewVG.Win32, MewVG.X11, and MewVG.MacOS (SkiaSharp 3.x).
    Aprillz MewUI Skia Sample_jXYs619rqW

  • MewUI.MewDock docking framework — a tabbed / split docking system with a companion sample.

  • MewUI.Analyzers — Roslyn analyzers and code fixes for common MewUI patterns, shipped as an analyzer NuGet for consumer projects.
    devenv_SQEyrIKVVW

  • MewUI.Test — comprehensive test suites for binding, events, and the GDI backend.

  • Skia sample app (#​116)MewUI.Skia.Sample, with backend toggle to compare GPU and CPU fallback paths.

  • FFmpeg-based video playback sampleMewUI.Video.Sample, with NVDEC hardware-decode fallback. Decoder frames are displayed without a copy through the external GPU interop path.

  • OffscreenControl and custom rendering sample (#​153) — caches a subtree to an offscreen surface that the host control draws as a single image.

Rendering / backend

  • Image filter graph — an ImageFilter node graph evaluated through IImageFilterContext / ScratchSurfacePool. Ships with a CPU reference executor and Direct2D / Metal / OpenGL GPU executors, plus a separable Gaussian blur as a built-in node.
  • External GPU / raster interopIRasterSource, ExternalRasterSource, ExternalGpuWriteScope, GpuInteropInvalidation, and GpuResourceAffinity expose externally owned or GPU-resident textures as IImage without copy, and manage write scopes and invalidation for shared GPU resources. On Win32, D3D11 surfaces are shared into OpenGL contexts via WGL_NV_DX_interop.
  • Shared D3D11 device across Direct2D consumersD3D11RenderTargetDeviceProvider lets multiple D2D consumers (GPU surfaces, DXGI images, etc.) reuse a single D3D11 device, removing duplicate device creation and cross-context state churn.
  • External DIB image + 1:1 BitBlt fast path (GDI) — externally owned DIBs are wrapped as IImage without an intermediate copy, and matching source/destination rectangles take a direct BitBlt path instead of StretchBlt, improving both pixel accuracy and cost.
  • Asynchronous OpenGL PBO uploads — a pool of PBO + fence-sync uploaders eliminates per-frame texture upload stalls.
  • IGraphicsContext extensionsSetClipPath(PathGeometry) and GetClipBoundsLocal().
  • IImageBrush + TileMode — image / pattern fill brush.
  • PathGeometry.Transform(Matrix3x2) — bakes a transform matrix into the geometry so that a subsequent Stroke preserves element-DIP thickness.
  • IGlyphOutlineFont — every font backend can extract glyph outlines as PathGeometry, with synthetic bold / italic support.
  • HasAlpha flag on bitmap resources — skips GPU blending cost for sources that do not carry alpha.
  • IPixelBufferSource.IsStreaming flag — explicit hint that the buffer is updated frequently. The MewVG asynchronous PBO upload path now branches on this instead of a size heuristic.
  • SIMD RGBA↔BGRA channel swap — AVX2 and SSSE3 32 bpp R/B swap with in-place support.
  • ImageSource.FromBgraPixels and PixelFormatConverter.FromRgba — helpers for raw pixel input and non-BGRA inputs.

Platform

  • Win32 transparent-window mode abstractionIWin32TransparencyCapabilities exposes which mode (layered HWND / DirectComposition / opaque) each backend supports. Includes DirectComposition native bindings such as DCompositionCreateDevice.
  • Precise (high-resolution) mouse wheel scrolling (#​152) — both vertical and horizontal axes, including X11 horizontal wheel (#​149) and Win32 high-resolution deltas. SmallChange / LargeChange are now available on every RangeBase control.
  • Continuous rendering during OS modal loops (#​145) — animations and live previews keep updating while a native modal (resize, move, drag) is active.
  • Mouse leave tracking via TRACKMOUSEEVENT — reliable MouseLeave events on Win32 (#​148).
    ... (truncated)

Commits viewable in compare view.

Updated Aprillz.MewUI.Platform.Win32 from 0.15.2 to 0.17.1.

Release notes

Sourced from Aprillz.MewUI.Platform.Win32's releases.

0.17.1

What's Changed

Following the MewUI.Skia and MewUI.MewDock extensions that shipped with v0.16.0, this release continues to grow the MewUI ecosystem with two more native extensions: the new MewUI.Svg library (deferred from v0.16.0) and the new MewUI.MewCharts charts extension. On the core side, the Image control gains first-class vector image source support, the MewUI.WebView2.Win32 add-on package is renamed for naming consistency, and two outstanding layout bugs around MinWidth / MaxWidth constraints are fixed.

Added

Libraries

  • MewUI.Svg library — SVG rendering library that lives under extensions/MewUI.Svg. Builds on top of the v0.16.0 GPU interop foundation to composite SVG content directly onto each backend's GPU surface. Vendored on top of the SVG.NET submodule for the parser. Ships with SvgImageSource, which wraps an SVG document as an IImageSource so it can be assigned to Image.Source like any bitmap (with color tinting via Tint for icon use cases), and MewUI.Svg.Sample includes an Icons tab that bundles icons.zip (Simple Icons set) and demonstrates loading and tinting SVG icons at runtime.
    Aprillz MewUI Svg Sample_Cbqk1mzdM8

  • MewUI.MewCharts library — charts extension built on a vendored LiveChartsCore (LiveCharts2 v2.0.4) backend, drawing through the MewUI rendering pipeline.
    Aprillz MewUI MewCharts Sample_rR2EVDrptn

Controls

  • Vector image source support in Image control — adds the IVectorImageSource interface and a dedicated RenderVector path so that vector sources are measured and drawn at native vector resolution. Image.MeasureContent and OnRender resolve vector vs. raster sources automatically.

Diagnostics / analyzers

  • MEW1104 analyzer rule — code-fix that refactors "assignment to fluent call" patterns into idiomatic chained form. Documented in the analyzer README in both English and Korean.

Improved

Backend / platform

  • GDI hit-test against complex clip regions via PtVisible — pixel compositing is now restricted to the HDC clip bounds, improving culling accuracy for non-rectangular clips.

Controls

  • Focus is cleared on a left click that hits no focus target (#​91) — clicking empty space now releases focus instead of leaving the previous element selected.

Fixed

Layout

  • Auto measure constraints not clamped to MinWidth / MaxWidth (#​173) — auto Width / Height now clamp to the element's min/max bounds before measuring content, while explicit Width / Height keep their existing desired-size behavior.
  • Explicit size lost after min/max constraints (#​170) — an explicitly assigned Width / Height is now preserved after the min/max pass instead of being collapsed.

⚠️ Breaking Changes

  • MewUI.Win32.WebView2 renamed to MewUI.WebView2.Win32 — the package, source folder, and project / sample references are renamed to match the MewUI.<Feature>.<Platform> convention used by other platform-specific projects. Consumers must update their PackageReference / ProjectReference.

변경 사항

v0.16.0과 함께 도입된 MewUI.Skia / MewUI.MewDock 확장에 이어, 이번 릴리즈에서는 네이티브 확장 두 가지를 추가로 도입해 MewUI 생태계를 계속 확장합니다. v0.16.0에서 다음 릴리즈로 미뤘던 MewUI.Svg 라이브러리와 새 MewUI.MewCharts 차트 확장이 새로 도입되고, 코어 Image 컨트롤에는 벡터 이미지 소스 지원이 추가되며, MewUI.WebView2.Win32 부가 패키지의 이름이 명명 규칙에 맞게 정리되고, MinWidth / MaxWidth 제약과 관련된 미해결 레이아웃 버그 두 건도 함께 해결됩니다.

추가됨

라이브러리

  • MewUI.Svg 라이브러리extensions/MewUI.Svg에 위치한 SVG 렌더링 라이브러리. v0.16.0에서 도입한 GPU 인터롭 기반 위에서 SVG 콘텐츠를 각 백엔드의 GPU 서피스 위로 직접 합성. 파서는 SVG.NET 서브모듈을 사용. SVG 문서를 IImageSource로 래핑해 비트맵과 동일하게 Image.Source에 할당할 수 있는 SvgImageSource(아이콘 활용을 위한 컬러 틴팅 Tint 지원)를 함께 제공하며, MewUI.Svg.Sample에는 Simple Icons 세트가 담긴 icons.zip을 번들로 제공하고 런타임에 SVG 아이콘을 로드 및 틴팅하는 Icons 탭이 포함되어 있음.
  • MewUI.MewCharts 라이브러리LiveChartsCore(LiveCharts2 v2.0.4) 백엔드 기반 차트 확장. MewUI 렌더링 파이프라인을 통해 그려짐.

컨트롤

  • Image 컨트롤의 벡터 이미지 소스 지원IVectorImageSource 인터페이스와 전용 RenderVector 경로 추가. 벡터 소스는 네이티브 벡터 해상도로 측정되고 그려지며, Image.MeasureContent / OnRender가 벡터 / 래스터 소스를 자동으로 분기 처리.
    ... (truncated)

0.16.0

What's Changed

This release introduces a new GPU-accelerated rendering and interop foundation for MewUI.
It replaces the previous offscreen render-target abstraction with the new IRenderSurface / IRenderDevice model, adds external GPU/raster interop paths, and introduces a GPU-accelerated image filter graph.

The most visible results of this work are the new MewUI.Skia integration and the FFmpeg-based video playback sample.

On top of that foundation, this release adds several user-facing features, including the ColorPicker control and a live hierarchical performance profiler.
It also includes major backend improvements such as asynchronous OpenGL PBO uploads, Win32 transparent windows backed by DirectComposition, a shared D3D11 device across Direct2D consumers, and a 1:1 BitBlt fast path for external GDI DIBs.

Because the release contains breaking changes across backend interfaces and the platform-surface namespace, custom backends, WriteableBitmapControl, and code that uses platform-surface interfaces will need to be migrated.

Added

Libraries / samples

  • MewUI.Skia library — Skia integration over the GPU interop path. Composes Skia (SKCanvas) content zero-copy inside the MewUI control tree. Ships per-backend interop bridges and metapackages for Direct2D, GDI, MewVG.Win32, MewVG.X11, and MewVG.MacOS (SkiaSharp 3.x).
    Aprillz MewUI Skia Sample_jXYs619rqW

  • MewUI.MewDock docking framework — a tabbed / split docking system with a companion sample.

  • MewUI.Analyzers — Roslyn analyzers and code fixes for common MewUI patterns, shipped as an analyzer NuGet for consumer projects.
    devenv_SQEyrIKVVW

  • MewUI.Test — comprehensive test suites for binding, events, and the GDI backend.

  • Skia sample app (#​116)MewUI.Skia.Sample, with backend toggle to compare GPU and CPU fallback paths.

  • FFmpeg-based video playback sampleMewUI.Video.Sample, with NVDEC hardware-decode fallback. Decoder frames are displayed without a copy through the external GPU interop path.

  • OffscreenControl and custom rendering sample (#​153) — caches a subtree to an offscreen surface that the host control draws as a single image.

Rendering / backend

  • Image filter graph — an ImageFilter node graph evaluated through IImageFilterContext / ScratchSurfacePool. Ships with a CPU reference executor and Direct2D / Metal / OpenGL GPU executors, plus a separable Gaussian blur as a built-in node.
  • External GPU / raster interopIRasterSource, ExternalRasterSource, ExternalGpuWriteScope, GpuInteropInvalidation, and GpuResourceAffinity expose externally owned or GPU-resident textures as IImage without copy, and manage write scopes and invalidation for shared GPU resources. On Win32, D3D11 surfaces are shared into OpenGL contexts via WGL_NV_DX_interop.
  • Shared D3D11 device across Direct2D consumersD3D11RenderTargetDeviceProvider lets multiple D2D consumers (GPU surfaces, DXGI images, etc.) reuse a single D3D11 device, removing duplicate device creation and cross-context state churn.
  • External DIB image + 1:1 BitBlt fast path (GDI) — externally owned DIBs are wrapped as IImage without an intermediate copy, and matching source/destination rectangles take a direct BitBlt path instead of StretchBlt, improving both pixel accuracy and cost.
  • Asynchronous OpenGL PBO uploads — a pool of PBO + fence-sync uploaders eliminates per-frame texture upload stalls.
  • IGraphicsContext extensionsSetClipPath(PathGeometry) and GetClipBoundsLocal().
  • IImageBrush + TileMode — image / pattern fill brush.
  • PathGeometry.Transform(Matrix3x2) — bakes a transform matrix into the geometry so that a subsequent Stroke preserves element-DIP thickness.
  • IGlyphOutlineFont — every font backend can extract glyph outlines as PathGeometry, with synthetic bold / italic support.
  • HasAlpha flag on bitmap resources — skips GPU blending cost for sources that do not carry alpha.
  • IPixelBufferSource.IsStreaming flag — explicit hint that the buffer is updated frequently. The MewVG asynchronous PBO upload path now branches on this instead of a size heuristic.
  • SIMD RGBA↔BGRA channel swap — AVX2 and SSSE3 32 bpp R/B swap with in-place support.
  • ImageSource.FromBgraPixels and PixelFormatConverter.FromRgba — helpers for raw pixel input and non-BGRA inputs.

Platform

  • Win32 transparent-window mode abstractionIWin32TransparencyCapabilities exposes which mode (layered HWND / DirectComposition / opaque) each backend supports. Includes DirectComposition native bindings such as DCompositionCreateDevice.
  • Precise (high-resolution) mouse wheel scrolling (#​152) — both vertical and horizontal axes, including X11 horizontal wheel (#​149) and Win32 high-resolution deltas. SmallChange / LargeChange are now available on every RangeBase control.
  • Continuous rendering during OS modal loops (#​145) — animations and live previews keep updating while a native modal (resize, move, drag) is active.
  • Mouse leave tracking via TRACKMOUSEEVENT — reliable MouseLeave events on Win32 (#​148).
    ... (truncated)

Commits viewable in compare view.

Updated Aprillz.MewUI.Platform.X11 from 0.15.2 to 0.17.1.

Release notes

Sourced from Aprillz.MewUI.Platform.X11's releases.

0.17.1

What's Changed

Following the MewUI.Skia and MewUI.MewDock extensions that shipped with v0.16.0, this release continues to grow the MewUI ecosystem with two more native extensions: the new MewUI.Svg library (deferred from v0.16.0) and the new MewUI.MewCharts charts extension. On the core side, the Image control gains first-class vector image source support, the MewUI.WebView2.Win32 add-on package is renamed for naming consistency, and two outstanding layout bugs around MinWidth / MaxWidth constraints are fixed.

Added

Libraries

  • MewUI.Svg library — SVG rendering library that lives under extensions/MewUI.Svg. Builds on top of the v0.16.0 GPU interop foundation to composite SVG content directly onto each backend's GPU surface. Vendored on top of the SVG.NET submodule for the parser. Ships with SvgImageSource, which wraps an SVG document as an IImageSource so it can be assigned to Image.Source like any bitmap (with color tinting via Tint for icon use cases), and MewUI.Svg.Sample includes an Icons tab that bundles icons.zip (Simple Icons set) and demonstrates loading and tinting SVG icons at runtime.
    Aprillz MewUI Svg Sample_Cbqk1mzdM8

  • MewUI.MewCharts library — charts extension built on a vendored LiveChartsCore (LiveCharts2 v2.0.4) backend, drawing through the MewUI rendering pipeline.
    Aprillz MewUI MewCharts Sample_rR2EVDrptn

Controls

  • Vector image source support in Image control — adds the IVectorImageSource interface and a dedicated RenderVector path so that vector sources are measured and drawn at native vector resolution. Image.MeasureContent and OnRender resolve vector vs. raster sources automatically.

Diagnostics / analyzers

  • MEW1104 analyzer rule — code-fix that refactors "assignment to fluent call" patterns into idiomatic chained form. Documented in the analyzer README in both English and Korean.

Improved

Backend / platform

  • GDI hit-test against complex clip regions via PtVisible — pixel compositing is now restricted to the HDC clip bounds, improving culling accuracy for non-rectangular clips.

Controls

  • Focus is cleared on a left click that hits no focus target (#​91) — clicking empty space now releases focus instead of leaving the previous element selected.

Fixed

Layout

  • Auto measure constraints not clamped to MinWidth / MaxWidth (#​173) — auto Width / Height now clamp to the element's min/max bounds before measuring content, while explicit Width / Height keep their existing desired-size behavior.
  • Explicit size lost after min/max constraints (#​170) — an explicitly assigned Width / Height is now preserved after the min/max pass instead of being collapsed.

⚠️ Breaking Changes

  • **MewUI.Win32.WebView2 ...

Description has been truncated

Bumps Aprillz.MewUI from 0.15.2 to 0.17.1
Bumps Aprillz.MewUI.Backend.Direct2D from 0.15.2 to 0.17.1
Bumps Aprillz.MewUI.Backend.MewVG.MacOS from 0.15.2 to 0.17.1
Bumps Aprillz.MewUI.Backend.MewVG.X11 from 0.15.2 to 0.17.1
Bumps Aprillz.MewUI.Platform.MacOS from 0.15.2 to 0.17.1
Bumps Aprillz.MewUI.Platform.Win32 from 0.15.2 to 0.17.1
Bumps Aprillz.MewUI.Platform.X11 from 0.15.2 to 0.17.1
Bumps Microsoft.Extensions.Logging.Debug from 10.0.8 to 10.0.9
Bumps Microsoft.Maui.Controls from 10.0.70 to 10.0.71
Bumps Microsoft.WindowsAppSDK from 2.1.3 to 2.2.0
Bumps Svg.Controls.Skia.Avalonia from 12.0.0.11 to 12.0.0.13

---
updated-dependencies:
- dependency-name: Aprillz.MewUI
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Aprillz.MewUI.Backend.Direct2D
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Aprillz.MewUI.Backend.MewVG.MacOS
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Aprillz.MewUI.Backend.MewVG.X11
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Aprillz.MewUI.Platform.MacOS
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Aprillz.MewUI.Platform.Win32
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Aprillz.MewUI.Platform.X11
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Microsoft.Extensions.Logging.Debug
  dependency-version: 10.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-and-patch
- dependency-name: Microsoft.Maui.Controls
  dependency-version: 10.0.71
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-and-patch
- dependency-name: Microsoft.Maui.Controls
  dependency-version: 10.0.71
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-and-patch
- dependency-name: Microsoft.WindowsAppSDK
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-and-patch
- dependency-name: Svg.Controls.Skia.Avalonia
  dependency-version: 12.0.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@github-actions
github-actions Bot enabled auto-merge (squash) June 19, 2026 12:24
@Alpaq92
Alpaq92 disabled auto-merge July 1, 2026 08:32
@Alpaq92
Alpaq92 merged commit 305dd49 into main Jul 1, 2026
9 checks passed
@Alpaq92
Alpaq92 deleted the dependabot/nuget/Flags.Icons.Avalonia/nuget-minor-and-patch-c8cec43a35 branch July 1, 2026 08:32
@Alpaq92 Alpaq92 mentioned this pull request Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant