Releases: drawpile/Drawpile
Releases · drawpile/Drawpile
continuous
This release is an automatically generated snapshot of the current state of development. It is continuously updated with work-in-progress changes that may be broken, incomplete, or incompatible with other versions of Drawpile. For downloads, take a look at the Assets below.
Unless you really, really know what you're doing, pick the 64bit options. 32bit is probably not what you want unless you have a very strange device.
2.2.2-beta.4
Code signing policy: https://drawpile.net/codesigningpolicy/
- Fix: Solve rendering glitches with selection outlines that happen on some systems. Thanks xxxx for reporting.
- Feature: Allow scaling animation exports. Thanks Hopfel for animating across a giant canvas.
- Fix: Allow disabling the application proxy in the network preferences and automatically detect bad proxy configurations that can't actually make connections. Thanks FishEggsThe for reporting.
- Fix: Improve socket error messages, listing the error code and adding extra information on what to do if a proxy error occurs. Thanks FishEggsThe for reporting.
- Fix: Center soft brushes on the cursor better, they got offset to the top-left from correcting for size discontinuity before. Thanks Meiren for reporting.
- Fix: Don't mess up gridmap settings when opening brush settings dialog and initially changing a value in it. Thanks Blozzom for reporting.
- Fix: Default "confirm action" to both the regular enter key as well as the one on the numpad. Thanks MachKerman for reporting.
- Feature: Add settings button to color wheel, sliders and palette at the top-left of the dock. For the wheel, this allows changing the settings here now instead of having to go into the preferences. For the sliders, you can now toggle the color space here and decide whether to show all sliders and the hex input. For the palette, this just moves the menu button that used to be in the row below. Thanks MachKerman for suggesting.
- Feature: Allow aligning the color wheel to the top of the dock instead of the center. Can be toggled in the dock's menu. Thanks MorrowShore for suggesting.
- Fix: Scale outer color wheel ring with the size of the widget. Thanks MorrowShore for reporting.
- Feature: Preview selected color on the color wheel. Can be toggled in the dock's menu. Thanks MorrowShore for suggesting.
- Fix: Allow pressing the numpad enter key to apply an action and Ctrl+Equal in addition to Ctrl+Plus to zoom in. Thanks MachKerman and Sinamer for reporting.
- Fix: Prevent artifacts around brush cursor when the canvas is rotated in software renderer mode. Thanks Sinamer for reporting.
- Fix: Don't consider the flood fill's own preview when filling the merged image. Thanks Meru for reporting.
- Server Feature: Streamed autoresets that don't interrupt the session to bring it down to a smaller size, instead the compressed state is built up in the background and replaced on the fly.
- Fix: Make joining through a direct link not put the desktop client into single-session mode. Thanks Bluestrings for reporting.
- Fix: Work around Huion tablets emitting mouse clicks every few pen presses and causing full-pressure strokes to be started. Thanks Blozzom, DT and and Dumb Dog Disease for reporting.
- Feature: Toggle layer visibility action, available in the Layer menu. Mostly useful to let assign a keyboard shortcut to it. Thanks incoheart for suggesting.
- Feature: Remember ranges set for MyPaint brushes in the settings editor, rather than implicitly fitting them to the curve. Thanks Verdrusk for suggesting.
- Server Feature: Provide more session status information for administrators, such as the autoreset state.
- Feature: Allow importing MyPaint brushes in old version formats instead of saying they contain invalid JSON. Thanks bunnie for suggesting.
- Feature: Attach brushes to slots, showing which brush you selected and remembering changes to them. This attachment can be disabled in the tool preferences.
- Feature: Allow configuring the number of brush slots in the tool settings, from 1 to 9, in addition to the everpresent eraser slot. Thanks vipperz for suggesting.
- Fix: Clamp palette swatch sizes to more reasonable bounds. Thanks MachKerman for reporting.
- Server Feature: Allow checking session, operator and server account passwords via the API. This can be used to password-protect recordings or similar. Thanks Meru for contributing.
- Fix: Correct some UI scaling problems with brush outlines, canvas centering, dock toggling, pixel grid and transform handles. Thanks annoy for reporting.
- Feature: Extended touch tap gestures, among them two-finger tap to undo, three-finger tap to redo and tap-and-hold to summon the color picker. Can be configured in the preferences under the Touch tab. Thanks InconsolableCellist and many others for suggesting.
- Feature: Snap canvas rotation around 0° by default. If you don't want this, you can set the canvas shortcut or touch rotation to "free rotate canvas" instead.
- Feature: Show a color preview when picking a color from the canvas. Can be toggled in the tool preferences.
- Fix: In layer view mode, render the layer truly in isolation instead of applying opacities, visibilities or alpha preserve to it. Thanks MachKerman and incoheart for reporting.
- Feature: Add Layer > Group View to show the parent group of the current layer in isolation. Thanks Rylan for suggesting.
- Fix: Save and export images according to the current view mode. Thanks incoheart for reporting.
- Server Fix: Don't get announcement refreshes stuck in an infinite loop. Thanks Meru for reporting.
- Fix: Make MyPaint brushes not ignore the first stroke made with them. This would also sometimes lead to a blank preview.
- Feature: Allow choosing between a round and square expansion/shrinking kernel in flood fill, magic wand and when altering a selection. The latter is particularly useful for pixel art. Thanks Bigcheese and MorrowShore for suggesting.
- Fix: Don't ignore double-clicks when toggling layer visibility or check state. Thanks Chryssabliss for reporting.
- Feature: Put all shortcuts onto a single settings page, showing conflicts between them better. Allow searching for shortcuts by name and keybinding, as well as filtering out only conflicts. Thanks MajorCooke for suggesting parts of this.
- Feature: Allow assigning keyboard shortcuts to brushes. Assigning the same shortcut to multiple brushes will toggle through them. Thanks annoy for suggesting.
- Server Feature: Integrate with systemd watchdog.
- Fix: Make user interface scaling not round to multiple of 100% anymore. Thanks blau, Buch, Chryssabliss and ShotgunnerFox for reporting.
- Fix: Don't use system message boxes on Android, since they behave in various broken and nonsensical ways, like showing you a yes button three times. Thanks Hopfel for reporting.
- Feature: Use hardware renderer on Android by default.
- Fix: Don't unnecessarily scale full-canvas animations by a single pixel.
- Feature: Replace GIF export with ffmpeg's libraries, since they are also used for videos. It's way faster, generates much better palettes and supports transparent backgrounds. Thanks dAVePAGE and JJ for reporting issues in this regard.
- Fix: Constrain aspect ratio of transform scaling properly, it was getting offset by the distance between the clicked point and the actual corner. Thanks Blozzom for reporting.
- Feature: Allow configuring flood fill preview and confirmation behavior, defaulting to the simplest mode similar to single-user software, but still previewing fills locally first. The magic wand always works this way for now, since selections are local only anyway.
- Feature: Show resize dialog when expanding canvas, to avoid accidental resizes and improve performance by doing the expansions all in one step. The keyboard shortcuts to expand the canvas work in this dialog now and also auto-repeat if you hold them down. Thanks Bluestrings and tobiasBora for suggesting things in this regard.
- Fix: Indicate denied permissions by showing a message to that effect, rather than just disabling the actions and leaving you guessing. Thanks Venesio for reporting.
- Fix: Clicking off of an annotation will no longer instantly create a new one in that spot. It will instead only deselect the annotation that was selected.
- Fix: The Delete Empty Annotations can now be undone without undoing what happened before it as well.
- Feature: Empty annotations are now automatically deleted when you deselect them, to avoid the common clutter of stray empty annotations across the canvas. If you really did want an empty annotation, you can hit undo and it will return.
- Server Feature: Setting a minimum protocol version of dp:4.24.0 now tells clients that they're using a Drawpile version too old for this server, rather than leaving them sitting at a session list where they can join no sessions.
- Feature: Allow clicking and dragging the fill and magic wand tools to adjust the tolerance.
- Fix: Make mouse click canvas shortcuts not override key canvas shortcuts. Thanks incoheart for reporting.
- Server Feature: Always allow server admins, moderators and users with the new PERSIST flag to toggle session persistence. The global persistence setting still allows anyone to toggle this. Thanks Bluestrings for suggesting.
- Server Feature: Allow admins to specify a linger time for empty sessions, which will let even non-persistent sessions live on for that time to allow people a chance to reconnect.
- Server Feature: Add API endpoints to get and create session listings. Thanks Meru for contributing.
- Fix: Make login dialog not spill off-screen on mobile devices.
2.2.2-beta.3
- Fix: Use more accurate timers for performance profiles if the platform supports it.
- Fix: Don't try to update the roles list before becoming an operator, which could lead to a crash. Thanks Bluestrings for reporting.
- Fix: Don't update sessions that were just added to the session browser, since that can lead to a crash because of what is probably a bug in Qt's filtering and sorting. Thanks Bluestrings for reporting.
- Feature: Turn too large transforms into cut and paste operations instead of cancelling them outright.
- Fix: Make frame import not create a track with an invalid ID that messes up the UI. Thanks BulletPepper and greendyno for reporting.
2.2.2-beta.2
- Feature: Allow choosing a different cursor for erase and alpha locked brushes. Thanks Hipofiz and Rylan for suggesting.
- Server Fix: Properly sever connections on read, write and timeout errors.
- Fix: Load annotations from ORA files saved by Drawpile 2.1 properly. Thanks RyanMolyneux for reporting.
- Feature: Ignore inputs with invalid pressure during strokes. Thanks Lunalatte for reporting.
- Server Fix: Handle sessions running out of space better, they should no longer end up in an unrecoverable state. The messages in chat are also now translatable, more informative and don't get spammed for every command. Thanks Bluestrings and Charmandrigo for reporting.
- Feature: Lock canvas when the session is out of space, showing an appropriate message in the corner, rather than letting you continue drawing. The server needs to be updated for this to be available.
- Server Fix: Make catchup not take pointlessly long when the session is out of space.
- Feature: Add a message to the reset dialog that you need to be an operator to reset the session, since it's not too clear why the button is disabled otherwise.
- Feature: Make fill source selection a set of buttons for merged image, merged without background and layer, using the dropdown only for the latter thereof. The checked button will be remembered. Thanks Blozzom, Bluestrings and Meru for suggesting.
- Feature: Default redo to both Ctrl+Y and Ctrl+Shift+Z on Windows, Linux and the browser. Thanks Crow for suggesting.
- Fix: Brighten up transparency checkerboard to be a bit easier on the eyes. Thanks Crow for suggesting.
- Server Feature: Allow registered users to replace themselves when rejoining a session, rather than telling them that their own name is in use. Avoids having to wait for their old self to time out if their internet flakes. Thanks Crow for suggesting.
- Fix: Don't fail server compilation when turning off webadmin or WebSockets. Thanks leegean for reporting.
- Fix: Save and load annotation vertical alignment to and from ORA files.
- Fix: Put a transparent background behind flat images, rather than using white. Thanks lungy for reporting.
- Fix: Make pasting images from Drawpile into other applications retain transparency on Windows. This is really a bug in those other programs, they pick the wrong format by default, but whatever. Thanks lungy for reporting.
- Feature: Allow configuring the transparency checkerboard colors in the user interface preferences. Thanks lungy for suggesting.
- Fix: Don't reselect and scroll back to default layer after interacting with the layer list by picking a layer or toggling visibility. Thanks MachKerman and Ben for reporting.
- Fix: Load PNGs even when they have corrupt checksums. Thanks xxxx for reporting.
- Feature: Allow copying multiple entries from the event log. Thanks Bluestrings for reporting.
- Feature: Allow toggling vertical sync in the user interface preferences. Default is off, because it can cause input lag.
- Feature: Web browser support for the client.
- Feature: New hardware and software canvas renderers. The hardware renderer is much faster than the old one, especially in the browser. Uses Direct3D on Windows, WebGL in the browser and OpenGL on all other platforms. The software renderer is slightly faster than the old one, useful for cursed hardware or drivers that cause input lag or visual glitches. This is an experimental feature and can be enabled in the General preferences under Renderer.
- Feature: Add system information dialog under Tools > Developer Tools > System Information.
- Feature: Hide user pointers when they get close to your cursor. Can be toggled under View > User Pointers > Hide From Cursor. Thanks Crowley for suggesting.
- Feature: Allow filling non-continuous areas. Thanks Ben for suggesting.
- Fix: Make rotation via View > Rotation > Rotate Canvas (Counter-)Clockwise work properly when it's mirrored or flipped. Thanks Ragged for reporting.
- Feature: Allow disabling the zoom, rotation, mirror and flip on-canvas notices in the User Interface preferences. Thanks Partack for suggesting.
- Feature: Allow configuring user pointer stay time through View → User Pointers → Stay Time. Thanks johannesCmayer for suggesting.
- Feature: Allow prompting for layer properties when creating a layer. Can be turned on in the User Interface preferences. Thanks Ben for suggesting.
- Fix: Focus existing layer properties dialog if one exists for the layer that properties are requested for.
- Feature: Name layers after the username of the creator by default.
- Fix: Don't use bilinear interpolation when selection is only moved, rotated by a multiple of 90 degrees, flipped or mirrored, to avoid unnecessary blurring. Thanks lungy for reporting.
- Feature: Don't require restarting the application when changing kinetic scrolling settings.
- Fix: Change default canvas size to 2000x2000, because 800x600 is a bit outdated. Thanks MorrowShore for for contributing.
- Feature: Don't require restarting the application to switch between desktop and small screen mode. There's also a "dynamic" option now, which will change the mode based on the size of the window, enabled by default on Android and in the browser.
- Feature: Pan or "hand" tool. Lets you move the canvas around by clicking. Thanks DeeJii for suggesting.
- Fix: Don't move view position when pressing side buttons in small screen mode.
- Feature: Show a proper explanation when you can't join a session.
- Fix: Make autosave interval actually be in minutes, not in seconds because that's ridiculous. Thanks D'mitri for reporting.
- Feature: Add -U/--uncensor parameter to drawpile-timelapse to allow revealing censored layers.
- Fix: Reduce contrast on censor tile stripes to make them less annoying to look at.
- Server Feature: When you pass an option that's not compiled in, the error message will not inform you of that fact, rather than just saying you passed an unknown option with no further information.
- Feature: On Windows and Linux, new windows now open in a separate process, since that's more efficient and resilient. Can be disabled by setting the DRAWPILE_SINGLE_PROCESS environment variable. Thanks Bluestrings for suggesting.
- Fix: The main window should now properly restore to its previous position even when that's on a secondary screen. Thanks Moe for reporting.
- Removed Feature: Roomcodes. They are a vestige from a time where Drawpile only had a single, central listing server. Nowadays nobody uses these anymore, invite links are the replacement.
- Feature: Disable global smoothing for mouse drawing by default, since that really only make sense for tablets and touch. Can be toggled in the input preferences. Thanks nililfin for suggesting.
- Feature: Always show drawing tools toolbar in small screen mode. Thanks Blozzom for suggesting.
- Fix: Increase contrast on depressed buttons in dark themes. This is a patch to Qt. Thanks MorrowShore for reporting.
- Fix: Switch out the icon for the extension buttons on squashed menus and toolbars so that they're actually visible in dark themes. This is a patch to Qt.
- Feature: Make canvas zoom slider use the same increments as the mouse wheel and zoom in/out actions, since stepping by 1% is not useful. Thanks zheida for suggesting.
- Fix: Work around a crash on Linux that happens when hosting with busted versions of Qt 6.6+. Thanks Vanska for reporting.
- Fix: Allow tabbing the main window on macOS again, for some reason Qt disabled it. This is a patch to Qt. Thanks mira for reporting.
- Feature: Pixel ruler, available under View > Show Rulers. Thanks fluttershydev for contributing.
- Fix: Ignore mouse clicks caused by briefly touching the canvas on some devices on Windows. Thanks sfin for reporting.
- Feature: Translate links copied out of the browser version of Drawpile into something that can be joined when they are pasted into the join page.
- Feature: Better small-screen mode handling. The toggle items now no longer overlap, dialogs get maximized if appropriate, the start and settings dialogs get arranged horizontally.
- Feature: Rework selections and transforms entirely. They're now distinct operations. Selections participate in the undo stack.
- Feature: Allow toggling between accurate and fast transform previews. The former is the current kind of preview that actually gets previewed on the layer, the latter is like in Drawpile 2.1, where it's just a vector image drawn on top of everything.
- Feature: Allow picking blend modes and opacity when pasting, stamping and transforming. Thanks blurymind for suggesting.
- Feature: Show layouts action in dock menus. Thanks Elisa for suggesting.
- Fix: Set TCP_NODELAY on sockets to reduce unnecessary latency.
- Feature: Build option -DPROXY_STYLE=ON to fix the bad contrast in dark themes when not building a patched version of Qt yourself.
- Fix: Disable the image memory limit when using Qt 6, because that breaks the loading large files. Thanks LiterallyMe for reporting.
- Feature: Indicate fill source in layer list.
- Fix: Make canvas lock and layers not lock tools that don't actually act on them.
- Feature: Allow transforming multiple layers at once.
- Feature: Make creating a key frame layer copy the layer structure of the closest frame if that's assigned to a layer group. Thanks Ausjamcian for suggesting.
- Fix: Don't overwrite last file on save after resetting the canvas to an external image. Thanks Bluestrings for reporting.
- Fix: Ignore bogus mouse clicks emitted by some tablets after briefly tapping the pen on them. Thanks Ausjamcian for reporting.
- Fix: Make the window fit itself to the screen harder in the browser and on Android. There's also an option under View -> Fit to Screen now to manually force it to do so. Thanks Sidca for reporting and Meru for testing.
- Feature: Allow importing animation frames from multiple files and as layers from PSD files, to be found under File ...
2.2.2-beta.1
- Server Feature: Allow adding a message when kicking someone through the admin API.
- Fix: Don't mess up strokes when hitting undo while still actively drawing them. Thanks Sinamer for reporting.
- Fix: Properly reset angle when undoing a point with the curve tool.
- Server Feature: Log more a more detailed reason when a client is disconnected, since something like a login error can have many causes.
- Feature: Indicate the difference between self-signed and "real" server certificates.
- Fix: Rename "trusted hosts" to "pinned certificates", because that's what they are.
- Fix: Make floating docks stay on top of the main window on macOS. Thanks 6ix for reporting and testing.
- Feature: Add a dual color button, showing the foreground and background color, with the ability to set, swap and reset them.
- Feature: Add "merged without background" as a source for the flood fill tool.
- Server Fix: Include allow web flag when listing a session.
- Server Fix: Update active drawing users when refreshing a session listing.
- Fix: Make WebSockets compile under Qt < 6.5. Thanks kiroma for reporting.
- Server Fix: Properly start extbans checks when running via systemd. Thanks Bluestrings for reporting.
- Server Feature: Warn if a command-line argument was ignored due to systemd sockets being used instead.
- Fix: Show web join allowance checkbox in session settings properly, it didn't show up if disabled before.
- Server Feature: Allow making joining via the browser dependent on if the session has a password or not.
2.2.1
- 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.
2.2.0
- Server Fix: 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.
- Fix: Make pressure-less mode work with pens on Android. Thanks molluscdotgov for reporting.
- Fix: Don't start dragging keyframes when they're moved only a minuscule amount. Thanks Meru for reporting.
- Fix: Remove duplicate port from displayed network address when hosting under a non-default port. Thanks SadColor for reporting.
- Fix: Keep focus on brush sliders when typing into them. Thanks MachKerman for reporting.
- Server Feature: Allow setting web admin auth through DRAWPILESRV_WEB_ADMIN_AUTH environment variable. The --web-admin-auth parameter takes precedence.
- Fix: Show the fill tool size limit rectangle even when the outline width is set to zero pixels. Thanks Blozzom for reporting.
- Server Fix: Show an error message if listing on a certain server is not allowed.
- Fix: Unlist sessions more reliably when terminating sessions hosted "on this computer". Thanks to Buch for helping figure this out.
- Fix: Don't select a newly created layer when there's a default layer.
- Fix: Give the timeline dock a sensible minimum height. Thanks Kink for reporting.
- Fix: 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.
- Fix: Properly update current layer fill source when switching layers.
- Fix: Cap the number of threads used for parallel processing, because 128 core CPUs exist.
- Fix: Move back button in login dialog to the left side. Thanks Blozzom for reporting.
- Fix: Properly forget password when editing account and unchecking the "remember password" box. Thanks Meru for reporting, as well as Bluestrings and Blozzom for finding issues with the fix.
- Fix: Apply chosen interpolation to pasted images. Thanks Deovise and Hipofiz for reporting.
- Fix: Properly disable Session > Reset option when there's no canvas present that could be reset.
- Fix: Allow opening PSD files and importing Drawpile 2.1 animations on Android. Thanks ariqhadiyan for reporting.
- Server Fix: 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.
- Fix: Don't act like the user entered incorrect account credentials if a session unexpectedly requires a password. This only happened with either amazingly bad timing or in the superposition described above. Thanks Bluestrings for reporting.
- Fix: Don't leave one-finger touch setting blank when "do nothing" is selected. Thanks BornIncompetence for reporting.
- Fix: 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.
- Fix: Remember invite link type setting properly. Thanks Bluestrings for reporting.
- Fix: 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.
- 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.
2023-12-08 Version 2.2.0-beta.11 - 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 repor...
2.2.0-beta.11
- 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.
2.2.0-beta.10
- 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.
2.2.0-beta.9
- 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.