forked from drawpile/Drawpile
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
909 lines (837 loc) · 44 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
2021-09-12 Version 2.1.20
* Updated Portugese translations
* Added more angles to canvas rotation dropdown menu
* Fixed inconsistency in classic brush rendering
* Fixed inconsistency in layer resize color sampling
* Theme (Windows Vista style / Fusion / Fusion Dark mode) is now selectable
* Fixed that a cleared annotation would not count as empty for the "delete
empty annotations" command
2021-08-06 Version 2.1.19
* Fixed performance regression
* Fixed potential crash during login (catchup stage)
* Fixed crash when adding a new input preset
* "Fusion" style is now always used on Windows for consistency
* Added canvas rotation gauge widget to status bar
* Invalid canvas resize commands are now ignored
* Fixed that ongoing indirect strokes weren't drawn when exporting a recording to video
* Fixed garbled navigator content when joining a new session
2021-07-25 Version 2.1.18
* All actions can now be assigned an alternate shortcut
* Added French and Portugese translations
* Fixed inconsistent zooming at certain values
* Fixed brush size adjustment shortcuts not working consistently
* Fixed that undo operations would cause the layer list to scroll
* Fixed moving a layer to the bottom-most position
* Various bugfixes
* Breaking change: active tool setting format was changed. Not compatible with older Drawpile versions.
* Input preferences can now be saved per tool
* Brush cursor outline width can now be changed
* Layer properties can now be edited in a dialog
* Color wheel shape is now selectable
* Maximum brush size and spacings can now be extended (affects sliders)
* Added selection perspective transform mode
2020-02-16 Version 2.1.17
* HTTP redirects (e.g. when searching for a list server) are now followed
* When launched with an URL, the URL gets set to the address box correctly again
* Available list servers are now updated in session settings dialog if servers are added or removed while connected
* Updated Finnish and Chinese translations
* Server: User "trusted" status flag can now be changed via admin API
* A list server can now be added via drawpile:// link
* Fixed moderator login (would ask for password when none was needed)
2020-02-09 Version 2.1.16
* Server: Added support for ext-auth "TRUSTED" flag
* Server: Added "lastActive" timestamp field to session user list API
* Server: Changed session ID style from GUID to ULID
* Server: Added option to not respect ext-auth HOST flag
* Relative URLs are now supported in "drawpile:list-server" meta tag
* Added disconnect notification bar (with a reconnect button)
* List servers can now be manually sorted
* Fixed brush size adjustment shortcut (needed to presses to adjust)
* Fixed selection scaling if selection was not entirely contained by the canvas (selection is now clipped to canvas)
* Fixed copying and cutting a moved selection
* Automatically remove list servers that return HTTP 410 (Gone)
* Removed the default list server. Instead, a link to drawpile.net's communities section is shown.
* Saved passwords are now stored in the system password store
2019-12-07 Version 2.1.15
* Server: Added support for list server API 1.6
* Server: Added `ext_host` and `ext_port` fields to status API endpoint
* Server: Abuse report token can now be set via admin API
* Server: List server whitelist can now be edited via the API
* Server: Fixed memory leak in admin API
* Server: The server can now also serve web admin site static files
* Server-gui: Added "welcome message" field
* drawpile-cmd: fixed ORA export format support
* Added command line options to override data and config paths (portable app mode)
* Added "closed" session list filtering option
* Added "Add" button to join dialog for adding the server's associated list server
2019-11-16 Version 2.1.14
* Fixed dab spacing in default brush presets
* Fixed that selecting a brush preset could change the eraser slot into a non-erasering mode
* Fixed brush preset reordering by drag&drop
* Added brush preset folders
* Fixed that pressing spacebar while drawing would cause strange input handling behavior
* Server: admin API URL is now prefixed with `/api/`
* Bugfix: don't allow pasting by drag&drop if cut&paste is disabled
2019-11-03 Version 2.1.13
* Bugfix: spacebar would have to be pressed again after releasing mouse button when dragging
* Removed arbitrary OpenRaster image size limit
* Bugfix: brush color is now initialized properly on fresh install
* Bugfix: selected brush blending mode is restored again
* Replaced pressure checkboxes with toggle buttons to free up some vertical space
* Disabled brush preset drag&drop. (Bandaid solution to a regression, will be fixed properly in the next release.)
* Enabled High-DPI icons and scaling
2019-10-20 Version 2.1.12
* Added Italian translation (contributed by Albano Battistella)
* Fixed lockup when opening a layered TIFF file
* drawpile-cmd: added support for outputting to stdout
* Improved brush preview: different styles are now used for different brush types
* Smudging can now be used with all brush shapes
* Canvas modifier key shortcuts can now be customized
* Added cursors for layer picker, quick adjust, zoom and view rotation modes
* Use the same default curve for velocity pressure emulation mode
* Fixed tool quick adjustment dragging responsivity
* Server: file backed session file naming is now consistent when archive mode is enabled
* Added a new shortcut for canvas rotation (shift+ctrl & mousewheel)
* Improved selection tool: scale/rotate/shear mode is now toggled by clicking, rather than keyboard modifier
* Fixed crash when using large-radius color picker near the edge of the canvas
2019-06-23 Version 2.1.11
* Fixed that brush color was uninitialized on fresh install
* Fixed that using "/me" in a direct message would send it as a public message
* Fixed incorrect layer when moving selection if active layer was changed before the move ended
* Fixed single pixel shift when moving or copy&pasting freeform selections
* Join dialog's session list sort order and column is now remembered
* Fixed that read-only listservers were included in the session settings "add listing" buttons
* Server: registered user bans are no longer IP bans
* Server: op and trusted status is now remembered by user account, rather than username
* An error message is now shown if a login message is oversize
* Chat box can now be detached into its own window
* Client now refuses to autoreset if it knows it isn't fully caught up yet
2019-05-30 Version 2.1.10
* Fixed that built-in server settings were being ignored
* Updated bundled color widgets to latest upstream version
* Fixed that an early undo could clear out the canvas size
* Limited reset snapshots to one every 10 seconds
* Fixed view jumping when canvas was resized
* Fixed extra messages in the beginning of session recordings
* Server: fixed that web-admin API HTTP headers were case-sensitive
* Application version number is now shown in a tooltip if a session is incompatible
2019-05-19 Version 2.1.9
* Fixed that disabled brush slots were still selectable with a keyboard shortcut
* Fixed potential crash when logging in to a session
* Incompatible sessions are no longer hidden in from the Join dialog
* Ctrl+C shortcut now works in the chat box
* Added support for read-only list servers
* Removed drawpile-srv argument `--secure` (secure mode is now always used if TLS is enabled)
* The built-in server is now based on the new Thick Server
* Server: added support for real password hashing algorithms
* Server: fixed crash when using file sessions (regression)
* Fixed duplicate entries in the "Nearby" server list
* Very long pinned chat messages no longer force the window to become wider
2019-05-04 Version 2.1.8
* Server: fixed potential crash when terminating session
* Server: listings are now refreshed in batches instead of individually
* Background color alpha can now be set in the "new image" dialog
* Adaptive canvas zoom slider: the minimum value is now always the zoom level needed to fit the whole canvas on screen
* Drawpile can now download the latest version via the "check for updates" dialog
* Fixed formatting in update check dialog when more than one new version is shown
* Drag&dropping a link to an image onto the canvas now works again
* New more efficient recording index format. Indexes are now generated faster and the files are smaller.
* Enabled dark appearance support on macOS
* Memory usage optimization: only the minimum amount of session history is now kept in memory
* Manual session reset snapshots are now retained separately for one minute.
* NSFW sessions are no longer hidden by default
* Fixed crash when opening an OpenRaster file with missing stack.xml
2019-04-13 Version 2.1.7
* Added Ukranian translation
* Fixed navigator not updating correctly on canvas resize
* Simplified join dialog (listings from all servers are now shown at the same time)
2019-04-06 Version 2.1.6
* Scrollbars are now hidden in fullscreen mode
* Regression fix: chat box no longer autoscrolls when not already scrolled to the bottom
* Removed default shortcuts for event log and session settings. They can still be assigned custom shortcuts, however.
* Added option to share the same color across all tool slots
* Fixed lines being drawn across the canvas if session reset occurs while midstroke
* New feature: a session can now be reset to an image loaded from file
* Full screen mode no longer hides the status bar, instead it is hidden along with the toolbars and docks using the Tab shortcut
* Added "pick color from layer" brush mode
* Implemented Night Mode
* Enabled smooth canvas scaling at certain zoom levels (1-200% or 1-800% when rotated)
* Session permissions can now be saved as presets
2019-03-30 Version 2.1.5
* Fixed navigator view dragging
* Added option to update the navigator in realtime again
* Pressing Tab now toggles toolbars on and off
* Entering fullscreen mode no longer hides docks and toolbars
* Fixed brush preset preview shape rendering
* Moved certain buttons back into the status bar
* Moved zoom slider back into the status bar
* Fixed saving of brush preset changes
2019-03-23 Version 2.1.4
* Fixed session list sorting in login dialog
* Fixed crash when resizing canvas
* Fixed layer access user list going out of sync
* Fixed navigator focus rect scaling
* Fixed "registered" level permissions not taking effect on login
* Server: session and recording directories are now automatically created if missing
* Added automatic new release checking
* Added filter field to user list (event log)
* Reimplemented navigator user cursors
* Navigator cursors can now be enabled or disabled independently of the main canvas cursors
2019-03-16 Version 2.1.3
* Fixed showing layers in user markers
* Fixed crash when changing tools mid-stroke
* User cursors and other decorations are no longer shown in the navigator
* Navigator is refreshed only at 500ms intervals to reduce CPU load
* When the canvas is rotated, the righthand side of the viewport is now indicated in the navigator
* Restored 2.1.0 style chatbox and added an option to enable 2.0 style compact mode
* Added Inspector tool
* Fixed remembering of last open/save folder
* Added user list to event log dialog that shows all past users
* Server: logged out users can now be banned retroactively
* Server: past users are now listed in the admin API
2019-03-09 Version 2.1.2
* Increased brush dab max spacing limit to 999% and max brush size to 255px (oversizes accessible via the spinbox)
* Fixed crash when using flood fill on an canvas without any layers
* Fixed crash when trying to reset after resetting to the very beginning of the history
* Clicking on the layer show/hide glyph no longer selects the layer
* OpenRaster: the xres and yres values are now preserved
* Implemented fixed layers (a generalization of the old background layer feature)
* Added Vietnamese translation
* Fixed canvas not appearing immediately when login dialog was closed
* Fixed chat username line breaking
* Fixed Recolor (and other modes) in non-incremental mode
2019-02-17 Version 2.1.1
* Fixed OK button related bugs in the login dialog
* Added support for ext-auth avatars
* Added server configuration option for disabling avatars
* Avatar selection box is now only shown if avatars have been configured and server supports custom avatars
* Fixed mouse droppings when switching to a smaller brush
* Fixed setting autoreset threshold when session size is unlimited
* Fixed autoreset sometimes failing to work
* Fixed missing layer attributes in reset
* Save censored layer flag in OpenRaster files
* Fixed ORA file loading (2.1.0 regression)
* Add copy merged action (copy visible selection excluding background)
* Fixed window autoraising when notification balloon was shown (Windows specific bug)
* Fixed onionskin mode settings initialization
* Fixed zooming when zoomed outside the usual zoom range. (2.1.0 regression)
2019-02-13 Version 2.1.0
* Changed internal pixel format to premultiplied 32 bit RGBA
* Added PutTile command and optimized layer initialization
* dprectool: added --msg-freq option
* Protocol change: replaced ToolChange and PenMove with DrawDabs commands
* Replaced "background layer" concept with a tiled canvas background. (Mostly compatible with MyPaint)
* Redesigned user list box and chat panel
* Autoreset threshold is now adjustable and includes reset image as base size
* Individual layers can now be censored
* Merged "Find sessions" dialog into the "Join" dialog
* Simplified "Host" dialog
* Redesigned "Login" dialog
* Moved layer hamburger menu to the main menu bar (and expanded it)
* Added support for user avatars
* Added controls for flipping, rotating and zooming to the navigator dock
* New user level: Trusted users
* Added tiered feature access controls (guest/registered/trusted/operator)
* Added zoom and rotation controls to navigator
* Removed sliders from status bar
* Added zoom tool
* Added zoom/rotation/flip toolbar
* Show keyboard shortcuts in toolbar tooltips
* Replaced recording status icon with toolbar button
* Replaced "new chat message" status icon with toolbar button (red dot indicates new message)
* Added template export feature
* Added square pixel brush
* Replaced Ffmpeg video export with native WebM export
* Added private messaging feature
2018-08-14 Version 2.0.11
* Server: fixed OP status auto-restoration for users who used the "become operator" feature
* Server AppImage: updated libmicrohttpd to version 0.9.59
* Fixed crash caused by dragging&dropping a layer that was deleted during the drag operation
* Fixed unsetting shortcuts which have a default value
* Changed default "session settings" shortcut to F9, to avoid collision with the default (Windows) fullscreen shortcut F11
* A nicer set of presets for the brush palette
* Sending USR1 signal to drawpile-srv now restarts the internal web-admin server
2018-03-17 Version 2.0.10
* Server: history files are now flushed periodically to better protect against dataloss in case of abrupt server termination
* Server: blank session files are no longer loaded
* Windows: wintab relative pen mode hack must now be explicitly enabled
* Removed tablet bug workaround mode (with the improved tablet support, the workaround mode causes more problems than it fixes)
* Bugfix: newlayer command now refuses to create a layer with a duplicate ID
* Bug workaround: a deopped resetting user is now automatically kicked to prevent reset image from mixing with the normal session content.
* Server: added option to automatically purge old DB log messages
* Fixed crash when replacing current canvas with a new one while a selection existed
2018-02-25 Version 2.0.9
* Minor recording format change: recordings are now prefiltered
* Fixed random duplicate frames in exported animations
* Added Windows Ink support (from Krita)
* Added improved Wintab support (from Krita)
* Added improved X11 tablet event handler (from Krita)
* Reverted change that updates the color history in real time
* Swapping colors with X now remembers the color, even if it hasn't been used yet
2018-02-11 Version 2.0.8
* Fixed password remembering on Windows (now uses the same local appdata directory as other settings)
* Fixed saved extauth passwords appearing under the server section in the settings dialog
* Fixed that a server password would also get saved for extauth
* Server: added support for SSL certificate chains and certificate auto-reloading
* Fixed reset removing permission settings
* Server: web admin API can now be used with socket activation
* Server: support 'uid' extauth token field
* Better auth user and mod icons
* Added a new session option to allow only authenticated users to join (requires server version 2.0.8)
* Chatbox no longer shows "user joined" messages for users already in the session
* Platform input method context plugins are now included in the AppImage
* macOS: open a new window (if none are open) when application icon is clicked
2018-01-26 Version 2.0.7
* Fixed duplicate colors in color history palette
* Windows specific: added missing style plugin
* Fixed flipbook downscaling (regession)
* Flipbook now upscales small images
* Bugfix: logging in with ext-auth would disable the field for session password entry
* Bugfix: rectangle fill or image pasting worked (locally) on locked layers
* Improved selection scaling behavior. Aspect ratio maintaining mode now works, as does flipping and mirroring
* The client can now remember server and ext-auth passwords
* The state of the "show password protected sessions" checkbox is now remembered
2018-01-22 Version 2.0.6
* Added selection shear mode
* Added terminate session action (moderator command)
* Changing color now immediately updates the color history
* Implemented support for external authentication
* Flipbook can now be cropped
* Added quick layer pick mode (hold shift+control to select a layer)
* Added `/status/` endpoint to server web-admin API
* Added palette file export & import feature
* Added abuse report feature
* Added "server title" field to server GUI
* Added option to disable tablet eraser detection
* Added drawpile-cmd tool
* Fixed joining a template session by URL
* Fixed color fill on transparent areas
* Optimized OpenRaster file saving
* Canvas saving is now done in the background
* Added option to hide password protected sessions from the join dialog
* Bugfix: abort reset if resetting user is deopped
* Added new serverside command to cancel session reset
* Session reset snapshot is now generated only on demand
* Session reset is now cancelled if a snapshot cannot be generated
* Bugfix: fixed loss of canvas if user was drawing while reset occurred
* Windows installer fix: audio.dll was put into a wrong directory
* Recording is now automatically restarted on session reset
* Fixed crash when cancelling bezier curve drawing with a right click
* Regression fix: snap brush outline to pixel boundaries when using hard edged brush
2017-06-26 Version 2.0.5.1
* Fixed shortcut conflict that blocked the use of the Enter key
2017-06-26 Version 2.0.5
* Fixed building with systemd integration enabled
* The number of remembered host addresses is now limited
* Added tablet test dialog
* Support Enter and Esc keys when drawing Bezier curves
* Selection undo now first undos selection transformation
* Improved retcon behavior. (Don't reset local fork on every conflict to avoid self-conflict loop)
* Fixed flood fill expansion (regression fix)
* Fixed concurrency problem in recording playback
* Added option to hide the host address in the status bar
* Canvas is now locked on autoreset and a notification chat message is sent
* Fixed zooming with ctrl+tablet stylus motion
* Fixed language changing
* All admin HTTP queries are now logged
* Layer selection is now restored after session reset
* Fixed tool selection when "select all" command was used and the rectangular selection tool was already selected
* Added option to disable tool toggling shortcut
* Removed "persistent session" option from the host dialog (can still be set via session settings dialog.)
* Added a log file for debug messages
* Fixed bug in server GUI that could reset server settings
* Downgraded AppImage Qt version to 5.6 (Tablet hover events are broken in Qt 5.7 and above)
2017-04-25 Version 2.0.4
* Added support for room codes and private listings
* Reverted pressure controls back to checkboxes
* Added dedicated eraser brush slot
* Restored eraser as a separate tool (uses only the eraser slot)
* Added 'Ctrl+E' shortcut to toggle the current brush's eraser mode
* Added bezier curve tool
* Fixed stale op and lock bits left over from previous user with the same ID (fixes OP status being out of sync with server after logging back in)
* Flood fill size can now be limited to protect against accidental canvas fills
* Added erase mode to flood fill tool
2017-04-17 Version 2.0.3
* Restored some tablet and smoother improvements from stable branch
* Fixed (concurrency related) crash bug in layer merging
* Properly clear ACLs for deleted layers
* Properly demarcate reset snapshot (fixes possible mixing of non-reset and reset messages that can make the canvas initialization undoable)
* Fixed missing template sessions in join dialog
* Host action is now disabled when there is no canvas
* Fixed missing modifier keys (ctrl/alt) with tablet stylus
* Fixed potential buffer overflow in Command message serialization
* Fixed server crash when queueing a large number of messages for upload
* Fixed infinite loop when squishing selections
* New AppImage build script (fixes UTF-8 related JSON parse error. Most visible when logging to a server with a non-ASCII username)
* Fixed session timeout
* Brush dock redesign (brush preset buttons restored)
* Merged basic brush based tools (pen, brush, watercolor, eraser) into a single freehand tool
* Brushes are now shared by all brush based tools (freehand, line, rectangle, ellipse)
* Any brush can now be toggled into eraser mode
* Tool preset pie menu replaced with brush preset dock
* Restored 'X' shortcut key to swap primary/alternative color
2017-03-27 Version 2.0.2
* Fixed returning from fullscreen mode to maximized window
* Added contexts to lambda signal/slot connections (fixes server crash when terminating an announced session)
* Added "send to all sessions" server admin API endpoint and GUI button
* Restored "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
* Enabled canvas cache refresh optimization
* Always generate a fresh initial snapshot when hosting (fixes user ID related bugs when rehosting a short session)
* Session template password field now sets the password hash instead of the plaintext (consistent with everything else and matches documentation)
* Implemented missing session template configurations: announcement, opword, preserveChat
* Display session history size in the status bar (as reported by the server)
* Fixed lockup on reset when navigator was visible
* Restore pinned chat message on reset
* Fixed "hide from self" layer menu item
* Fixed selection moving when selection is partially (or completely) outside the canvas
2017-03-20 Version 2.0.1
* Configurable brush cursor
* Improved session announcement list fetching error messages
* New feature: automatically add timestamp markers to recordings
* Fixed constant canvas rollback when many people were drawing simultaneous
* Fixed moderator accounts
* Fixed layer exclusive access locking
* Fixed restoring of session & layer ACLs after reset
* Fixed setting cut&paste and annotation lock flags
* Show progress bar (in status bar) during session reset
* Include username in "op granted/revoked" chat message
* Fixed duplicate local messages when sending reset snapshot
* Server GUI: fixed max session count and session size limit changing
2017-03-18 Version 2.0.0 Stable
* Server: Fixed setting of local hostname (when using a configuration file)
* Server: Fixed setting of port number in announcement
* Server: Show listing server error messages
* Server: Restore op/deop chat notifications
* Server: Fixed GUI mode tray icon
* Made tool pie menu smaller
* Temporarily disabled pie menu popup with right mouse button
* Restored tool preset shortcuts (1-8)
* Added shortcuts for assigning tool presets (Ctrl+1-8)
* Removed new brush cursors (will be made configurable in the next version)
* Fixed incorrect range in session alias validation ('z' and '9' characters were not accepted)
* Fixed lasso selection tool (regression)
* Switching tools now commits the floating selection instead of cancelling it
* Regression fix: previosly used color list
* NSFM icon for session lists
* Fixed selection resize handle bounding box
* Show received chat message timestamps
2017-02-25 Version 2.0.0 Release Candidate
* Various bug fixes
* Added parental controls feature (password protected option to limit access to sessions tagged as "not safe for minors")
* New brush cursors
* Slightly adjusted laser style (line is always thick, less blinky)
* Added server column to session list
* New feature: mark layer as default for new users
* Protocol change: added MoveRegion command
2017-02-04 Version 2.0.0 beta 3
* Implemented file backed session history (enables session hibernation)
* All session attributes can now be restored from file
* Public session announcements can now be added and removed via a GUI
* Reimplemented /opword command (GUI version)
* Login dialog now shows a progress bar during catchup phase
* Improved login performance
* Annotations can now be aligned vertically
* Individual users can now be blocked from sending chat messages
* Fixed chat message pinning
* Session settings now have a dialog window
* Added option to lock annotation creation and lock individual annotations from modification
* More server GUI features
* OSX: Fixed pinch gesture detection
* Revamped dptxt format
* Recordings can now be saved directly in dptxt format
* Merged dprec2txt and txt2dprec into dprectool
* Replaced tool slots with a tool preset pie menu
* Server logs are now available via the admin API
* Session specific server logs can now be viewed in the client
* Operator status is now restored for authenticated users
* Server no longer auto-ops users if opword is set or authenticated ops are remembered.
* User accounts can now be configured in the settings file
* Reimplemented session template feature
2017-01-09 Version 2.0.0 beta 2
* Regression fix: set inital smoothing value for new document
* Regression fix: layer retitling
* Regression fix: non-preserved chat messages
* Custom session ID replaced with session aliases (every session now has a unique ID)
* Server HTTP admin API (mostly) restored
* Server settings are now stored in an SQLite database
* Most server settings can now be changed via API and persist in the database
* Client now automatically resets the session when server space is running low
* Session user limit can now be changed via the GUI
* Chat message preservation mode can now be changed via the GUI
* Users can now be banned from individual sessions
* Hosting password feature removed. (Instead, hosting privilege can be limited to registered users)
* Graphical mode for dedicated server (not yet feature complete)
* Protocol change: Chat message type changed to Transparent
* Protocol change: added an extra bytearray field to JoinUser message for future proofing
2016-12-17 Version 1.0.6
* Server: non-persistent session idle time can now also be limited
* Server: added /opword command
* Name of the user who created an annotation is now displayed in the editing widget
* Bugfix: enable/disable fill commands when operator status changes and image lock is in place
* Bugfix: Filling freeform selections now uses the correct blending mode
* Cut and fill commands now only operate on selections to avoid accidentally clearing or filling whole layers
* Added an option to lock dock widgets in their places
* Added server log chat messages for operator actions
* Server: remove kicked users from the session immediately
* Display user pointer on FillRect and PutImage commands
2016-10-15 Version 1.0.5
* Fixed edited palette loading (OSX specific regression)
* Fixed untrusted certificate error (OSX specific)
* Improved performance when joining a session (task bar related bugfix)
* Fixed restoration of eraser hard edge mode when switching tools
2016-08-06 Version 2.0.0 beta 1
* Major refactoring
* Protocol version 4
* Some server features removed (to be reimplemented later)
* New simplified recording playback dialog
* Session resetting to previous snapshots
2016-08-06 Version 1.0.4
* Username length is now limited to 22 characters
* Show correct error message when server is full
* Let the user know if their IP address has been banned
* Added option to restrict cut&paste and fill operations
* List of logged in users can now be included in session announcement
* Allow undo override even while session is locked
2016-07-02 Version 1.0.3
* Remember last used path when saving files
* Support new miniupnpc library version
* Added txt2dprec tool
* Added support for session templates in the standalone server
* Fix shortcut saving when editor widget was not manually closed
* Removed default canvas size limit (screen size)
* Recording buffer is now periodically flushed to minimize data loss in case of a crash
* New feature: chat message pinning
* Selection mirror & flip buttons now automatically cut the selection
* Flipbook playback range can now be selected
2015-09-13 Version 1.0.2
* Fixed crash when smoother was set to zero
* Server: added command line option to enable split recording mode (new recording for each snapshot)
* Server: /force_snapshot command can now be used outside debug mode
* Fixed stretched selection contents if selected area was (partially) outside the canvas
* Chat URL autolinker now accepts more characters in the fragment identifier
* Retcon simplification: just discard the local fork on conflict rather than replaying
* Hidden layers are no longer saved when in a flattened image
* Fixed pressure glitch at the start of a stroke
* OpenRaster loader optimization: more efficient loading of solid fill layers
2015-08-09 Version 1.0.1
* Strokes are started immediately even when smoothing is enabled
* Ports in autolinked URLs are now recognized
* Dedicated server: added --welcome-message parameter
* Fixed "reset size" for polygonal selections
* Improved recording index file generation
* Active selection is no longer cleared when switching from rectangle to lasso tool
* A link to unhide age restricted sessions is now shown in the session selector
* Bugfix: remember selected listing server in session finder dialog
* Improved UI lockup prevention when receiving large amount of commands
* Smarter image sending: avoid sending blank images
* New feature: area sampling for color picker
* When opening a drawpile:// link, rather than connecting directly, the join dialog is shown
2015-07-12 Version 1.0.0
* Added "Behind" and "Color erase" blending modes
* Added support for automatically setting up port forwarding with UPnP
* Added notification about Carrier Grade NAT
* Added option to show layer numbers instead than titles
* Added "thick laser trail" option
* Added German translation
* Remain somewhat responsive when joining a long-running session
* Fixed timeout disconnect caused by missing Ping messages (related to above)
* Fixed missing button icons in flipbook window
* Fixed crash when using filling a rectangle aligned with bottom right corner of the canvas
* Improved touch gesture support (scrolling, zooming and rotating)
* Faster image loading
* Moved user list to the chat box
* OpenRaster: new namespace for Drawpile extensions
* Protocol change: all blending modes can now be used with PutImage
* Removed Color pressure mode
* Scale selections maintaining aspect ratio by holding shift
* Pasted images are now placed on their original positions (if copied from Drawpile)
* Public session listing filtering for adult content
2015-06-02 Version 0.9.11
* Fixed moving of freeform selections
* Fixed merging (and export) of layers with sublayers
* Fixed crash when closing animation export dialog
* Support original frame size for all video export types
* Updated Czech and Finnish translations
* Added animated GIF export feature
2015-05-21 Version 0.9.10
* Fixed loading of older recording formats (<v11.x)
* Added Solo+BG layer view mode
* Added Onionskin layer view mode
* Added animation export feature
* Added flipbook window for previewing animations
* When opening animated GIFs, each frame is loaded as a layer
* Protocol change: merged LayerCreate and LayerCopy
* Added "Insert layer" action
* LAN server discovery using Zeroconf
* Added Japanese and Russian translations
* Fixed filling selections partially outside the canvas
* Moving a selection will now automatically move the pixels too
* Added autosave feature
* Added button to reset all settings
2015-04-03 Version 0.9.9
* Added "Lasso" selection tool
* Added view flipping and mirroring
* Added filter bar to shortcut settings editor
* Added last used colors selection to color dock
* Added selection transformation buttons
* Added notification sounds
* Palettes are now write-protected by default
* Selections (and pasted images) can now be rotated as well as scaled
* New dab mode button style
* Chat icon is now shown in statusbar when there are unread messages
* Crosshair cursor is no longer shown for brush tools
* Protocol change: added implementation for LayerCopy
* Added experimental workaround for certain tablet event bugs
* Added "duplicate layer" button
* Added "solo" layer view mode
* Added IP ban feature to the standalone server
* New icon theme (Breeze)
2015-01-30 Version 0.9.8
* Show menu bar when pointer is brought to the top of the screen in full screen mode
* Fixed unnecessary retcon at start of new strokes
* Fixed annotation moving (regression)
* Fixed retconning of indirect paint mode strokes
* Added a language override field to settings dialog
* New feature: Hold tool shortcut button to select the tool temporarily; releasing the button switches back.
* Simplified Host dialog
* Flat tool slot button style
* Minor protocol change: added new PutImage composition modes
* "Fill under" mode for flood fill tool
* Moved zoom buttons to the status bar
2015-01-16 Version 0.9.7
* Fixed "host on remote server" dropdown box
* Fixed crash when reordering layers
* Added new Retcon synchronization method
* Removed preview strokes
* Protocol change: 16 bit layer and annotation IDs
* Updated server admin API
* New server admin web app
* Added context menu to pressure curve editor
* Added clear button to key shortcut editor
2015-01-02 Version 0.9.6
* Added connection timeout check
* Added keepalive messages
* Automatically switch stroke preview mode based on latency
* OSX: Quit menu action now works as expected
* OSX: Added "Close" item to File menu.
* OSX: Don't quit when all windows are closed
* OSX: Added Window menu
* Added zoom and angle shortcut context menus to status bar
* Added network statistics dialog
* Color picker cursor is now set when quick colorpicking
* Simplified navigator dock
* Brush size adjustment now sets brush diameter instead of radius
* Slightly smoother antialised (thin) brush stroke rendering
* Fixed tablet event handling when running on Qt 5.4
* Added preview widget for flood fill
* Set annotation editor background color
* Added Watercolor brush
* Added pixel grid for high zoom levels
* Statusbar is no longer shown under the tool docks to conserve vertical space
* Custom session IDs are now shown in session selection window
* Ctrl+wheel zoom now uses 50% steps
* Various minor improvements and bug fixes
* Added dprec2txt tool
* Added support for playing back all older recording format versions
2014-10-17 Version 0.9.5
* Added Czech translation
* Added "Record session" checkbox to join dialog
* Added zoom and angle sliders to status bar
* Added support for zooming/rotating with a pinch gesture
* Added option to disable tablet events
* Added custom cursors for tools
* Better text/selection box resizing handles
* Flood fill expansion
* Fixed UI language fallback
* Support for older OSX versions (10.7 and up)
* Support Retina displays on OSX
* Added "preserve alpha" blending mode
2014-08-15 Version 0.9.4
* Improved palette box
* Various improvements to annotation editing
* Compressed recording support
* Regression fix: fixed missing initial snapshot generation in recording index
* Added /roll chat command for generating dice rolls
* Layers can now be locked in offline mode
* Added /preservechat setting
* Fixed brush blending glitch on semitransparent layers
* More consistent non-antialiased dab positioning
* Improved tool box layout
* Combined color dock
* Updated OpenRaster support to spec version 0.0.3
* All supported file types can now be opened by drag&drop
* Individual layers can now be exported by dragging&dropping
* Live preview for layer opacity change
* Added flood fill tool
* Fixed brush preview outline alignment
2014-07-18 Version 0.9.3
* Layer opacity glyph now acts as show/hide button
* Added layer context menu
* Support for loading remote files (e.g. drag&drop URLs to canvas)
* Bugfix: paint tools on new windows would not get enabled
* Set mainwindow title correctly
* Zero canvas size when creating layers is now tolerated
* New chat command added: /me
* Bugfix: locked layers could be changed my merging
* Regression fix: rectangle fill was broken in previous version
* Register .dprec filetype on OSX
2014-07-12 Version 0.9.2
* Improved message popup widget
* Server: session hibernation
* Protocol change: more information is included in SessionConf message
* Translation support
* Add Finnish translation
* Web admin API and sample app
* Bugfix: set layer lock status bits correctly at the start of a new session
* Changed default stroke preview type to Realistic
* Default shortcuts for Copy layer & Copy visible changed for consistency with other programs
* Added Edit toolbar
* List of supported image formats for saving is now constructed correctly
* Protocol change: session IDs are now treated as strings rather than numbers
* Protocol change: SessionConf::attrs is now two bytes long
* Protocol change: added "flags" field to Chat message
* Protocol change: use 32 bit coordinates everywhere
* Chat messages are no longer included in the session history by default
* Fixed crash when dragging&dropping a layer
* Fixed canvas stealing focus from text boxes
* Authenticated login support
* More version info shown in `drawpile-srv --version`
* Various bug fixes and usability improvements
2014-06-03 Version 0.9.1
* SSL support
* Bugfix: Layer access control menu would lose per-user bits when locking a layer
* Improved palette widget
* Added shortcut for showing and hiding the chat box
* Memory usage fix (undo savepoints are now correctly released)
* New color widgets
* Moved foreground/background color selector to the tool settings dock
* Added tool slots
2014-05-07 Version 0.9.0
* Server: support for multiple sessions on a single server
* Server: support for systemd socket activation
* Server: options can now be loaded from a settings file
* Server: persistent session expiration
* Clickable URLs in chat messages
2014-03-27 Version 0.8.6
* Show old annotation position until reshape message has finished its roundtrip
* Spin boxes for accurate adjustment of brush parameters
* New feature: cut selection to clipboard
* Smoother laser pointer trails
* Indexed recordings
* Pauses in recordings are now exported to video
* New tool: recording markers
* Added button to stop video export
* Added "Select all" and "Deselect" menu entries
2014-02-25 Version 0.8.5
* Navigator view is now updated in real time
* Hiding laser trails will disable the laser pointer tool
* New stroke preview style: realistic preview using a temporary layer
* Simplified input settings dock
* Brush size shortcut: Shift+mouse wheel or '[' and ']' to adjust brush size
* Added "redo" button to user list dock
* New feature: Direct to video export using ffmpeg
* New feature: latest chat message is shown in the statusbar if chat box is hidden
* Bugfix: right mouse button now works correctly when input smoothing is enabled
2014-02-03 Version 0.8.4
* Bugfix: stop scene rectangle from growing when lines or annotations are dragged beyond boundaries
* Color picker: right mouse click now picks background color
* Improved interval recording: time between intervals is no longer accumulated
* New feature: Laser pointer tool
* New feature: constrain rectangle and line drawing to squares and straight lines with shift key
* New feature: Ellipse drawing tool
* New feature: Preview stroke style is now selectable
2014-01-17 Version 0.8.3
* Improved navigator
* Stroke smoothing
* New zoom shortcut (ctrl+middle button or stylus button)
* Quick color picking: Ctrl + mouse click
* Pen pressure emulation modes for mouse
* Fixed rounding bug which caused jitter in tablet pointer coordinates
* Usability improvement: paste images to center of current view
2014-01-10 Version 0.8.2
* New application icon
* Session recording and playback support
* Adjustable server session history size limit
* Video export (image sequence only at the moment)
* Improved dab and line drawing
2013-12-30 Version 0.8.1
* Use icons from current theme
* Treat hidden layers as locked
* Added "delete empty annotations" action
* Annotation edit box UI bug fixes
* Canvas resizing
* Added button for granting and revoking session operator privileges
* Show remote user pointer positions
* Layer control locking
2013-12-20 Version 0.8.0
* Undo and redo support
* Bugfix: pop up "save as" dialog when trying to save a file in an unsupported format
* Added "paste from file" action
* Added upload progress bar
* Host dialog fixes
* Paste images by drag&drop
* Fix loading of tall images
2013-12-14 Version 0.7.2
* Per-user layer locking
* Improved brush shape
* Copy & paste support
* Improved annotation editing
* Visible annotations are now included in saved images
* Ability to look up the external IP address using ipecho.net
* Menu bar is now hidden in fullscreen mode and floating docks remain visible
* Option to pick color from current layer only
2013-12-06 Version 0.7.1
* Redesigned layer & user list boxes
* Redesigned chat box
* Support for layer blending modes
* Indirect drawing mode
* Text based file format (mainly for testing)
* Color picker history
* Right mouse button paints with background color
* Various bugfixes
2013-11-28 Version 0.7.0
* Layer support
* OpenRaster support
* Partial rewrite: new server and network protocol
* All features now work in network mode
2008-10-20 Version 0.6.0
* Subpixel drawing
* Added pen tool (draw without antialiasing)
* Added blending modes
* New brush slider style
* View rotation
* Changeable shortcuts
* UI tweaks and bug fixes
2008-09-26 Version 0.5.0
* Total rewrite of server and network code. Dropped support for multiple
session per server and simplified the protocol.
* Server is now contained in a shared library and is embedded by the client.
* Tile based drawing engine
* Fixes to brush rendering
* Viewport dragging with spacebar (works with tablets too)
* Added annotation tool
* Added support for tablet eraser
* Many small bugfixes/improvements.
2007-04-10 Version 0.4.0
* Support multiple windows
* Implemented line and rectangle tools
* Added a menu item to disable new users from joining the session
* Full screen mode
* Client now informs the user if the (local) server crashes
* Added a "Open recent" menu
* Changed the brush generation algorithm
* Added HSV and RGB color selection docks
* Added a palette dock
* Various UI improvements
2007-01-18 Vesion 0.3.0
* Several tablet handling bugs were fixed
* Client now shows a list of logged in users
* Session administration commands (kick, lock)
* Chat
2007-01-11 Version 0.2.0
* Added networking support, hosting and joinin sessions now possible.
2006-12-27 Version 0.1.0
* Initial release