<component type="desktop-application">
<id>net.drawpile.drawpile</id>
<name>Drawpile</name>
<summary>Collaborative drawing</summary>
<project_license>GPL-3.0+</project_license>
<developer_name>askmeaboutloom, Calle Laakkonen and contributors</developer_name>
<description>
<p>Drawpile lets you draw, sketch, paint and animate together with other people on the same canvas.</p>
</description>
<pkgname>drawpile-base</pkgname>
<launchable type="desktop-id">net.drawpile.drawpile.desktop</launchable>
<icon type="remote" width="48" height="48">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/icons/48x48/drawpile-base_drawpile.png</icon>
<icon type="cached" width="64" height="64">drawpile-base_drawpile.png</icon>
<icon type="remote" width="64" height="64">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/icons/64x64/drawpile-base_drawpile.png</icon>
<icon type="remote" width="128" height="128">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/icons/128x128/drawpile-base_drawpile.png</icon>
<icon type="stock">drawpile</icon>
<url type="homepage">https://drawpile.net/</url>
<url type="bugtracker">https://github.com/drawpile/Drawpile/issues</url>
<url type="help">https://drawpile.net/help/</url>
<categories>
<category>Graphics</category>
</categories>
<provides>
<binary>drawpile</binary>
<id>net.drawpile.drawpile.desktop</id>
<mediatype>application/vnd.drawpile.recording</mediatype>
<mediatype>text/vnd.drawpile.recording</mediatype>
<mediatype>image/openraster</mediatype>
<mediatype>image/png</mediatype>
<mediatype>image/jpeg</mediatype>
<mediatype>image/webp</mediatype>
<mediatype>image/vnd.adobe.photoshop</mediatype>
<mediatype>x-scheme-handler/drawpile</mediatype>
</provides>
<screenshots>
<screenshot type="default">
<image type="source" width="1280" height="720">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/screenshots/image-1_orig.png</image>
<image type="thumbnail" width="1248" height="702">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/screenshots/image-1_1248x702.png</image>
<image type="thumbnail" width="752" height="423">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/screenshots/image-1_752x423.png</image>
<image type="thumbnail" width="624" height="351">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/screenshots/image-1_624x351.png</image>
<image type="thumbnail" width="224" height="125">net/drawpile/drawpile/58803412092d62dd163109fcee4e05bf/screenshots/image-1_224x125.png</image>
</screenshot>
</screenshots>
<releases>
<release type="stable" version="2.2.2" timestamp="1742947200">
<description>
<p>Changes in this version:</p>
<ul>
<li>Fix: Make annotations not cause glitches when moving them around when using the software renderer. Thanks Meru for reporting.</li>
<li>Feature: Add -u/--users parameter to dprectool, which will print out a table of user statistics along with names and ids.</li>
<li>Feature: Add --include-user-ids parameter to dprectool, allowing to pass a comma-separated list of user ids to only include visual changes from.</li>
<li>Fix: Work around WebKit bug 284752 that prevents Drawpile from working on Safari 18. Thanks grimsley for reporting.</li>
<li>Fix: Correct weird letter spacing in the font rendering on Windows. Thanks Sinamer for reporting.</li>
<li>Feature: Make reset images a bit smaller and much faster. This speeds up manual session resets, canvas compression, hosting and joins in the builtin server. Thanks mukihyena for reporting.</li>
<li>Fix: Generate the catchup image in the background when hosting on the builtin server, rather than hanging the client. Thanks mukihyena for reporting.</li>
<li>Server Fix: Additional checks and logging to avoid and diagnose temporary failures in streamed resets. Thanks Will for reporting.</li>
<li>Fix: Slightly delay restoring dock layouts after the window is resized to avoid a crash on macOS. Thanks Axocrat for reporting.</li>
<li>Fix: Properly update the checkbox on View > Full Screen if the OS forces the application out of it. Thanks Sinamer for reporting.</li>
<li>Fix: Restore window maximized after exiting the application from full screen mode. Thanks Sinamer for reporting.</li>
<li>Fix: Only remember dock sizes when the window is maximized or full screen on operating systems where that's possible to tell. Thanks Meiren for reporting.</li>
<li>Fix: Make tablet positions work on Cintiqs under Windows Ink with UI scaling and when it's not set to be the primary monitor. The old behavior is available via Edit > Tablet Driver > Windows Ink Non-Native, in case this breaks something else. Thanks Axocrat and Liz for reporting, Weenifer for reporting and testing, Maffi for reporting additional issues.</li>
<li>Fix: Remove the "KisTablet" prefix from the tablet driver names in Windows, it's a technical name that doesn't add anything useful.</li>
<li>Feature: Indicate when you have no layer selected so that it doesn't seem like you can draw but nothing happens.</li>
<li>Server Fix: Remove browser users when a session's password is removed and the server only allows browsers in passworded sessions. Thanks Bluestrings for reporting.</li>
<li>Server Feature: Add a separate permission for hosting via browser and whether to take this permission from ext-auth. This also fixes the issue where it would ask you to log in when trying to host from the browser, just to then tell you that you're not allowed to do so anyway. Thanks Bluestrings for suggesting.</li>
<li>Removed Feature: Username lists in external session announcements. They were never used.</li>
<li>Fix: Show current tier in the layer permissions menu again. Thanks Meiren for reporting.</li>
<li>Fix: Reduce selection outline resolution instead of punting to the blue selection mask when it gets too large. Thanks Meru, MorrowShore and Shane for reporting.</li>
<li>Server Feature: Invite codes, allowing inviting people with revokable links that override regular session restrictions. Thanks Bluestrings and Liz for suggesting.</li>
<li>Removed Feature: Toggling between web and direct links in the invite dialog. Drawpile will translate the web link if you paste it into the join dialog anyway, so the distinction was pointless.</li>
<li>Fix: Change temporary tool switch setting text to say that only the primary shortcut will cause it. This was unintentional, but it's useful. Thanks 3rd_EFNO for reporting.</li>
<li>Fix: Use proper background images in Windows installer instead of those ugly red discs. Thanks evilTriangle for reporting.</li>
<li>Fix: Correct intermittent errors when connecting, reconnecting or otherwise opening a new main view in the browser that could hang the application.</li>
<li>Feature: Allow hiding the color history swatches on individual color docks. Thanks Stickly for suggesting.</li>
<li>Fix: Make pan, zoom, inspector and color picker tools not get locked by the session catching up or resetting. Thanks Greendyno for reporting.</li>
<li>Fix: Don't show canvas during catchup when using software renderer.</li>
<li>Fix: Fix keyboard shortcuts, enter and backspace not reacting on some devices in the browser. Thanks Greendyno for reporting.</li>
<li>Fix: Keep leading spaces and zeroes the same when creating or duplicating a layer. Thanks Greendyno for reporting.</li>
<li>Feature: Allow making the application full-screen in the browser, using View > Full Screen. Thanks Windy for suggesting.</li>
<li>Fix: Make user markers not leave streaks in the software renderer when fractional UI scaling is involved. Thanks lambda20xx for reporting.</li>
<li>Feature: Add constrain and center buttons to the transform tool, for the equivalent of holding Shift and Alt when you don't have a keyboard. Thanks MachKerman for suggesting.</li>
<li>Fix: Don't crash on invalid certificates when connecting via WebSocket. Thanks IZUHU for reporting.</li>
<li>Feature: Set user agent header when connecting via WebSocket using the client. Thanks Meru for suggesting.</li>
<li>Feature: Allow adding a "w" query parameter to session URLs to connect via WebSocket instead. Thanks IZUHU for suggesting.</li>
<li>Fix: Remember whether a host was connected to via WebSocket by adding the "w" query parameter to it.</li>
<li>Server Feature: Add a "prefer WebSockets" option. Clients will generate appropriate invite links and announcements will contain this preference.</li>
<li>Server Fix: Allow refreshing external bans even when the section is locked. Thanks Bluestrings for reporting.</li>
<li>Feature: Add -i/--image option to the drawpile-cmd command, to allow e.g. converting an ORA to a PNG file or similar on the command line.</li>
<li>Feature: Add PSD and WEBP format support to the drawpile-cmd command.</li>
<li>Fix: Don't reset reference dock position when toggling dock visibility. Thanks izzy for reporting.</li>
<li>Fix: Remove language selection in the web version for now, since it doesn't do anything. Thanks Albano Battistella for reporting.</li>
<li>Feature: Allow setting the language in the web version using a query parameter. Many languages don't work properly, but this allows setting it before starting the thing and then having to change it.</li>
<li>Fix: Show and select existing track title when renaming it. Thanks Greendyno for reporting.</li>
<li>Fix: Properly resize login dialog on Android when showing session listings so that you can actually read something.</li>
<li>Fix: Don't make kinetic touch scrolling jerk around when moving the finger over the scroll bar.</li>
<li>Fix: Properly linkify URLs with an @ in the path.</li>
<li>Fix: Default kinetic scroll on Android and the browser to left-click, since that works better and also covers touch.</li>
<li>Fix: Allow dragging layers and sliding across the checkboxes in the layer list even when kinetic scrolling with left-click or touch is enabled by making the left and right areas not react to scroll. This is a patch to Qt.</li>
<li>Fix: Work around a crash on Windows when toggling kinetic scroll settings.</li>
<li>Fix: Properly show current layout on first layouts dialog run. Thanks Dib for reporting.</li>
<li>Fix: Disable image reader limit in command-line tools under Qt6.</li>
<li>Fix: Deduplicate brush and tag names when exporting brushes. Thanks Blozzom for reporting.</li>
<li>Fix: Don't crash under Windows 7 when attempting to play two sounds once. Thanks pachuco for reporting.</li>
</ul>
</description>
<url>https://drawpile.net/news/release-2.2.2/</url>
</release>
<release type="stable" version="2.2.1" timestamp="1708214400">
<description>
<p>Changes in this version:</p>
<ul>
<li>Fix: Default to previous directory when saving a fresh file. Thanks Crow for reporting.</li>
<li>Feature: Allow toggling performance-related canvas view settings, since some systems get slowdowns. Thanks DevonJP for reporting.</li>
<li>Fix: Don't force TLS socket algorithms, since ECDSA certs seem to not like them. Thanks Bluestrings for reporting.</li>
<li>Fix: Log message queue read, write and timeout errors properly. Thanks Pepper for reporting.</li>
<li>Feature: Implement WebSocket support in the server, available with the --websocket-port and --websocket-listen options.</li>
<li>Feature: Send keepalive messages from the server, if the client indicates support for it. Avoids them disconnecting when too busy uploading to send a ping.</li>
<li>Feature: Active user counts for sessions. A user counts as active if they drew in the last five minutes.</li>
<li>Feature: Make invite links indicated web client capability and NSFM-ness of sessions so that the invite page can show a "join in the browser" button and an appropriate notice respectively. Thanks Blozzom for suggesting the latter.</li>
<li>Fix: Properly handle cancelling a connection while it's being established. Thanks Fox for reporting.</li>
<li>Server Fix: When hosting without an account is enabled, also allow it for anyone *with* an account. Thanks ahaven for finding this.</li>
<li>Fix: Don't resize brush settings unnecessarily larger when switching between brush types. Thanks Meiren for reporting.</li>
<li>Fix: Try to handle switching between tablet pen and eraser more consistently. Thanks Daystream for reporting.</li>
<li>Feature: Add next and previous key frame actions, allowing skipping between key frames in the current track. Thanks BulletPepper for reporting.</li>
<li>Fix: Properly refer to "layer" and "layer group" in layer actions depending on what is selected. Thanks Momo for reporting.</li>
<li>Fix: Save censored layers into PSDs properly. Thanks Blozzom for reporting.</li>
<li>Fix: Don't allow copying, cutting and color picking from censored layers.</li>
<li>Fix: Rotate brush and fill outline along with the canvas. Thanks Bluestrings for reporting and xxxx for helping solve some issues with it.</li>
<li>Feature: Add experimental support for high-DPI interface scaling.</li>
<li>Fix: Don't reset opacity multiply inputs to default when loading a brush that doesn't have it set. Thanks Blozzom for reporting.</li>
<li>Fix: Limit MyPaint brush dab counts to more sensible values, since the defaults from MyPaint are pointlessly high and can cause chugging. Thanks Blozzom for reporting.</li>
<li>Fix: Don't blink last user cursors again when making a selection.</li>
<li>Fix: Make user cursors trail MyPaint brush strokes better, only smoothing it out when there's jitter. Thanks Blozzom for reporting.</li>
<li>Feature: Show latency in the status message, next to the session size and cursor coordinates. Thanks Meiren for suggesting.</li>
<li>Feature: Add action to pick color from screen, default shortcut is Shift+I. Thanks Meru for suggesting.</li>
<li>Feature: Allow switching the current brush to erase mode when using the tablet pen eraser instead of switching to the eraser tool slot. The setting for this is in the Input settings.</li>
<li>Feature: Make the Windows installer put a shortcut on the desktop.</li>
<li>Fix: Widen the stripes of the censor pattern so that it's easier on the eyes. Thanks Ben for reporting.</li>
<li>Fix: Don't remember uncensor layers across restarts, to avoid being exposed to things you didn't want to just because you forgot to toggle it back off.</li>
<li>Fix: Properly show censored layers in the list even when they are revealed.</li>
<li>Server Fix: Allow reading users' trusted status through the API, because it's something you can write through it.</li>
<li>Server Feature: Allow limiting the maximum number of users per session. Moderators and administrators can override this.</li>
<li>Server Fix: Time out clients that take too long to disconnect gracefully. Thanks Bluestrings for reporting.</li>
<li>Fix: Properly apply layer properties if the layer changed since opening them.</li>
<li>Feature: Show last joined address in join dialog.</li>
<li>Fix: Hide disconnection banner after establishing connection to a session.</li>
<li>Fix: Make censoring layer groups actually have an effect.</li>
<li>Fix: Don't use 64 bit stuff in 32 bit Windows installer.</li>
<li>Fix: Don't break pinned start menue shortcuts when updating on Windows. Thanks Bluestrings and anonymous for reporting.</li>
<li>Server Fix: Don't report temporary server bans as permanent. Thanks Bluestrings for reporting.</li>
<li>Server Fix: Properly convert between IPv4 and IPv6 when checking IP bans. Thanks Bluestrings for reporting.</li>
<li>Fix: Use proper measurements to decide on how much painting to do in a single step, hopefully preventing chugging caused by certain brushes.</li>
<li>Server Fix: Save catchup keys to file-backed sessions so that the counter doesn't reset upon a server restart.</li>
<li>Fix: Don't show user cursors while catchup dialog is open.</li>
<li>Feature: Add some bulk permission commands for (un)trusting and setting layer tiers, explanation available through /modhelp. Thanks Bluestrings for suggesting.</li>
<li>Fix: Don't gray out layer ACL tier settings when a layer is assigned to users exclusively, since those settings are not exclusive.</li>
<li>Fix: Don't include stuff from before session reset when restarting a recording because of one. Thanks Meiren for reporting.</li>
<li>Fix: Don't overwrite recordings on Windows if the file names contain non-ASCII symbols. Thanks Meiren for reporting.</li>
<li>Fix: Make log file on Windows log non-ASCII symbols properly.</li>
<li>Fix: Don't reorder listing servers when sorting by title in the browse tab.</li>
<li>Feature: Remember last sorting on the browse page. Thanks Bluestrings and Meiren for suggesting.</li>
<li>Fix: Only ask for confirmation when a self-signed TLS certificate changes, not when a "real" one renews. Thanks Bluestrings and Pepper for reporting.</li>
<li>Feature: Fill background for copying the merged image with a non-rectangular selection. Thanks Bluestrings for suggesting.</li>
<li>Fix: Make bezier curve tool generate smooth curves at small sizes, rather than getting jaggy. Thanks Crow for reporting.</li>
<li>Server Feature: Allow server owners to kick users not connected to a session.</li>
<li>Fix: Make navigator slider not eat keyboard inputs when navigator is undocked. Thanks anonymousduck for reporting.</li>
<li>Fix: Disregard hidden frames when rendering animations. Thanks Etide for reporting.</li>
<li>Server Feature: Log when a wrong password is entered for server accounts and sessions, disconnect the user after too many wrong tries.</li>
<li>Server Fix: Log client host and join attempts even when unsuccessful. Thanks Bluestrings for reporting.</li>
<li>Fix: Load default settings values after the program has initialized, avoiding crashes that can happen on Windows when building in debug mode. Thanks kiroma for reporting and testing.</li>
<li>Feature: Optimize classic brush calculation, making them a good chunk faster. Thanks kiroma for contributing.</li>
</ul>
</description>
<url>https://drawpile.net/news/release-2.2.1/</url>
</release>
<release type="stable" version="2.2.0" timestamp="1705104000">
<description>
<p>Changes in this version:</p>
<ul>
<li>Complete overhaul of the paint engine, making it much faster.</li>
<li>Support for MyPaint brushes, with many brushes included.</li>
<li>Layer groups, which can also be used for alpha preserve, clipping and masking.</li>
<li>A proper stabilizer and curve smoothing to avoid jaggy lines.</li>
<li>Nicer-looking user interface with dark mode and tablet-friendly sliders.</li>
<li>Better color depth that prevents artifacting when shading.</li>
<li>Numerous added blend modes, such as Overlay, Screen, Color and Erase.</li>
<li>Fixed indirect mode to work properly.</li>
<li>Android support.</li>
<li>And a lot more stuff that doesn't all fit in here. Look on drawpile.net for the full list.</li>
</ul>
</description>
<url>https://drawpile.net/news/release-2.2.0/</url>
</release>
<release type="stable" version="2.1.20" timestamp="1631404800">
<description>
<p>Changes in this version:</p>
<ul>
<li>Updated Portugese translations</li>
<li>Added more angles to canvas rotation dropdown menu</li>
<li>Fixed inconsistency in classic brush rendering</li>
<li>Fixed inconsistency in layer resize color sampling</li>
<li>Theme (Windows Vista style / Fusion / Fusion Dark mode) is now selectable</li>
<li>Fixed that a cleared annotation would not count as empty for the "delete mpty annotations" command</li>
</ul>
</description>
<url>https://drawpile.net/news/release-2.1.20/</url>
</release>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="social-chat">intense</content_attribute>
<content_attribute id="social-audio">intense</content_attribute>
</content_rating>
</component>