forked from edavis10/redmine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
5919 lines (4907 loc) · 305 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
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
== Redmine changelog
Redmine - project management software
Copyright (C) 2006-2022 Jean-Philippe Lang
https://www.redmine.org/
== 2022-02-20 v4.2.4
=== [Gantt]
* Defect #35027: Gantt PNG export ignores imagemagick_convert_command
=== [Gems support]
* Defect #35435: Psych 4: aliases in database.yml cause Psych::BadAlias exception
* Defect #36226: Psych 4: Psych::DisallowedClass exception when unserializing a setting value
=== [Importers]
* Defect #35656: When importing issue relations, the validation messages are not shown in the UI
=== [Issues]
* Defect #36455: Text custom field values are not aligned with their labels when text formatting is enabled
=== [Rails support]
* Patch #36633: Update Rails to 5.2.6.2
=== [Time tracking]
* Defect #20018: Duplicate activities in time entry report when project-specific activies exist
* Defect #36248: Time entries of sub-projects are not listed when activity is specified in filters
=== [Translations]
* Defect #36517: Label error_can_not_execute_macro_html in Russian translation is broken
=== [UI]
* Defect #36446: Watchers autocomplete fails with 403 error when the search is made from multiple objects with different projects
* Patch #35215: Don't display "No Match Found!" when the inline autocomplete doesn't return any result
* Defect #35090: Permission check of the setting button on the issues page mismatches button semantics
* Defect #36363: Cannot select text in a table with a context menu available
* Patch #36378: Update copyright year in the footer to 2022
=== [Wiki]
* Defect #36494: WikiContentVersion API returns 500 if author is nil
* Defect #36561: Wiki revision page does not return 404 if revision does not exist
== 2021-10-10 v4.2.3
=== [Administration]
* Defect #35731: Password and Confirmation fields are marked as required when editing a user
=== [Attachments]
* Defect #35642: Long text custom field values are not aligned with their labels
* Defect #35715: File upload fails when run with uWSGI
=== [Issues]
* Defect #35655: Create duplicated follows relations fails with 500 internal error
=== [Issues planning]
* Defect #35669: Prints of Issues Report details are messed-up due to the size of the graphs
=== [Permissions and roles]
* Defect #35634: Attachments deletable even though issue edit not permitted
=== [Projects]
* Defect #35827: Deleting a closed or archived project returns 403
=== [Roadmap]
* Feature #35758: Add some space around the versions on the Roadmap
=== [Security]
* Defect #35789: Redmine is leaking usernames on activities index view
* Patch #35463: Enforce stricter class filtering in WatchersController
=== [Translations]
* Patch #35662: Mongolian translation update for "Notes", "Totals", and "% Done"
* Patch #35766: Galician translation update for 4.2-stable
=== [UI]
* Defect #34834: Line breaks in the description of a custom field are ignored in a tooltip
== 2021-08-01 v4.2.2
=== [Accounts / authentication]
* Defect #35226: Add SameSite=Lax to cookies to fix warnings in web browsers
* Patch #35372: Better presentation for 2FA recovery codes
=== [Attachments]
* Defect #33752: Uploading a big file fails with NoMemoryError
=== [Documentation]
* Patch #35375: German translation of wiki syntax help file
=== [Gantt]
* Defect #34694: Progress bar for a shared version on gantt disappears when the tree is collapsed and then expanded
=== [Gems support]
* Defect #35621: Bundler fails to install globalid when using Ruby < 2.6.0
=== [Issues]
* Defect #35134: Change total spent time link to global time entries when issue has subtasks that can be on non descendent projects
=== [Issues filter]
* Defect #35201: Duplicate entries in issue filter values
=== [News]
* Defect #35308: "Add news" button on global news index is displayed for users without permissions
=== [Projects]
* Defect #35606: Locked users should not be displayed in the members box of the project overview page
=== [Rails support]
* Patch #35214: Update Rails to 5.2.6
=== [Security]
* Defect #35417: User sessions not reset after 2FA activation
=== [Text formatting]
* Defect #35036: Markdown text sections broken by thematic breaks (horizontal rules)
* Defect #35441: Inline image in Textile is not displayed if the image URL contains ampersands
=== [Time tracking]
* Defect #34856: Time entry error on private issue
=== [Translations]
* Defect #35319: Wrong Japanese translation for permission_delete_message_watchers
* Patch #34979: French translation update for 4.2-stable
* Patch #35016: French translations for two-factor authentication
* Patch #35051: German translation update for 4.2-stable
* Patch #35110: Lithuanian translation update for 4.2-stable
* Patch #35111: Russian translation update for 4.2-stable
* Patch #35267: German translation update (jstoolbar-de.js)
== 2021-04-26 v4.2.1
=== [Accounts / authentication]
* Defect #35087: Users without two-factor authentication enabled cannot sign out when two-factor authentication is required
* Defect #35135: FrozenError when new LDAP users try to login
=== [Activity view]
* Defect #34933: Atom feed of the activity page does not contain items after the second page
=== [Attachments]
* Defect #34999: The result of Attachment.latest_attach is unstable if attachments have the same timestamp
=== [Custom fields]
* Defect #35115: Time entries are broken if grouped by project and issue custom fields
=== [Email receiving]
* Defect #35100: MailHandler raises NameError exception when generating error message
=== [Importers]
* Defect #35131: Issue import - allow auto mapping for Unique ID and relation type fields
=== [Issues]
* Defect #34921: Do not journalize attachments that are added during a "Copy Issue" operation
* Defect #34982: Cannot change the default version and default assignee under settings
=== [Performance]
* Patch #35034: Improve loading speed of workflow page
=== [REST API]
* Defect #35039: API create issue relation method returns undefined method `split' when issue id is sent as integer
=== [Roadmap]
* Defect #34983: Roadmap tab is missing if there are only inherited from parent project versions
=== [Security]
* Defect #34367: Allowed filename extensions of attachments can be circumvented
* Defect #35045: Mail handler bypasses add_issue_notes permission
* Defect #35085: Arbitrary file read in Git adapter
=== [Text formatting]
* Defect #34894: User link using @ not working at the end of line
=== [UI]
* Defect #34998: Cannot open journal dropdown menu after editing note
== 2021-03-28 v4.2.0
=== [Accounts / authentication]
* Defect #33601: Additional email addresses are not displayed in user profile page
* Feature #1237: Add support for two-factor authentication
* Feature #3369: Allowed/Disallowed email domains settings to restrict users' email addresses
* Feature #32998: Change the default value for "Default Gravatar image" to "Identicons"
* Feature #33126: Support custom fields when exporting users to CSV
* Feature #33347: Include updated_on and passwd_changed_on columns when exporting users to CSV
* Feature #34241: Include twofa_scheme (two-factor scheme) column when exporting users to CSV
* Patch #34071: handle AuthSourceExceptions in User.try_to_login
=== [Activity view]
* Feature #1422: Date selection for Activity Page
* Feature #32248: Change the default value for "Days displayed on project activity" setting to 10
* Feature #33602: Add an interface to filter activities by user
* Feature #33692: Improved view of the activity page
=== [Administration]
* Feature #32672: Add Check all / Uncheck all button to filters in permissions report
* Feature #34258: Create tracker by copy
* Feature #34307: Create custom field by copy
=== [Attachments]
* Defect #33357: rendering extra "--" footer of git patch attachment
* Feature #7056: Download all attachments at once
* Feature #18555: Show warning when attempting to attach more than the allowed number of attachments
=== [Calendar]
* Defect #32194: Calendar page lacks buttons to manage custom queries
=== [Code cleanup/refactoring]
* Defect #33392: Fix invalid selector in function displayTabsButtons()
* Defect #33562: Some tests in ApplicationHelperTest are declared as private
* Patch #32054: Add test for 4 byte characters (emoji) support
* Patch #32653: Fix random test failure due to missing call to set_tmp_attachments_directory in WikiControllerTest
* Patch #32813: Clean up toggleMultiSelect js function
* Patch #32888: Use stylelint to avoid errors and enforce conventions in CSS files
* Patch #32890: Fix violations reported by Stylelint
* Patch #32924: tmp/pdf directory is no longer necessary
* Patch #32927: CSS selector in test_index_should_show_warning_when_no_workflow_is_defined is too specific
* Patch #32929: Add missing fixtures to AttachmentsControllerTest
* Patch #32937: test_revisions_latin_1_identifier should be skipped on Windows
* Patch #33069: Update copyright year in source files to 2021
* Patch #33226: Skip thumbnail tests if ImageMagick convert command is not available
* Patch #33268: Add missing test: ProjectCustomField creation
* Patch #33315: IssuesSystemTest#test_bulk_watch_issues_via_context_menu randomly fails due to Capybara clicks out out of context menu
* Patch #33342: Remove unused i18n key "label_overall_activity" and "label_overall_spent_time"
* Patch #33367: Use more efficient "exists?" instead of "first" in tests when checking the existence of rows
* Patch #33376: Add missing fixtures to VersionsHelperTest
* Patch #33384: jQuery: replace deprecated size() method with length
* Patch #33393: Remove unused i18n key "notice_no_issue_selected"
* Patch #33567: Fix typo in watchers_controller.rb
* Patch #33700: Add missing fixture to Redmine::ApiTest::ProjectsTest
* Patch #33728: Remove an unused variable in Query#add_chained_custom_field_filters
* Patch #33785: Add missing fixture to TimelogControllerTest
* Patch #33786: Add missing fixture to UsersControllerTest
* Patch #34119: Fix selenium chrome options so files are downloaded to tmp/downloads in system tests
* Patch #34122: Store inline autocomplete data sources in a JS variable
* Patch #34166: Fix wrong comment for Mailer.deliver_lost_password
* Patch #34169: MessagesControllerTest#test_post_new randomly fails
* Patch #34269: Allow system tests to run on remote Selenium hub (eg: Docker)
* Patch #34321: Add missing fixtures to AttachmentsControllerTest
* Patch #34444: Remove unused key :preview from Redmine::AccessKeys::ACCESSKEYS
* Patch #34492: Fix passing a wrong parameter to assert_select in API test for 'GET /users/:id'
* Patch #34745: Remove unused i18n key "text_min_max_length_info"
* Patch #34750: Remove unsupported encodings ISO-2022-KR and ISCII91 from Setting::ENCODINGS
* Patch #34789: Fix misplaced comment in config/settings.yml
=== [Custom fields]
* Defect #5354: Updating custom fields does not trigger update to "updated_on" field in the customized object
* Defect #33930: 500 error when attempting to create custom field enumeration with empty name
* Feature #30776: Drag and drop file upload to file type custom field
* Feature #32783: Redirect to index page instead of edit page after creating a new custom field
=== [Documentation]
* Defect #32795: Remove RubyGems from Requirements in doc/INSTALL
* Patch #33208: `--without rmagick` option for bundle command is no longer necessary
=== [Email notifications]
* Feature #16006: Include attachments in forum post notifications
* Feature #32628: Notify users about high issues (only)
* Feature #33002: Include attachments in news post notifications
* Feature #33099: Add a link to the issues list in reminder email
* Feature #33834: Show open/closed badge in email notifications
* Feature #34787: Ability to set default value for "I don't want to be notified of changes that I make myself"
=== [Email receiving]
* Feature #34794: Allow newlines and quote characters within mail body delimiters
=== [Feeds]
* Feature #15212: Atom feed on project with subprojects should show in article title the name of the project
=== [Filters]
* Feature #33296: Load default custom queries when running redmine:load_default_data rake task
=== [Forums]
* Defect #32156: No left padding for first level entries in discussion board list
* Feature #3390: Ability to add watchers to forum threads
=== [Gems support]
* Patch #32453: Update capybara (~> 3.31.0)
* Patch #32468: Update Rouge to 3.26.0
* Patch #32530: Update RuboCop to 1.12
* Patch #32531: Update RuboCop Rails to 2.9
* Patch #32763: Update mini_magick to 4.11
* Patch #32782: Update pg gem (~> 1.2.2)
* Patch #32805: Update request_store to 1.5
* Patch #32841: Drop support for Bundler prior to 1.12.0
* Patch #32906: Update i18n (~> 1.8.2)
* Patch #32950: Update simplecov to 0.18
* Patch #34159: Update RuboCop Performance to 1.10
* Patch #34339: Update net-ldap to 0.17
* Patch #34443: Update roadie-rails to 2.2
* Patch #34579: Use 'webdrivers' gem to manage the Chrome driver for system tests
* Patch #34969: Remove dependency on MimeMagic
=== [Hook requests]
* Patch #34072: Hook after plugins were loaded
=== [I18n]
* Defect #33186: field_activity should be used rather than label_activity in the context of time tracking
* Defect #33232: Hard-coded error messages in ApplicationController
* Defect #33426: Error messages for Wiki macros are not internationalized
* Patch #33741: Decimal separator for Dutch locale should be a comma
=== [Importers]
* Feature #22913: Auto-select fields mapping in Importing
* Feature #28198: Support issue relations when importing issues
* Feature #33102: Import user accounts from CSV file
* Feature #34762: Display more detailed error message when attempting to import malformed CSV file
=== [Issues]
* Defect #10084: Disabled trackers of subprojects are listed in project overview
* Defect #32125: Issues autocomplete may not find issues with a subject longer than 60 characters
* Defect #32471: Layout of the custom field edit page is different between the single edit page and the batch edit page
* Defect #33255: Issue auto complete doesn't work for custom fields with text formatting enabled on issue bulk edit page
* Defect #33419: Show only valid projects on issue form when the issue is a subtask
* Defect #34185: Trackers of subprojects are not displayed in the Issue summary page
* Feature #4511: Allow adding user groups as watchers for issues
* Feature #28471: Query links for subtasks on issue page
* Feature #31881: Add "behind-schedule" CSS class to issues
* Feature #33254: Show open/closed badge on issue page
* Feature #33418: Bulk addition of related issues
* Feature #33832: Move the "Private" badge next to the "Open/Closed" badge
* Feature #34303: Allow to add subtask from context menu
* Feature #34798: Show project tree instead of subprojects in the project selector when you create a new issue
* Patch #33329: Improve watchers functionality to mark the users that are watching a non visible object and to not return watchers that cannot see the object
* Patch #33437: Add missing icon class to items with icon-checked class in the context menu
=== [Issues filter]
* Feature #34700: Allow to use watch_by filter in the global issues list
=== [Issues list]
* Feature #32240: Add download buttons in Files columns of the issues list
=== [Performance]
* Defect #33289: Updating time tracking activities in project setting may take too long time
* Patch #33244: Replace "**" method with bitwise left shift in Tracker#disabled_core_fields and Tracker#core_fields
* Patch #33664: evaluate acts_as_activity_provider's scope lazily
* Patch #34150: Use match? instead of =~ when MatchData is not used
* Patch #34153: Use sum instead of inject(0, :+)
* Patch #34160: Replace Hash#merge! with Hash#[]=
* Patch #34161: Replace gsub with tr, delete, or squeeze
* Patch #34399: Use sum { ... } instead of map { ... }.sum
=== [Permissions and roles]
* Feature #13767: Export permissions report to CSV
* Feature #33945: Allow normal users to delete projects with permission
=== [Plugin API]
* Defect #33290: Unnecessary database access when IssueQuery class is defined
* Patch #33453: Add plugin CSS classes to plugin settings views
=== [Project settings]
* Defect #34032: Project settings tab contains two items with the same id
=== [Projects]
* Defect #33733: No trackers are selected for new projects
* Feature #32818: Add a system setting for default results display format of project query
* Feature #32944: Always preserve the tree structure in the project jump box
* Feature #33174: Show groups in members box on project overview page
=== [Rails support]
* Patch #34966: Update Rails to 5.2.5
=== [REST API]
* Defect #11870: Users can delete their own accounts unconditionally via REST API
* Defect #30121: Projects API should not return invisible trackers
* Feature #22008: Associated Revision API
* Feature #33301: Add option to include enabled issue custom fields in projects#show API response
* Feature #33592: Include updated_on and passwd_changed_on columns in users API response
* Feature #34242: Include two-factor authentication scheme in users API response
=== [Rails support]
* Patch #32886: Rails 6: Use #media_type instead of #content_type to test the MIME type of a response
* Patch #32887: Rails 6: Use "render template:" instead of "render file:" in app/views/layouts/admin.html.erb
* Patch #32911: Rails 6: Fix deprecation warning "Class level methods will no longer inherit scoping"
=== [Roadmap]
* Defect #32860: Invalid links to versions with sharing in project tree
* Feature #7956: Show Roadmap tab when subprojects have defined versions
=== [Ruby support]
* Feature #31500: Ruby 2.7 support
* Feature #34142: Drop Ruby 2.3 support
=== [Security]
* Defect #34950: SysController and MailHandlerController are vulnerable to timing attack
=== [SCM]
* Defect #23055: Error with Fetch commits with Mercurial repository when log has invalid char
* Defect #27790: mercurial: error of double quotes in branch and tag names
* Defect #32153: Repository browser does not render previews for audio/video files
* Feature #8875: Allow manually fetching changesets
* Feature #34942: Support for Git repositories with default branch "main"
* Patch #32835: Make breadcrumbs of repository browser copy-paste friendly
=== [SEO]
* Feature #31617: robots.txt: disallow crawling dynamically generated PDF documents
* Feature #33658: robots.txt: disallow crawling login, register, and lost password form
=== [Text formatting]
* Defect #27780: Case-insensitive matching fails for Unicode filenames when referring to attachments in text formatting
* Feature #1575: Toolbar button to insert a table
* Feature #1718: Table column sorting
* Feature #32528: Make languages in Highlighted code button in toolbar customizable
=== [Third-party libraries]
* Feature #33383: Update jQuery to 3.5.1
* Patch #33424: Update Tribute to 5.1.3
=== [Time tracking]
* Defect #29838: Time logging via commit message does not work when the configured activity has been overridden on the project level
* Defect #33952: Spent time details are displayed in incorrect order when sorted by week and date
* Feature #32436: Add support for grouping by issue on timelog view
* Feature #33256: Show wiki toolbar for spent time custom fields with text formatting enabled
=== [Translations]
* Defect #32828: Fix typos in Russian translation
* Defect #32857: Fix grammatical agreement in translation for "parent issue" in pt and pt-BR
* Defect #34456: Fix Japanese translation for less_than_x_seconds and less_than_x_minutes
* Patch #32238: Improvement of the German translation
* Patch #32380: Change Italian translation for "news"
* Patch #33403: Change Japanese translation for text_file_repository_writable
* Patch #33763: Change Japanese translation for field_onthefly
* Patch #34418: Unify the translation of the word "relation" in Czech
* Patch #34659: Change Traditional Chinese translation for "watch" and "watcher"
=== [UI]
* Defect #33116: Successful deletion notice is not displayed after deleting some types of content
* Defect #33234: Vertical scroll bar in some browsers hide content
* Defect #34580: Custom field labels do not contain class "error" when the field value is invalid
* Defect #34805: Activity tab in cross-project menu is sometimes broken
* Feature #28392: Improve wiki headings style
* Feature #29285: Add "Assign to me" shortcut to issue edit form
* Feature #29473: Submit a form with Ctrl+Enter / Command+Return
* Feature #30459: Switch edit/preview tabs with keyboard shortcuts
* Feature #31589: Show warning and the reason when the issue cannot be closed because of open subtasks or blocking open issue(s)
* Feature #31887: Update jQuery UI to 1.12.1
* Feature #32764: Make form validation errors more obvious for users
* Feature #32976: Display avatar on add watcher dialog
* Feature #33167: "Add news" button in cross-project News tab
* Feature #33820: Auto complete wiki page links
* Feature #33908: Show an icon for a bookmarked project in the projects list
* Feature #34340: Make archived projects visually distinguishable in nested projects lists
* Feature #34417: Require explicit confirmation when deleting a user or a project
* Feature #34549: Add keyboard shortcuts for wiki toolbar buttons
* Feature #34703: "Copy link" feature for issue and issue journal
* Feature #34714: Move delete button for issues and journals to the dropdown menu
* Patch #34955: Update copyright year in the footer to 2021
=== [UI - Responsive]
* Defect #33913: Input fields of the login form are too small in height on mobile
=== [Wiki]
* Defect #31287: Ordering wiki pages should not be case sensitive
* Feature #32629: Add edit button to Wiki sidebar
== 2021-03-21 v4.1.2
=== [Accounts / authentication]
* Defect #33926: Rake tasks "db:encrypt" and "db:decrypt" may fail due to validation error
=== [Administration]
* Defect #33310: Warnings while running redmine:load_default_data rake task
* Defect #33339: Broken layout of the preview tab of "Welcome text" setting due to unexpectedly applied padding-left
* Defect #33355: TypeError when attempting to update a user with a blank email address
* Defect #34247: Web browser freezes when displaying workflow page with a large number of issue statuses
* Patch #32341: Show tooltip when hovering on repeat-value link in Field permission tab
=== [Attachments]
* Defect #33283: Thumbnail support for PDF attachments may not be detected
* Defect #33459: The order of thumbnails in journals does not match the order of file name list
* Defect #33639: Cannot paste image from clipboard when copying the image from web browsers or some apps
* Defect #33769: When creating more than two identical attachments in a single db transaction, the first one always ends up unreadable
* Patch #34479: Fix possible race condition with parallel, identical file uploads
=== [Custom fields]
* Defect #33275: Possible values field in list format custom field form is not marked as required
* Defect #33550: Per role visibility settings for spent time custom fields is not properly checked
=== [Documentation]
* Defect #33939: Unnecessary translation of {{toc}} macros in Russian Wiki formatting help
=== [Filters]
* Defect #33281: Totals of custom fields may not be sorted as configured
* Defect #34375: "is not" operator for Subproject filter incorrectly excludes closed subprojects
=== [Gantt]
* Defect #33140: Gantt bar is not displayed if the due date is the leftmost date or the start date is the rightmost date
* Defect #33175: Starting or ending marker is not displayed if they are on the leftmost or rightmost boundary of the gantt
* Defect #33220: Parent task subject column in gantt is not fully displayed when the column is widened
* Defect #33724: Selected gantt columns are not displayed with MS Edge Legacy
=== [Gems support]
* Defect #33206: Unable to autoload constant Version.table_name if gems uses Version class
* Defect #33768: Bundler may fail to install stringio if Ruby prior to 2.5 is used
* Patch #34461: Update Redcarpet to 3.5.1
* Patch #34619: Update Nokogiri to 1.11
=== [I18n]
* Defect #33452: Untranslated string "diff" in journal detail
=== [Issues]
* Defect #33338: Property changes tab does not show journals with both property changes and notes
* Defect #33576: Done ratio of a parent issue may be shown as 99% even though all subtasks are completed
=== [Issues list]
* Defect #33273: Total estimated time column shows up as decimal value regardless of time setting
* Defect #33548: Column header is clickable even when the column is not actually sortable
* Defect #34297: Subprojects issues are not displayed on main project when all subprojects are closed
=== [Projects]
* Defect #33889: Do not show list for custom fields without list entry on project overview
* Patch #34595: Filter list of recent projects in the project jump box
=== [REST API]
* Defect #33417: Updating an issue via REST API causes internal server error if invalid project id is specified
* Defect #34615: 'Search' falsy parameters are not respected
=== [Security]
* Defect #33846: Inline issue auto complete doesn't sanitize HTML tags
=== [SEO]
* Defect #6734: robots.txt: disallow crawling issues list with a query string
=== [Security]
* Defect #33360: Names of private projects are leaked by issue journal details that contain project_id changes
* Defect #33689: Issues API bypasses add_issue_notes permission
* Feature #33906: Upgrade Rails to 5.2.4.5
=== [Themes]
* Defect #8251: Classic Theme: Missed base line
=== [Time tracking]
* Defect #33341: Time entry user is shown twice in the User drop-down when editing spent time
=== [Translations]
* Defect #34447: Typo in translation string 'setting_issue_list_default_columns': s//Isuses/Issues
* Patch #34200: Portuguese (Brazil) translation for 4.1-stable
* Patch #34439: Spanish translation update for 4.1-stable
=== [UI]
* Defect #33563: File selection buttons are not fully displayed with Google Chrome in some language
* Feature #34123: System tests for inline auto complete feature
* Patch #33958: Jump to end of line in editor when starting list or quote
== 2020-04-06 v4.1.1
=== [Accounts / authentication]
* Defect #32793: Email address with Punycode top-level domain is not accepted
=== [Administration]
* Defect #33176: Sort order icon is missing in users index
* Feature #32945: Show module names in bold in permission report
=== [Attachments]
* Defect #32656: Drag and drop objects from Outlook to Redmine deletes the objects
* Defect #32785: X-Sendfile header field is not set if rack 2.1.0 is installed
=== [Custom fields]
* Defect #33085: Unable to update the values of a custom field for enumerations when multiple values option is enabled
* Defect #33183: Unable to edit user or group that has custom fields with text formatting enabled
=== [Database]
* Defect #30285: Microsoft SQL server support is broken
=== [Gantt]
* Defect #19248: End markers in gantt PDF are misaligned
* Defect #23645: Gantt bars for single-day tasks may be rendered wrongly in PDF
* Defect #32812: Clicking on a parent object in gantt wrongly collapses objects at the same level
* Defect #33082: Links in the last column in gantt are unclickable
=== [Gems support]
* Defect #32839: Redmine 4.1 installation fails due to an attempt to install sprockets 4.0.0 if bundler prior to 1.15.2 is used on Ruby prior to 2.5
=== [Importers]
* Defect #33027: Fix missing closing div in _time_entries_fields_mapping.html.erb
=== [Issues]
* Defect #32737: Duplicate sort keys for issue query cause SQL error with SQL Server
* Defect #33169: Issues CSV export does not include custom fields with "Full width layout" enabled
=== [Issues list]
* Defect #33110: Sort does not work with group by datetime columns
* Defect #33163: Parent task subject column should be in the same style as Subject column
=== [Issues workflow]
* Defect #33059: "Role" dropdown in Workflow page is unexpectedly expanded when selecting "all"
=== [PDF export]
* Defect #32477: Right-aligned TOC tag is displayed in exported PDF if the text formatting setting is Markdown
* Defect #32832: FrozenError when exporting content to PDF in some languages
* Defect #32858: Exporting issue as PDF fails when the issue has private journal
* Defect #32859: Issue list: long text custom field missing in PDF export
* Defect #33103: Export to PDF fails when subject of parent task is included in issue list
=== [Projects]
* Defect #32769: Unable to sort projects table by custom field
* Defect #32891: Bookmark link on project page should not use full path with hostname
* Defect #32896: Totals not working in projects list view
* Defect #33083: Projects filter "Subproject of" does not work when the given value is "My projects" or "My bookmarks"
=== [REST API]
* Defect #33113: Default version and assignee are not exposed via projects API
=== [Rails support]
* Patch #33196: Update Rails to 5.2.4.2
=== [Ruby support]
* Patch #32788: Specify supported Ruby version in Gemfile and doc/INSTALL
=== [SCM]
* Defect #32449: Diff view for .js files in repositories is broken
=== [Security]
* Defect #32850: XSS vulnerability due to missing back_url validation
* Defect #32934: XSS vulnerabilities in textile inline links
* Defect #33075: Time entries csv export should check issue visibility
=== [Text formatting]
* Defect #32754: Fix missing arrow icon of collapse macro
* Defect #32765: ##123 syntax for linking to issues: Title cannot be distinguished from following text
* Defect #32971: New line between list items break a list
=== [Time tracking]
* Defect #32768: Internal Error when issue text custom field is shown in Spent time query results
* Defect #32774: Creating time tracking entry for other user through rest API fails with 403
* Defect #32959: Fix selected user on log time edit page when user has permissions to log time for another user
* Defect #32973: Editing a time entry for a locked user changes the user to the current user
* Defect #33052: Missing subject and tracker name in CSV export of time entries report
* Feature #3800: Editing time entries should show the person involved
=== [Translations]
* Patch #32659: Russian translation update for 4.1-stable
* Patch #32746: Italian translation update for 4.1-stable
* Patch #32917: Bulgarian translation
* Patch #32928: Czech translation for 4.1-stable
* Patch #32995: Russian translation update for 4.1-stable
* Patch #33070: Simplified Chinese translation update for 4.1-stable
* Patch #33122: German translation update for 4.1-stable
* Patch #33219: Persian translation update for 4.1-stable
=== [UI]
* Defect #32772: Tabs are displayed on two lines when the total width of the tabs is greater than 2000px
* Defect #32829: HTML entity is used in CSS string
* Defect #32838: Typo in application.css: s/paddin-bottom/padding-bottom/
* Defect #32981: Unable to distinguish disabled input fields
* Patch #32991: Make group names bold on tracker summary view
* Patch #33068: Update copyright year in the footer to 2020
=== [UI - Responsive]
* Defect #32889: Responsive layout for issue tree and issue relation on issue page is broken
* Feature #33156: Allow zooming on mobile devices
== 2019-12-20 v4.1.0
=== [Accounts / authentication]
* Feature #4221: Force passwords to contain specified character classes
* Feature #9112: Libravatar and Gravatar-compatible servers support
* Feature #26127: Display user logins on profiles
=== [Administration]
* Defect #29601: Redmine::VERSION::revision may return wrong value
* Feature #8343: Add wiki toolbar to "Email header" and "Email footer" in "Email notifications" admin tab
* Feature #30853: Show warning when no workflow is defined for the role
* Feature #30916: Show warning when no tracker uses the status in the workflows
* Feature #31154: Reject setting RFC non-compliant emission email addresses
* Feature #31361: Include a reason in the error message when an issue status cannot be deleted
* Feature #32343: Ability to filter roles that are displayed on the permissions report
* Patch #29589: Set the first status as a default status in "New tracker" form
=== [Attachments]
* Defect #32289: Don't try to generate thumbnails if convert command is not available
* Feature #3816: Allow pasting screenshots from clipboard
* Feature #22481: Show thumbnails for PDF attachments
* Feature #29752: Render Textile and Markdown attachments on the preview page
* Feature #31553: Preview .webm as video instead of audio
* Feature #32249: Show attachment thumbnails by default
* Patch #13688: Chosen thumbnail has to be bigger than requested one and not smaller
* Patch #30177: Thumbnail lifecycle: reuse thumbs from identical files, delete thumbs when diskfile is deleted
=== [Calendar]
* Feature #27096: Mark non-working days in calendar view
=== [Code cleanup/refactoring]
* Defect #30474: IssuesControllerTest#test_index_sort_by_total_estimated_hours tests practically nothing
* Defect #30806: TimeEntryTest#test_create_should_validate_user_id occasionally fails
* Defect #31053: Some issue fixtures are set inconsistent tracker id which is not available in the project
* Defect #31074: TimelogTest#test_default_query_setting fails depending on the language of the browser
* Defect #31093: Duplicate method definition: ProjectsControllerTest#test_jump_should_not_redirect_to_unknown_tab
* Defect #31387: Don't rescue Exception class
* Defect #31388: ApiTest fails if config.time_zone is set
* Defect #31510: Fix missing closing tags in workflows/permissions.html.erb
* Defect #31929: MarkdownFormatterTest#test_should_support_underlined_text is declared as private
* Patch #29441: Remove code related to JRuby and unsupported Ruby versions
* Patch #30163: Remove unnecessary tests in test/unit/initializers/patches_test.rb
* Patch #30276: Add missing fixtures to several tests
* Patch #30347: test_links_separated_with_line_break_should_link tests nothing
* Patch #30445: Remove unnecessary bgl and bgr wrappers from the footer
* Patch #30466: Remove unused i18n key "label_all_time"
* Patch #30994: Refactor custom field css classes
* Patch #31004: Decode hexadecimal-encoded literals in order to be frozen string literals friendly
* Patch #31034: Remove encoding magic comments
* Patch #31046: Remove unused method ApplicationHelper#generate_csv
* Patch #31059: Use #b shortcut instead of #force_encoding
* Patch #31088: Remove useless code in TimeEntryQuery#sql_for_activity_id_field
* Patch #31131: CalendarsControllerTest#test_show fails depending on the date
* Patch #31205: Replace jquery-rails with vanilla javascript ujs
* Patch #31344: Remove unused i18n key "label_please_login"
* Patch #31391: Small refactorization of avatar methods
* Patch #31402: Add support for customization by block to IssueCustomField.generate!
* Patch #31433: Use "icon icon-*" classes for sort-handler, collapsible fieldsets and collapsible versions
* Patch #31506: Remove trailing whitespaces
* Patch #31509: Add Rubocop to enforce some styles
* Patch #31555: Use Redmine::Database.mysql? instead of a regular expression
* Patch #31705: Add missing fixtures to AttachmentFormatVisibilityTest
* Patch #31865: Add missing fixtures to ImportsControllerTest
* Patch #31941: ThemesTest may fail if a third-party theme with a favicon is installed
* Patch #31965: Add missing fixtures to Redmine::ApiTest::VersionsTest
* Patch #31966: Add missing fixtures to Redmine::Helpers::GanttHelperTest
* Patch #31967: IssueCustomFieldTest randomly fails
* Patch #32023: Add missing fixtures to IssueStatusesControllerTest
* Patch #32025: mail_body method in test/test_helper.rb raises an exception if the message is not multipart
* Patch #32094: Remove unnecessary call to set_tmp_attachments_directory
* Patch #32122: Fix test failure due to missing call to set_tmp_attachments_directory
* Patch #32297: Remove code for unsupported versions of Rails from open_id_authentication
* Patch #32400: Remove unused i18n key "button_duplicate"
* Patch #32431: Invalid association IssueCustomField#issue_custom_values
* Patch #32432: Avoid class name overlap that causes TypeError on `rake test:system test`
=== [Custom fields]
* Defect #29209: Long text custom fields don't accept values longer than 64KB if backend database is MySQL
* Feature #23997: Per role visibility settings for version custom fields
* Feature #29712: Preview and wiki toolbar for full width custom fields
* Feature #31159: "Create and continue" button for custom fields
* Feature #31444: Add "<< me >>" option to user format issue custom fields
* Feature #31859: Per role visibility settings for spent time custom fields
* Feature #31925: Per role visibility settings for project custom fields
* Patch #31320: Set an appropriate default type in New custom field page depending on the current tab
=== [Database]
* Feature #31921: Changes to properly support 4 byte characters (emoji) when database is MySQL
=== [Documentation]
* Feature #32119: Add TOC to wiki formatting help
* Feature #32123: Add "Highlighted code" section in Wiki Syntax Quick Reference
* Feature #32169: Add links to the detailed Wiki formatting help in Quick Reference
* Patch #30970: Small improvements in appearance of the code coverage index page
* Patch #31169: Wiki syntax help for document image pasting and drag/drop embedding
* Patch #31327: Update CONTRIBUTING.md
=== [Documents]
* Feature #29725: Show recent documents first when sorting documents by date
=== [Email notifications]
* Defect #13888: Daylight savings causes inconsistency of Message-Id in emails
* Defect #14792: Don't add a display name and extra angle brackets in List-Id header field
* Defect #17096: Issue emails cannot be threaded by some mailers due to inconsistent Message-ID and References field
* Defect #31501: reminder.rake should ignore blank parameters
* Feature #5913: Authors name in from address of email notifications
* Feature #10378: Don't show empty fields in email notifications
* Feature #13111: New setting to include the status changes in issue mail notifications subject
* Feature #13307: Start date and due date in email notifications
* Feature #17840: Option to send email notification on "Target version updated"
* Feature #22771: Option to send email notifications while importing issues from CSV files
* Feature #31104: Show the total number of open issues in a reminder
* Feature #31225: Show the number of days left until the due date in reminders
* Feature #31910: Add additional mail headers for issue tracker
=== [Email receiving]
* Defect #31232: Text may unexpectedly be enclosed in pre tags when an issue is created via HTML email
* Defect #31549: LF line terminators cause misparse of a multi-part email when rdm-mailhandler.rb is invoked from /etc/aliases
* Defect #31695: Convert HTML links to Textile/Markdown links when creating an issue from an email
* Defect #31946: No log message when MailHandler ignored a reply to a nonexistent issue, journal, or message
* Feature #17699: Parse author's name enclosed in parentheses in the From field when creating a user account from an email
* Feature #19903: Change textfield to textarea for "Exclude attachments by name"
* Feature #30838: Option to parse HTML part of multipart (HTML) emails first
* Feature #31231: Better handling of HTML tables when creating an issue from an email
* Patch #31324: Allow to set is_private flag through a keyword in emails
* Patch #31899: Improve MailHandler logging for unauthorized attempts
=== [Gantt]
* Feature #6417: Allow collapse/expand in gantt chart
* Feature #14654: Allow a bigger range for the gantt timeline
* Feature #27672: Show selected columns in gantt chart
* Feature #31373: Previous and next month links in gantt
=== [Gems support]
* Defect #31657: Update capybara (~> 3.25.0)
* Defect #32223: Disable sprockets to avoid Sprockets::Railtie::ManifestNeededError raised by sprockets 4.0.0
* Feature #29946: Update i18n gem (~> 1.6.0)
* Feature #30492: Replace RMagick with MiniMagick
* Feature #30963: Update simplecov gem (~> 0.17.0)
* Feature #31911: Update request_store gem to 1.4
* Patch #31126: Update sqlite3 gem (~> 1.4.0)
* Patch #31556: Update Rouge to 3.12.0
* Patch #31611: Update csv gem (~> 3.1.1)
* Patch #31847: Update redcarpet to 3.5.0
* Patch #31877: Update rbpdf (~> 1.20.0)
* Patch #31919: Update roadie-rails gem (~> 2.1.0)
=== [Groups]
* Feature #12796: Display user's groups on profile
=== [Hook requests]
* Patch #7975: Hook for adding content to the side bar of Wiki page
=== [I18n]
* Defect #5820: Hard-coded string "no subject" in app/models/mail_handler.rb
=== [Importers]
* Defect #21766: CSV import does not keep the project it was clicked from
* Feature #28213: Support external ID when importing issues
* Feature #28234: Add CSV Import for Time Entries
* Feature #31450: Support "YYYY/MM/DD" date format when importing issues
=== [Issues]
* Defect #28502: Support issue[assigned_to_id]=me when prefilling issues
* Feature #442: Add a description for trackers
* Feature #3058: Show issue history using tabs
* Feature #22368: Ability to add private comments from the issue bulk edit page
* Feature #25540: Unify fields of subtasks and related issues on issue page
* Feature #31418: Stacked bar charts in the issue details report
* Feature #31427: Insert a link to the source to the attribution line when quoting a note or a message
* Feature #31499: Show "Due in X days" in issue details page
* Patch #28138: Add link to add a new issue on the version page
* Patch #31493: Add a link to project_issues_report from project_issues_report_details
* Patch #31994: Allow issue auto complete to return 10 issues when there is not search term provided
=== [Issues filter]
* Defect #32546: Issue relations filter lacks "is not"
* Feature #13803: Implement grouping issues by date (start, due, creation, update, closing dates)
* Feature #16904: Add anonymous user to users list in query filters
* Feature #26826: Issue filtering by spent time
* Feature #30482: Multiple issue ids in "Parent task" filter
* Feature #30808: Multiple issue ids in "Subtasks" filter
* Feature #31328: Change the "+" button in the issues filter to a larger one
* Feature #31879: "starts with" and "ends with" filter operators for string values
* Patch #4502: New date filter operators: tomorrow, next week, next month
* Patch #25265: QueriesController can not handle subclass of IssueQuery
=== [Issues list]
* Defect #29581: Issues in paginated views may be lost because sorting criteria are not unique
* Feature #19371: Add a new query column for the parent task subject
* Feature #26081: Allow full_width_layout long-text custom fields to appear in the issue list like 'Description' (as a block column)
* Patch #31280: Left align long text custom fields in the issues list
=== [My page]
* Feature #30975: New My page block: Updated issues
=== [PDF export]
* Patch #30162: Wiki page collapse block image is not displayed in exported PDF