Releases: ErrorAtLine0/infinipaint
v0.4.3
v0.4.2
Patch release that mainly focuses on fixing some bugs/issues. This release is file compatible, but not network compatible with the previous release.
Changes and Additions:
- Fixed the "Integer Division by Zero" error when loading some files
- The brush tool, eraser tool, and selection tools now change color between white and black depending on how bright the objects behind them are. This should allow the cursor and tools to always be visible
- Clamp brush pressure to stop incompatible drivers from breaking InfiniPaint
- Added limit to image crop bounds
v0.4.1
Minor release that focuses on resolving some issues brought up by users. This version is not network compatible with v0.4.0, but it is file compatible.
Changes and Additions:
- Send selected objects to front/back of layer through the right click popup menu
- Change color of outlines and brush strokes through selection tool
- Improved cache system increases FPS when nothing is being edited and camera isn't moving
- In addition, cache settings have been added to the Debug menu for users who want to experiment and increase performance on stronger computers. The two settings you might want to try increasing if you have more VRAM are the "Cache node resolution" setting and "Maximum cached nodes" setting, which could help with zoom and camera pan performance in canvases with thousands of objects
- Popup menu to save files before closing
- Tool configuration is saved on exit
- Added a button to lock brush/outline size. This will ensure that the brush size is not affected by the camera's zoom level
- Move selected objects with the arrow keys
- Switch from pan to zoom when pen touches tablet (can be disabled in Tablet settings)
- Can now zoom into edges of brush strokes a lot without the camera running into issues (described in #37). This only works for brush strokes, and not other objects
- I would still highly recommend not drawing on the edges of brush strokes while zoomed in since there are other issues to resolve. One issue is that the location of the edge may be very slightly different on other systems, which can cause the canvas to look different when sharing the file or working with others online. I'll continue working to resolve these issues in a future version
- The browser version won't freeze while loading images
v0.4.0
New big release! As with the previous release, files from previous versions can be opened with this version (but not the other way around). It is not network compatible with previous versions
If you like this program, consider donating through GitHub Sponsors/Liberapay. Donating would help with some of the running costs of hosting this application
Changes and additions:
- LAYERS! Open the layer manager by clicking the layer icon (on the top right of the screen, to the left of the bookmark icon)
- Set the layer to be edited by clicking the pencil icon to the right of the layer (or double clicking the layer). All tools will only modify that layer. There are some tools that have a setting that allows you to change all visible layers (such as the eraser and select tools)
- Click a layer once to edit its properties, which include:
- An alpha slider to change the opacity of the entire layer
- Blend mode. You can check the equation for every blend mode in the Usage manual. Some blend modes can be used to create mask layers
- You can toggle the layer's visibility by clicking the eye icon to the right of the layer
- Layers can be sorted into folders. Click the folder button instead of the + button to add a folder instead of a layer. You can then drag layers/other layer folders into the folder. The folder also has its own blend mode and alpha slider that affects all the layers inside the folder
- Hold shift while clicking layers to select multiple layers to move. Hold control while clicking layers to toggle selection of the layer (select/deselect)
- Note: SVG screenshots ignore blend modes and per layer alpha
- Bookmarks can be sorted and placed into folders. This is very similar to the new system used to organize layers into folders
- Line tool added. Hold and drag the left mouse button to create a straight line. Hold Shift while dragging to snap the line to a specific set of angles
- Images can be cropped. Double click on an image with the edit tool, and two handles will appear that can be used to crop the image
- Images can be pasted from the clipboard. The default keybind is Ctrl-Shift-V, which will paste the image at your cursor's position. You can also right click with a selection tool and click "Paste Image" in the popup
- Keybinds added for pan tool, zoom tool, and lasso tool (contribution from @sid293). In addition, a "Hold to Zoom" keybind was added with a default keybind of Z, allowing you to use the zoom tool temporarily similar to "Hold to Pan"
- Complete rewrite to the network system behind the scenes. These changes should be unnoticeable to most users, but they were necessary to implement layers. These changes should decrease memory usage on both the server and client side, as well as heavily improve performance on the client side when working with thousands of objects on the canvas
- Complete rewrite to the undo/redo system behind the scenes. Changes were necessary after the network system was rewritten, but it should be unnoticeable. As an aside, when you open the debug menu (F3 by default), you will now see the next 10 undo actions in queue
- While connecting to a server, most of the GUI will be unusable and a "Connecting to server..." popup will appear
v0.3.1
Minor release. As with the previous release, files from previous versions can be opened with this version (but not the other way around). It is not network compatible with previous versions
Changes and additions:
- Added right click popup menu for copying, cutting, pasting, and deleting selected objects, as well as for copying, cutting, and pasting text. Previously these features were only exposed through keyboard shortcuts
- Added a new "Brush relative minimum size" option under Settings > Tablet, and removed the "Change brush size with mouse speed" option (that option was slightly broken, might reimplement it later)
- Can now double click in textboxes to select by word, and triple click to select by paragraph
- Can now type tabs into textboxes on the canvas (in GUI textboxes they're still replaced by 4 spaces)
- Replaced Noto Kufi Arabic with Amiri as an embedded font
- Fixed crash when pasting rich text into GUI textboxes
- Fixed some GUI elements not responding after a while
- Fixed other players' cursors not being shown when they're very far away from the origin
- Fixed Windows version not copying rich text that contains a newline
(Edit on 7 Jan 2026: macOS minimum version decreased from macOS 26 to macOS 11)
v0.3.0
New big release! As with the previous release, files from previous versions can be opened with this version (but not the other way around). It is not network compatible with previous versions
If you like this program, consider donating through GitHub Sponsors/Liberapay. Donating would help with some of the running costs of hosting this application
Changes and additions:
- Unicode support (UTF-8) throughout the entire program, which means you can type in other languages and use emojis in textboxes. The embedded file picker will also be able to display file names with non-ASCII characters
- The Windows version also doesn't crash anymore when working with files/directories that have non-ASCII characters in their paths
- Big changes to the textbox:
- You can apply different modifiers to different parts of the text. These modifiers include:
- Bold
- Italics
- Underline
- Overline
- Strikethrough
- Font
- On native versions, local fonts can be accessed, but these fonts can't be displayed on computers that don't have the font installed. This includes when you're collaborating with others. The web version can only access the fonts that are packaged with the program, which are: Roboto (Infinipaint's GUI font), Indie Flower (handwritten style font), Inconsolata (monospace font), Noto Kufi Arabic (font for my native language), and Noto Emoji (display emojis). This does mean that the web version, for now, can only display characters contained in these fonts. I will not be embedding more fonts, as that will make the program extremely bloated, but hopefully I can implement a method for the web version to either access local fonts or online fonts in the future.
- Text Color
- Text Size
- Highlight Color
- You can apply different modifiers to separate paragraphs, which are:
- Alignment: Left, Right, Center, Justify
- Text direction: Left to right, Right to left
- Undo/Redo while editing a textbox. Applies to the textbox element, and any textbox in the GUI
- You can apply different modifiers to different parts of the text. These modifiers include:
- Image loading improved:
- In native versions, images are now loaded on a separate thread, meaning the program won't halt until the image is completely loaded. Helps a lot when loading GIFs
- You can now drag/drop direct URLs to images into the program, and InfiniPaint will attempt to download the image and display it if the image is reachable. This means you can directly drag/drop images from some websites onto the canvas! This feature is more restricted on the web version due to the browser blocking download requests from many sites
- Downloading images (and resources in general) when using the program collaboratively won't stop other types of data from being sent. Previously, you wouldn't be able to see updates to the canvas and messages from others until the program completely sent all images/resources on the canvas. This should now be fixed
- Images/resources that are being downloaded now show a circular progress bar to show how much of the resource has been downloaded
- GUI appearance changed
- Vsync support added, with an option to turn it off, on, or use adaptive vsync. By default, it's turned on, as that decreases CPU usage
- The GUI now scales properly with display scaling (HiDPI). This feature can be turned off in the options if needed. This, combined with the "Max GUI Scale" option, will determine the GUI's size
- You can now undo/redo bookmark add/remove actions, and grid add/remove/edit actions
- Improved the scrollbar in GUI scroll areas
- Made all dropdowns scrollable if they contain too many elements
- Names in chat are now displayed in bold text
- Fixed a problem where the Windows version would crash if the native file picker was open while the canvas currently open had a generic file object (file that isn't an image)
- Portable Windows version now comes with MSVC runtime DLLs so that it doesn't crash if the correct runtime isn't installed
v0.2.1
Small release to patch some issues I found while working on v0.3.0. Completely backwards compatible with previous release.
- Window scaling taken into account in some types of input (drag and drop files)
- Fixed program crashing when undoing an edit to an editable element (textbox, ellipse, rectangle)
- Fixed program crashing when zooming in/out too fast
- p2p.json is now accessible from the user configuration directory, allowing you to change the signaling server, STUN server, and TURN server list
- Text input is a bit more responsive
v0.2.0
New big release! As with the previous release, files from previous versions can be opened with this version (but not the other way around). It is not network compatible with previous versions
Also, if you like this program, please consider donating through GitHub Sponsors! Donating would help with some of the running costs of hosting this application.
Note for Windows users: There is a new, portable, no installer version of InfiniPaint, which will save its configuration files next to the executable. Unless you are specifically looking for a portable version, I highly recommend downloading the installer version, as it automatically associates .infpnt files with the program.
Changes and Additions:
- Can now infinitely zoom into the canvas! Previously, you would have to scale up the canvas to continue zooming in, but this is now done automatically when you zoom in far enough
- Grid tool added, allowing for multiple grids with different properties on the same canvas. The static grid that was present on every canvas has been removed in favor of this tool
- InfiniPaint will now notify you when an update is available. Updates are not downloaded automatically, and the notification can be disabled
- Can now take SVG screenshots
- Pan tool, zoom tool, and rotate wheel have been added to the toolbar
- Edit/cursor tool usage changed. Single click to select an object for transformation (move, scale, rotate), double click to edit the object. This should be closer to how the edit tool from other programs works
- UI now automatically scales when the window is too small to fit it. The "GUI Scale" option in the settings has been changed to "Max GUI Scale"
- You can now zoom into objects without them disappearing. allowing you to draw within brush strokes for example. It is a bit glitchy when zooming into an edge of an object, so drawing on edges of objects isn't feasible now
- Holding space will temporarily switch to the Pan tool (unless space has been set to something else in the Keybinds menu)
- Heavily improved the performance of drawing brush strokes with transparency. Performance should now be identical to drawing fully opaque brush strokes
- Can now move between words in textbox by holding CTRL while pressing the arrow keys
- GUI Textboxes now scroll forward when the text can't fit into the textbox (good when typing long messages in chat)
- UI improvements to the bookmark menu (which is similar to the new grid menu)
- Screenshot tool has been moved from the toolbar to the main menu
- Color Select tool can now select stroke or fill color
- Flipped the direction of Ctrl-middle click zoom to fit convention from other programs (can be flipped back in the settings)
- Windows version will now use the discrete graphics card on hybrid GPU systems
- Network synchronization related bug fixes
- Clipboard related bug fixes
- Fixed Windows version not being able to take screenshots
- Fixed the cause of many random crashes in the web version
v0.1.0
New big release! Please read all the relevant notes before installing this version:
Notes for all users:
- File compatibility: This version is able to open .infpnt files from previous versions, but files saved in this version cannot be opened in the previous version
- Network compatibility: Clients using this version cannot connect to hosts using the previous version, and clients using the previous version cannot connect to hosts using this version
Note for Windows users: If you have any previous versions installed, please manually uninstall them before installing this one. This installer will not install ontop of the previous version, so you'll end up with both versions installed side by side. In the future, the installer will ask the user if they want the previous version uninstalled before installing the new one, but this is not the case now.
Note for macOS users: If you have any previous version installed, please manually delete it (drag the InfiniPaint app located in the Applications folder to the trash). The new .dmg installer might not be able to overwrite the previous version on its own.
Notes for Linux users:
- A new version for ARM cpus is out! Please make sure to download the correct version for your CPU.
- Users who downloaded InfiniPaint from Flathub should receive the update from Flathub as soon as it's ready (the ARM version will be available from there as well)
Changes and Additions:
- New cache system that leads to major performance improvements for canvases with many objects
- Added a Lasso select tool
- Savefiles are compressed, leading to smaller files
- Large network messages are compressed, leading to better online performance
- Can embed and display SVG files on the canvas
- Can display more raster image types: webp, wbmp
- Selection can be modified:
- Hold left shift to add to selection
- Hold left alt to remove from selection
- Can change canvas background color
- Slight visual changes
- Fixed a bug where the right click menu pops up at the incorrect position if the GUI scale is changed