Drawpile 2.0.3 Release

Version 2.0.3 is now out. 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

Read more

Drawpile 2.0.3 pre-release

A pre-release version of 2.0.3 is now out for testing!

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.

This is a test release and thus not listed on the download page. Instead, get it from here: (EDIT: links changed to pre-release 2 version)

Please give this version a try and tell me what you think about the new user interface. The changes are in a separate branch, so at this point it is still easy to modify or even revert them.

Read more

Drawpile 2.0.2 Release

Version 2.0.2 is now out. This release fixes the bug that would lock up the application when a session was reset, and many other bugs. It also adds a new logo contributed by Leandro Pacheco. In many ways, this is the release version 2.0.0 should have been.

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)

Read more

Drawpile 2.0.1 Bugfix Release

Due to some critical bugs discovered in version 2.0.0, version 2.0.1 is now released a little ahead of schedule.

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

Read more

Drawpile 2.0 stable release

The 2.0.0 stable release is finally here! Version 2.0 has finally reached the level of quality where I feel it is ready to replace version 1.0.6 as the official stable release.

Version 2.0 is unfortunately incompatible with 1.x versions. For this reason, version 1.0.6 is still available on the download page as a ZIP package (Windows) that does not require installation, so that it can be used in parallel with the new version.

The public server will be switched over to version 2.0 later today. Privately run 1.x servers will of course continue to function, and the public listing server will continue to accept announcements from the old version.

Compatibility notice: If you get an error saying “this is not a drawpile server” when you connect to a server, that means you’re running version 1.0.6 and the server requires 2.0. If you try to connect to a 1.0 server with the 2.0 client, the client will just sit there until the connection times out. (It’s waiting for a message in the new format that will not arrive.)

When upgrading from 1.0.6, I recommend first uninstalling the previous version to make sure no old libraries are left over. The Windows version now comes in 64 and 32 bit varieties. If the 64 bit version does not work for you, try the 32 bit one.

So, what’s new in version 2.0? Read on to find out. (TL;DR at the end.)

Read more

Drawpile 2.0 Release Candidate

Version 2.0.0 release candidate is now out!

This is the last test release before 2.0.0 stable, which will be released in about two weeks from now. If major bugs are discovered before then, a there will be a second release candidate before the stable release.

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

Once 2.0 stable is released, the public server will be switched over to the new version. The new server is, unfortunately, incompatible with 1.x clients, so please give this release candidate a try to see if there are any bugs or missing features that would keep you from using 2.0.0 instead of 1.0.6.

You can report bugs at the issue tracker, the Facebook group or even just by email.

Read more

Drawpile 2.0 beta 3 released

The third and final beta of 2.0 is now out!

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.

The next release will be 2.0 Release Candidate, and (if all goes well,) the next one after that will be the 2.0 stable. Please give the new version a try and report any bugs you might find at the issue tracker, the Facebook group or even just by email.

Read more

Drawpile 2.0 beta 2 released

The second beta of 2.0 is now out! This release fixes many bugs discovered in the previous release (special thanks to everyone who submitted bug reports!), restores some missing features and adds a couple of new ones.

The 2.0 version is not compatible with the 1.0 series or the first beta. Compatibility with future versions is not guaranteed until 2.0 final is released.

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

Features that are still missing:

  • Server HTTP admin API is not yet fully implemented
  • Session hibernation will come in the next version

To get 2.0 stabilized quickly, your help is needed! If you find a bug or a feature that is missing or not working anymore, please report it on the issue tracker, the Facebook group or even just by email.

Read more

Drawpile 1.0.6 released

Drawpile 1.0.6 is now out!

This release introduces a couple of new features to help session moderation, as well as a few bugfixes.

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.

Read more

Drawpile 1.0.5 released

Drawpile 1.0.5 is now out!

This is a minor release that fixes a couple of bugs. Changes in this version are:

  • Fixed loading of custom palettes on OSX (bug introduced in version 1.0.4)
  • Fixed untrusted certificate error on OSX
  • 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

The most important change in this release is the performance fix. If joining sessions is causing Drawpile to lock up for you, this release may help with that.

Read more

Double release 1.0.4 and 2.0 beta 1

Two new releases today: stable branch version 1.0.4 and the first beta of the new 2.0 series.

Changes in version 1.0.4 are:

  • 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

Version 1.0.4 is mostly compatible with previous versions, the exception being the cut&paste restriction. In older versions, the tools will not be disabled in the user interface, but will just fail to work.

Version 2.0.0 beta 1 is the first release of the 2.0 branch. It is not compatible with 1.0 branch versions and might not be compatible with the final 2.0.0 version.

Version 2.0.0 mostly lays groundwork for future development, but does have some new features visible to the end user. These include:

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

Read more

Drawpile 1.0.3 released

Afer a long wait, Drawpile 1.0.3 is finally ready!

As a stable branch release, this version is fully compatible with all 1.0.x versions, including future ones. 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.

This is also the first version for which official Linux binaries packaged with AppImage are provided. In the future, I am also planning on providing Flatpaks.

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

Read more

Drawpile 1.0.2 released

Drawpile 1.0.2 is out!

This is another bug fix release that is fully compatible with version 1.0.0 and 1.0.1 (and future 1.x releases too.)

Changes in this version are:

  • 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

Read more

Drawpile 1.0.1 released

Drawpile 1.0.1 is out!

This is a stable release that is fully compatible with version 1.0.0 and any future 1.0.x versions.

Changes in this version are:

  • Improved smoother (thanks to Philip Boulain)
  • 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

Read more

Drawpile 1.0.0 released!

Drawpile 1.0.0 is here!

After about 3 years of development (or 8 if you count the hiatus), Drawpile is finally out of Beta and the first stable release is ready!

The most important changes in this version are:

  • 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

Version 1.0 is the beginning of the first stable branch: there will be no more protocol changes until version 2.0. All 1.x version will be fully interoperable.

Read more

Drawpile 0.9.11 released

Due to a serious bug discovered in the previous release, here is one more release before 1.0.

Bugs fixed in this release are:

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

There was also time to add one extra feature: animated GIF export! Both animations and session recordings can be exported as GIFs.

In other news, I will be setting up a public Drawpile server in a few weeks. In addition to helping those having firewall trouble to host sessions, it will also serve as a testbench for the server itself to see how it performs under load.

Read more

Drawpile 0.9.10 released

Version 0.9.10 of Drawpile is now available for download!

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

Unfortunately, this release breaks protocol compatability yet again. The next version will most likely be 1.0.0 and the start of the stable branch, meaning no more protocol breakage until version 2.0!

Read more

Drawpile 0.9.9 released

Version 0.9.9 of Drawpile is now available for download! This release completes the feature TODO list for 1.0.0. Notable changes in this release include:

  • 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.

The next release will be either 0.9.10 or 1.0.0, depending on how many (if any) serious bugs are discovered in this one. The 1.0.0 version will be the start of a stable branch, which will receive only bug fixes and backwards compatible feature enhancements until the next major version (2.0) is ready.

Read more

Drawpile 0.9.8 released

Version 0.9.8 of Drawpile is now available for download!

The previous release, while fixing important bugs, also introduces a couple of nasty regressions. Hopefully, I managed to squash them all for this release.

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.

Read more

Drawpile 0.9.7 released

Version 0.9.7 of Drawpile is now available for download, a bit earlier than planned.

This release fixes two major bugs discovered in the previous version:

  • 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

Additionally, this release adds one very interesting new feature: lag-free painting in network mode. Previously, network latency was hidden (with varying success) by painting to a temporary layer while the drawing commands were making their way to the server and back. This worked OK for the basic brushes, but poorly with certain blending modes and not at all with the new Watercolor brush.

The new version now lets local drawing happen immediately without waiting for the commands to finish their roundtrip. Of course, this open up the chance that brush strokes get applied in different order on different computers. This is where the new synchronization method comes in: when an inconsistency is detected (we draw something, but later find out someone else had drawn in the same spot earlier) the program will automatically undo the actions and then redo them in the correct order! In practice, this should happen very rarely, so this new method should actually be more efficient than the old preview based one. Those interested in the technical details can read more here.

While this new feature fixes some old bugs/problems, there is a chance that it introduces new ones. If you find any, reports are much appreciated!

Read more

Drawpile 0.9.6 released

Version 0.9.6 of Drawpile is now available for download!

The major improvements in this version are:

  • 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

Also, the new Windows an OSX builds are bundled with the newly released Qt 5.4 library, which should hopefully fix some Wacom related bugs.

As this release adds new painting features, the network protocol and recording format has changed. However, Drawpile now includes compatability code for loading recordings made with the previous version, so from now on, recordings made with version 0.9.2 or newer can be opened by all future versions (barring dramatic future changes to the protocol.)

Read more

Drawpile 0.9.5 released

Version 0.9.5 of Drawpile is now available for download!

As usual, this release contains a few feature improvements as well as bug fixes. Notable improvements are:

  • 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)

This release also contains a few Mac specific improvements:

  • Support for OSX versions 10.7 “Lion” and newer
  • Multitouch pinch/pan gestures
  • Retina display support

Read more

Drawpile 0.9.4 released

Version 0.9.4 of Drawpile is now available for download!

This release includes many bug fixes and usability enhancements, as well as a few new features. Notable improvements are:

  • 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

For a full list of changes refer to the Changelog and Git commit history. There are no protocol changes in this version, meaning this version is fully compatible with the previous one.

Read more

New website

About 9 months ago, I (that is, the main Drawpile developer) revived the project after a much too long hiatus. Since then, development has been progressing steadily and the official 1.0 release is on the horizon. In preparation for that event, I thought it was high time time to drag the web site to this decade as well.

The big changes—aside from the refreshed look—are the new domain (drawpile.net), a new easier to use download area and online documentation.

Most of the documentation is mirrored from the Drawpile GitHub Wiki. The Wiki is now updated as new features are developed, while the documentation on this site is kept up with the latest release version.

Read more