Skip to content

Releases: counter185/voidsprite

alpha30.05.2026

30 May 06:36

Choose a tag to compare

Full changelog

New features

  • Rotate image actions
  • Selection operations are now part of the undo history
  • Redesigned Tab-key navigation
  • GameMaker YYTEX can now be exported

Enhancements

  • Filters can now be bound as keybinds
  • New session action in File menu
  • Keybinds for: deselect, flip layer, flip image, switch to first/last workspace, focus on navbar, pan canvas, rotate image, new session
  • Isolated section now renders in accent color
  • Pasting an image now lets you choose the action (add reference, paste into layer, open in new session)
  • Isolate rect now shows the selection size
  • Canvas resize can now anchor the image to a selected corner
  • GIF export now has an option to loop the animation
  • Rect move tool now always erases the source area, regardless of the current blend mode
  • VTF export can now generate a basic VMT material to go along with the texture
  • Isolate rect in eraser mode now subtracts from selection
  • Option to reset eraser mode to off when switching tools
  • Mac now supports Network Canvas and AVIF

Fixes

  • Replace color now respects opacity
  • Fixed issues with deleting UTF8 characters in textboxes
  • Keybinds should now ignore key repeat events
  • Fixed crash when network canvas was closed in a second window

Internal

  • Updated SDL and SDL_Image on all platforms
  • Mac now uses CMake
  • Meson has been removed
  • Cleaned up really old TabbedView code
  • Added UIAnchorSelect
  • Launchpad's new image panel is now a separate class (reused in PopupNewImage)

alpha30.04.2026

30 Apr 08:58

Choose a tag to compare

Full changelog

New features

  • Exporters can now have export options
  • Brush blend modes are now a dropdown menu, and there's now 4 of them (Replace, Overlay, Add, Multiply)
  • Measure tool now keeps the highlighted area after releasing Mouse Left, and Mouse Right opens a context menu with operations for the selected region (Place guidelines, Crop to this area)
  • New format: GameMaker .yytex (import-only
  • Editor can now have a configurable checkerboard background

Enhancements

  • Split sessions now save more editor options
  • When using touch, buttons can now be held to simulate right click
  • Split sessions now show more detailed saving/loading progress
  • Layers and frames panels are now resizable
  • Reference panels are now resizable
  • AVI can now export in Motion JPEG format
  • When choosing an export format, the file's current format is highlighted and moved to top of the list
  • Anymap PGM can now export in binary format
  • Anymap PPM can now export in binary format
  • Random seed is now kept from the preview while applying a filter
  • Brush primary and secondary actions can now be configured as keybinds
  • Tile loop preview can now be configured as a keybind
  • Exporting indexed/RGB now uses the new format picker
  • Noto Sans JP font was removed, the primary app font (Mplus Rounded) is now used instead
  • Number input fields now clear when focused and their value is 0
  • Added new inline math operations to number input fields (#: immediate decimal value, &: bitwise AND)
  • Shift+Double click with Isolate Rect now selects all occurrences of color in layer
  • PNG exporter lets you choose the compression level
  • AVIF exporter lets you choose the quality level
  • Comments can now be multiline
  • Layer transform UI now lets you set the preview opacity
  • The B color in the Mix tab in the color picker can now be locked
  • Reference images can now be saved to .voidsn

Fixes

  • Frameless window now works properly at 2x+ scaling
  • Window will no longer do resize hittests when maximized
  • Button VFX no longer plays when starting the editor
  • Fixed mobile textfield overlay rendering below some other UI elements
  • Fixed crash when using JPEG glitch filter
  • Fixed file picker file list not updating after doing an operation (renaming, creating directory, etc.)
  • Android now uses Java File API for renaming and creating directories (prevents broken shadowfolders that get created when using std::filesystem)
  • Fixed mouse left state carrying over after longer operations

Internal

  • Added ParameterStore to hopefully make parameter systems universal, currently used for filters and export parameters, ideally brush parameters will be moved to this system too
  • Added libbzip2

alpha10.04.2026

10 Apr 09:32

Choose a tag to compare

This release is primarily a hotfix for the Windows version for a crash that would happen after choosing a file save format.

Full changelog

New features

  • Frameless window mode
  • PNG can now be used as a color palette

Enhancements

  • IPC requests now raise the main window

Fixes

  • Added the SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY hint which fixes pixel scaling on Wayland
  • Fixed a crash that happened when saving a file with the format picker when voidsprite is built with /O2 on MSVC

alpha31.03.2026

31 Mar 10:17

Choose a tag to compare

Full changelog

New features

  • New filter: blend towards color
  • Layers can now be tagged with a color
  • Proper single-instance mode on Windows and Linux, now also supports loading files
  • New render filter: configurable pixel grid
  • New templates menu, voidsn files can now have configurable template name/description metadata that appears here
  • Pattern stacking: you can now shift-click patterns to combine them either additively or subtractively

Enhancements

  • Extra session data can now be saved to GIF files
  • Active color index is now highlighted in indexed editors
  • Export formats can now be marked as favourite, appearing on top of the list
  • Color palettes now support removing and reordering colors
  • Minecraft skin preview is now usable with touch
  • Reference images can now be colorpicked with right click
  • Most image export operations are now non-blocking and show progress
  • Right clicking with measure tool now places guidelines around the selected area
  • Panels will now anchor to their corner of the screen when resizing the window
  • Added an iteration count parameter to the JPEG Glitch filter
  • OpenRaster exporter now saves a proper thumbnail
  • Built-in indexed mode palettes and colorlists have been merged into one palette list
  • The initial palette for indexed mode can now be chosen on the Launchpad
  • Saving a palette now lets you pick its format
  • New screen switching animation
  • Reduced star count on Launchpad (every 35 stars get merged into a larger star)
  • Slight launchpad restyle

Fixes

  • Fix editor hide UI keybind causing blurred panel backgrounds to still appear
  • Fixed files not being loaded when --no-launchpad was specified
  • Scrollbars should no longer react to mouse input when invisible

Internal

  • A lot of old code cleanup...
  • VFX now renders below notifications, tooltips and memory tracker info

alpha01.03.2026

01 Mar 20:35

Choose a tag to compare

Full changelog

New features

  • New popup for choosing the export format: allows filtering and shows a description of each format. In the future it will also list the features that each format supports
  • New format: APNG (import/export)
  • New format: Resprite session (import only, highly experimental)
  • New format: JPixel session (import only)
  • New format: ASTC texture (import only)
  • New filter: JPEG glitch
  • Browser version now saves settings to local storage
  • Android now has a self-update button that downloads the latest version from nightly.link and installs it
  • Filter options can now be saved to preset files
  • New render filter: TodePond's RedGreenBluegene, a variation of Huegene without herbivores
  • Added session-local palettes (color list that is specific to the current editor session and gets saved to voidsn)

Enhancements

  • Option to add blur behind UI panels
  • Option to display the current system time near the workspace buttons
  • Image read operations no longer block the main thread, some importers will also show detailed progress
  • Pathfind line tool now reports progress
  • The editor can now be zoomed in/out with a touch gesture
  • The Rect Fill tool can now be double clicked to fill the whole tile
  • The color of the tile grid can now be changed
  • JPEG XL now supports exporting and importing animation
  • AVIF is now manually handled and now supports exporting and importing animation. As a result of this the AVIF compression filter gives different results
  • Added a button to use the system Zenity color picker on Linux
  • Android can now send an image from the editor using system Share

Fixes

  • Windows shell extension can now read VOIDSNv7 files
  • Export scaled popup now downloads the exported file in browser build
  • Frames no longer flicker when playing an animation for the first time
  • Loading an invalid PNG no longer crashes

Internal

  • Export scaled popup code cleanup
  • Many properties of the editor have been moved to a new easily copiable SessionEditorPrefs class with its own functions for serialization/deserialization, this will make saving them more consistent across formats
  • Editor color picker code was finally cleaned up and collapsing it works properly now
  • Slightly changed the way settings are saved
  • Split Android CI into separate actions for every CPU architecture (speeds up build from 30 minutes to ~10)
  • Removed dependency to vendored liblcf on cmake builds
  • libtga code removed (wasn't used anyway)
  • CMake build no longer needs a script to pull all the dependencies, git submodules are now used instead (Android needs a specific SDL build and is not affected by this)
  • Flatpak now builds using CMake instead of Meson
  • Added a make-release action that posts a new release and creates a tag

Release test-release

27 Feb 07:08
66bd13d

Choose a tag to compare

Release test-release Pre-release
Pre-release

Release generated by Actions

alpha31.01.2026

01 Feb 19:10

Choose a tag to compare

Full changelog

New features

  • 3-point curve tool
  • Brush opacity setting in RGB mode
  • New format: GIF (import/export)
  • New format: AVI (export only, RGBA codec)
  • Font smoothing setting
  • Transform current layer action
  • Add reference from clipboard action
  • Linux x64 AppImage builds now support Discord Rich Presence
  • New format: Godot Compressed texture CTEX (import only)

Enhancements

  • Windows shell extension now supports .voidsn v7
  • Hue wheel now captures mouse movement out of bounds
  • Added a broken graphics warning when setting the renderer to Vulkan
  • Frame tracing can now use configurable color modifiers
  • Tool properties are now saved to .voidsn files
  • Copying to clipboard now affects only the selected region
  • Quick convert now downloads the file in the web version
  • Reopening voidsprite after a crash now prompts to open recovered sessions
  • Frame picker now shows the minimum displayable frame time
  • Opening an URL now works on Linux
  • Undo timeline now shows actions on hover
  • Scrollbars are now draggable
  • Numeric text fields can now do inline math operations
  • The patterns panel now has a background
  • Transform now has a position field
  • Guidelines can now be toggled between 3 modes (show in active color, show in UI color, hide)
  • In-editor spritesheet preview is now collapsible
  • Spritesheet timeline now has a size limit
  • Open file location action in last files context menu
  • Frame picker now shows the current time position when playing

Fixes

  • Windows Ink tablet support should be more reliable now
  • Other crash fixes

Internal

  • Finally cleaned up global variables from io_png.cpp (setup for non-blocking file IO which will come at some point)
  • Updated readme.md images
  • Added CONFIGURE_DEPENDS to globs in cmake files so adding a new file is significantly less annoying
  • Rewrote pen handling to also count as mouse clicks instead of letting SDL handle that

alpha03.01.2026

03 Jan 12:06

Choose a tag to compare

With this release, Linux x64 AppImage and Emscripten builds are now available. The browser port can be launched on the itch.io page.

Full changelog

New features

  • Android: Added a DocumentsProvider letting you manage application data from the built-in file manager
  • Automatic viewport scale is no longer exclusive to mobile, it's now a setting available on all platforms
  • New filter: outline based on edge detection
  • AppImage x64 Linux builds are now being made
  • Linux: added a thumbnailer
  • Windows: added a shell extension that shows thumbnails for voidsn files
  • Initial work on an XNB importer. Compressed files not yet supported.
  • Emscripten web builds are now being made
  • Frame-based animation tools letting you create animations
  • Added an importer for Flipnote Studio PPM files

Enhancements

  • Gamepad buttons can now be bound to keybinds in settings
  • Added a context menu to layers
  • SDL_Image importer no longer converts indexed images to RGB
  • Ctrl+Backspace to erase word in text fields
  • Resize popups now automatically focus on the first textbox
  • Added a setting to make error notifications longer
  • Notifications can now be manually closed
  • Keybinds tab now has a search field
  • Keybinds settings now show a notification when another keybind was replaced
  • The Visual tab can now use a hue wheel instead of a slider
  • Added thickness and Round options to the pixel brush, rect tool and others
  • Renamed Square Pixel brush to Pixel
  • Removed the Round Pixel brush, its functionality was merged into the Pixel brush's Round option
  • Line and Bezier Line tools now have an Increasing size option, where the size gradually increases from start point to end point
  • Added a SIGTERM signal handler for Linux/Mac
  • Launchpad now lets you choose the starting color for new RGB sessions (by default it is still transparent)
  • More UI elements are configurable with visual configurations
  • Preview panel is now resizable and shows a border around image dimensions
  • Palettes can now be installed with drag-and-drop
  • Color picker now has a tab that allows blending two colors together
  • Toggle fullscreen option on Launchpad navbar
  • Closing with unsaved changes popup now has an option to save the current session
  • Editor now shows position inside tile
  • Split sessions now show the file name
  • Aseprite and Pixel Studio importers now import all animation frames
  • New voidsnv7 format that allows for animation
  • GoldSrc SPR importer now imports all animation frames

Fixes

  • Fixed the gamepad handler broken after the switch to SDL3
  • Fixed system font detection on Linux
  • Fixed crash caused by context menu
  • Fixed color palette not loading in voidsnv6 files
  • Other crashfixes
  • Fixed most texture issues on direct3d12 and direct3d11 backends
  • Fixed Launchpad last files list not being scrollable with touch
  • Fixed filter preview only applying to the blue color channel

Internal

  • Platform identification is now done once with the VSP_PLATFORM define
  • Cleaned up settings code for saving on/off options
  • Updated SDL on Windows and Android
  • Memory tracker now tracks the number of drawables created
  • Completely rewritten the undo stack
  • About tab now shows the version of the compiler that was used
  • Split the main loop into a separate g_mainLoop function (needed for emscripten)

Animation frames preview

01 Jan 10:49

Choose a tag to compare

Pre-release

Preview build of the animation frames branch

AppImage test

06 Dec 10:34

Choose a tag to compare

AppImage test Pre-release
Pre-release
appimage-test

implement fallback fonts on linux