Releases: Univers4craft/paint.software
Release list
v1.1.92
Automatic build of main — version 1.1.92.
Changes since v1.1.86 / Nouveautés depuis v1.1.86
fix(ci): install the full xcb runtime dependency set for the AppImage
Fixing these one missing .so at a time was too slow; pull in the
standard set of libxcb-* packages Qt's xcb platform plugin needs
(cursor, icccm, image, keysyms, randr, render(-util), shape, shm,
sync, xfixes, xinerama, xkb, util), none of which ubuntu-22.04 pulls
in on their own now that Qt itself comes from aqtinstall.
fix(ci): install libxcb-cursor0 for the AppImage's xcb plugin
Another qxcb runtime dependency not pulled in on ubuntu-22.04 without
the apt Qt package.
fix(ci): install libxkbcommon-x11-0 for the AppImage's xcb plugin
linuxdeploy-plugin-qt failed deploying libqxcb.so: it depends on
libxkbcommon-x11.so.0, which qt6-base-dev doesn't pull in on
ubuntu-22.04 (it was previously satisfied indirectly by the apt Qt
package we just replaced with aqtinstall).
fix(ci): export LD_LIBRARY_PATH so linuxdeploy finds aqtinstall's Qt libs
linuxdeploy resolves the executable's shared-library dependencies with
ldd, which only searches LD_LIBRARY_PATH — aqtinstall's Qt lives
outside the system search path, so libQt6PrintSupport.so.6 (and co)
weren't found.
fix(ci): build AppImage on ubuntu-22.04 with aqtinstall Qt
The AppImage catalog's automated test flagged our build as not
self-contained: ubuntu-latest (24.04) links it against glibc 2.38,
which crashes on older still-supported distros. Build on the oldest
supported Ubuntu LTS instead, and pull Qt 6.5.3 via aqtinstall since
22.04's own qt6-base package is too old (6.2) for this project.
See AppImage/appimage.github.io#6449
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.86
Automatic build of main — version 1.1.86.
Changes since v1.1.82 / Nouveautés depuis v1.1.82
feat: show clone stamp sampling crosshair
Keep the original source marker fixed in red and show the active sampled source in blue while cloning.
AI agent: GPT-5.6 Sol (medium). TDD implementation and independent review were delegated to GPT-5.6 Luna subagents under Sol supervision.
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.82
Automatic build of main — version 1.1.82.
Changes since v1.1.80 / Nouveautés depuis v1.1.80
fix(canvas): reuse render cache while zooming
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.80
Automatic build of main — version 1.1.80.
Changes since v1.1.78 / Nouveautés depuis v1.1.78
feat(io): Save Configuration dialog for JPEG/WebP quality
Paint.NET shows a "Save Configuration" step after a lossy format is chosen
in Save As, letting the user trade quality against file size with a live
preview. It was the one import/export feature genuinely missing here — the
menus already matched Paint.NET (Open = import, Save As = format choice).
Add SaveConfigDialog: a quality slider (0..100) with a live preview of the
compressed result and a real estimated file size (encoded in memory, not
guessed). It is shown only for JPEG/WebP; PNG/BMP/TIFF/.psw save directly as
before. Document::save() gains a quality argument and remembers the last one,
so a plain Save after Save As keeps the chosen setting like Paint.NET does.
Test: JPEG at quality 10 is smaller than at 95, a plain re-save reuses the
remembered quality, and the dialog is offered for JPEG/WebP but not PNG.
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.78
Automatic build of main — version 1.1.78.
Changes since v1.1.75 / Nouveautés depuis v1.1.75
test: cover regional flattening
Fix large-canvas brush performance
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.75
Automatic build of main — version 1.1.75.
Changes since v1.1.74 / Nouveautés depuis v1.1.74
fix(packaging): actually ship the WebP (and TIFF) codec (issue #19)
WebP and TIFF were already offered in Open/Save, but Qt decodes them through
runtime image-format PLUGINS that aren't linked — so they silently failed unless
qt6-image-formats-plugins happened to be installed:
- .deb: added it to CPACK_DEBIAN_PACKAGE_DEPENDS (SHLIBDEPS can't see plugins).
- AppImage: installed on the CI runner so linuxdeploy bundles libqwebp/libqtiff.
- CI / package build: same package added.
- Flatpak: the org.kde.Platform runtime already includes qtimageformats, so no
change needed there.
Adds a WebP round-trip test that runs where the codec is present (CI) and skips
cleanly on a bare dev box. No UI change — WebP is just a working entry in the
file dialogs now. Free-angle rotation was already present (Layers ▸ Rotate/Zoom).
Tests: 431 (+ the guarded webp round-trip).
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.74
Automatic build of main — version 1.1.74.
Changes since v1.1.73 / Nouveautés depuis v1.1.73
fix(tools): brush colour-switch mid-stroke; drop drawing while stylus hovers
Follow-ups from issue #17 (v1.1.73 tablet feedback).
Colour switch mid-stroke: pressing/releasing the other draw-button during a
stroke now switches the stroke's colour without a gap (the earlier fix kept the
stroke going but froze the colour). The drawn coverage is baked into a running
base and a fresh buffer continues in the new colour, so alternating
primary/secondary paints a continuous two-colour line. One undo entry for the
whole stroke. Verified with a mouse simulation: first half primary, second half
secondary, no gap.
Hover blob on the secondary (barrel) button: the canvas now tracks tablet
proximity (TabletEnterProximity/LeaveProximity). While the pen is in proximity
but the tip is not touching, no press or move draws — closing the barrel-button
hover blob, not just the tip hover. The gate is armed only while the pen is in
proximity, so mouse drawing is never affected (verified on screen).
Tests: 431. The proximity gate can't be exercised without a stylus here; needs
an on-tablet confirmation from the reporter.
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.73
Automatic build of main — version 1.1.73.
Changes since v1.1.72 / Nouveautés depuis v1.1.72
fix(tools): brush/eraser button alternation; keep tablet pressure in contact strokes
Addresses the three follow-ups on issue #17 (tablet feedback):
- Mouse: the stroke stopped when alternating primary/secondary. The brush and
eraser now ignore a second draw-button pressed mid-stroke (no restart) and end
the stroke only once no draw-button remains held (event->buttons()), so
releasing one of two held buttons no longer cuts the line.
2/3. Tablet: a full-size blob at the start of a primary pen stroke, and no
pressure on the secondary (barrel-button) pen stroke. On some drivers the
stylus press is reported as a NON-synthesised mouse event, so the "reset to
full pressure on a real mouse press" (#16) fired on tablet contact — making
the first dab full size and pinning the secondary stroke at full size. The
reset now also requires the pen NOT to be in contact (m_penInContact), so
during any pen stroke (primary or secondary) the tablet keeps driving the
pressure/size. Mouse is unaffected (never "in contact").
Tests: 429 -> 431. The button-alternation fix has a mouse simulation that was
confirmed to fail on the old code. The tablet reset gate can't be exercised
without a stylus here — verified it doesn't disturb mouse drawing; needs an
on-tablet confirmation from the reporter.
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.72
Automatic build of main — version 1.1.72.
Changes since v1.1.71 / Nouveautés depuis v1.1.71
test: drive the real Move tool end-to-end on a pasted layer (issue #18)
Adds an end-to-end check that grabs a pasted block and drags it +100px with the
actual MoveTool, asserting it arrives intact (right edge not clipped) and the old
position is cleared — the exact user scenario, mutation-verified to fail on the
pre-fix code. Tests: 428 -> 429.
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.
v1.1.71
Automatic build of main — version 1.1.71.
Changes since v1.1.70 / Nouveautés depuis v1.1.70
fix(core): pasted/imported image is a canvas-sized layer, movable without clipping
A pasted image became a layer of its OWN size (the paste dimensions), not the
canvas size. Every tool assumes layers are canvas-sized — so the Move tool's
whole-layer bake, which composites into a buffer of the layer's size, clipped the
pixels to that little box: moving a pasted image progressively cropped it to a
shrinking strip instead of letting it travel across the canvas (issue #18).
Document::addLayer(image, name) now composites the image into a canvas-sized
transparent layer at the top-left, restoring the invariant. Paste and Import both
go through it; a layer restored from a .psw (already canvas-sized) is unchanged.
Tests: 424 -> 428 (pasted layer is canvas-sized, pixels at top-left, rest
transparent, and a +100px move keeps the pixels — confirmed the check fails on
the old code). Reproduced in-app: the pasted image now moves freely across the
canvas.
Debian / Ubuntu / Linux Mint
APT (recommended — auto-updates via apt upgrade):
curl -fsSL https://univers4craft.github.io/paint.software/paint.software.gpg | sudo tee /usr/share/keyrings/paint.software.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/paint.software.gpg] https://univers4craft.github.io/paint.software stable main" | sudo tee /etc/apt/sources.list.d/paint.software.list
sudo apt update && sudo apt install paint.softwareOr download the .deb below and sudo apt install ./paint.software_*_amd64.deb.
Any distribution — Fedora, Arch, openSUSE…
AppImage (portable, no install — download, then):
chmod +x paint.software-*-x86_64.AppImage && ./paint.software-*-x86_64.AppImageFlatpak (download paint.software.flatpak, then):
flatpak install --user paint.software.flatpak
flatpak run io.github.univers4craft.PaintSoftwareAll three files are attached to this release below.