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