summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: cf307f466557ce4f52187c78e491d387665ab0d9 (plain)
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
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
Version 1.2.11 (Aug 24, 2019)
-----------------------------

Breaking Changes:

* Internet Explorer is not supported anymore

Fixes and Improvements:

* Fixed issue of tooltip not disapearing
* Update Docker image to Alpine Linux 3.10.2
* Hide due date time on the card if time is 00:00
* Add new plugin hooks in view switcher
* Add project ID to ExternalTaskProviderInterface::fetch()
* Ignore Dockerfiles from git archive
* Remove dependency on nodejs and gulp
* Remove dependency on Sass
    - Convert *.sass files to vanilla CSS
    - Start using CSS variables
    - Add PHP minifier
* Add link button to text editor
* Implements check for duplicate default categories
* Implements check for duplicate default columns
* Fix HTML parsing in Markdown editor
* Change checkboxes alignment in task creation form
* Add support for reference:none
* Fix tabindexes on task creation and modification forms
* Add option to clone filters on project duplication
    - Fixed missing metadata option from project "create from"
    - Added option to clone project custom filters
    - Added append option to custom field tests
    - Added a test that uses the "append" option
    - Fixed disabled swimlane duplication error with Postgresql
* Update translations
* Save thumbnails as PNG to have transparency
* New action to update the start date when a task move away from a column
* Add the possibility to sort columns by due date
* Add "identifier" beside "name" while creating a new project

Version 1.2.10 (June 21, 2019)
------------------------------

* Add Auto-Submitted E-mail header as per RFC 8384
* Add HTML tag in email notifications
* Add new hook template:export:header
* Do not show duplicated results when multiple comments match
* Add Docker manifest with multiple architectures (arm32v6, arm32v7, arm64v8, amd64)
* Update Docker image to Alpine 3.10.0
* Add View File on popover to tooltip
* Fix text file preview
* Set "start date" and "end date" on projects from API
* Add cURL support to HTTP Client
    - Add HTTP_PROXY_EXCLUDE option when cURL is used
    - Show HTTP client backend in about page
    - Fallback to legacy Stream Contexts if cURL extension is not available
* Add Bitcoin to the currency list
* Add automatic action to move task between columns based on due date
* Fixes icon opacity when hovered
* Hide one task count when there is only one swimlane
* Update translations

Version 1.2.9 (April 5, 2019)
-----------------------------

* Add Slovak translation
* Update translations
* Changes search by reference to case insentive
* Fix postgres explicit schema name usage
* Simplify local Docker image build
* Show a 404 when accessing data folder from URL (Docker Image)
* Clarify the comment about MAIL_SMTP_ENCRYPTION
* Remove dependency on Bower
* Replaces accordion Javascript component by <details> HTML element
* Fix MySQL migration when using increment values different from 1
* Add missing webhook event: task.move.project
* Add new actions to reorder tasks by column

Version 1.2.8 (February 2, 2019)
--------------------------------

Breaking Changes:

* Authorize only API tokens when 2FA is enabled (no user password)
* Disable by default plugin installer for security reasons:
    - There is no code review or any approval process to submit a plugin.
    - This is up to the Kanboard instance owner to validate if a plugin is legit.

Fixes and Improvements:

* Limit avatar image size
* Avoid CSRF in users CSV import
* Avoid XSS in pagination sorting
* Do not show projects dropdown when prompting the 2FA code
* Always returns a 404 instead of 403 to avoid people discovering users
* Check if user role has changed while the session is open
* Add missing CSRF check in TwoFactorController::deactivate()
* Hide edit button when user cannot edit task
* Fix permission check before "Assign to me"
* Fix permission check before showing project options
* Fix assignable users on a group with a custom role
* Fix import of automatic actions when parameters are "unassigned" or "no category"
* Update license year
* Update Docker image to Alpine 3.9
* Update translations
* Fix PHP error in task views (tag colors)
* Limit assignee drop-down selector scope

Version 1.2.7 (December 19, 2018)
---------------------------------

* Write log entry on file removal
* Auto link duplicated tasks
* Auto link tasks duplicated to another project
* Auto link tasks created from a subtask
* Redirect to board view of the current task after duplication
* Fix broken link to contributor page
* Add automatic action for moving a task to a swimlane based on category change
* Add automatic action to assign a category based on swimlane change
* Add ordering comments by id along with creation date
* Fix custom roles duplication (source and destination column_id)
* Add locale en_GB
* New automatic action: move the task to another swimlane when assigned
* Disable php_uname() warning for restrictive environments
* Add hook to board settings
* Add method remove() to settings model
* Add php7-bcmath to Docker image
* Add sorting by reference in list view
* Added priority, swimlane, and column values from parent task to task converted from subtask
* Update translations

Version 1.2.6 (October 10, 2018)
--------------------------------

* Escape table name 'groups' because groups is a reserved word as of MySql 8.0.2
* Reduce number of SQL queries when doing groups sync
* Make swimlane filter compatible with numeric title
* Duplicate reference fields when duplicating a task
* Do not try to redirect to login page when offline
* Define fixed width for auto-complete dropdown
* Fix task drag and drop slowdown when a column is hidden
* Make PLUGINS_DIR absolute in config.default.php
* Add custom roles project duplication
* Allow 'No assignee' for external task on single user public boards
* Add tag and category colors
* Exclude task links and user mentions from nesting (Markdown parser)
* When forcing HTTPS, handle subfolder URLs properly
* Add search within a range of dates for completion, modification, creation, and moved fields
* Update Docker image to Alpine Linux 3.8
* Make sure the presense of mod_env is checked in .htaccess
* Make HTTP client timeout configurable
* Use SET NAMES instead of charset for MySQL connection
* Vendoring deprecated Composer libs
* Update translations and fix typos

Version 1.2.5 (June 15, 2018)
-----------------------------

* Update jQuery to latest version
* Defer javascript files loading by default
* Add quick link "assign me" in different views
* Add bulk task operations in list view
* Add checkboxes in list view to move tasks to another column at once
* Make sure automatic actions are applied to all tasks when using bulk operations
* Add ability to run cron jobs by calling URL
* Add basic print stylesheet
* Add dashboard and search task footer hooks
* Reword project settings label
* Improve Docker image config overrides
* Fix cronjob in Docker image
* Increase Nginx fastcgi buffers for Docker image
* Increase size of the "users.language" column
* Update translations and improve English texts

Version 1.2.4 (May 16, 2018)
----------------------------

* Rewrite tooltip code without jQuery
* Update Parsedown library
* Remove all attachments when removing a project
* Improve whitespace handling in "cli locale:compare" command
* Don't markdown project owner's name in header tooltip
* Add SSL to Docker image
* Avoid people to remove themselves from project permissions
* Fix escaping issue in Markdown editor
* Add data/config.php to .gitignore
* Clarified text label for notification settings
* Add Ukrainian translation
* Do not show inactive users in group members dropdown
* Improve dashboard pagination
* Make list view more compact
* Hide private projects checkbox if the feature is disabled
* Make cli locale commands working outside of source tree
* Make subtask title text field wider when editing subtasks
* Add link to open images in a new tab
* Make hardcoded hours string translatable
* Translation updates

Version 1.2.3 (April 18, 2018)
------------------------------

New features:

* Add Project MetaData API calls
* Add default filter per user

Improvements:

* Use utf8mb4 encoding for MySQL instead of utf8 (Emoji support)
* Increase text fields length in several tables
* Move documentation to https://docs.kanboard.org/
* Make sure no empty group is submitted on project permissions page
* Translate subtasks status and internal links labels in notifications
* Add link to tasks and projects in overdue notifications
* Add missing translations
* Move custom libs to the source tree

Bug fixes:

* Fix margin for task recurrence tooltip

Version 1.2.2 (March 30, 2018)
------------------------------

Improvements:

* Add thumbnail quality parameter (default to 95)
* Always display SQL errors
* Move SimpleLogger lib into app source tree
* Add system log driver and use it by default
* Display exceptions from plugins while refreshing board
* Redirect to original URL after OAuth login
* Add author name and email arguments to mail client
* Improve HTTP client to raise exceptions
* Update translations

Bug fixes:

* Fix broken daily summary export
* Fix role precedence in LDAP integration

Version 1.2.1 (February 28, 2018)
---------------------------------

New features:

* Add automatic action to change column once a start date is reached
* Add automatic action to change color once start date is reached
* Add CSS class to categories to allow custom styling
* Add option to disable Mysql SSL server verification
* Add timeout parameter for database connection
* Add error log for authentication failure to allow fail2ban integration

Improvements:

* Set the correct swimlane/column ID when moving a task via its internal dialog
* Allow filtering for tasks without due date
* Add plugin hook 'aftersave' after creating Task
* Run SessionHandler::write() into a transaction
* Remove dependency on PicoFeed
* Add CSRF check for task and project files upload
* Add missing CSRF check on avatar upload form
* Add missing CSRF check in saveUploadDB() method
* Update Vagrantfile to use Ubuntu Xenial
* Send event author in webhook notification
* Update translations
* Update documentation

Version 1.2.0 (December 27, 2017)
---------------------------------

Breaking changes:

* Kanboard supports only PHP >= 5.6 (PHP 5.3, 5.4 and 5.5 are not supported anymore)

New features:

* PHP sessions are now stored into the database,
  In this way, it's easier to run Kanboard behind a load-balancer

Improvements:

* Copy category from parent task when creating a task from a subtask
* Translation updates and improvements

Version 1.1.1 (December 9, 2017)
--------------------------------

Breaking changes:

* The Docker tag "stable" is not used anymore, instead use a specific version tag
* Task limit apply across all swimlanes
* Kanboard is now using the domain kanboard.org

New features:

* New automatic action to create a subtask assigned to the creator and start the timer
* New automatic action to stop the timer of subtasks
* Add command line tool to remove project activities after one year
* Add command line tool to disable projects not touched during one year
* Add config option to exclude fields from auth providers sync
* Add new plugin hooks

Improvements:

* Open audio files in a new tab
* Upgrade Docker image to Alpine Linux 3.7
* Improve Docker build to use Docker Hub hooks
* The application version is now included into the Docker image
* Disable private projects when disabling a user
* Allow administrators to update username of remote users
* Improve layout on mobile/tablet devices
* Changed board column headings to show swimlane-column total in bold
* Enable dragging to collapsed columns
* Add missing checks for requirements

Bug fixes:

* Add class "js-modal-replace" to icons to make it clickable
* Improve permission checks on custom filters page to avoid forbidden access

Version 1.1.0 (November 20, 2017)
---------------------------------

Breaking changes:

* Remove feature "Allow everybody to access to this project" (You must define project members and groups)
* Composer dependencies are now included in the repository to be able to use git-archive (except development dependencies)

New features:

* Add predefined templates for task descriptions
* Add the possibility to send tasks and comments to multiple recipients
* Add users, groups and projects search
* Add command line argument to display Kanboard version
* Add user backend provider system (to be used by external plugins)
* Add Romanian and Chinese (Taiwan) translation

Improvements:

* Minor CSS improvements
* Add help message on project sharing page
* Task CSV import is now able to handle the priority, start date, tags and one external link
* Improve iCalendar feed to include tasks with start/end date and due date with a time
* Check if the start date is before due date
* You can get an archive of Kanboard by using the download button in Github or the command git archive
* Translation updates

Bug fixes:

* Fix project dropdown visibility when page is scrolled down
* Task move events must be executed synchronously
* Handle CSV files with only "\r" line endings

Version 1.0.48 (October 23, 2017)
---------------------------------

Improvements:

* Add bulk subtasks creation
* Add filter by score/complexity
* Improved display of the header bar
* Displays bullets from lists in tooltips
* Updated translations
* Add tags and priority to task export
* Make the number of events stored in project activities configurable
* Do not use jQuery tooltip for task title in collapsed mode
* Remove dependency on Yarn
* Improve external task integration
* Add support for array parameters in automatic actions
* Add tooltip to subtask icons
* Add attribute title to external links
* Render a link if the reference is a URL
* Add icon to edit a task quickly on the board
* Improve .htaccess when using HTTP Basic Authentication for Apache/FastCGI
* Add note to specify incompatibility with mod_security

Version 1.0.47 (October 3, 2017)
--------------------------------

New features:

* Vietnamese translation

Improvements:

* Updated translations

Security Issues:

* Avoid people to alter other project resources by changing form data

Version 1.0.46 (August 13, 2017)
--------------------------------

Security Issues:

* Fix two privilege escalation issues: a standard user could reset the password
of another user (including admin) by altering form data.
(CVE-2017-12850 and CVE-2017-12851, discovered by "chbi").

Improvements:

* Add "Create another link" checkbox for internal link as in sub-task creation
* Updated translations

Bug fixes:

* Fix parsing issue in phpToBytes() method

Version 1.0.45 (June 23, 2017)
------------------------------

New features:

* Automatic action to assign tasks to its creator
* Add the possibility to create a comment when a task is sent by email
* Add dropdown menu to autocomplete email field from project members
* Add configurable list of predefined subjects when sending a task or a a comment by email
* Add command line argument to filter overdue notification for a given project

Improvements:

* Improve SQL migrations when old default swimlanes have the same name as a normal swimlanes

Bug fixes:

* Add missing subtask permissions for project viewer role
* Fix Javascript language mapping

Version 1.0.44 (May 28, 2017)
-----------------------------

Improvements:

* Use datetime field for due date
* Update Docker image to Alpine Linux 3.6
* Add the possibility to pass API token as environment variable for Docker container
* Add wildcard search for task reference field
* Improve automated action TaskAssignColorOnDueDate to update task only when necessary
* Add task and project API formatters
* Update translations

Bug fixes:

* Fix broken user mentions in comment form at the bottom of the task view page
* Ensure project tags are removed when the project is removed
* Avoid PHP notice when regenerating API token for a user
* Fix wrong dropdown menu in group members list
* Show only active users in auto-complete forms (project permissions)
* Check owner existence before to create project

Version 1.0.43 (April 30, 2017)
-------------------------------

Improvements:

* Add "[DUPLICATE]" prefix to duplicated tasks title
* Add sorting by position and start date in task list view
* Update translations

Bug fixes:

* Add missing plugin parameter for search box (Gantt and calendar plugin)
* Fix broken start date button

Version 1.0.42 (April 8, 2017)
------------------------------

New features:

* New restrictions for custom project roles

Improvements:

* Improved dashboard

Breaking Changes:

* Move calendar to external plugin: https://github.com/kanboard/plugin-calendar
* Move Gantt charts to external plugin: https://github.com/kanboard/plugin-gantt
* Move Gravatar to external plugin: https://github.com/kanboard/plugin-gravatar

Bug fixes:

* Fix typo in Sqlite schema

Version 1.0.41 (March 19, 2017)
-------------------------------

New features:

* Add Croatian language translation

Improvements:

* Simplify dashboard to use new tasks list view
* Move notifications outside of dashboard
* Render QR code for TwoFactor authentication without Google Chart API
* Add toggle button to show/hide subtasks in task list view
* Use same layout as task listing for task search
* Display tags in task list view
* Make user actions available from contextual menu
* Change users and groups list layout
* Project priority is always rendered now
* Do not list private projects when adding a new user
* Restore link for task title on board

Breaking Changes:

* Remove method getQrCodeUrl() from PostAuthenticationProviderInterface

Version 1.0.40 (Feb 24 2017)
----------------------------

New features:

* Send comments by email
* Send tasks by email
* Add Reply-To header to emails sent from Kanboard
* Upload Sqlite database from user interface
* Automatic action to change task color when due date is expired

Improvements:

* Make link to calendar view bookable
* Reintroduce word search in board selector
* Properly resize task list height on column toggle
* Show total score across all swimlanes
* Redesign task list view and project list view
* Allow people to remove missing automatic actions (installed from a removed plugins)
* Improve task view tables
* Simplify automatic actions table
* Show category description in tooltip
* Show category creation form in modal dialog
* Prevent people to remove swimlanes that contains tasks
* Show task count in swimlane table
* Use contextual menu instead of action column in users management

Breaking changes:

* The concept of "default swimlane" has been removed
* Previous default swimlanes are migrated to an independent swimlanes
* Columns "default_swimlane" and "show_default_swimlane" from "projects" table are not used anymore
* Remove API method "getDefaultSwimlane()"
* Add mandatory argument "project_id" to API method "updateSwimlane()"
* Change interface for mail transports

Bug fixes:

* Upload files button stay disabled when there are other submit buttons on the same page
* Hiding subtasks from hidden tasks in dashboard

Security:

* Fix XSS in LetterAvatarProvider (render broken image)

Those issues are harmless if you use default Kanboard settings for CSP rules:

* Avoid potential XSS in project overview when listing users
* Avoid potential XSS in Gantt chart

Version 1.0.39 (Feb 12, 2017)
-----------------------------

Improvements:

* Add menu entry in task dropdown to add attachments
* Improve error reporting when file upload is not configured properly
* Open comments on board view with a modal dialog instead of tooltip
* Improve card icons alignment on board
* Adjust modal dialog width on mobile devices
* Add priority column in list view
* Change wording for project status (use "closed" instead of "inactive")
* Prevent people to remove columns that contains tasks
* Improve LDAP error reporting
* Add configuration parameter to disable email configuration from user interface
* Add email address field for projects
* Improve forget password behavior (notify the user that an email has been sent or not)
* Do not display current project in board selector
* Do not set default task assignee for team projects
* Comments are highlighted if hash (#comment-123) is present in URL
* Documentation translated in Turkish

Bug fixes:

* Search with multiple expressions with double quotes was not working
* Fix broken subtask restriction per user
* Fix CFD chart (stack wrongly ordered)

Version 1.0.38 (Jan 28, 2017)
-----------------------------

New features:

* User invitations by email

Improvements:

* Simplify user creation form
* Add modification date for comments
* Add project creation links to project management pages
* More API procedures are now available to project members and project viewers
* Simplify date and time configuration to avoid potential validation issues
* Show dashboard column visibility in columns page
* Add new template hooks
* Update translations (id_ID, de_DE, ru_RU, fr_FR, pt_PT)
* Add command to execute individual job (mostly for debugging)

Regressions:

* Stay on the same page when a task is closed
* Wrong URL in modal to move task to another project

Bug fixes:

* Fix broken link when clicking on user avatar for tasks on board
* Fix wrong datetime formatting when task form shows validation errors
* Empty arrays are serialized to a list instead of a dict (Json API)
* Always unbind internal listeners when closing a modal dialog
* Fix installation errors on MySQL 8.0.0 (unescaped reserved keyword)
* Avoid PHP notice when column form validation failed
* Fix wrong default value for add group member modal
* Add missing filter (completed) for task search

Version 1.0.37 (Jan 14, 2017)
-----------------------------

Improvements:

* Improve keyboard shortcuts handling
* Improve auto-complete dropdown elements sorting
* Larger task form
* Rewrite dialog and confirmation boxes (inline popups)
* Remove TaskGanttCreationController
* Add helpers to open modal boxes
* Make icons clickable in menus
* Open task imports in modal box
* Open form to create customer filters in modal box
* Open project activities in modal box
* Display project analytics in modal box
* Display project exports in modal box
* Improve accordion component
* Improve currencies page navigation
* Improve link labels page navigation
* Improve settings page layout
* Offer the possibility to define version compatibility from plugins
* Add task creation event to the automatic action to send task by email

Bug fixes:

* Closing screenshot dialog prevent input elements to get focus

Version 1.0.36 (Dec 30, 2016)
-----------------------------

New features:

* Add slideshow for images
* Add API calls to manage tags
* Offer the possibility to override internal formatter objects from plugins
* Open PDF attachments in browser tab (preview)

Improvements:

* Add pagination details
* Handle username with dots in user mentions
* Rewrite UI component that change user/group roles
* Replace Chosen jQuery plugin by custom UI component
* Remove dependency on Mousetrap Javascript library
* Disable PageSpeed module from .htaccess if present
* Add currency of Chinese Yuan

Bug fixes:

* Fix compatibility issue with PHP 5.3 for array_combine function
* Fix wrong controller name on project activity page when using filters
* Uploaded avatar images are now visible in public board view

Version 1.0.35 (Dec 4, 2016)
----------------------------

New features:

* Add external tasks plugin interfaces
* Add personal API access token for users
* Rewrite of Markdown editor (remove CodeMirror)
* Suggest menu for task ID and user mentions in Markdown editor
* Add config parameter to disable automatic SQL migrations

Improvements:

* Add button to close inline popups
* Simplify `.htaccess` to avoid potential issues with possible specific Apache configurations
* Replace notifications Javascript code by CSS
* Refactoring of user mentions job
* Remove Nitrous installer
* Update translations
* Rewrite some components in Vanilla Javascript
* Started Javascript code refactoring to avoid to much dependencies on jQuery
* Remove dependency on VueJS and CoreMirror
* Add P3P headers to avoid potential issues with IE

Breaking changes:

* Rename command line tool `./kanboard` to `./cli`

Bug fixes:

* Change column type for application settings value (field too small)
* Fix link generation when user mention is followed by a punctuation mark
* Make user mentions works again

Version 1.0.34 (Oct 11, 2016)
-----------------------------

New features:

* Custom project roles with configurable restrictions
* Duplicate a task to multiple projects during creation
* New automatic action:
    - Close a task in a specific column when not moved during a given period

Improvements:

* Do not close the popover when clicking on the background
* Add visual icon to show a dropdown action on task
* Avoid 'blur' effect on popover
* Accept more file types for external links
* Restrict search to active projects
* Improve task status filter
* Add filter tag:none
* Always apply merge hooks in task creation controller
* Update task moved date only when the column or swimlane is changed
* Add new subtask hooks
* Add the actual use of TaskStartDateFilter
* Update translations and documentation

Bug fixes:

* Send absolute links in email notifications
* Restrict task complexity to a specific range to avoid integer overflow
* Do not show closed tasks in task move position form
* Avoid "Controller not found" in Settings > Links

Version 1.0.33 (Sep 5, 2016)
----------------------------

New features:

* Move a task without drag and drop (smartphones and tablets)
* Add the possibility to unlock users from the user interface
* New API calls for task metadata
* New automatic actions:
    - Define color by Swimlane
    - Define priority by Swimlane

Improvements:

* Introduce Vue.js to manage user interface components
* Add column "Reference" and "Creator Name" in CSV task export
* Show both time spent and estimated on the board
* Store board collapsed mode user preference in the database
* Store comment sorting direction in the database
* Avoid tags overlapping on the board
* Show project name in notifications
* Allow priority changes for inverted priority scales
* Add the possibility to attach template hooks with local variables and callback
* Add "reference" hooks
* Show project name in task forms
* Convert vanilla CSS to SASS
* Make user interface more responsive for smartphones and tablets
* Support version operators for plugin directory: >= and >
* Update Spanish documentation

Other changes:

* Time spent (in hours) for subtasks are not rounded too the nearest quarter anymore

Bug fixes:

* Fix improper HTML escaping for textarea (potential XSS)
* Do not show closed tasks on public boards
* Fix undefined constant in config example file
* Fix PHP notice when sending overdue notifications
* Fix wrong project date format (shown as 01/01/1970)
    - If the dates still not correct, modify and save the date

Version 1.0.32 (July 31, 2016)
------------------------------

New features:

* New automated actions:
    - Close tasks without activity in a specific column
    - Set due date automatically
    - Move a task to another column when closed
    - Move a task to another column when not moved during a given period
* New filter "moved" for moved date of tasks
* Added internal task links to activity stream
* Added new event for removed comments
* Added search filter for task priority
* Added the possibility to hide tasks in dashboard for a specific column
* Documentation translated in Russian

Improvements:

* Improve background worker and job handler
* New template hooks
* Removed individual column scrolling on board, columns use the height of all tasks
* Improve project page titles
* Remove sidebar titles when not necessary
* Internal events management refactoring
* Handle header X-Real-IP to get IP address
* Display project name for task auto-complete fields
* Make search attributes not case sensitive
* Display TOTP issuer for 2FA
* Make sure that the table schema_version use InnoDB for Mysql
* Use the library PicoFeed to generate RSS/Atom feeds
* Change all links to the new repository

Bug fixes:

* Allow users to see inactive projects
* Fixed typo in template that prevent project permissions to be duplicated
* Fixed search query with multiple assignees (nested OR conditions)
* Fixed Markdown editor auto-grow on the task form (Safari)
* Fixed compatibility issue with PHP 5.3 for OAuthUserProvider class

Version 1.0.31 (Jul 3, 2016)
----------------------------

New features:

* Added tags: global and specific by project
* Added application and project roles validation for API procedure calls
* Added new API call: "getProjectByIdentifier"
* Added new API calls for external task links, project attachments and subtask time tracking

Improvements:

* Use PHP 7 for the Docker image
* Preserve role for existing users when using ReverseProxy authentication
* Handle priority for task and project duplication
* Expose task reference field to the user interface
* Improve ICal export
* Added argument owner_id and identifier to project API calls
* Rewrite integration tests to run with Docker containers
* Use the same task form layout everywhere
* Removed some tasks dropdown menus that are now available with task edit form
* Make embedded documentation readable in multiple languages (if a translation is available)
* Added acceptance tests (browser tests)

Bug fixes:

* Fixed broken CSV exports
* Fixed identical background color for LetterAvatar on 32bits platforms (Hash greater than PHP_MAX_INT)
* Fixed lexer issue with non word characters
* Flush memory cache in worker to get latest config values
* Fixed empty title for web notification with only one overdue task
* Take default swimlane into consideration for SwimlaneModel::getFirstActiveSwimlane()
* Fixed "due today" highlighting

Breaking changes:

* Docker volume paths are changed to /var/www/app/{data,plugins}

Version 1.0.30 (Jun 8, 2016)
----------------------------

Improvements:

* Show tasks that are due today in a different color

Bug fixes:

* Fixed wrong controller for search in dashboard
* Fixed plural form in alert message
* Fixed CSS cosmetic issue with popover and tooltips

Version 1.0.29 (Jun 5, 2016)
----------------------------

New features:

* Manage plugin from the user interface and from the command line
* Added support for background workers
* Added the possibility to convert a subtask to a task
* Added menu entry to add tasks from all project views
* Add tasks in bulk from the board
* Add dropdown for projects
* Added config parameter to allow self-signed certificates for the HTTP client

Improvements:

* Display local date format in date picker
* Configure email settings with the user interface in addition to config file
* Upgrade Docker image to Alpine Linux 3.4
* Move task import to a separate section
* Mark web notification as read when clicking on it
* Support strtotime strings for date search
* Reset failed login counter and unlock user when changing password
* Task do not open anymore in a new window on the Gantt chart
* Do not display task progress for tasks with no start/end date
* Use Gulp and Bower to manage assets
* Controller and Middleware refactoring
* Replace jQuery mobile detection by the library isMobile

Bug fixes:

* Fixed user date format parsing for dates that can be valid in multiple formats
* Do not sync user role if LDAP groups are not configured
* Fixed issue with unicode handling for letter based avatars and user initials
* Do not send notifications to disabled users
* Fixed wrong redirect when removing a task from the task view page

Breaking changes:

* Webhook to create tasks have been removed, use the API instead
* All controllers have been renamed, people who are not using URL rewriting will see different URLs
* All models have been renamed, plugin maintainers will have to update their plugins

Version 1.0.28 (May 8, 2016)
----------------------------

New features:

* Added automated action to change task color based on the priority
* Added support for LDAP Posix Groups (OpenLDAP with memberUid or groupOfNames)
* Added support for LDAP user photo attribute (Avatar image)
* Added support for language LDAP attribute
* Added support for Mysql SSL connection
* Search in activity stream
* Search in comments
* Search by task creator
* Added command line utility to reset user password and to disable 2FA

Improvements:

* Improve Avatar upload form
* User roles are now synced with LDAP at each login
* Improve web page title on the task view
* Unify task drop-down menu between different views
* Improve LDAP user group membership synchronization
* Category and user filters do not append anymore in search field
* Added more template hooks
* Added tasks search with the API
* Added priority field to API procedures
* Added API procedure "getMemberGroups"
* Added parameters for overdue tasks notifications: group by projects and send only to managers
* Allow people to install Kanboard outside of the DocumentRoot
* Allow plugins to be loaded from another folder
* Filter/Lexer/QueryBuilder refactoring

Bug fixes:

* Allow a project owner to manage his own public project
* Fixed PHP warning when removing a user with no Avatar image
* Fixed improper Markdown escaping for some tooltips
* Closing all tasks by column, also update closed tasks
* Fixed wrong task link generation within Markdown text
* Fixed wrong URL on comment toggle link for sorting
* Fixed form submission with Meta+Enter keyboard shortcut
* Removed PHP notices in comment suppression view

Version 1.0.27 (Mar 27, 2016)
-----------------------------

New features:

* Added Markdown editor
* Added user avatars with pluggable system
    - Default is a letter based avatar
    - Gravatar
    - Avatar Image upload
* Added Korean translation

Improvements:

* Added more logging for LDAP client
* Improve schema migration process
* Improve notification configuration form
* Handle state in OAuth2 client
* Allow to use the original template in overridden templates
* Unification of the project header
* Refactoring of Javascript code
* Improve comments design
* Improve task summary sections
* Put back the action sidebar in task view
* Added support for multiple placeholders for LDAP_USER_FILTER
* Added local file link provider
* Show configuration in settings page
* Added "?" to display list of keyboard shortcuts
* Added new keyboard shortcuts for task view
* Always display project name and task title in task views
* Improve automatic action creation
* Move notifications to the bottom of the screen
* Added the possibility to import automatic actions from another project
* Added Ajax loading icon for submit buttons
* Added support for HTTP header "X-Forwarded-Proto: https"

Bug fixes:

* Fix bad unique constraints in Mysql table user_has_notifications
* Force integer type for aggregated metrics (Burndown chart concat values instead of summing)
* Fixes cycle time calculation when the start date is defined in the future
* Access allowed to any tasks from the shared public board by changing the URL parameters
* Fix invalid user filter for API procedure createLdapUser()
* Ambiguous column name with very old version of Sqlite

Version 1.0.26 (Feb 28, 2016)
-----------------------------

Breaking changes:

* API procedures:
    - "moveColumnUp" and "moveColumnDown" are replaced by "changeColumnPosition"
    - "moveSwimlaneUp" and "moveSwimlaneDown" are replaced by "changeSwimlanePosition"

New features:

* Add drag and drop to change subtasks, swimlanes and columns positions
* Add file drag and drop and asynchronous upload
* Enable/Disable users
* Add setting option to disable private projects
* Add new config option to disable logout

Improvements:

* Use inline popup to create new columns
* Improve filter box design
* Improve image thumbnails and files table
* Add confirmation inline popup to remove custom filter
* Increase client_max_body_size value for Nginx
* Split Board model into multiple classes
* Improve logging for the Docker image

Bug fixes:

* Fix PHP notices during creation of first project and in subtasks table
* Fix filter dropdown not accessible when there are too many items
* Fix regression: unable to change project in "task move/duplicate to another project"

Version 1.0.25 (Feb 7, 2016)
----------------------------

Breaking changes:

* Core functionalities moved to external plugins:
    - Google Auth: https://github.com/kanboard/plugin-google-auth
    - Github Auth: https://github.com/kanboard/plugin-github-auth
    - Gitlab Auth: https://github.com/kanboard/plugin-gitlab-auth

New features:

* When creating a new project, have the possibility to select another project to duplicate
* Add a "Me" button to assignee form element
* Add external links for tasks with plugin api
* Add project owner (Directly Responsible Individual)
* Add configurable task priority
* Add Greek translation
* Add automatic actions to close tasks with no activity
* Add automatic actions to send an email when there is no activity on a task
* Regroup all daily background tasks in one command: "cronjob"
* Add task dropdown menu on listing pages

Improvements:

* New Dockerfile based on Alpine Linux and Nginx/PHP-FPM
* The date time format can be chosen in application settings
* Export only open tasks in iCal feed
* Remove time form on task summary page and move that to task edit form
* Replace box shadow by a larger border width when a task is recently modified
* Do not refresh the whole page when changing subtask status
* Add dropdown menu with inline popup for all task actions
* Change sidebar style
* Change task summary layout
* Use inline popup for subtasks, categories, swimlanes, actions and columns
* Move homepage menus to the user dropdown
* Have a new task assigned to the creator by default instead of "no assignee"
* Show progress for task links in board tooltips
* Simplify code to handle ajax popover and redirects
* Simplify layout and templates generation
* Move task form elements to Task helper

Bug fixes:

* Category label is broken on the board if there's a url in the description
* Fix pagination on task time tracking page

Version 1.0.24 (Jan 23, 2016)
-----------------------------

New features:

* Forgot Password
* Add drop-down menu on each board column title to close all tasks
* Add Malay language
* Add new API procedures for groups, roles, project permissions and to move/duplicate tasks to another project

Improvements:

* Avoid to send XHR request when a task has not moved after a drag and drop
* Set maximum dropzone height when the individual column scrolling is disabled
* Always show the search box in board selector
* Replace logout link by a drop-down menu
* Handle notification for group members attached to a project
* Return the highest role for a project when a user is member of multiple groups
* Show in user interface the saving state of the task
* Add drop-down menu for subtasks, categories, swimlanes, columns, custom filters, task links and groups
* Add new template hooks
* Application settings are not cached anymore in the session
* Do not check board status during task move
* Move validators to a separate namespace
* Improve and write unit tests for reports
* Reduce the number of SQL queries for project daily column stats
* Remove event subscriber to update date_moved field
* Make sure that some event subscribers are not executed multiple times
* Show rendering time of individual templates when debug mode is enabled
* Make sure that no events are fired if nothing has been modified in the task
* Make dashboard section title clickable
* Add unit tests for LastLogin

Bug fixes:

* Automatic action listeners were using the same instance
* Fix wrong link for category in task footer
* Unable to set currency rate with Postgres database
* Avoid automatic actions that change the color to fire subsequent events
* Unable to unassign a task from the API
* Revert back previous optimizations of TaskPosition (incompatibility with some environment)

Version 1.0.23 (Jan 9, 2016)
----------------------------

Breaking changes:

* Plugin API changes for Automatic Actions
* Automatic Action to close a task doesn't have the column parameter anymore (use the action "Close a task in a specific column")
* Action name stored in the database is now the absolute class name
* Core functionalities moved to external plugins:
    - Github Webhook: https://github.com/kanboard/plugin-github-webhook
    - Gitlab Webhook: https://github.com/kanboard/plugin-gitlab-webhook
    - Bitbucket Webhook: https://github.com/kanboard/plugin-bitbucket-webhook

New features:

* Added support of user mentions (@username)
* Added report to compare working hours between open and closed tasks
* Added the possibility to define custom routes from plugins
* Added new method to remove metadata

Improvements:

* Improve Two-Factor activation and plugin API
* Improving performance during task position change (SQL queries are 3 times faster than before)
* Do not show window scrollbars when individual column scrolling is enabled
* Automatic Actions code improvements and unit tests
* Increase action name column length in actions table

Bug fixes:

* Fix compatibility issue with FreeBSD for session.hash_function parameter
* Fix wrong constant name that causes a PHP error in project management section
* Fix pagination in group members listing
* Avoid PHP error when enabling LDAP group provider with PHP < 5.5

Version 1.0.22 (Dec 13, 2015)
-----------------------------

Breaking changes:

* LDAP configuration parameters changes (See documentation)
* SQL table changes:
    - "users" table: added new column "role" and removed columns "is_admin" and "is_project_admin"
    - "project_has_users" table: replaced column "is_owner" with column "role"
    - Sqlite does not support alter table, old columns still there but unused
* API procedure changes:
    - createUser
    - createLdapUser
    - updateUser
    - updateTask
* Event removed: "session.bootstrap", use "app.boostrap" instead

New features:

* Add pluggable authentication and authorization system (complete rewrite)
* Add groups (teams/organization)
* Add LDAP groups synchronization
* Add project group permissions
* Add new project role Viewer
* Add generic LDAP client library
* Add search query attribute for task link
* Add the possibility to define API token in config file
* Add capability to reopen Gitlab issues
* Try to load config.php from /data if not available

Version 1.0.21 (Nov 22, 2015)
-----------------------------

Breaking changes:

* Projects with duplicate names are now allowed:
    - For Postgres and Mysql the unique constraint is removed by database migration
    - However Sqlite does not support alter table, only new databases will have the unique constraint removed

New features:

* New automatic action: Assign a category based on a link
* Added Bosnian translation

Improvements:

* Dropdown menu entries are now clickable outside of the html link
* Improve error handling of plugins
* Use PHP7 function random_bytes() to generate tokens if available
* CSV task export show the assignee name in addition to the assignee username
* Add new hooks for plugins
* Remove workaround for "INSERT ON DUPLICATE KEY UPDATE..."

Internal code refactoring:

* Rewrite of session management
* Move some classes to a new namespace Kanboard\Core\Http

Bug fixes:

* Loading cs_CZ locale display the wrong language in datetime picker
* Datepicker is closed unexpectedly on blur event
* Fix bug in daily project summary CSV export
* Fix PHP error when adding a new user with email notification enabled
* Add missing template for activity stream to show event "file.create"
* Fix wrong value for PLUGINS_DIR in config.default.php
* Make CSV export compatible with PHP 5.3
* Avoid Safari to append .html at the end of downloaded files

Version 1.0.20 (Oct 24, 2015)
-----------------------------

Breaking changes:

* Add namespace Kanboard (update your plugins)
* Move Mailgun, Sendgrid, Postmark, Slack, Hipchat and Jabber to plugins
* ReverseProxy authentication check for each request that the username match the user session

New features:

* Add CSV import for users and tasks
* Add Task, User and Project metadata for plugin creators

Improvements:

* Allow to change comments sorting
* Add the possibility to append or not custom filters
* Make mail transports pluggable
* Do not show scroll-bars when a column is collapsed on Windows systems
* Regenerate thumbnails if missing

Bug fixes:

* People should not see any tasks during a search when they are not associated to a project
* Avoid disabling the default swimlane during renaming when there is no other activated swimlane

Version 1.0.19 (Oct 11, 2015)
-----------------------------

New features:

* Added web notifications
* Added LDAP group sync
* Added swimlane description
* New plugin system (alpha)
* Added Bahasa Indonesia translation
* Added API procedures: getMyOverdueTasks, getOverdueTasksByProject and GetMyProjects
* Added user API access for procedure getProjectActivity()
* Added config parameter to enable/disable Syslog
* Added custom filters
* Added http client proxy support

Core functionalities moved to plugins:

* Budget planning: https://github.com/kanboard/plugin-budget
* SubtaskForecast: https://github.com/kanboard/plugin-subtask-forecast
* Timetable: https://github.com/kanboard/plugin-timetable

Improvements:

* When duplicating a task redirect to the new task
* Include more shortcut links into the view "My projects"
* Duplicate a project with tasks will copy the new tasks in the same columns
* Offer alternative method to create Mysql and Postgres databases (import sql dump)
* Make sure there is always a trailing slash for application_url
* Do not show the checkbox "Show default swimlane" when there is no active swimlanes
* Append filters instead of replacing value for users and categories drop-downs
* Do not show empty swimlanes in public view
* Change swimlane layout to save space on the screen
* Add the possibility to set/unset max column height (column scrolling)
* Show "Open this task" in drop-down menu for closed tasks
* Show assignee on card only when someone is assigned (hide nobody text)
* Highlight selected item in drop-down menus
* Gantt chart: change bar color according to task progress
* Replace color drop-down by color picker in task forms
* Creating another task stay in the popover (no full page refresh anymore)
* Avoid scrollbar in Gantt chart for row title on Windows platform
* Remove unnecessary margin for calendar header
* Show localized documentation if available
* Add event subtask.delete
* Add abstract storage layer
* Add abstract cache layer
* Add Docker tag for stable version

Others:

* Data directory permission are not checked anymore
* Data directory is not mandatory anymore for people that use a remote database and remote object storage

Bug fixes:

* Fix typo in template that prevents Gitlab OAuth link to be displayed
* Fix Markdown preview links focus
* Avoid drop-down menu to be truncated inside a column with scrolling
* Deleting subtask doesn't update task time tracking
* Fix Mysql error about gitlab_id when creating remote user
* Fix subtask timer bug (event called recursively)
* Fix Postgres issue "Cardinality violation" when there is multiple "is_milestone_of" links
* Fix issue with due date greater than year 2038

Version 1.0.18 (Aug 30, 2015)
-----------------------------

New features:

* Include documentation in the application
* Add Gitlab authentication
* Add users and categories filters on the board
* Add hide/show columns
* Add Gantt chart for projects and tasks
* Add new role "Project Administrator"
* Add login brute force protection with captcha and account lockdown
* Add new api procedures: getDefaultTaskColor(), getDefaultTaskColors() and getColorList()
* Add user api access
* Add config parameter to define session duration
* Add config parameter to disable/enable RememberMe authentication
* Add start/end date for projects
* Add new automated action to change task color based on the task link
* Add milestone marker in board task
* Add search for task title when using an integer only input
* Add Portuguese (European) translation
* Add Norwegian translation

Improvements:

* Add handle to move tasks on touch devices
* Improve file attachments tooltip on the board
* Adjust automatically the height of the placeholder during drag and drop
* Show all tasks when using no search criteria
* Add column vertical scrolling
* Set dynamically column height based on viewport size
* Enable support for Github Enterprise when using Github Authentication
* Update iCalendar library to display organizer name
* Improve sidebar menus
* Add no referrer policy in meta tags
* Run automated unit tests with Sqlite/Mysql/Postgres on Travis-ci
* Add Makefile and remove the "scripts" directory

Bug fixes:

* Wrong template name for subtasks tooltip due to previous refactoring
* Fix broken url for closed tasks in project view
* Fix permission issue when changing the url manually
* Fix bug task estimate is reset when using subtask timer
* Fix screenshot feature with Firefox 40
* Fix bug when uploading files with Cyrilic characters

Version 1.0.17 (Jul 27, 2015)
-----------------------------

New features:

* Added url rewrite and new routes
* Added new search engine with advanced syntax
* Added global search section
* Added search form on the dashboard
* Added new dashboard layout
* Added new layout for board/calendar/list views
* Added filters helper for search forms
* Added setting option to disable subtask timer
* Added setting option to include or exclude closed tasks into CFD
* Added setting option to define the default task color
* Added new config option to disable automatic creation of LDAP accounts
* Added loading icon on board view
* Prompt user when moving or duplicate a task to another project
* Added current values when moving/duplicate a task to another project and add a loading icon
* Added memory consumption to debug log
* Added form to create remote user
* Added edit form for user authentication
* Added config option to hide login form
* Display OAuth2 urls on integration page
* Added keyboard shortcuts to switch between board/calendar/list view
* Added keyboard shortcut to focus on the search box
* Added Slack channel override
* Added new report: Lead and cycle time for projects
* Added new report: Average time spent into each column
* Added task analytics
* Added icon to set the start date automatically
* Added datetime picker for start date

Improvements:

* Updated documentation
* Display user initials when tasks are in collapsed mode
* Show title in tooltip for collapsed tasks
* Improve alert box fadeout to avoid an empty space
* Set focus on the drop-down for category popover
* Make escape keyboard shortcut global
* Check the box remember me by default
* Store redirect login url in session instead of using url parameter
* Update Gitlab webhook
* Do not rewrite remember me cookie for each request
* Set the assignee as organizer for ical events
* Increase date range for ics export
* Reduce spacing on cards
* Move board collapse/expand mode to server side to avoid board flickering
* Use ajax requests for board collapse/expand
* Do not set anchor for the default swimlane on the link back to board
* Replace timeserie axis to category axis for charts
* Hide task age in compact mode
* Improve quick-add subtasks form
* Reduce the size of the filter box for smaller screen
* Added icon to hide/show sidebar
* Update GitLab logo
* Improve Dockerfile

Translations:

* Added Czech translation
* Updated Spanish translation
* Updated German Translation

Bug fixes:

* Screenshot drop-down: unexpected scroll down on the board view and focus lost when clicking on the drop zone
* No creator when duplicating a task
* Avoid the creation of multiple subtask timer for the same task and user

Code refactoring:

* Split task controller into smaller classes
* Remove method Category::getBoardCategories()
* Rewrite movePosition() to improve performances
* Refactoring of Github and Google authentication

Breaking changes:

* New OAuth url for Google and Github authentication

API:

* Add urls in api response for tasks and projects

Other:

* Added automated Docker build
* Remove edit recurrence from the task menu on the board
* Switch to MIT License instead of AGPLv3

Version 1.0.0 to 1.0.16
-----------------------

* See commit history and website news