Drawpile 2.0.7 Release

Jan. 26, 2018

Version 2.0.7 is now out, a bit earlier than intended. This release fixes a couple serious bugs introduced in the 2.0.6 release and adds some feature improvements too.

Regression fixes:

  • Windows specific: Fixed a missing DLL that resulted in a Windows 95 UI style
  • Fixed that you couldn't enter a password protected session after logging in with a registered user account
  • Fixed duplicate colors in the color history palette
  • Fixed flipbook downscaling

New features:

  • Added a "remember my password" feature. Makes using registered accounts much easier!
  • Flipbook now upscales if the canvas or cropped area is very small
  • The "show password protected sessions" checkbox now retains its state

Other bug fixes:

  • Fixed that paste & area fill could be done on a locked layer (locally, did not affect other users)
  • Improved selection scaling behavior. Proportional scaling mode now maintains aspect ratio correctly.

Errata:

  • Password file path was incorrect on Windows. Fixed in 2.0.7.1. Other platforms are not affected.
  • Mac package didn't open in versions older than High Sierra. Fixed in 2.0.7.2.

Read more...

Drawpile 2.0.6 Release

Jan. 21, 2018

Version 2.0.6 is now done! It's been 6 months since the last release, but to make up for it, this update is packed full of new features and bug fixes.

Tablet problems after updating Windows 10

Many have a encountered new tablet bug after installing the Windows 10 creators update: Drawing with a stylus drags the canvas instead of paining. Whether by design or a bug, Windows now generates touch events for the stylus. Touch is typically used for scrolling, which is what is happening here. This change has affected many applications, so it's not just Drawpile.

Currently, there is no true fix to this problem, but there is a workaround: uncheck the "scroll with finger" checkbox in the preferences. If you're not getting any pressure sensitivity, try also checking the "bug workaround mode" checkbox.

Canvas clearing session reset bug

I found a number of distinct bugs that could corrupt the canvas in some circumstances during a session reset. The most easily triggered one is that if a user is drawing at the exact moment the reset finishes, the canvas can disappear entirely. This happend on a per-user basis: users who weren't drawing or joined later were unaffected. This bug is now fixed.

In another case, a client could submit an empty reset. I'm not entirely sure yet what causes it, but I've added a check that blocks empty reset snapshots.

There may be still some reset related bugs remaining, but it should generally work a bit more robustly now.

User accounts

Perhaps the most important new feature in this release is enhanced support for user account registration. Drawpile has supported user accounts for a long time, but without a way for users to register accounts by themselves, it hasn't been of little use.

Version 2.0.6 introduces a new feature that makes it possible for web sites to provide Drawpile user accounts. You will now be able to register a user account here at drawpile.net to use on the public server. It is even possible for other servers to accept drawpile.net accounts or create their own.

At the moment, the only thing you can do with drawpile.net user accounts is reserve usernames to use on the public server, but new website features are coming soon!

Note: if you try logging in using a reserved username with a version older than 2.0.6, you will get a somewhat cryptic error message saying "Invalid state".

Read on for a full list of other new features added and bugs fixed, and also some ideas for future development.

Read more...

Drawpile 2.0.5 Release

June 26, 2017

Version 2.0.5 is now out! This release brings many general usability improvements and fixes a few bugs.

Bugs fixed in this release:

  • Fixed flood fill expansion (regression)
  • Fixed concurrency problem in recording playback (controls out of sync with actual playback)
  • Fixed zooming with ctrl+stylus motion
  • Fixed language changing
  • Fixed tool selection when "select all" command was used and the rectangular selection tool was already selected
  • Fixed a bug in the server GUI that could reset server settings

Usability improvements:

  • The number of remembered host addresses is now limited
  • Enter and Esc keys can now be used to end or cancel Bezier curve drawing
  • If a selection exists, undo first undos the selection transformation
  • Improved latency hiding behaviour (avoids blinking strokes while drawing caused by repeated canvas rollbacks)
  • Canvas is now locked on autoreset and a notification chat message is sent
  • Layer selection is now restored after session reset
  • Removed "persistent session" option from the host dialog (this option was misleading since persistence may not be available on the target server. Once a session is started, it can be made persistent via the session settings dialog if the server supports it.)

New features:

  • Added a built-in tablet testing tool
  • Added an option to hide the server address in the status bar
  • Added an option to disable tool toggling shortcut
  • All admin HTTP queries are now logged
  • Added a log file for debug messages

Linux specific fixes:

  • Fixed server build with systemd integration enabled
  • Qt version in AppImage downgraded to 5.6, as tablet hover events are broken in Qt 5.7 and newer

Read more...

Website update

May 21, 2017

The website has just received a technical overhaul. While the overall layout remains the same, the site is now powered by Django. (Previously, it was a static site generated with Hyde.) This makes it possible to add dynamic features in the future, such as username registration for the public server and user galleries.

The source code for the website is now fully open and can be found at github. I will accept pull requests if you have ideas for improvement or even just typo fixes.

Read more...

Drawpile 2.0.4 Release

April 25, 2017

Version 2.0.4 is now out! This release introduces new features, but also fixes a couple of bugs.

Bugs fixed in this release:

  • Fixed user lock and OP status getting out of sync with the server when joining back to a session
  • Added missing error reporting if image saving fails

New features and improvements:

  • There is now a dedicated brush slot for an eraser (eraser mode is permantenly active in this slot)
  • Eraser as a separate tool is back. The eraser tool works works just like the freehand tool, but it only uses the new eraser slot
  • Switching the currently selected brush into eraser mode is now done with a new shortcut: Ctrl+E
  • Added a new tool for drawing Bezier curves
  • A size limit can now be set for the flood fill tool to protect against accidental fills.
  • Flood fill tool now has an erase mode

And last, but not least, is the new Room Code feature.

When you announce a session, the list server assigns a random five letter code to it. This code can be entered into the server address box in the Join dialog in place of the full session address. All listed sessions get a room code, but it is most useful with the new private session type. When the listing mode is set to private, the session will not appear in the public list, but you still get a room code. This way, when you want to invite friends to a session but do not want to make it visible to the general public, just set the listing type to private and send them the room code.

Read more...