DrawPile Changelog

What's new in DrawPile 2.2.1

Feb 18, 2024
  • Fix: Default to previous directory when saving a fresh file. Thanks Crow for reporting.
  • Feature: Allow toggling performance-related canvas view settings, since some systems get slowdowns. Thanks DevonJP for reporting.
  • Fix: Don't force TLS socket algorithms, since ECDSA certs seem to not like them. Thanks Bluestrings for reporting.
  • Fix: Log message queue read, write and timeout errors properly. Thanks Pepper for reporting.
  • Feature: Implement WebSocket support in the server, available with the --websocket-port and --websocket-listen options.
  • 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.
  • Feature: Active user counts for sessions. A user counts as active if they drew in the last five minutes.
  • 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.
  • Fix: Properly handle cancelling a connection while it's being established. Thanks Fox for reporting.
  • Server Fix: When hosting without an account is enabled, also allow it for anyone with an account. Thanks ahaven for finding this.
  • Fix: Don't resize brush settings unnecessarily larger when switching between brush types. Thanks Meiren for reporting.
  • Fix: Try to handle switching between tablet pen and eraser more consistently. Thanks Daystream for reporting.
  • Feature: Add next and previous key frame actions, allowing skipping between key frames in the current track. Thanks BulletPepper for reporting.
  • Fix: Properly refer to "layer" and "layer group" in layer actions depending on what is selected. Thanks Momo for reporting.
  • Fix: Save censored layers into PSDs properly. Thanks Blozzom for reporting.
  • Fix: Don't allow copying, cutting and color picking from censored layers.
  • Fix: Rotate brush and fill outline along with the canvas. Thanks Bluestrings for reporting and xxxx for helping solve some issues with it.
  • Feature: Add experimental support for high-DPI interface scaling.
  • Fix: Don't reset opacity multiply inputs to default when loading a brush that doesn't have it set. Thanks Blozzom for reporting.
  • 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.
  • Fix: Don't blink last user cursors again when making a selection.
  • Fix: Make user cursors trail MyPaint brush strokes better, only smoothing it out when there's jitter. Thanks Blozzom for reporting.
  • Feature: Show latency in the status message, next to the session size and cursor coordinates. Thanks Meiren for suggesting.
  • Feature: Add action to pick color from screen, default shortcut is Shift+I. Thanks Meru for suggesting.
  • 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.
  • Feature: Make the Windows installer put a shortcut on the desktop.
  • Fix: Widen the stripes of the censor pattern so that it's easier on the eyes. Thanks Ben for reporting.
  • 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.
  • Fix: Properly show censored layers in the list even when they are revealed.
  • Server Fix: Allow reading users' trusted status through the API, because it's something you can write through it.
  • Server Feature: Allow limiting the maximum number of users per session. Moderators and administrators can override this.
  • Server Fix: Time out clients that take too long to disconnect gracefully. Thanks Bluestrings for reporting.
  • Fix: Properly apply layer properties if the layer changed since opening them.
  • Feature: Show last joined address in join dialog.
  • Fix: Hide disconnection banner after establishing connection to a session.
  • Fix: Make censoring layer groups actually have an effect.
  • Fix: Don't use 64 bit stuff in 32 bit Windows installer.
  • Fix: Don't break pinned start menue shortcuts when updating on Windows. Thanks Bluestrings and anonymous for reporting.
  • Server Fix: Don't report temporary server bans as permanent. Thanks Bluestrings for reporting.
  • Server Fix: Properly convert between IPv4 and IPv6 when checking IP bans. Thanks Bluestrings for reporting.
  • Fix: Use proper measurements to decide on how much painting to do in a single step, hopefully preventing chugging caused by certain brushes.
  • Server Fix: Save catchup keys to file-backed sessions so that the counter doesn't reset upon a server restart.
  • Fix: Don't show user cursors while catchup dialog is open.
  • Feature: Add some bulk permission commands for (un)trusting and setting layer tiers, explanation available through /modhelp. Thanks Bluestrings for suggesting.
  • Fix: Don't gray out layer ACL tier settings when a layer is assigned to users exclusively, since those settings are not exclusive.
  • Fix: Don't include stuff from before session reset when restarting a recording because of one. Thanks Meiren for reporting.
  • Fix: Don't overwrite recordings on Windows if the file names contain non-ASCII symbols. Thanks Meiren for reporting.
  • Fix: Make log file on Windows log non-ASCII symbols properly.
  • Fix: Don't reorder listing servers when sorting by title in the browse tab.
  • Feature: Remember last sorting on the browse page. Thanks Bluestrings and Meiren for suggesting.
  • Fix: Only ask for confirmation when a self-signed TLS certificate changes, not when a "real" one renews. Thanks Bluestrings and Pepper for reporting.
  • Feature: Fill background for copying the merged image with a non-rectangular selection. Thanks Bluestrings for suggesting.
  • Fix: Make bezier curve tool generate smooth curves at small sizes, rather than getting jaggy. Thanks Crow for reporting.
  • Server Feature: Allow server owners to kick users not connected to a session.
  • Fix: Make navigator slider not eat keyboard inputs when navigator is undocked. Thanks anonymousduck for reporting.
  • Fix: Disregard hidden frames when rendering animations. Thanks Etide for reporting.
  • Server Feature: Log when a wrong password is entered for server accounts and sessions, disconnect the user after too many wrong tries.
  • Server Fix: Log client host and join attempts even when unsuccessful. Thanks Bluestrings for reporting.
  • 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.
  • Feature: Optimize classic brush calculation, making them a good chunk faster. Thanks kiroma for contributing.

New in DrawPile 2.2.0 (Jan 14, 2024)

  • Fixes:
  • Make pressure-less mode work with pens on Android. Thanks molluscdotgov for reporting.
  • Don't start dragging keyframes when they're moved only a minuscule amount. Thanks Meru for reporting.
  • Remove duplicate port from displayed network address when hosting under a non-default port. Thanks SadColor for reporting.
  • Keep focus on brush sliders when typing into them. Thanks MachKerman for reporting.
  • Show the fill tool size limit rectangle even when the outline width is set to zero pixels. Thanks Blozzom for reporting.
  • Unlist sessions more reliably when terminating sessions hosted "on this computer". Thanks to Buch for helping figure this out.
  • Don't select a newly created layer when there's a default layer.
  • Give the timeline dock a sensible minimum height. Thanks Kink for reporting.
  • Don't exit the program in the pathological case of initiating a quit, being prompted to save, cancelling the save dialog and then saving again.
  • Properly update current layer fill source when switching layers.
  • Cap the number of threads used for parallel processing, because 128 core CPUs exist.
  • Move back button in login dialog to the left side. Thanks Blozzom for reporting.
  • Properly forget password when editing account and unchecking the "remember password" box. Thanks Meru for reporting.
  • Apply chosen interpolation to pasted images. Thanks Deovise and Hipofiz for reporting.
  • Properly disable Session > Reset option when there's no canvas present that could be reset.
  • Allow opening PSD files and importing Drawpile 2.1 animations on Android. Thanks ariqhadiyan for reporting.
  • Don't act like the user entered incorrect account credentials if a session unexpectedly requires a password. Thanks Bluestrings for reporting.
  • Don't leave one-finger touch setting blank when "do nothing" is selected. Thanks BornIncompetence for reporting.
  • Shorten and normalize debounce delay to be 250 milliseconds for the layer opacity/blend mode, onion skins and timeline controls, rather than being a bunch of different values. Thanks robotto for reporting.
  • Remember invite link type setting properly. Thanks Bluestrings for reporting.
  • Try to keep the start dialog behind other dialogs it spawns harder. Thanks Bluestrings and shablagoo for reporting and Buch for finding issues with the fix.
  • Use a single palette in GIF export to prevent flickering. The palette is generated from the merged image. Thanks Hopfel and Bluestrings for reporting.
  • Server Fixes:
  • Add --ssl-key-algorithm parameter to allow non-RSA SSL keys, defaulting to guessing the most common formats RSA and EC. Thanks Bluestrings for reporting.
  • Show an error message if listing on a certain server is not allowed.
  • Prevent users from being assigned permission flags they're denied by the server configuration, which could lead to a weird superposition of being flagged as a moderator, but not actually having moderator permissions. Thanks Bluestrings for reporting.
  • Server Features:
  • Allow setting web admin auth through DRAWPILESRV_WEB_ADMIN_AUTH environment variable. The --web-admin-auth parameter takes precedence.
  • Translations:
  • Arabic translation updated by Blozzom.
  • Brazilian Portuguese translation updated by Inky1003.
  • Czech translation updated by Hannah Oravcová.
  • European Portuguese translation updated by ssantos.
  • German translation updated by askmeaboutloom.
  • Italian translation updated by albanobattistella.
  • Japanese translation updated by ubanis.
  • Korean translation updated by TapodJointer.
  • Russian translation updated by anoNIM, Just Vitas and Redbear.
  • Simplified Chinese translation updated by Mach Kerman and xxxx.
  • Spanish translation updated by Juan Daza.

New in DrawPile 2.2.0 Beta 11 (Dec 9, 2023)

  • Server Fix: No longer show "cannot look up one session and then join another" when joining a session with an ID alias. Thanks Kink and Fabian for finding this.
  • Fix: Actually disable brush taking in 2.1 sessions, last attempt didn't stick. Thanks again Blozzom for reporting.
  • Fix: Also show mute notifications action when right-clicking the chat. Thanks Blozzom for reporting.
  • Fix: Make brush palette less immensely slow. Thanks lowontrash for reporting.
  • Fix: Show kick and ban messages in the correct order, without duplicates. Thanks xxxx for reporting.
  • Fix: Force the canvas to refresh on resize even harder because some systems still get artifacts. Thanks xxxx for reporting.
  • Fix: Default the mouse wheel to pan the canvas on macOS instead of zooming it, since that makes more sense for its two-dimensional scroll wheels. Thanks Charmandrigo for reporting.
  • Fix: Make Apple Magic Trackpad and hopefully other touch pads work. Thanks Charmandrigo for reporting and helping figure this out.
  • Fix: Add a close button to the tablet tester, playback, event log and flipbook dialogs so that it can be closed on Android and other systems without window decorations without having to press some button or key combination.
  • Fix: Enable fingerpainting on Android by default if the device doesn't have a stylus.
  • Fix: Prefer versioned lconvert executable over unversioned one to make things work on Fedora. Thanks lowontrash for reporting.
  • Fix: Look in source directory for assets when building, making running from the build directory possible. Can be turned off with -DSOURCE_ASSETS=OFF. Thanks Meru, lowontrash and probably others for running into issues with this.
  • Fix: Make large circles and curves drawn with the circle and curve tool not look all jaggy.
  • Fix: Make large rectangles close properly with MyPaint brushes. Thanks haxekhaex2 for reporting.
  • Fix: Allow horizontal scrolling in the preferences dialog so the close button doesn't get thrown off-screen on mobile. Thanks Xkower for reporting.
  • Fix: Allow scrolling of preferences and start dialog sidebar.
  • Fix: Move preferences dialog sidebar to the top on macOS and to the bottom on Android, to fit better with how those systems work. Thanks Snover and Xkower.
  • Fix: Make copying and pasting work on Android. Thanks ariqhadiyan for reporting.
  • Fix: Open files in the background to avoid "not responding" warnings. Thanks ariqhadiyan for reporting.
  • Fix: Force main window to fit screen on Android whenever the docks change, to avoid spills beyond the edge of the screen. Thanks Xkower for reporting.
  • Fix: Don't load ORA files in parallel on Android. This is slower, but avoids the application getting terminated for using too much memory. Thanks ariqhadiyan for reporting.
  • Fix: Make keyboard modifiers work better on Android. Thanks ariqhadiyan for reporting.
  • Fix: Default Export Image option to export as PNG instead of ORA, because that's what that option is for. Thanks SadColor for reporting.
  • Feature: Add libera.chat link to start dialog.
  • Fix: Properly restore avatar again when reconnecting to a session on a 2.1 server. Thanks xxxx for reporting.
  • Fix: Make kinetic scrolling work in brush editor categories list.
  • Fix: Make canvas rendering not get stuck when switching frames really quickly. Thanks Kink and Hopfel for reporting.
  • Fix: Update color swatch when using fill selection, recolor selection and color erase selection.
  • Fix: Only update color swatch when using tools that actually put those colors on the canvas.
  • Fix: Make color palette swatch select last used color so that it doesn't get stuck when switching brush slots. Thanks Meru for reporting.
  • Fix: Make Copy Merged and Copy Without Background from a floating selection work again. Thanks Meru for reporting.
  • Fix: Make Export Selection, Copy Merged and Copy Without Background adhere to current view mode. Thanks Bovy for reporting.
  • Fix: Make fill tool adhere to current view mode (minus onion skins) when using Merged Image as the source. Thanks Meru for reporting.
  • Fix: Don't crash when changing saturation in color dialog when using HSL or LCH color models. Thanks Meru for reporting.
  • Fix: Don't deadlock when saving and clearing password fallback.
  • Feature: Shortcut login flow on servers that only support guest and internal account logins.
  • Feature: Allow changing tablet driver through Edit menu on Windows.
  • Fix: Reset floating selection when filling it to avoid weird effects if the fill is inside the originally selected area. Thanks Meru for reporting.
  • Fix: Properly load annotations and timeline from ORA files without a background. Thanks MyaThingoss for reporting.
  • Feature: Add a Tablet Setup link in the start dialog.
  • Fix: Don't hide dock titlebars when pressing shift when a text field is in focus, since that might hide a field you're currently typing in. Thanks Trite for reporting.
  • Fix: Disable Hold Shift to Arrange by default, since it's not needed most of the time.
  • Fix: Don't claim every username is taken when connecting to a server with the old login flow doesn't allow guest logins, instead tell the user that they need an account. Thanks Meru for reporting.
  • Fix: Give checkbox outlines more contrast, since they're virtually invisible in most themes. This is a patch to Qt.
  • Fix: Change italic to bold text, since the former is not readable in Chinese script.
  • Fix: Make keep aspect ratio checkbox in resize dialog keep the current aspect ratio, not the original one.
  • Fix: Don't act like keep aspect ratio is checked when resizing from a selection. Thanks Meru for reporting.
  • Fix: Make onion skin color partially transparent by default so that they don't turn into solid blocks on colored stuff. Thanks BulletPepper for reporting.
  • Fix: Clarify the host dialog by adding additional messages that explain common sources of confusion, such as the title being required, disallowing invite links as the title, the password being necessary to host a private session and "host on this computer" requiring port forwarding.
  • Fix: Prevent jittering pixels on the canvas at certain zooms and rotations. Thanks Bluestrings, Meru and taiyu for reporting this. Also thanks Meru for actually finding the solution and contributing this fix.
  • Fix: Don't reset brush mode when clicking on the freehand tool button from a different tool. Thanks Big Piston for reporting.
  • Fix: Render annotations when saving to PNG and JPEG. Thanks chrystalclear and Rykuta for reporting.
  • Fix: Don't reset annotation settings to weird values when there's no text. Thanks Blozzom for reporting.
  • Fix: When hiding a layer group, indicate that all containing layers are hidden too. Thanks Missile for reporting.
  • Fix: Take scroll into account when reordering tracks. Thanks Meru for reporting.
  • Fix: Show proper ext-auth URL when prompting for a login. Thanks xxxx for reporting.
  • Fix: Properly show server info URL as a clickable link when prompting for a login.
  • Feature: Focus the input field on the Join page when switching to it so that you can immediately paste a link without having to click it.
  • Fix: Handle view mode changes (frame view, onion skins etc.) properly in drawpile-cmd and drawpile-timelapse tools.

New in DrawPile 2.2.0 Beta 10 (Nov 13, 2023)

  • Fix: Don't deadlock on first startup. Thanks to Hail, lowontrash, FARBOL234, Dorokinyo and hamlin for reporting.
  • Fix: Disable brush taking in 2.1 sessions. Thanks Blozzom for reporting.

New in DrawPile 2.2.0 Beta 9 (Nov 12, 2023)

  • Fix: Make Android build work again. Thanks Tetriser for reporting.
  • Fix: Allow indirect mode in 2.1 sessions when opacity dynamics are disabled. Thanks to Blozzom for reporting.
  • Fix: Make LCH color wheel circle not look so bright and discontinuous.
  • Fix: Refresh canvas view harder on resize to avoid artifacts on some systems. Thanks xxxx for reporting.
  • Fix: Use proper background color in resize dialog. Thanks xxxx for reporting.
  • Fix: Correct a rounding error when converting pixels for display. This corrects both the visuals and the color picker when picking from the merged image. Thanks deovise and hipofiz for reporting.
  • Fix: Don't crash when a new user joins when using the builtin server and a local fork is present. Thanks to Kink for reporting.
  • Feature: Interpolate inputs that are far away from each other to compensate against fast strokes producing jagged curves. Can be disabled in the input preferences.
  • Fix: Make build directories outside of the source directory work again. Thanks Aquargent for reporting.
  • Fix: Properly handle modifier key releases for keyboard canvas shortcuts. Thanks Daystream for reporting.
  • Server Feature: Implement a shared bans system, letting owners of multiple servers manage a single list instead of having to keep them in sync manually. Thanks Bluestrings for suggesting.
  • Server Feature: Allow exempting users from ban ranges, to help alleviate false positives.
  • Fix: Make IPv6 addresses work in invite links.
  • Fix: Properly add drawpile:// in front of direct invite links when hosting "on this computer".
  • Feature: Support reading and writing Photoshop Document (PSD) files. Thanks pachuco, onyx, Geese and probably others for suggesting. Thanks xxxx for helping getting it compatible with other software.
  • Fix: Make MyPaint brush permission not deny drawing with classic brushes. Thanks xxxx for reporting.
  • Fix: Offer to crop all avatars, not just non-square ones. Thanks Bluestrings for reporting.
  • Feature: Allow adding labels onto brush preset thumbnails. Thanks Paris Green for causing this.
  • Fix: Don't restore flipbook to previous location and size if that would put it outside of any available screen. Thanks Ausjamcian for reporting.
  • Server Feature: Allow exporting and importing session bans. They are encrypted with a per-server key by default. Thanks tincancrab for suggesting.
  • Fix: Prevent banning yourself from sessions.
  • Server Feature: Allow moderators to exempt sessions from the idle timeout. This ability can be disabled by server owners. Thanks Bluestrings for suggesting.
  • Fix: Show proper reasons when a session is terminated, rather than always claiming the server is shutting down.
  • Server Feature: Allow specifying a reason when terminating a session manually.
  • Fix: Squash whitespace in session listings to prevent funky display. Thanks yeen for reporting.
  • Server Fix: Error out when invalid --extauth parameter is given to drawpile-srv. Previously it would just keep going and simply not work without any indication as to why. Thanks RAINTARD for running into this.
  • Feature: Allow exporting images, which saves them without setting the current file or warning about the image being merged together.
  • Feature: Disable selection-dependent menu items (Deselect, Fill Selection etc.) when no selection is present.
  • Server Feature: Add Roles tab to session settings to allow changing operator and trusted status of registered users not currently online, as well as allowing importing and exporting this list of users. Thanks tincancrab for suggesting.
  • Feature: In addition to sounds, allow configuring popup bubbles and task bar flashing in notification preferences. Thanks MagicaJaphet and Bluestrings for suggesting.
  • Feature: Add a notification for unexpected disconnects.
  • Fix: Play back sounds in a different way that should fix the issues with chugging or wrong output devices that some systems have. Thanks Blozzom and Snover for reporting.
  • Feature: Allow configuring notifications for private messages separately from regular chat messages. Mentions can be configured to use these notifications, allowing silencing of regular chat, but still being notified or stuff directed at you. Thanks leandro2222 for suggesting.
  • Fix: Replace the terrifying notification sound effects with stuff from KDE's Ocean Sound Theme.
  • Fix: Don't delay own laser trails as if it were a stroke from another user. Thanks matt for reporting.
  • Fix: Properly update avatar on user markers when they reconnect with a different one. Thanks xxxx for reporting.
  • Fix: Show own user marker again when using the laser pointer.
  • Fix: Use previous avatar when using the reconnect button after a disconnect.
  • Fix: Don't trigger a cacophony of notifications after joining a session, just play a single notification once catchup is done instead.
  • Feature: Store alpha preserve state of layers in ORA files for better Krita compatibility (requires Krita 5.2.1 or newer.)
  • Feature: Allow onion skins to wrap around the timeline, toggleable in the onion skins dock. Thanks Hopfel for suggesting.
  • Feature: Fill the brush slots with nicer default values on first startup, rather than them all being the same pixel brush.
  • Fix: Don't lock tool slots when using the eraser tool, to avoid accidentally getting stuck in it.
  • Feature: Translate a single-colored bottom layer into background color when loading ORA and PSD files.
  • Fix: Make Alt+Space canvas shortcut sorta work in Windows. Thanks Bovy and xxxx for reporting.
  • Feature: Drawpile 2.1 animation import.
  • Server Fix: Don't boot user when they enter an incorrect password, let them try again.
  • Server Feature: Allow the user to pick how they want to log in, to avoid the common issue of wanting to join as a guest but picking a username that's taken.
  • Fix: Nudge catchup if it gets stuck without any messages received for a while.
  • Feature: Remember accounts, not just passwords. Should reduce the clicks and typing needed to log in even if you use multiple accounts.
  • Feature: Allow toggling whole tile marking in the inspector, since it makes some things easier to see.
  • Feature: Render flipbook frames in the background and indicate that fact with a loading spinner. It no longer lags the UI and gets done faster because of multithreading.
  • Feature: Crop flipbook when a selection is present upon opening it.
  • Feature: Make the flipbook UI clearer. The buttons now look like buttons, the uncrop button has a better icon and only shows while the view is cropped and the speed slider shows how many FPS you're actually running at.
  • Fix: Allow saving and loading files in weird Android folders that chew up the file names internally.
  • Server Feature: Allow servers to have a rules text that users are prompted to accept upon connecting. Clients remember that they accepted the rules and won't prompt again unless they changed since last time.
  • Feature: Add velocity and distance dynamics to classic brushes. Similar to how they worked for the input settings before, but more flexible than just a pressure mapping.
  • Feature: Allow grabbing the current brush settings of another user.
  • Fix: Relax transform size restrictions so that transforms of layers that cover the whole canvas don't always get cancelled.
  • Server Feature: Allow servers to set a minimum protocol version for sessions being hosted.
  • Server Feature: Let clients know at the beginning of the login if the session they're trying to join is nonexistent. Thanks Meru for suggesting.
  • Server Feature: Allow server owners to make sessions only joinable through direct links. Thanks Meru for suggesting.
  • Feature: Add touch tester, available under the Help menu.
  • Fix: Actually put the link that's being joined into the address input when using a web link, rather than leaving it blank.
  • Fix: Make Recolor (alpha locked) mode way faster.
  • Fix: Allow using gestures instead of touch screen controls, hopefully making zooming on touch pads work again.

New in DrawPile 2.2.0 Beta 8 (Oct 1, 2023)

  • x: Apply color wheel direction to color dialogs too. Thanks Blozzom for reporting.
  • Fix: Don't smoothe the canvas view when at 100% zoom with the canvas rotated at a right angle, since that just blurs it for no reason. Thanks SadColor for reporting.
  • Fix: Make flipbook shortcut work while the flipbook is in focus, causing it to refresh its view.
  • Fix: Cap flipbook range properly, rather than letting you set a range beyond the last frame.
  • Fix: Remove the useless "?" button from dialogs in Windows. Thanks vipperz for reporting.
  • Fix: Turn off input event compression, which causes jaggy lines on slow devices.
  • Feature: Draw a hatching pattern on frames in the timeline that are the same as the currently visible one, making it easier to figure out if it's being re-used.
  • Fix: Make flipbook extend the playback range if it was on the last frame and new ones are added to the timeline.
  • Feature: Bring back dprectool, the command-line tool that converts Drawpile recordings. It should work mostly the same as it did in Drawpile 2.1.
  • Feature: Apply parent folder opacity to frames within it, useful for sketch tracks. Thanks to TeaLord9000 for suggesting.
  • Feature: Add a "small screen" mode, which should make the application usable on phones. Thanks to Verdrusk for suggesting.
  • Feature: Allow changing the application font size, rather than using the system default that may be garbage, especially on Android. Also Verdrusk's fault.
  • Feature: Locking docks now also locks toolbars, rather than still allowing you to move them around on accident.
  • Feature: Kinetic scrolling. This lets you click/tap/touch scrollable stuff and fling it around instead of using the scroll bars or wheel. Configurable in the preferences. Thanks again Verdrusk.
  • Fix: Make two-finger zoom and rotation not go completely crazy when the canvas is mirrored or flipped. Thanks BoyOnion for reporting.
  • Fix: Don't crash when picking a brush preset on Android. Thanks to zetalambo and VeeBeeArt for reporting.
  • Fix: Selections finally no longer sometimes disappear when transforming them. Thanks to Spuzzy, Xan and xxxx for reporting.
  • Feature: Capture volume rocker on Android and bind it to undo and redo by default. Thanks to cl for suggesting.
  • Feature: Add compatibility for Drawpile 2.1's broken indirect mode.
  • Fix: Make the receive delay not delay your own undos.
  • Feature: Add a setting for the background color behind the canvas. Thanks to Nightshade for suggesting.
  • Feature: Let operators create layers beyond the 256 per-user maximum. They will use layers of user 0 first, then 255, 254 etc. Thanks to haxekhaex2 for reporting.
  • Fix: Make Drawpile 2.1 binary (dprec) recordings play back properly. Text (dptxt) recordings are not supported.
  • Fix: Synchronize rendering during recording playback properly.
  • Feature: Bring back drawpile-cmd, the command-line tool that renders Drawpile recordings to images. Should also mostly work like it did in Drawpile 2.1.
  • Feature: Implement drawpile-timelapse, a new command-line tool that turns Drawpile recordings into timelapse videos.
  • Server Feature: Add --web-admin-allowed-origin option, to set the Access-Control-Allow-Origin header to the given value. Particularly useful for development, where you don't particularly want to set up an nginx to make CORS happy. Thanks Chem for reporting.
  • Server Feature: Update the server to use the 2.2 protocol.
  • Server Fix: Fix up some invalid casts and thread ownership issues. Not sure if they actually caused issues in practice, but especially on Windows they might have.
  • Feature: Bring back the builtin server, allowing you to host "on this computer" again.
  • Fix: Don't duplicate local fork on soft reset or undo depth change.
  • Fix: Make Erase, Divide and Subtract layer modes in ORA files compatible with Krita.
  • Feature: Stick ID alias and listing hosting options behind an advanced options checkbox, since they keep causing confusion.
  • Fix: Make host page in the start dialog work properly on Arabic and other right-to-left languages.
  • Feature: Allow choosing ffmpeg path on Windows. Thanks xxxx for suggesting.
  • Fix: Move brushes to the proper place in MediBang-esque layout. Thanks xxxx for reporting.
  • Fix: Replace the reset notice dialog with less disruptive on-canvas messages. If you continue drawing, the notice about saving the previous state will dismiss itself. Thanks to Blozzom, vipperz, xxxx, zheida and probably others for reporting.
  • Feature: Allow the client to translate server messages, rather than having them always be in English.
  • Fix: Make preferences dialog not use custom layouts anymore. Fixes the dialog getting stuck at an unusably tiny size on Windows, makes it work with Arabic and other right-to-left languages and allows resizing the dialog as well as scrolling its contents.
  • Fix: Drag-zooming (Ctrl+Middle Click by default) now zooms on the initial click location, rather than the center of the canvas. Thanks to Valaek for reporting.
  • Fix: Don't select layer when toggling its visibility.
  • Fix: Show a crossed-out folder icon for hidden layer groups, rather than switching to the layer icon for them. Thanks to Blozzom for reporting.
  • Fix: Make catchup explicit. Solves both the "stuck at 99%" problem during session resets and the canvas too be unlocked too early.
  • Fix: Give erase mode its own icon so that it doesn't get confused for the eraser slot. Thanks Geese for reporting.
  • Feature: Show if the current brush is in erase or alpha lock mode in the toolbar and allow resetting it via a click. Thanks Geese for suggesting.
  • Feature: Paste in center of the canvas (instead of the center of the view) when the pasted image size is equal to or larger than the canvas size. Thanks Meru for suggesting.
  • Fix: Single-pixel offset when pasting with an existing selection present. Thanks Meru for reporting.

New in DrawPile 2.2.0 Beta 7 (Aug 27, 2023)

  • Fix: Make classic brushes not go brighter when smudging into transparency. Thanks to cada for reporting.
  • Feature: "Ratchet" canvas rotation shortcut, using Alt+Shift by default. Rotates the canvas in 15° increments. Thanks to Kvothen for suggesting.
  • Fix: Don't filter out undo depth messages when playing back recordings.
  • Fix: Make floating docks restore properly again. Thanks SnazComic for reporting.
  • Fix: Don't show tag options when right-clicking on a brush preset. Thanks Blozzom for reporting.
  • Fix: Properly disable blend mode combo box in layer properties dialog. Thanks xxxx for reporting.
  • Fix: Move chat status bar button into a legal position. Thanks Flz for reporting.
  • Fix: Correct various errors in text recording reading and writing.
  • Fix: Don't keep locally forked canvas states around. This reduces memory usage by a bunch, especially when drawing locally.
  • Feature: Add layer on current key frame button is now in the top bar of the timeline, next to the other key frame buttons. Thanks FallenArts for suggesting.
  • Feature: Show a notice when there's no tracks yet, rather than just showing an empty timeline grid.
  • Fix: Actually pick color when adding a color to the color picker through the color dialog.
  • Feature: Mark window when a chat message is received. On Windows, this makes the icon in the task bar orange. On macOS, it supposedly bounces an icon somewhere. On other platforms it probably does something similar, indicating which window is the one that got a message ready. Thanks Radio for suggesting.
  • Fix: Don't add current color to the palette when creating it. Thanks xxxx for reporting.
  • Fix: Make exported palettes not start using the exported location to save changes to. Thanks xxxx for reporting.
  • Feature: Allow muting notifications for a window. Thanks Blozzom for suggesting.
  • Fix: Enable the lock session menu option properly, it remained stuck disabled in some cases before.
  • Feature: Allow selecting and copying text from the pinned message (through the context menu, it doesn't take keyboard shortcuts.) Thanks Bluestrings for suggesting.
  • Fix: Don't claim that a layer is locked when it's just not visible in the current frame.
  • Feature: Make canvas rendering and preview painting asynchronous. This should make the UI much more responsive when e.g. changing layer visibility or transforming a large selection.
  • Fix: Properly handle canvas resizes while transforming a selection, it now no longer causes the source of the transform to get offset.
  • Fix: Show the current color properly on program startup.
  • Feature: Make the color wheel innards go from least to most saturated, putting it in line with how most other software presents it. This can be toggled in the preferences.
  • Feature: Holding Shift while moving a selection now keeps it along the closest axis. Thanks Kvothen for suggesting.
  • Feature: Implement brush export and make the brush import also understand classic brushes.
  • Fix: Make erasing with MyPaint brushes in indirect mode actually work.
  • Feature: Make sliders adhere to the chosen color space. Thanks to leandro2222 for suggesting.
  • Feature: Increase font size on emoji posted into chat. Thanks to leandro2222 for suggesting.
  • Feature: Allow adding an avatar from the login dialog.
  • Fix: Show main window maximized by default, because who wants a drawing program in a tiny window.
  • Fix: Give docks sensible initial sizes. Thanks to xxxx for reporting.
  • Fix: Don't tabify the now invisible-by-default timeline and onion skins by default. Thanks Ben for finding.
  • Fix: Make the flipbook remember your last crop, frame range and playback speed for the current window. Thanks Ben for finding.
  • Fix: Don't mark guests as registered. Thanks to xxxx for reporting.
  • Fix: Allow assigning a shortcut to open the Layouts dialog (F9 by default) and to the entries in the Help menu (nothing by default.)
  • Fix: Make reloading the last brush preset slot-specific, since it's nonsense to clobber your current slot with the last preset you set in another one.
  • Feature: Allow increasing and decreasing key frame exposure. Thanks Tabuley for suggesting.
  • Fix: Properly update the view when the canvas size changes, rather than leaving stale areas outside of the canvas.
  • Feature: Add shortcuts to swap the contents of brush slots to allow for a kind of toggling behavior using a single shortcut. Thanks xxxx for suggesting.
  • Fix: Make drawpile:// URL handling actually work on Windows. Thanks Sal for reporting.
  • Fix: Don't draw the curves for MyPaint brushes in the brush editor with the same color as the background grid.
  • Feature: Allow exporting animations from the Flipbook, using the cropping, frame range and speed set in it.
  • Fix: Pre-fill image saving file dialogs with the current filename, rather than the previously opened or saved one. Thanks xxxx for reporting.
  • Fix: Make filling transparent areas work better, rather than different surrounding colors making it behave differently.
  • Fix: Make layer folders work as sources for flood filling.

New in DrawPile 2.2.0 Beta 6 (Jul 31, 2023)

  • Fix: Don't forget account password when entering a wrong session password.
  • Fix: Smoothe out the timing of strokes received over the network to not make them appear jerky because of the paint engine drawing them too fast.
  • Fix: Lock timeline controls when the canvas or user is locked.
  • Feature: Allow adding key frames and an associated layer or group with a single action.
  • Feature: Allow duplicating key frames along with their contents.
  • Fix: Put changing the timeline frame count behind a button, since it might get mixed up with the current frame on accident.
  • Fix: Slow down user markers only for MyPaint brushes and snappy for classic brushes as well as when a new line is started.
  • Feature: Add a flipbook button to the timeline dock.
  • Feature: Hide the indirect mode button in the brush dock instead of just disabling it, since it's hard to tell the difference otherwise.
  • Fix: Fixed a crash when resizing the canvas while an indirect stroke is in progress.
  • Feature: Allow viewing tile and draw context memory usage in the statistics dialog.
  • Server Fix: Make the server GUI exist again, it got lost in the build scripts.
  • Fix: Put unpinning behind operator permissions too, just like pinning.
  • Feature: Improved canvas view. It now allows scrolling further beyond the edges, has more sensible zoom steps and shows messages about locks and canvas transformations.
  • Fix: Make the canvas view not jigger anymore when you zoom it out at certain sizes.
  • Fix: Lock drawing when the user is locked.
  • Fix: Make KisTablet Windows Ink the default tablet driver on Windows, because the Qt one is pretty busted.
  • Fix: Re-synchronize the canvas when local desynchronization is detected, rather than just keeping going with a broken state for ages.
  • Fix: Don't reset the layer properties dialog when someone else changes a layer. This would cause renames to get reverted to the original name, for example, which is really annoying.
  • Fix: Make default layer actually select itself when joining a canvas.
  • Fix: Move notifications to their own preferences page, since the network page was out of room and squashed some controls.
  • Fix: Make preference notes larger so that they work better in non-Latin writing systems.
  • Fix: Make the password page of the login dialog not so annoyingly large.
  • Feature: Clarify when asking for a session password versus an account password.
  • Fix: Handle duplicated shortcuts by complaining about it, rather than doing nothing.
  • Feature: Add shortcuts to move the canvas around, for people who want to do it with something other than the arrow keys.
  • Feature: Enable auto-repeat for shortcuts where it's sensible, such as zooming, moving the canvas, undo, redo or switching between layers, frames and tracks.
  • Feature: Allow clicking and dragging the inspector around, so that it's easier to hit small sections.
  • Fix: Don't fire an assertion when moving a selection out of bounds. This is not an error.
  • Fix: Default color wheel to HSV mode, not HSL.
  • Fix: Stretch columns of the ban list so they don't look so weirdly cut off.
  • Fix: Don't revert settings with a default value that have an old version of some other value.
  • Server Feature: Relay listing errors to the client, rather than leaving them in silence.
  • Server Feature: Add maximum user count and closed state to listings.
  • Server Feature: Expedite listing refreshes when something important changes, like the NSFMness, title or closedness of a session.
  • Server Fix: Make the server GUI compatible with Qt6.
  • Fix: Make layer picking and the inspector pay attention to the layer view mode, so that picking layers when animating works properly.
  • Fix: Allow pixel brushes to have a minimum of zero pixels, rather than treating both 0 and 1 as 1.
  • Fix: Make chat line not scroll into oblivion when dragging over it.
  • Fix: Make the UI not mess up the sizes of docks and chat when starting it on Windows.
  • Fix: Make brush outline update even when docks are hidden.
  • Feature: Make Linux AppImage more compatible with older Linuxes.
  • Fix: Make secure connections work in the Linux AppImage.
  • Feature: Automatically join a session when given a URL on startup, rather than waiting for another button press.
  • Feature: Allow including session passwords into URL.
  • Feature: Implement an invite dialog, to make it easier to directly let people join a session without listing it publicly.
  • Feature: Show a warning when joining an NSFM session, since it might not be obvious to new users what they're in for.
  • Fix: Make newlines show up properly when the chat is in context mode.
  • Fix: Handle key presses and releases while dragging the canvas, since some people start the drag before pressing the key and would like their inputs to not be ignored.
  • Fix: Wrap server title in the login dialog to make it not stretch the window into eternity.
  • Fix: Allow opening links in the server title. They were turned into links, but those couldn't actually be clicked.
  • Feature: Implement a start dialog instead of dumping the user into a blank canvas and making them pick through the menu at the top. Replaces the join, host, new and update dialogs, unifying them into a single one instead that should reduce the number of clicks required to do pretty much anything.
  • Fix: Properly disable the NSFM session setting when it can't be changed.
  • Fix: Make the color palette work properly again, it was broken in various ways. Also makes the color picker look like it used to in 2.1.
  • Feature: Add a button to the color picker to pick from the screen.
  • Feature: Allow focusing the canvas by double-tapping the Alt key, as well as an assignable shortcut for it, which is Ctrl+Tab by default.
  • Feature: Show coordinates in the view status bar.
  • Fix: Put resize arrows at the corners of the selection, rather than offset on the far ends.
  • Fix: Don't displace selection by some subpixel amount when moving it around.
  • Fix: Prioritize sending of pings and pongs so that a lot of queued messages don't cause a disconnect.
  • Fix: Make filtering closed sessions actually work.
  • Feature: Make the server browser columns resizable.
  • Feature: Allow filtering duplicates in the server browser.
  • Fix: Make pinned messages persist again even when chat recording is turned off.
  • Fix: Don't grab colors from way too far away when using classic brushes.
  • Fix: Avoid colors tending toward black when smudging.
  • Fix: Make the cursors for the line, rectangle, ellipse and curve tools look less skrunkly.
  • Fix: Prefer Drawpile's own icons over system icons, to avoid nonsensical icons being used on Linux.
  • Translation: German, Italian, Portuguese (Brazil), Portuguese (Portugal), Russian, Simplified Chinese, Spanish, Turkish.

New in DrawPile 2.2.0 Beta 5 (Jun 21, 2023)

  • This release represents just about a week of development, but it has some important fixes in there! So it's highly recommended you upgrade to it:
  • Fixed a really stupid bug that caused sessions to seemingly revert to 2.1 mode.
  • Made the new default theme actually the default theme, don't sync it with the theme from Drawpile 2.1.
  • Fixed saving and loading settings even when Drawpile 2.1 corrupted them.
  • Fixed saving of shortcuts and probably also some other settings that didn't let you clear stuff anymore.
  • Allowed ordering of list servers in the preferences again.
  • Made chat pins work properly again.
  • Allowed color picking when using the selection tool again.
  • Brought back the old averaging smoothing, as another option in addition to the new time-based stabilizer.
  • Miscellaneous fixes and prettifications in the settings dialog.
  • Fixed stabilizer settings being forgotten when closing the program.
  • Non-floating selections now stick around after hitting Delete, since you might want to delete on multiple layers.
  • Fixed some crashes when closing the window when it's in a funky state.
  • Made settings only save to disk when you're not doing anything in the program, to avoid causing chugging on slow disks.
  • Fixed Copy Merged to actually work and not just copy a blank rectangle.
  • Fixed floating docks not being resizable on macOS.
  • Fixed pasting images with weird color formats.
  • Added an NSFM option to the host dialog, letting you turn that on right from the get-go.
  • Called NSFM the same everywhere in the program, instead of mixing up "NSFM", "NSFW" and "age-restricted" in different places.
  • Added a context menu to the join dialog, if you want to copy stuff out of there.
  • Made popup messages ("Connecting..." and such) work on Wayland.
  • Made nearest-neighbor transform actually work, it ended up being forced to bilinear every time.
  • Made the stabilizer not run at a really low framerate on Windows.
  • Split Shortcuts and Canvas Shortcuts into two settings pages again.
  • Fixed shortcuts not getting assigned when closing the preferences without clicking somewhere else first.
  • Made conflicting shortcuts actually show errors instead of silently doing nothing.
  • Fixed tool slots swizzling their colors when multiple windows were open.
  • Allow holding left-click on the timeline frames and scrubbing left and right for a quick preview.
  • Pick better layers when switching animation frames and tracks, so that you don't end up stuck on layers that aren't actually in your current frame.
  • You can now add keyboard shortcuts for a whole lot more stuff, such as swatch colors, dock visibility and pretty much all actions you can pick from the menu that inexplicably didn't let you assign shortcuts to them before.
  • Fixed the authentication dialog messages looking wonky.
  • Made the session password dialog look less squashed.
  • Made links in server messages clickable.
  • Brought back the version check in a way that should work also for beta versions, on all platforms and in other languages.
  • Allowed saving the log file on Android, since you can't view it directly.
  • Made alert chat message backgrounds less bright.
  • Updated Chinese, German and Portuguese translations.

New in DrawPile 2.2.0 Beta 4 (Jun 15, 2023)

  • Features:
  • Android support, for tablets anyway. More details below.
  • Overhauled paint engine. Much faster than it was before, making use of multiple cores and with cow-powered vector processing.
  • A nicer default theme. The Windows 95 look has gone in favor of a sleeker look more than inspired by Krita. It's dark mode by default, but there's other styles to choose from. And if you really want it back, the old style is still there too.
  • Improved animation support, now with a timeline with tracks and key frames and all that. More details below.
  • Adjustible undo limit. You're no longer stuck with the 30 undos that are there by default. You can change the undo limit of a session in Session ? Undo Limit.
  • Local canvas backgrounds. Under Edit ? Canvas Background, you can now change the background only for yourself. Useful if the session operator has set it to a glaring white and you'd really like it to be a more gentle gray. Or vice-versa, if you need that stinging in your eyes.
  • Better canvas shortcuts. You can zoom by just scrolling the mouse wheel and resize your brush by holding shift and brushing the pen left and right. To configure this stuff, look in Edit ? Preferences, Canvas Shortcuts.
  • A real stabilizer, similar to the one you have in Krita or Paint Tool SAI. The old smoothing is still there, if your tablet is overly jittery, you can turn smoothing up in Edit ? Preferences, Input.
  • MyPaint brushes support indirect mode now.
  • A brush editor, with settings beyond what you can configure in the dock. Edit ? Brush Settings gets you there.
  • Better MyPaint brush import. You can now import brush packs just like you would in MyPaint, rather than having to unpack the brushes inside and import them individually.
  • Under View ? Layouts, you can now save and restore application layouts, as well as pick from some existing presets. For example, if you have your dockers arranged differently for drawing and animating, you can put those here.
  • Tablet-friendly sliders. If you're used to Krita, you'll know these already.
  • The fill tool now supports gap filling, feathering and a more comprehensible size limit setting.
  • Transform smoothing options. Pick between bilinear and nearest-neighbor. The latter makes working with pixel art possible.
  • Compatibility with 2.1 sessions. Details below.
  • There's now a menu on the right of each dock, rather than having two not that useful buttons there. Here you can (un)dock it, make it always floating and close it. Locking docks hides the menu button.
  • Docks can now be placed at the top and bottom of the window too and can now be nested.
  • An option for vertical tabs on side-mounted docks.
  • Holding Shift now lets you arrange docks easier by hiding their title bars. If you find that annoying, turn it off in Docks ? Hold Shift to Arrange.
  • There's more brush presets that come with Drawpile now and they're organized a bit better.
  • Chat now has multiline support, hit Shift+Return to make a newline.
  • The preferences dialog has been tidied up and includes a tablet tester field.
  • On Windows, you can now switch between Windows Ink and Wintab mode without having to restart Drawpile.
  • The frequency and amount of snapshots available in Session ? Reset... can now be adjusted in the preferences.
  • Parental control settings can now be hidden when locked.
  • Server features:
  • The server now has a forceNsfm option that will automatically make all sessions hosted on it have the NSFM flag enabled.
  • Messages sent from the server GUI will now be alerts.
  • Fixes:
  • Indirect drawing mode now works properly, because it really didn't before. If you don't know what this is about: it makes the brush opacity work different ("opacity" instead of "flow") in a way that some people like a lot.
  • Hiding docks (e.g. by hitting Tab) no longer causes them to change their size and position.
  • Transforms now actually preview on the correct layer, rather than just being an image on top of everything.
  • Session resets no longer jerk your view around or throw you to a different layer. You also get prompted if you want to save the canvas from before the reset, in case something got lost.
  • You can set layer opacity and blend mode again without having to go through the layer properties for it.
  • Recordings and recording indexes now deal with undos properly.
  • Recordings can now be played back at a fast pace again.
  • Switching to a layer folder and back now no longer makes the canvas lock clicking noise.
  • You now have to be operator to pin a chat message.
  • Moving your own layer to your own folder now doesn't require you to have omnipotent permissions anymore.
  • Switching away from the annotation tool no longer spontaneously spawns a blank annotation.
  • On Linuand macOS, the canvas now properly gets focus when you interact with it using a tablet, rather than having to reach for the mouse for it to do so.
  • Development:
  • Better infrastructure, making a new release of Drawpile is now almost just one push of a button, rather than having to spend an afternoon building it on three different operating systems.
  • Weblate integration, enabling translation of Drawpile in the browser. Details below.
  • Some development tools are now included included with Drawpile: tablet event logging, performance profiling, artificial lag, artificial disconnects as well as the recording and replaying of debug dumps to help with figuring out desyncs.

New in DrawPile 2.2.0 Beta 3 (Aug 20, 2022)

  • MyPaint brushes
  • MyPaint style 15 bit color channels. This fixes the color artifact issues that have plaged previous versions.
  • Removed popup notifications for join and leave events
  • Fixed skew when scaling a selection from the top-right handle
  • Fixed mouse droppings when for large brush outline widths
  • Fixed laser trail persistence selection
  • Split color wheel, sliders and palette into separate docks
  • Fixed "no guest logins" checkbox eanbled state
  • Fixed session snapshot missing the timeline
  • Timeline editor is now disabled when missing timeline edit permission
  • Timeline editor now shows the selected layer
  • Layer forward/backward shortcuts now also autoselects the corresponding layer

New in DrawPile 2.2.0 Beta 2 (Aug 12, 2022)

  • Changes include:
  • Fixed smudge color sampling mask offset
  • Fixed annotation loading
  • Added support for /alert chat command in private chats
  • Fixed crash if a group layer was moved by layer deletion
  • Fixed layer lock status updating
  • Fixed preserved chat mode
  • Annotation creator name is now shown in the dock titlebar
  • Restored palette write-protect feature
  • Fixed brush slider limit preferences
  • Layers hidden in frame/onionskin mode are now grayed out in the layer box
  • Modifying the timeline now updates the view immediately
  • New identicon style

New in DrawPile 2.1.20 (Sep 12, 2021)

  • Updated Portugese translations
  • Added more angles to canvas rotation dropdown menu
  • Fixed inconsistency in classic brush rendering
  • Fixed inconsistency in layer resize color sampling
  • Theme (Windows Vista style / Fusion / Fusion Dark mode) is now selectable
  • Fixed that a cleared annotation would not count as empty for the "delete empty annotations" command

New in DrawPile 2.1.19 (Aug 6, 2021)

  • Changes include:
  • Fixed performance regression (noticeable especially when using the selection tool on large boards)
  • Fixed crash when adding a new input preset
  • On Windows, the "fusion" widget style is now always used for consistency. (Previously, fusion style was used only with the dark mode.)
  • Added a canvas rotation widget to the status bar.
  • Fixed that invalid canvas resize commands could crash the application
  • Unfinished indirect strokes now get exported properly
  • Fixed graphical corruption in navigator at the start of a session.

New in DrawPile 2.1.18 (Jul 26, 2021)

  • Bug fixes include:
  • Fixed inconsistent zooming at certain values
  • Fixed brush size adjustment shortcuts not working consistently
  • Fixed that undo operations would cause the layer list to scroll
  • Fixed moving a layer to the bottom-most position
  • New features:
  • Added French and Portugese translations
  • Input preferences can now be saved per tool
  • Brush cursor outline width can now be changed
  • Layer properties can now be edited in a dialog
  • Color wheel shape is now selectable
  • Maximum brush size and spacings can now be extended (affects sliders)
  • Added selection perspective transform mode
  • Breaking changes:
  • The way the active tool settings are saved is not compatible with previous Drawpile versions. Switching back to an older version after using 2.1.18 will result in missing tool settings.

New in DrawPile 2.1.17 (Feb 16, 2020)

  • Following drawpile:// links works again
  • List servers can now be added using drawpile:// links
  • Available list servers are now updated correctly in session settings dialog
  • Fixed moderator login UI
  • Server: the "trusted" user flag can now be set via the admin API
  • HTTP redirects are now followed properly

New in DrawPile 2.1.16 (Feb 9, 2020)

  • Changes in Drawpile version 2.1.16 include:
  • When unexpectedly disconnected from a server, a notification bar is now shown at the top of the screen.
  • Passwords are now stored securely using the platform keychain
  • Selections are now properly clipped to the canvas size
  • Copying or cutting a moved selection now works as expected
  • Fixed brush size adjustment shortcut (needed two presses to adjust)
  • List servers can now be manually sorted
  • The drawpile.net list server is no longer included by default
  • Server improvements include:
  • Added support for ext-auth "trusted" flag
  • Added "last active" timestamp to user list API
  • Added option to ignore ext-auth HOST flag (limits hosting to local accounts only)
  • Changed session ID style from GUID to ULID (filenames now sort by creation time)

New in DrawPile 2.1.15 (Dec 7, 2019)

  • Server changes:
  • Added support for list server API 1.6
  • Added ext_host and ext_port fields to status API endpoint
  • Abuse report token can now be set via admin API
  • List server whitelist can now be edited via the API
  • Fixed memory leak in admin API
  • The server can now also serve web admin site static files
  • Server-gui: Added "welcome message" field
  • Bugfixes and improvements
  • Drawpile-cmd: OpenRaster export format now works
  • Added command line option to override data and config paths (portable app mode)
  • Added "closed" session list filtering option
  • Added "Add" button to join dialog for adding the server's associated list server

New in DrawPile 2.1.14 (Nov 17, 2019)

  • Bugs fixed:
  • Fixed dab spacing in default brush presets
  • Fixed that selecting a brush preset could change the eraser slot into a non-erasing mode
  • Fixed brush preset reordering by drag&drop
  • Fixed that pressing spacebar while drawing would cause strange input handling behavior
  • Bugfix: don't allow pasting by drag&drop if cut&paste is disabled

New in DrawPile 2.1.12 (Oct 20, 2019)

  • One big new feature in this version is configurable canvas shortcuts. This allows you to change the shortcut keys for canvas related actions (e.g. scrolling, rotating and color picker mode.) This, unfortunately, meant changing one existing shortcut: pressing the space bar now acts the same as pressing the middle mouse button. This might conflict with your existing muscle memory, but the shortcuts are now fully consistent.
  • When holding down modifier keys, the mouse cursor is now updated to indicate the active mode: zoom, rotate, color pick or layer pick.
  • Another big change is improved brush preview and editing. A new visual style is now used to better indicate the effect of the current blending mode. The "watercolor mode" button has been removed, instead smudging is now always available for all brush shapes.
  • There is also a change in the way brush presets are stored internally. Rather than the settings file or the registry, presets are stored as individual files. This should make it less likely that the presets disappear seemingly with no reason, and it also makes it possible to back up and copy them.
  • One more big UI change is a new drag handle style for selections. Instead of having to use keyboard shortcuts to rotate a selection, clicking on the selection now switches the handles between scaling and rotation/skew mode.
  • Bugs fixed:
  • Fixed lockup when opening a layered TIFF file
  • Fixed responsivity of tool quick adjustment by dragging
  • Server: session files are now named consistently
  • Fixed crash when using large-radius color picker near the edge of the canvas
  • Other changes:
  • Added Italian translation (contributed by Albano Battistella)
  • The same default curve is now used for velocity pressure emulation mode
  • drawpile-cmd: added support for outputting to stdout
  • The same default curve is now used for velocity pressure emulation mode

New in DrawPile 2.1.11 (Jun 23, 2019)

  • Bugs fixed:
  • Fixed that brush color was uninitialized on fresh install
  • Fixed that using "/me" in a direct message would send it as a public message
  • Fixed incorrect layer when moving selection if active layer was changed before the move ended
  • Fixed single pixel shift when moving or copy&pasting freeform selections
  • Fixed that read-only listservers were included in the session settings "add listing" buttons
  • Client now refuses to autoreset if it knows it isn't fully caught up yet
  • Other changes:
  • Join dialog's session list sort order and column is now remembered
  • Server: registered user bans are no longer IP bans
  • Server: op and trusted status is now remembered by user account, rather than username
  • An error message is now shown if a login message is oversize
  • Chat box can now be detached into its own window

New in DrawPile 2.1.10 (May 30, 2019)

  • Bugs fixed:
  • Fixed that settings for the built-in server (such as the default port) were being ignored
  • Fixed that an early undo could clear out the canvas size
  • Fixed excessive memory consumption
  • Fixed canvas jumping when resized by another user
  • Fixed extra messages at the beginning of a session recording
  • Server: fixed that web-admin API HTTP headers were case sensitive
  • Other changes:
  • Bundled color widgets updated to latest upstream version
  • Application version number is now shown in a tooltip if a session is incompatible

New in DrawPile 2.1.9 (May 19, 2019)

  • Bugs fixed:
  • Fixed that disabled brush slots were still selectable with a keyboard shortcut
  • Fixed potential crash when logging in to a session
  • Ctrl+C shortcut now works in the chat box
  • Server: fixed crash when using file sessions (regression)
  • Fixed duplicate entries in the "Nearby" server list
  • Very long pinned chat messages no longer force the window to become wider
  • Other changes:
  • Incompatible sessions are no longer hidden in from the Join dialog
  • Added support for read-only list servers
  • The built-in server is now based on the new Thick Server
  • Server: added support for real password hashing algorithms
  • Server: removed argument --secure (secure mode is now always used if TLS is enabled)

New in DrawPile 2.1.8 (May 4, 2019)

  • Bugs fixed:
  • Server: fixed crash when closing a session
  • Fixed formatting in update check dialog when more than one new version is shown
  • Drag&dropping a link to an image onto the canvas now works again
  • Fixed crash when opening an OpenRaster file with missing stack.xml
  • Feature enhancements:
  • Server: listings are now refreshed in batches instead of individually
  • Background color alpha can now be set in the "new image" dialog
  • Adaptive canvas zoom slider: the minimum value is now always the zoom level needed to fit the whole canvas on screen. Read more
  • Drawpile can now download the latest version via the "check for updates" dialog
  • New more efficient recording index format. Indexes are now generated faster and the files are smaller. Read more
  • Enabled dark appearance support on macOS
  • Memory usage optimization: only the minimum amount of session history is now kept in memory
  • Manual session reset snapshots are now retained separately for one minute
  • NSFW sessions are no longer hidden by default

New in DrawPile 2.1.7 (Apr 13, 2019)

  • Added Ukranian translation (thanks to Yuri Chornoivan)
  • Fix navigator not updating correctly on canvas resize
  • Improved join dialog:
  • Removed list server selection dropdown. Instead, all listings are shown together in the same box
  • Replaced the filter buttons with labeled checkboxes
  • The session list box can now be hidden by simply resizing the dialog
  • The dialog now remembers its size

New in DrawPile 2.1.6 (Apr 6, 2019)

  • Bugs fixed in this release:
  • Fixed tablet support in the Windows build
  • Fixed that the chat box would autoscroll when not scrolled to the bottom
  • Fixed session settings shortcut clash with the fullscreen shortcut (F11) by removing the default shortcut for session settings
  • Fixed lines being drawn across the canvas if session reset occurs while midstroke
  • Features and other changes:
  • Added Night Mode (Windows and Linux only at the moment, support for macOS coming later)
  • Session permissions can now be saved as presets
  • New shortcut: Tab now hides or shows toolbars and docks
  • Added an option to share the same color across all tool slots
  • Session can now be reset to an image loaded from file
  • Scrollbars are now hidden in fullscreen mode
  • Added "pick color from layer" brush mode
  • Enabled smooth canvas scaling at certain zoom levels (1-200% or 1-800% when rotated)

New in DrawPile 2.1.5 (Mar 31, 2019)

  • Bugs fixed in this release:
  • Fixed navigator view dragging
  • Fixed brush preset shape rendering
  • Fixed saving of brush presets
  • Features and other changes:
  • Added an option to update the navigator in real time
  • Added a new shortcut: tab (customizable) toggles toolbars and docks on and off.
  • Switching to fullscreen mode no longer hides tabs and toolbars
  • Reverted some changes made to the status bar (moved zoom slider and flip and chat buttons back)

New in DrawPile 2.1.4 (Mar 23, 2019)

  • Bugs fixed in this release:
  • Fixed session list sorting in login dialog
  • Fixed crash when resizing canvas
  • Fixed layer access user list going out of sync
  • Fixed navigator focus rect scaling
  • Fixed "registered" level permissions not taking effect on login
  • New features:
  • Server: session and recording directories are now automatically created if missing
  • Added automatic new release checking
  • Added filter field to user list (event log)
  • Reimplemented navigator user cursors. If you have any comments about this, please see issue #698 at GitHub.
  • Navigator cursors can now be enabled or disabled independently of the main canvas cursors

New in DrawPile 2.1.3 (Mar 16, 2019)

  • Feature changes in this release are:
  • Righthand side of the viewport is now indicated in the navigator when the view is rotated
  • Navigator now only shows the canvas pixel content. User cursors and other decorations are no longer shown. To improve general drawing performance, navigator refresh rate is capped to 2 updates per second.
  • Chatbox is now restored to 2.0.0 style, but there is now an option to enable a 2.0 style mode. (Right click on chatbox and select compat mode)
  • Added inspector tool. Read more here.
  • Added a users tab to the server log dialog. All users, including those who have logged out, are listed there. The undo/redo and ban commands can be used on logged out users as well.
  • Server change: added support for banning users who have logged out
  • Bugs fixed:
  • Fixed showing layers in user cursors
  • Fixed crash when changing tools mid-stroke
  • Open/save dialogs now remember the last used folder

New in DrawPile 2.1.2 (Mar 9, 2019)

  • Feature changes in 2.1.2:
  • Brush dab max spacing is now 999% and max brush size 255px. These sizes are available via the spinboxes.
  • Implemented fixed layers (a generalization of the old background layer feature)
  • Added Vietnamese translation
  • Bugs fixed in version 2.1.2:
  • Fixed crash when using flood fill on an canvas without any layers
  • Fixed crash when trying to reset after resetting to the very beginning of the history
  • Clicking on the layer show/hide glyph no longer selects the layer
  • OpenRaster: the xres and yres values are now preserved
  • Fixed canvas not appearing immediately when login dialog was closed
  • Fixed chat username line breaking
  • Fixed Recolor (and other modes) in non-incremental mode

New in DrawPile 2.1.1 Beta (Feb 18, 2019)

  • Features added in this version:
  • Added support for ext-auth avatars
  • Added server configuration options for disabling avatars
  • Added copy merged action (like copy visible, except background is excluded)
  • Bugs fixed:
  • Pressing the OK button in the login dialog could crash the application
  • Fixed mouse cursor ghosts when switching tools
  • Autoreset threshold can now be set even when session size is unlimited
  • Autoreset would sometimes fail to work
  • Fixed missing layer attributes after a reset
  • Censor layer flag is now saved in ORA files
  • Fixed ORA file loading regression
  • Background window is no longer raised when notification balloon is shown (Windows specific bug)
  • Fixed onionskin mode settings initialization
  • Fixed zooming when outside the usual zoom range (2.1.0 regression)

New in DrawPile 2.1.0 Beta (Feb 13, 2019)

  • Big new features:
  • Tiered access controls: There are now four user tiers: guests, registered users, trusted users and operators. Operators can mark any user as trusted. Access to various features can be granted based on the tier. Trusted users can be given a permission to kick/ban non-trusted users. Read more here.
  • Canvas background: Drawpile no longer creates a background layer by default. Instead, you can set a background color. If you wish to use a background layer anyway, you can set the background color to transparent and create a layer yourself and it will work exactly the same as before. Read more here.
  • User avatars: You can now select an avatar image when logging in. The avatar is shown in the chat box, the user list and user cursors.
  • Improved chat: The chat box and user list have been updated for a more modern look.
  • Private messaging: You can now open private chats with individual users.
  • Smarter autoresetting: The autoreset threshold is now adjustable from the session settings dialog and can even be disabled entirely. (The server can still set a hard maximum size limit.) Additionally, the server now tries to select the user with the fastest connection to perform the reset. Note that server version 2.1 is needed for autoresetting to work at all. Read more here.
  • Censored layers: Individual layers can now be tagged for censoring. When censoring is enabled, tagged layers will be filled with a censor bar pattern. (Censoring can be locked via the parental controls settings.) Read more here.
  • Redesigned join dialog: The "join session" dialog now includes the session listing directly.
  • Zoom tool: You can now use a new tool to zoom in and out. Read more here.
  • Square pixel brush: There is now a square shape option for the pixel brush.
  • WebM video export: Recordings and animations can now be exported directly to WebM video format. (Replaces the semi-broken ffmpeg exporter.)
  • Smaller features and changes
  • Simplified host dialog: The "host session" dialog has been simplified. The "settings" tab has been removed, since it was an obsolete holdover from version 1.0.
  • Layers menu: The layer menu button is replaced by a new menu in the main menubar. Keyboard shortcuts can now be used to create layers and toggle solo view mode (among other things.) Common operations (add/delete layers) can still be accessed in the layer box by right clicking.
  • Navigator controls: Zoom and rotation can now be adjusted via the navigator dock. Read more here.
  • Status bar controls: The zoom and rotation sliders in the status bar have been replaced with comboboxes. The mirror and flip actions were moved to the tool bar.
  • Keyboard shortcuts are now shown in toolbar tooltips.
  • Template export: You can now export the current canvas as a template for use with the dedicated server.
  • Bonjour on Windows: If Bonjour is installed, Drawpile can use it to announce and find servers on the local network.
  • Big internal changes:
  • Premultiplied colors: Pixels are now stored in premultiplied ARGB format. This fixes some strange color artifacts that happen when using very light colors and also makes basic alpha blending operations slightly faster. Read more here.
  • Optimized layer initialization: Initial layer content is now drawn in a more efficient way. This makes session resets (and initialization from an existing image) slightly faster. Read more here.
  • Clientside brush engines: Instead of sending PenMove events, Drawpile now sends precomputed dab vectors. This is a potentially controversial change, since it does make session histories bigger, however I believe the tradeoff is worth it. This change simplifies the application's internal architecture, improves forward compatibility, eliminates certain bugs entirely, makes the watercolor brush faster and makes it possible to implement soft resetting and integrate the MyPaint brush engine. (In short, how it should have been done since the beginning.) Read more here and here.

New in DrawPile 2.0.11 (Aug 16, 2018)

  • Server: fixed OP status auto-restoration for users who used the "become operator" feature
  • Server AppImage: updated libmicrohttpd to version 0.9.59
  • Fixed a crash caused by dragging&dropping a layer that was deleted during the drag operation
  • Fixed unsetting shortcuts which have a default value
  • Changed default "session settings" shortcut to F9, to avoid collision with the default (Windows) fullscreen shortcut F11
  • Added a nicer set of presets for the brush palette
  • Sending USR1 signal to drawpile-srv now restarts the internal web-admin server
  • Updated Chinese translation

New in DrawPile 2.0.10 (Mar 17, 2018)

  • Server: improved protection against data loss if server is terminated abruptly
  • Wintab relative tablet mode (mouse mode) hack must now be enabled explicitly, since it can cause glitches for normal tablet users
  • Removed tablet bug workaround mode (no longer necessary with the improved tablet event handlers. It now cause more problems than it fixes.)
  • Bugfix: creating layers with duplicate IDs is no longer possible
  • Bug workaround: the server now autokicks a user who is de-opped while resetting to prevent the reset image from garbling the session
  • Server: added a new option for automatically clearing database log history
  • Fixed crash when replacing current canvas with a new one while a selection existed

New in DrawPile 2.0.9 (Feb 26, 2018)

  • Version 2.0.9 is now out. The main focus of this release is improved graphics tablet support. If you've been having problems using a graphics tablet with Drawpile, there's a good change this version will fix them. Drawpile now uses Krita's new Windows Ink support code (good news for all Surface Pro users!), as well as their improved Wintab and XInput2 tablet event handlers. After updating, remember to try unchecking the "enable bug workarounds" setting. Chances are you won't need it anymore.
  • Other fixes in this release:
  • Recordings are now prefiltered. This fixes various recording playback problems.
  • Fixed random duplicate frames in exported animations
  • Reverted the real time color history update feature
  • Active color is now remembered independently of the color history when swapping with X

New in DrawPile 2.0.8 (Feb 12, 2018)

  • Important fixes in this version:
  • Regression fix: autoreset no longer removes session permission settings
  • Manual resets now also preserve permissions
  • Fixed password remembering on Windows (also fixed in 2.0.7.1)
  • Fixed that a server password would also get saved for ext-auth (also fixed in 2.0.7.1)
  • Platform input method context plugins are now included in the AppImage
  • Other improvements:
  • Server: added support for SSL certificate chains and certificate auto-reloading
  • Server: web admin can now be used with socket activation
  • Server: support ext-auth "did" field
  • Better icons for authenticated users and mods
  • New session option: allow only authenticated users to join (requires server version 2.0.8)
  • Chatbox no longer shows "user joined" messages for users already in the session
  • macOS: a new window is now opened when the application icon is clicked if none is currently open.

New in DrawPile 2.0.7.1 (Jan 28, 2018)

  • Password file path was incorrect on Windows. Fixed in 2.0.7.1. Other platforms are not affected.

New in DrawPile 2.0.7 (Jan 26, 2018)

  • This release fixes a couple serious bugs introduced in the 2.0.6 release and adds some feature improvements too.
  • Regression fixes:
  • Windows specific: Fixed a missing DLL that resulted in a Windows 95 UI style
  • Fixed that you couldn't enter a password protected session after logging in with a registered user account
  • Fixed duplicate colors in the color history palette
  • Fixed flipbook downscaling
  • New features:
  • Added a "remember my password" feature. Makes using registered accounts much easier!
  • Flipbook now upscales if the canvas or cropped area is very small
  • The "show password protected sessions" checkbox now retains its state
  • Other bug fixes:
  • Fixed that paste & area fill could be done on a locked layer (locally, did not affect other users)
  • Improved selection scaling behavior. Proportional scaling mode now maintains aspect ratio correctly.

New in DrawPile 2.0.6 (Jan 22, 2018)

  • New features:
  • Added support for external authentication
  • Added a selection shear mode (hold Shift+Alt and drag to shear)
  • Added a menu item for terminating a session (moderator feature)
  • Flipbook view can now be cropped
  • Added a quick layer picking mode (hold shift+control to select a layer)
  • Palettes can now be imported and exported directly from the UI
  • Added a feature for sending abuse reports (support must be enabled serverside for this to work)
  • Added a "server title" field to server GUI
  • Added an option to disable tablet eraser detection
  • Added a command line tool for rendering recordings
  • Added an option to hide password protected session in the join dialog
  • Usability improvements:
  • Changing the active color now immediately updates the color history
  • Saving OpenRaster files is now much faster (in common cases)
  • Saving is now done in the background. (Autosave no longer interrupts work)
  • Bugs fixed in this release:
  • Fixed joining a template session by URL
  • Fixed flood fill on erased areas
  • Reset is now aborted if the user loses OP status before it's ready
  • Reset is now cancelled if a snapshot cannot be produced
  • Fixed disappearing canvas if user was drawing during a reset
  • Windows specific: audio.dll is now put into the right folder (fixes missing sounds)
  • Recording is now automatically restarted on session reset
  • Fixed crash when cancelling bezier curve drawing with right click
  • Regression fix: brush outline now snaps to pixel centers again when using a hard edged brush

New in DrawPile 2.0.5 (Jun 26, 2017)

  • Bugs fixed in this release:
  • Fixed flood fill expansion (regression)
  • Fixed concurrency problem in recording playback (controls out of sync with actual playback)
  • Fixed zooming with ctrl+stylus motion
  • Fixed language changing
  • Fixed tool selection when "select all" command was used and the rectangular selection tool was already selected
  • Fixed a bug in the server GUI that could reset server settings
  • Usability improvements:
  • The number of remembered host addresses is now limited
  • Enter and Esc keys can now be used to end or cancel Bezier curve drawing
  • If a selection exists, undo first undos the selection transformation
  • Improved latency hiding behaviour (avoids blinking strokes while drawing caused by repeated canvas rollbacks)
  • Canvas is now locked on autoreset and a notification chat message is sent
  • Layer selection is now restored after session reset
  • Removed "persistent session" option from the host dialog (this option was misleading since persistence may not be available on the target server. Once a session is started, it can be made persistent via the session settings dialog if the server supports it.)
  • New features:
  • Added a built-in tablet testing tool
  • Added an option to hide the server address in the status bar
  • Added an option to disable tool toggling shortcut
  • All admin HTTP queries are now logged
  • Added a log file for debug messages

New in DrawPile 2.0.4 (Apr 25, 2017)

  • Bugs fixed in this release:
  • Fixed user lock and OP status getting out of sync with the server when joining back to a session
  • Added missing error reporting if image saving fails
  • New features and improvements:
  • There is now a dedicated brush slot for an eraser (eraser mode is permantenly active in this slot)
  • Eraser as a separate tool is back. The eraser tool works works just like the freehand tool, but it only uses the new eraser slot
  • Switching the currently selected brush into eraser mode is now done with a new shortcut: Ctrl+E
  • Added a new tool for drawing Bezier curves
  • A size limit can now be set for the flood fill tool to protect against accidental fills.
  • Flood fill tool now has an erase mode
  • And last, but not least, is the new Room Code feature:
  • When you announce a session, the list server assigns a random five letter code to it. This code can be entered into the server address box in the Join dialog in place of the full session address. All listed sessions get a room code, but it is most useful with the new private session type. When the listing mode is set to private, the session will not appear in the public list, but you still get a room code. This way, when you want to invite friends to a session but do not want to make it visible to the general public, just set the listing type to private and send them the room code.

New in DrawPile 2.0.3 (Apr 17, 2017)

  • This release fixes some more bugs and restores some UI features. If you’ve been holding back from the 2.0 series because of the missing brush choice buttons, this is the release for you!
  • This release introduces the following changes to the UI:
  • Brush selection buttons (1-5) are back!
  • Brushes and the tools that use them are now decoupled: any brush can now be used with any tool
  • Any brush can now be switched into eraser mode
  • Consequently, the Pen, Brush, Watercolor and Eraser tools have been merged into a single Freehand tool. Which mode it works in now depends on the selected brush.
  • The maligned tool preset pie menu is now replaced with a brush preset dock
  • Restored ‘X’ shortcut key to swap between primary/alternative colors
  • Smoother behavior now matches version 1.0.6
  • This release also fixes many bugs:
  • Fixed application crash when merging layers
  • Fixed invisibly locked layers (strokes would disappear after drawing)
  • Fixed empty canvas after reset (caused by mixing of non-reset and reset messages during auto-reset)
  • Fixed missing ctrl/alt modifiers when using a tablet stylus
  • Fixed server crash when a new user joins
  • Fixed lockup when squishing selections
  • Fixed “connection error” when username contains non-ASCII characters (server AppImage specific bug)
  • Session timeout setting now works as it should

New in DrawPile 2.0.3 Pre 1 (Apr 9, 2017)

  • This release is from a separate branch that introduces a new brush settings UI. The purpose of this release is to gather feedback about the UI changes before the final 2.0.3 release.
  • The new UI restores the brush slot buttons (1-5), but also changes some other things:
  • The 1-5 buttons are now only used with brushes and not other tool types
  • Brushes and tools are now decoupled:
  • Pen, Brush, Watercolor and Eraser tools are all merged into a single Freehand tool
  • Any brush can now be toggled into eraser mode
  • Brushes are now shared by all tool types (freehand, line, rectangle and ellipse)
  • Tool preset pie menu replaced with a brush preset box
  • No brush feature has been removed, just moved into different places in the UI. In fact, the new UI exposes some features that have previously been inaccessible.

New in DrawPile 2.0.2 (Mar 27, 2017)

  • Changes in this version include:
  • Fixed returning from fullscreen mode to maximized window
  • Fixed server crash when terminating an announced session
  • Restored missing “lock dock positions” feature
  • Messages received during reset while session history is full are now dropped (mitigates auto-reset loop of death)
  • Fixed layer selection after current layer is deleted
  • Separated layer delete & merge menu items
  • Various session template related fixes
  • Session history size is now displayed in the status bar
  • Fixed lockup on reset when navigator was visible
  • Reset no longer clears pinned chat message
  • Fixed “hide from self” layer menu item
  • Fixed selection moving when selection is partially (or completely) outside the canvas
  • Fixed Windows XP and Vista compatibility (32 bit version)

New in DrawPile 2.0.1 (Mar 22, 2017)

  • Changes in this version include:
  • Brush crosshair cursor restored (configurable: activate it from the preferences dialog)
  • Session announcement list error messages are now shown properly
  • New feature: timestamps can now be automatically added to recordings
  • Fixed frequent canvas rollbacks when many people were drawing simultaneously (stroke would disappear, then reappear)
  • Moderator accounts now get OP status correctly (regression fix)
  • Fixed exclusive layer locking
  • Fixed restoring session & layer ACLs after a reset
  • Fixed cut&paste and annotation locking
  • Progress bar is now shown during session reset
  • Fixed missing username in “op granted/revoked” chat messages
  • Fixed duplicate local messages when sending reset snapshot
  • Fixed max session count and session size limit settings in server GUI

New in DrawPile 2.0.0 RC (Feb 27, 2017)

  • Changes in this version include:
  • Added support for parental controls
  • New cursors for brush tools
  • Laser pointer style tweak
  • Server name included in session list
  • Default layer can now be selected
  • Selections can now be moved even when Cut&Paste is disabled

New in DrawPile 2.0.0 Beta 3 (Feb 6, 2017)

  • This release adds all the remaining features that were planned for 2.0, including many features that went missing during the big rewrite at the start of the 2.0 development cycle.
  • New features include:
  • File backed sessions (replaces session hibernation)
  • GUI for adding and removing session announcements
  • GUI for setting an operator password
  • GUI for viewing session event log
  • Session settings are now shown in a dialog window
  • Login dialog now shows a progress bar until caught up. Login performance is also improved
  • Annotations can now be aligned vertically
  • Annotations access controls: protect individual annotations and limit annotation creation to operators
  • Individual users can now be blocked from sending chat messages
  • Chat message pinning fixed
  • Tool slots replaced with a tool preset pie menu
  • User accounts can now be configured in the server settings file
  • Session template feature is back
  • Improved server GUI
  • This version also introduced another few protocol changes, making it incompatible with beta2. The dptxt text format was also overhauled. This unfortunately breaks compatibility with all existing dptxt files. However, the new format is easier to read and more future proof, meaning files made with the new version should remain compatible with almost all future versions.

New in DrawPile 2.0.0 Beta 2 (Jan 10, 2017)

  • Key improvements in this version include:
  • Automatic session resetting when space is low
  • Sessions no longer terminate when they run out of space
  • Dedicated server configuration is now stored in a SQLite database
  • HTTP admin API is back, and most server settings can now be changed through it.
  • Users can now be banned from individual sessions
  • Session settings can now be changed from the GUI
  • Graphical mode for the standalone server (unfinished)
  • Lots of bug fixes

New in DrawPile 1.0.6 (Dec 19, 2016)

  • The new features are:
  • Server: session expiration time now works as an idle timeout
  • Server: added /opword command (see the session moderation tips page for details)
  • Name of the user who created an annotation is now displayed next to the text edit box
  • Server now sends log messages for every operator command
  • Docks can now be locked in place
  • Bug fixes and other changes:
  • Fill and paste commands are now correctly enabled/disabled when user’s operator status changes
  • Fixed freeform selection fill blending mode
  • Cut and fill operations now only work on selections to make it less easy to accidentally erase whole layers
  • User cursor is now shown for paste and fill operations
  • Server: kicked users are now immediately removed from the session, without waiting for the connection to gracefully terminate.

New in DrawPile 1.0.5 (Oct 15, 2016)

  • Improved performance when joining a session (fixed window title change spamming on every change event)
  • Fixed restoration of eraser hard edge mode when switching tools

New in DrawPile 2.0.0 Beta 1 (Aug 8, 2016)

  • True live previews for line, rectangle and ellipse tools
  • New simplified session playback dialog
  • Session resetting

New in DrawPile 1.0.4 (Aug 8, 2016)

  • Username length is now limited to 22 characters
  • Correct error message is now shown if the server is full
  • An error message is shown if the user’s IP address has been banned
  • Cut&paste and fill operations can now be limited to session owners
  • User list can be included in session announcement
  • Undo override can now be used while session is locked

New in DrawPile 1.0.3 (Jul 5, 2016)

  • Although this is a bugfix focused release, two interesting new features are introduced:
  • Session templates allow you to prepopulate a server with sessions. Once a template session ends, it resets to its initial state and continues to be available for joining. (See dedicated server help page for more info.)
  • Chat message pinning lets you pin a message to the chat window so it is always visible. For example, “/pin Visit drawpile.net” will attach “Visit drawpile.net” to the top of the chat box. Currently, only one message can be pinned at a time and only session operators can pin messages.
  • Other changes in this version are:
  • Bugfix: the save dialog now remebers the last used path
  • Compatiblity with new miniupnpc library version
  • Fixed selection content stretching if selection was partially outside the canvas
  • Fixed saving of last edited keyboard shortcut in preferences dialog
  • Removed default canvas size limit
  • Recording buffer is now periodically flushed to minimize data loss in case of a crash
  • Selection mirror & flip buttons now automatically cut the selection
  • Flipbook playback range can now be selected

New in DrawPile 1.0.2 (Sep 15, 2015)

  • New feature: added option to split serverside recordings at each snapshot
  • The “/force_snapshot” command is now available outside debug mode
  • Fixed selection content stretching if selection was partially outside the canvas
  • Improved URL detection in chat
  • Simplified history conflict resolution (fixes some lagging issues)
  • Hidden layers are no longer saved in a flattened image
  • Fixed tablet pressure glitch at the beginning of a stroke
  • Faster loading of OpenRaster images with a solid background layer

New in DrawPile 1.0.1 (Aug 10, 2015)

  • Improved smoother
  • New feature: color picker sampling area can now be adjusted
  • Chat message URL detector now supports port numbers
  • Dedicated server can now send a welcome message to new users
  • Recording index generation is now faster and generates smaller files
  • Added notification to session finder if age restricted sessions were hidden
  • Fixed “reset size” action for lasso selections
  • Fixed disappearing selection when switching from rectangle to lasso tool
  • Fixed listing server choice recall
  • Slighly improved performance when joining long running sessions
  • Clicking on a drawpile:// link now opens the join dialog instead of connecting directly

New in DrawPile 1.0.0 (Jul 28, 2015)

  • Fixed UI lockup and disconnection when joining a session
  • New “behind” and “color erase” blending modes
  • Gestures now work on touchscreens
  • Automatic port forwarding setup with UPnP
  • Improvements to the selection tool
  • Lots of bugs fixed, including one that could crash the application

New in DrawPile 0.9.11 (Jun 4, 2015)

  • Freeform selections disappearing when dragged
  • Incorrect pixel compositing in video exports (especially noticable with eraser strokes)
  • Random crashes when animation export dialog is closed

New in DrawPile 0.9.10 Beta (May 22, 2015)

  • This release adds support for making simple animations! Related new features are:
  • New layer view modes (solo and onionskin) for working with layers as frames
  • An animation preview window
  • Animation export
  • Support for loading animated GIFs (each frame is loaded as a layer)
  • Other new features are:
  • Layers can now be inserted above the current layer, instead of always at the top
  • LAN server discovery using Bonjour or Avahi (not yet enabled in the Windows version)
  • Moving a selection now automatically moves the content too
  • Autosaving (works well with Krita's file-backed layers!)
  • Japanese and Russion translations
  • And a couple important bug fixes too:
  • Fixed loading of recordings made with older versions
  • Fixed filling of selections partially outside the canvas

New in DrawPile 0.9.9 Beta (Apr 8, 2015)

  • Improved brush cursor (crosshair is no longer shown)
  • A new Lasso selection tool
  • Selections and pasted images can now be rotated and flipped
  • Quick view flipping and mirroring
  • The color dock now has a "previously used colors" palette
  • Notification sounds
  • New bundled icon theme (Breeze)
  • Support for dark color themes
  • Additionally, this release includes one last major feature before 1.0.0: public session listings. If you want to announce a session open to everyone, you can now do it directly from the Host dialog. There is currently one official listing server here at drawpile.net, but a sample implementation is available if you want to run your own.

New in DrawPile 0.9.8 Beta (Jan 31, 2015)

  • Important bugs fixed are:
  • Unnecessary retcon at start of new strokes (improves performance)
  • Fixed regression in annotation tool (annotation moving/resizing was broken in previous release)
  • Fixed retconning of indirect strokes
  • Feature enhancements include:
  • Menu bar is now shown when the cursor is brought to the top of the screen in full screen mode
  • UI language can now be selected explicitly via the settings dialog
  • Holding a tool shortcut key now switches to the tool temporarily. When the key is released, the old tool is restored.
  • A new "fill under" mode for the flood fill tool.

New in DrawPile 0.9.7 Beta (Jan 16, 2015)

  • The remote host selection dropdown would not work correctly if it contained more than one address
  • Drawpile would crash when reordering layers in certain circumstances

New in DrawPile 0.9.6 Beta (Jan 6, 2015)

  • New tool: Watercolor brush (picks up color from the layer)
  • A pixel grid is now shown (if enabled) on high zoom levels
  • Improved Mac support
  • Better detection of disconnected clients
  • Improved brush rendering (especially thin brushes)
  • Support for playing back recordings made with all previous versions

New in DrawPile 0.9.5 Beta (Oct 17, 2014)

  • Added Czech translation
  • Improved canvas zooming and rotation
  • An option to disable tablet events
  • Tool specific cursors
  • Flood fill expansion
  • Added "recolor" (preserve alpha) blending mode
  • Fixed language fallback (The wrong translation would be loaded on some non-English systems)

New in DrawPile 0.9.4 Beta (Aug 16, 2014)

  • Redesigned color docks: palette box and RGB/HSV sliders are now combined into a single dock and a color wheel was added.
  • New chat command to simulate dice rolls for online tabletop gaming
  • Layer locking is now supported in offline mode
  • Chat history can be optionally preserved
  • Improved drag & drop support
  • Added flood fill tool

New in DrawPile 0.9.2 Beta (Jul 14, 2014)

  • Version 0.9.2 of Drawpile is now ready, containing dozens of bug fixes and usability improvements, as well as a few new features.
  • New features include:
  • Session hibernation, which allows persistent sessions to survive a server restart
  • An experimental web admin API for the server
  • Support for authenticated logins and moderator access on dedicated servers
  • I18n support
  • Bulk of the changes in this version are bug fixes. Refer to the commit log and github issue tracker for a detailed list
  • This version also breaks compatibility with recordings made with older versions! However, the changes also make the protocol more future proof, so there will probably not be another backward compatibility breaking change in a long time
  • The chat functionality also changed in behaviour. Chat messages are no longer stored as part of the session, but are sent only to the currently logged in users. A chat may be marked as an announcement, however, in which case it will be stored for future users to see as well

New in DrawPile 0.9.1 Beta (Jun 5, 2014)

  • SSL support for the client and the dedicated server
  • Major memory leak fix
  • New color selecting widgets
  • New feature: tool slots for quickly changing between tool presets
  • Various minor bug fixes

New in DrawPile 0.9.0 Beta (Jun 5, 2014)

  • Systemd socket activation support for the server
  • Server settings can now be loaded from a configuration file
  • URLs in chat messages are turned into clickable links
  • Various bugfixes and minor improvements

New in DrawPile 0.8.6 Beta (Jun 5, 2014)

  • Filter pauses, undone actions and other events from recordings
  • Indexed recordings enable quick jumping to any point in the recording
  • Bookmark positions in the recording for quick access