Skip to content

Replace SixLabors.ImageSharp: 4.x requires a commercial license #181

Description

@0Keith

Decision

ImageSharp 4.x (Dependabot #174, #176) fails the build with No Six Labors license found - the 4.x line requires a paid Six Labors license key at build time. The Captain declined the upgrade on 2026-09-26: PaperNexus stays on ImageSharp 3.1.12 + ImageSharp.Drawing 2.1.7 and a replacement imaging library is to be found. The 3.x line is under the Six Labors Split License, which grants Apache 2.0 terms to open-source consumers, so PaperNexus's current use is covered; the replacement removes the dead-end dependency.

Replacement chosen (2026-09-26): SkiaSharp (MIT). It is already in the build as Avalonia's renderer, so its native libraries already ship in both binaries.

Scope

Evaluate and adopt a replacement for the SixLabors stack. Current usage sites:

  • SwitchWallpaper.cs - resize/fill, title overlay text rendering with outline (ImageSharp.Drawing + bundled Cinzel font), PNG/JPEG encode with the 16 MB fallback
  • DownloadWallpapers.cs - decode and resolution handling
  • App.axaml.cs - programmatically drawn tray menu icons
  • Core/BundledFonts.cs - font loading for annotation
  • Core/Platform/DesktopEntry.cs - hicolor icon write
  • Core/WallpaperNexusSettings.cs, ViewModels/GalleryItem.cs, ViewModels/WallpaperConfigViewModel.cs - thumbnails / colour types

Also

Add a Dependabot ignore rule for SixLabors.ImageSharp* major versions in .github/dependabot.yml so the 4.x bump stops reopening until the replacement lands. Done in #183.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

.NETPull requests that update .NET codedependenciesPull requests that update a dependency file

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions