Project

General

Profile

Changelog 6 0 » History » Version 9

Marius BĂLTEANU, 2025-09-21 12:18

1 7 Marius BĂLTEANU
h1. Changelog 6.0.x
2
3 9 Marius BĂLTEANU
h2. version:6.0.7 (2025-09-21)
4
5
h3. [Administration]
6
7
* Defect #43174: CookieOverflow error when deleting a tracker used by many projects
8
9
h3. [Code cleanup/refactoring]
10
11
* Patch #43035: Remove empty rubyonrails.yml on 6.0-stable branch
12
13
h3. [Documentation]
14
15
* Defect #43204: Adds missing documentation for issue macro to fr and ru languages
16
17
h3. [Gantt]
18
19
* Defect #43014: Content in selected columns overflows to the right in Gantt chart
20
21
h3. [Importers]
22
23
* Defect #42957: Incorrect "for" attribute in labels of issue relations import
24
25
h3. [Issues]
26
27
* Defect #43192: Done ratio interval in issue context menu does not respect Done Ratio Interval setting
28
29
h3. [Rails support]
30
31
* Patch #43141: Update Rails to 7.2.2.2
32
33
h3. [Security]
34
35
* Defect #42998: Username and password stored in login form
36
* Defect #43083: Information disclosure in Two-Factor Authentication
37
* Defect #43161: When copying issues, all existing custom values are set to the new issue without sufficient validation
38
39
h3. [SCM]
40
41
* Defect #43002: RepositoriesSubversionControllerTest fails in 5.1-stable due to missing foo.js in test repository
42
43
h3. [Translations]
44
45
* Patch #42971: Italian translation update for 6.0-stable
46
47
h3. [UI]
48
49
* Defect #43004: Watchers list is not properly displayed in Gantt table
50
* Defect #43175: Fix some issues with missing or misplaced html tags
51
* Patch #43008: Display icon-actions on hover with the same color as links
52
* Patch #43196: Improve spacing of checkboxes in CSV export options dialog
53
54 8 Marius BĂLTEANU
h2. version:6.0.6 (2025-07-07)
55
56
h3. [Attachments]
57
58
* Defect #42920: Missing icon in attachments upload form
59
60
h3. [Code cleanup/refactoring]
61
62
* Defect #42687: Fix random failures in several system tests with Chrome 133 and later
63
* Patch #42422: Use Capybara's assert_current_path in "log_user" steps to wait for page in ApplicationSystemTestCase
64
* Patch #42600: Suppress "Change your password" popup for stable system tests
65
* Patch #42756: Update tests for rails-dom-testing 2.3.0 whitespace collapsing
66
67
h3. [Database]
68
69
* Defect #42622: Joining both atom_token and api_token on the User model causes an error due to the ambiguous column name "action"
70
71
h3. [Documentation]
72
73
* Defect #42644: Noto Sans fonts are not applied on Wiki syntax help pages
74
* Defect #42657: Update documentation links and fix config flag typo
75
* Patch #42618: Add missing allowed CSS properties to the CommonMark Markdown help
76
77
h3. [Email receiving]
78
79
* Defect #42962: Mail handler fails to create issues from emails over 4MB on Rack >= 3.1.14
80
81
h3. [Gems support]
82
83
* Defect #42606: RuboCop warning about deprecated `EnsureNode#body` with rubocop-ast >= 1.41
84
85
h3. [I18n]
86
87
* Defect #42815: Limit available locales to those defined by Redmine itself no longer works
88
89
h3. [Issues list]
90
91
* Defect #42807: Progress Bar in issues list has a border above it
92
93
h3. [Issues workflow]
94
95
* Defect #42875: "Page not found" error when saving workflows with many statuses on Rack >= 3.1.14
96
97
h3. [No category]
98
99
* Patch #42688: Run system tests on GitHub CI
100
101
h3. [Performance]
102
103
* Defect #42933: Fix N+1 query issue in Wiki history page when loading authors of  Wiki content versions
104
105
h3. [SCM]
106
107
* Defect #42839: Downloading .js files from the repository browser fails with a 422 error due to ActionController::InvalidCrossOriginRequest
108
* Patch #42597: Skip some Mercurial tests when using Mercurial 5.1 or later in Redmine 6.0 or 5.1
109
110
h3. [Security]
111
112
* Patch #42662: Require net-imap gem 0.2.5, 0.3.9, 0.4.20, 0.5.7, or later to address CVE-2025-43857
113
114
h3. [Text formatting]
115
116
* Defect #42332: "Edit this section" button is missing for headings rendered as multiline HTML
117
* Defect #42648: Wiki/CommonMark: Broken references for multiple footnote usage
118
119
h3. [Translations]
120
121
* Patch #42739: Persian translate update for 6.0-stable
122
* Patch #42754: Swedish translation update for 6.0-stable
123
124
h3. [UI]
125
126
* Defect #42640: Query totals overlaps query buttons when an RTL language is used
127
* Defect #42654: Text in project jump box is vertically misaligned
128
* Defect #42773: Padding in the Preview tab is larger than in the actual rendered content
129
* Defect #42786: "Clear" button for custom queries has incorrect styling inside the flyout menu
130
* Defect #42797: Loading and waiting icons use legacy icons and overlap filename when attaching files
131
* Defect #42953: Replace legacy other download icon with SVG icon
132
* Patch #42641: Improve SVG contrast when an item is selected in administration sidebar
133
* Patch #42794: Hide irrelevant information when printing
134
135
h3. [Wiki]
136
137
* Defect #42558: JPEG images are not shown in exported PDF files
138
139 6 Marius BĂLTEANU
h2. version:6.0.5 (2025-04-20)
140
141
h3. [Administration]
142
143
* Defect #42584: NoMethodError when creating a user with an invalid email address and domain restrictions are enabled
144
145
h3. [Attachments]
146
147
* Defect #42394: Inconsistent behaviour between attachment download routes with and without filename
148
149
h3. [Code cleanup/refactoring]
150
151
* Patch #42562: Fix random test failure in ProjectAdminQueryTest due to missing language setting
152
* Patch #42572: Fix random test failure in MemberTest#test_update_roles_with_inherited_roles due to non-deterministic ordering
153
154
h3. [Custom fields]
155
156
* Defect #42342: Missing thousands separator in Integer and Float custom field totals
157
* Patch #41935: Add "editable" attribute in the custom fields API response
158
159
h3. [Gantt]
160
161
* Defect #42145: MiniMagick (> 5) removed cli_path, result crash when supplied imagemagick_convert_command
162
163
h3. [Issues]
164
165
* Defect #42458: "For all projects" checkbox should be disabled when editing an existing query in which the checkbox is already checked
166
167
h3. [Performance]
168
169
* Defect #40728: Slow loading of global spent time list in MySQL
170
* Feature #42574: Optimize autocomplete issue listing triggered by typing "##" by eager loading trackers
171
172
h3. [Plugin API]
173
174
* Defect #42509: Plugin activity icons broken when multiple plugins are loaded
175
176
h3. [Projects]
177
178
* Patch #42440: Fix project selector focus by explicitly targeting the first selected item
179
180
h3. [SCM]
181
182
* Patch #42500: Skip repository tests when the SCM client command is unavailable
183
184
h3. [Text formatting]
185
186
* Defect #42545: Commit message in issue history might be rendered in incorrect context
187
188
h3. [UI]
189
190
* Defect #41828: In mobile view, delete relation svg icon in 'Related Issues' on an issue page, overflow text
191
* Defect #41833: Tabs left / right buttons use legacy icons
192
* Defect #41947: Collapse arrow shows the wrong direction at /workflows/edit
193
* Defect #41952: Flash notice icons use the legacy icons 
194
* Defect #41967: Replace SCM action legacy icons with SVG icons in the tree view of the repository browser
195
* Defect #42181: Project jump box uses legacy caret icons
196
* Defect #42285: Icon expanded for closed fixed versions missing
197
* Defect #42286: Context menu right arrow uses the legacy icon
198
* Defect #42369: Expander icons not switch in Collapse all/Expand all 
199
* Defect #42465: Improve SVG icon compatibility with RTL languages
200
* Defect #42487: Improve SVG contrast when a row is selected on table list
201
* Defect #42520: PNG icon displayed instead of SVG in subtasks list when viewing all tasks
202
* Defect #42532: Expander icon not working in repository tree
203
* Defect #42575: Fix sidebar switch button display in RTL language
204
* Defect #42576: Newly attached files are displayed using the legacy icons
205
* Patch #42497: Adjust the position of the news comment delete button
206
* Patch #42577: Replace legacy Atom icon with SVG icon
207 1 Marius BĂLTEANU
* Patch #42596: Do not show user icon in add watchers modal when gravatar is disabled
208
209 5 Marius BĂLTEANU
h2. version:6.0.4 (2025-03-10)
210
211
h3. [Administration]
212
213
* Feature #42008: Expose default Rails health check endpoint "/up" for load balancers and uptime monitoring
214
215
h3. [Code cleanup/refactoring]
216
217
* Defect #42200: InlineAutocompleteSystemTest login test fails randomly
218
* Patch #42244: Fix random failures in IssuesTest#test_bulk_copy due to StaleElementReferenceError
219
220
h3. [Custom fields]
221
222
* Defect #42233: Float custom values with ',' as decimal separator are not converted to '.' and cause SQL errors when sorting or summing
223
224
h3. [Gems support]
225
226
* Defect #42245: 5.1-stable: Redmine fails to start with error: Unknown database adapter `"mysql2"` found in config/database.yml
227
228
h3. [No category]
229
230
* Feature #30069: Use GitHub Actions as a secondary CI solution to run tests through the existing mirroring
231
232
h3. [Project settings]
233
234
* Defect #42192: Project settings members tab may raise ArgumentError if orphaned member records exist
235
236
h3. [Security]
237
238
* Defect #42238: Stored Cross-Site Scripting (XSS) in custom query
239
* Defect #42326: Stored Cross-Site Scripting (XSS) in macros
240
* Defect #42352: ProjectQuery leaks details of private projects
241
* Defect #42194: /my/account does not correctly enforce sudo mode
242
* Patch #42333: Update Nokogiri to 1.18.3
243
244
h3. [Time tracking]
245
246
* Defect #42172: `format_hours` method produces incorrect output for negative time values when `Setting.timespan_format` is "minutes"
247
248
h3. [Translations]
249
250
* Defect #42170: Fix Turkish translation of field_assignable
251
* Patch #42239: Czech translation update for 6.0-stable
252
253
h3. [UI]
254
255
* Defect #42229: Latest news box on home page misses icons
256
257
h3. [UI - Responsive]
258
259
* Defect #42182: Poor color contrast of icons on flyout menu
260
261 4 Go MAEDA
h2. version:6.0.3 (2025-01-29)
262
263
h3. [Accounts / authentication]
264
265
* Defect #41930: Redirection after signing in fails when the back_url includes a port number
266
267
h3. [Activity view]
268
269
* Defect #42003: Misalignment of icons and titles in Activity view
270
* Defect #42070: Whitespace missing after hyphen between project name and event title in Activity view
271
* Feature #42038: Improve readability by adjusting font sizes and colors in activity view and search results
272
273
h3. [Attachments]
274
275
* Defect #42084: Placeholder icon for non-existent thumbnail flickers rapidly on hover
276
277
h3. [Code cleanup/refactoring]
278
279
* Defect #42088: Fix incorrect syntax in application.css on 6.0-stable
280
* Patch #41961: Use `fixtures :all` to ensure consistent test data and improve test reliability
281
* Patch #42089: Fix Lint workflow error on 6.0-stable due to unsupported ruby/setup-ruby on Ubuntu 24.04
282
* Patch #42140: Update footer copyright year to 2025
283
284
h3. [Gantt]
285
286
* Defect #41925: Context menu submenus close unexpectedly on Gantt chart due to z-index conflict
287
288
h3. [Gems support]
289
290
* Defect #42013: Redmine fails to start with error: Unknown database adapter `"mysql2"` found in config/database.yml
291
292
h3. [Issues]
293
294
* Defect #42066: NoMethodError exception occurs in IssuePriority#high and #low when both default and active priorities are absent
295
296
h3. [Permissions and roles]
297
298
* Defect #42106: Member roles are incorrectly added when a user's memberships are updated
299
300
h3. [Rails support]
301
302
* Defect #42113: Redmine 5.x not starting with ActiveSupport Logger error
303
* Patch #41970: Updates Rails to 7.2.2.1
304
305
h3. [UI]
306
307
* Defect #42023: Search results page uses legacy icons
308
* Defect #42051: "Font used for text areas" setting causes inconsistent font size
309
* Defect #42117: Key-value list reorder icon uses legacy icon
310
* Defect #42126: The member table layout breaks due to .icon class on td elements
311
* Defect #42130: Multiselect toggle uses legacy icons
312
* Feature #42005: Improve readability of error pages by updating fonts and layout
313
* Feature #42072: Adjust font size for breadcrumb and subtitle to improve readability and consistency
314
315 3 Marius BĂLTEANU
h2. version:6.0.2 (2024-12-11)
316
317
h3. [Accounts / authentication]
318
319
* Feature #41927: Enable browser autocomplete for 2FA input fields
320
* Feature #41937: Enable browser autocomplete for login input fields
321
322
h3. [Code cleanup/refactoring]
323
324
* Defect #41795: Missing fixture: a test does not pass if the 'issue_categories' fixtures are not already loaded
325
* Patch #41623: Fix tests that randomly failed due to required fixtures not being loaded
326
* Patch #41861: Add License URLs to Icons Credits
327
* Patch #41881: Improper deletion of custom fields in IssueNestedSetConcurrencyTest causes test failures of other tests
328
* Patch #41889: Fix random test failures in Redmine::Acts::MentionableTest due to unsorted mentioned_users
329
* Patch #41894: Fix random test failure by ensuring WatchersController#find_objects_from_params returns results in consistent order
330
* Patch #41901: Fix random test failure in DestroyProjectsJobTest due to unsorted @projects
331
* Patch #41902: Fix class name to match file name in keyboard_shortcuts_test.rb
332
* Patch #41914: Fix random test failure in UserTest#test_validate_password_complexity due to missing explicit language setting
333
* Patch #41931: Fix random failures in IssueRelationTest#test_create_with_initialized_journals due to ambiguous conditions for retrieving the expected detail
334
* Patch #41934: Fix random test failure in ProjectsControllerTest::test_post_copy_should_copy_requested_items due to missing :issue_categories fixture
335
* Patch #41951: Fix random test failure in IssueTest due to unsorted expected_statuses
336
337
h3. [Documentation]
338
339
* Feature #41754: Add asset precompilation instructions to doc/INSTALL and doc/UPGRADING
340
341
h3. [Email receiving]
342
343
* Defect #41737: Deprecation warning for IMAP4 email receiving: "Call Net::IMAP.new with keyword options"
344
345
h3. [Gantt]
346
347
* Defect #41786: Long subject may not be displayed in Gantt chart with narrow column width
348
349
h3. [Gems support]
350
351
* Defect #41749: Warning during startup: "Unresolved or ambiguous specs during Gem::Specification.reset"
352
* Defect #41860: FrozenError when using SQLite3 gem version 2.0.0 or later
353
354
h3. [Issues]
355
356
* Defect #40301: Error when create a version with custom field of "File" type from Issue page
357
358
h3. [Plugin API]
359
360
* Defect #41880: Plugin activity icons broken after switching to SVG icons
361
362
h3. [REST API]
363
364
* Defect #41791: Projects endpoint returns list of all projects
365
* Defect #41819: Time entry API returning `hours` as Rational instead of Float
366
367
h3. [SCM]
368
369
* Patch #41775: Adjust the vertical alignment of icons in the tree view of the repository browser
370
371
h3. [Time tracking]
372
373
* Defect #41895: Spent time CSV report returning `hours` as Rational instead of Float
374
375
h3. [Translations]
376
377
* Patch #41736: Update Turkish translation of label_description from "Yorum" to "Açıklama"
378
* Patch #41945: Bulgarian translation update for 6.0-stable
379
380
h3. [UI]
381
382
* Defect #41714: Replace search and magnifier icons with SVG icon
383
* Defect #41756: An unnecessary scroll bar is displayed on the user's profile page
384
* Defect #41778: Name field in custom query creation/edit form is not marked as required
385
* Defect #41779: Restore `margin-top` for `#sidebar h3`
386
* Defect #41780: Unnecessary indentation for "Completed versions" in the Roadmap sidebar
387
* Defect #41789: HTML syntax broken for sidebar-wrapper
388
* Defect #41818: Redundant tooltip appearing after clicking the ellipsis button in the action menus
389
* Defect #41821: Icons shrink in the Activity view when event titles are long
390
* Defect #41853: Group icons in watchers and membership modals are using a mix of legacy and SVG icons
391
* Defect #41864: Report tab of Spent time page still displays deprecated raster icons instead of SVGs
392
* Defect #41873: Table layout breaks due to .icon class on td elements
393
* Defect #41883: Download button in issue comments still uses deprecated raster icon
394
* Defect #41918: Replaces warning icon with SVG in watcher list and workflow warnings
395
* Defect #41957: Remove nesting selectors because are not support in old browsers
396
* Feature #41748: Optimize font loading by replacing variable fonts with specific weights for Noto Sans
397
398
h3. [UI - Responsive]
399
400
* Defect #41822: First icon on the Activity page is replaced with chevrons-left or chevrons-right in responsive mode
401
402 2 Marius BĂLTEANU
h2. version:6.0.1 (2024-11-12)
403
404
h3. [Gems support]
405
406
* Defect #41729: Installing Redmine 6.0.0 may cause a LoadError for svg_sprite
407
* Patch #41728: Update Rouge gem to 4.5
408
409
h3. [Issues list]
410
411
* Defect #40303: Layout distortion in issue list descriptions with code blocks
412
413 1 Marius BĂLTEANU
414
h2. version:6.0.0 (2024-11-10)
415
416
h3. [Accounts / authentication]
417
418
* Defect #28243: Principal.not_member_of scope does not accept ActiveRecord::Relation
419
* Feature #37279: Reject passwords that are the same as login, first name, last name, or email
420
* Feature #38853: Changes user visibility from "all" to "member of visible projects" for new roles and existing builtin roles
421
* Feature #39500: Change the default notification option for users to "Only for things I watch or I am assigned to"
422
423
h3. [Administration]
424
425
* Feature #12521: Improve tracker deletion error message to display projects containing issues under the tracker 
426
* Feature #40913: Add bulk lock/unlock feature to user list context menu
427
428
h3. [Attachments]
429
430
* Defect #38966: Attachment custom fields not removed when issue is deleted
431
* Feature #37530: Add timeout for thumbnail generation process
432
433
h3. [Calendar]
434
435
* Patch #41509: Replace "even" and "odd" CSS classes with "this-month" and "other-month" for calendar days
436
437
h3. [Code cleanup/refactoring]
438
439
* Defect #31507: Test fails if trailing whitespaces are removed
440
* Defect #31831: Back url parse in validation
441
* Defect #32985: Remove unnecessary use of instance variables in CSV and Atom response handlers
442
* Defect #37730: Missing copyright headers in source files
443
* Defect #39527: Deprecate unused ApplicationHelper#render_if_exist
444
* Defect #40205: ThemesTest may fail if a third-party theme having theme.js is installed
445
* Feature #39111: Enable Asset Pipeline Integration using Propshaft
446
* Feature #40190: Stop appending the utf8 checkmark parameter to form URLs
447
* Patch #27510: Introduce active? method to Group via Principal model
448
* Patch #32523: Replace `for` loops with `forEach` in buildFilterRow function
449
* Patch #35217: Replace use of Digest::MD5 / Digest::SHA1 with ActiveSupport::Digest
450
* Patch #36806: Remove rss_* deprecated methods
451
* Patch #38975: Use ApplicationRecord instead of ActiveRecord::Base
452
* Patch #39110: Replacing request_store with ActiveSupport::CurrentAttributes
453
* Patch #39380: Replace hardcoded issues count check with `limit` variable in IssuesController#retrieve_previous_and_next_issue_ids
454
* Patch #39558: Remove deprecated methods in Repository and AbstractAdapter
455
* Patch #39777: Remove useless method #run_in_request? from db/migrate/20221214173537_add_select_project_publicity_permission.rb
456
* Patch #39971: Remove specific platform constraints for database adapter gems
457
* Patch #40087: Rewrite ApplicationHelper#favicon_url method using image_url
458
* Patch #40124: Remove deprecated empty status param to get all users from API
459
* Patch #40210: Remove overrides that inserts a non-breaking space (nbsp) to empty option elements
460
* Patch #40211: Remove appveyor.yml
461
* Patch #40506: Remove redundant ApplicationHelper inclusions
462
* Patch #40513: Fix initial_page_content method to avoid referencing @page instance variable in wiki formatting helpers
463
* Patch #40652: Replace MD5 with SHA256 when creating the hash for gravatar URL
464
* Patch #40691: Remove ambiguity in queries utilizing a Project scope
465
* Patch #40801: Add missing fixture journal_details to JournalsHelperTest
466
* Patch #40882: Remove unused "label_browse" from all locales
467
* Patch #41023: Set default age parameter for User.prune to 30 days
468
* Patch #41142: Add missing assertion in Redmine::MenuManager::MapperTest#test_push_onto_root
469
* Patch #41188: Refactor Calendar#first_wday method for improved readability and efficiency
470
* Patch #41238: Fix test failure in IssuesSystemTest due to incorrect attachment count expectation
471
* Patch #41287: Add .vscode to svn:ignore, .gitignore, and .hgignore
472
* Patch #41402: Remove Internet Explorer-specific CSS rules and vendor prefixes
473
474
h3. [Custom fields]
475
476
* Defect #27543: Key/value-pair custom field type not available to all customisable contents
477
* Feature #39997: Add an option to render values of Integer- and Float-format custom fields with thousands delimiters
478
479
h3. [Database]
480
481
* Feature #35014: Review and update supported database engines and versions 
482
* Patch #34218: Increase size of value field in settings
483
484
h3. [Documentation]
485
486
* Feature #40681: Dynamic generation of supported code highlighting languages in help section
487
* Patch #40202: Add LICENSE.txt in the root directory
488
* Patch #41011: Add more configuration examples to config/additional_environment.rb.example
489
* Patch #41469: Update helps and docs to use HTTPS links instead of HTTP
490
491
h3. [Email notifications]
492
493
* Feature #13359: Add project identifier to List-Id header in notification emails for better Gmail filtering
494
* Feature #40569: Add an option to send email notification when an attachment is added
495
* Feature #41450: Include attachment filename in "File added" email notification subject
496
497
h3. [Feeds]
498
499
* Feature #34025: Raise the maximum length of the title element in the Atom feed from 100 to 300 characters
500
501
h3. [Forums]
502
503
* Defect #41234: Forum message's subject field overflows beyond container
504
505
h3. [Gems support]
506
507
* Patch #37258: Switch default backend of ActiveSupport::XmlMini from rexml to Nokogiri
508
* Patch #39547: Prevent automatic requiring of unnecessary gems at runtime
509
* Patch #39887: Update RuboCop to 1.68
510
* Patch #39888: Update RuboCop Performance to 1.22
511
* Patch #39889: Update RuboCop Rails to 2.27
512
* Patch #39972: Update Nokogiri to 1.16.0
513
* Patch #39985: Update SQLite3 gem to 1.7
514
* Patch #40685: Update roadie-rails to 3.2.0
515
* Patch #41312: Update MiniMagick to 5.0
516
517
h3. [Hook requests]
518
519
* Feature #41044: Add view hooks in My page
520
521
h3. [I18n]
522
523
* Feature #21677: Support localized decimal separator for hours in the web UI
524
* Feature #22024: Support localized decimal separators for float values
525
* Feature #29208: Support email addresses with IDN (internationalized domain names) in user accounts
526
* Patch #39879: Fix hardcoded string on user preferences page
527
528
h3. [Importers]
529
530
* Defect #41464: CSV file encoding auto-detection may fail with multibyte characters
531
* Feature #39511: Auto-detection of field wrapper type when importing CSV file
532
533
h3. [Issues]
534
535
* Defect #41572: `updated_by_id` in Journal retains deleted user id instead of being set to `User.anonymous`
536
* Feature #691: Add column totals to Issues Summary Report
537
* Feature #9309: Add description field to custom queries
538
* Feature #16045: Add "Author / Previous assignee" group to assignee dropdown in issue form
539
* Feature #31756: Introduce setting for done ratio options interval
540
* Feature #36197: Add configurable setting for copying attachments when copying an issue
541
* Feature #41202: Change the default CSV export encoding to UTF-8
542
543
h3. [Issues filter]
544
545
* Feature #7867: Add filters for "Author's group" and "Author's role" to issues list
546
* Feature #39805: Extend "contains" operator in "Parent task" filter to support multiple issue IDs
547
548
h3. [Issues list]
549
550
* Feature #29894: View watchers on the issue list
551
* Feature #37862: Estimated time remaining issue query column
552
553
h3. [Performance]
554
555
* Patch #23328: Optimize Project#notified_users to improve issue create/update speed
556
* Patch #39835: Optimize repository menu visibility check
557
* Patch #39837: Optimize query models by replacing `map` with `pluck`
558
* Patch #39840: Optimize `Issue#relations` method to fetch both `relations_from` and `relations_to` using a single query
559
* Patch #39847: Cache the result of `Journal#attachments`
560
* Patch #39849: Optimize IssueCategory SQL queries when showing an issue
561
* Patch #39852: Optimize queries visibility check
562
* Patch #39857: Optimize users visibility check
563
* Patch #39993: Optimize loading of journals, relations, and allowed_statuses in IssuesController#show for API requests
564
* Patch #40000: Optimize gantt chart rendering for issues without subtasks
565
* Patch #40008: Replace String#sub with delete_prefix / delete_suffix
566
* Patch #40010: Replace regular expression matches with String#start_with? / end_with?
567
* Patch #40775: Reduce an extra SQL query in IssuesController#retrieve_default_query
568
* Patch #40798: Optimize Version model
569
570
h3. [Projects]
571
572
* Feature #23954: Shows the date of the last activity on Projects administration
573
* Feature #40829: Expose project updated_on column and filter in project query
574
575
h3. [REST API]
576
577
* Feature #23307: Include auth_source field in User API response
578
* Feature #38948: Add user status to users list API
579
* Feature #40449: Add updated_on and updated_by fields to Issues API journal response
580
581
h3. [Rails support]
582
583
* Defect #38155: RuntimeError when reloading Rails console
584
* Feature #36320: Migrate to Rails 7.2
585
* Feature #40092: Drop FastCGI support
586
587
h3. [Roadmap]
588
589
* Defect #4682: Completed version with wrong progress bar status
590
* Defect #24457: Progress of version should be calculated the same way as parent tasks
591
592
h3. [Ruby support]
593
594
* Feature #38585: Drop Ruby 2.7 and 3.0 support
595
* Feature #39761: Ruby 3.3 support
596
597
h3. [SCM]
598
599
* Defect #39747: Diff of a javascript file in repository module is not displayed with layout 
600
* Defect #40020: ScmData.binary? incorrectly considers UTF-8 text as binary
601
* Feature #39238: Redirect to repositories#show after repositories#fetch_changesets to avoid the user-visible browser URL
602
603
h3. [Search engine]
604
605
* Feature #38446: Support multiple multi-word phrases in the search engine
606
607
h3. [Text formatting]
608
609
* Defect #34473: Displaying the table of content on the right causes wrong position
610
* Defect #40515: Displaying issue descriptions in the issues list ignores CommonMark table alignment
611
* Defect #40650: Fix duplicate alt and title attributes when alt text is specified for attached images in Textile formatter
612
* Defect #41467: Unexpected font size on CommonMark Markdown help pages due to missing doctype declaration
613
* Feature #20620: Add data-text-formatting attribute for selected markup language to body tag
614
* Feature #36594: Relax rouge version dependency in Gemfile
615
* Feature #40149: Drop deprecated Redcarpet based Markdown formatter
616
* Patch #40014: Add support for quoted arguments containing commas in wiki macros
617
* Patch #40939: Add "underline" button to jsToolbar for CommonMark Markdown formatting
618
619
h3. [Themes]
620
621
* Defect #26778: Invalid "theme-*" CSS class in body element when theme name contains spaces
622
623
h3. [Third-party libraries]
624
625
* Feature #40853: Upgrade jQuery to 3.7.1
626
* Feature #40864: Upgrade jQuery UI to 1.13.3
627
628
h3. [Time tracking]
629
630
* Defect #36897: The minutes part of a time entry is displayed as 60 instead of being carried over
631
* Defect #40914: Fix precision issues in TimeEntry#hours calculation by returning Rational instead of Float
632
* Defect #41401: Hours column in "Details" tab of Spent time is not right-aligned
633
* Feature #41053: Add "User's group" and "User's role" filters to Spent time list
634
635
h3. [UI]
636
637
* Defect #37390: Extraneous whitespace when selecting and copying issue number on Chrome/Windows
638
* Defect #38915: Duplicate spacer id in jsToolBar
639
* Defect #39795: Fix improper error highlighting for description field in issue form
640
* Feature #2464: Add placeholder "h:mm" to hours field for better user guidance
641
* Feature #2499: Change CSS font-size units from px to rem to respect browser font settings
642
* Feature #21808: Make the Sidebar collapsible, stateful
643
* Feature #23980: Replace icon images with Tabler SVG icons
644
* Feature #40901: Disable custom query links while loading to prevent multiple requests
645
* Feature #41266: Improve header design with gradient background
646
* Feature #41272: Improve tooltip positioning for thumbnails
647
* Feature #41294: Partial quoting feature for Issues and Forums
648
* Feature #41298: Refine UI with updated box styling and border colors
649
* Feature #41321: Improve readability by refining font sizes and switching to Noto Sans font
650
* Feature #41475: Improve table readability by adding row borders
651
* Feature #41500: Swap odd and even table row background colors
652
* Patch #33638: Add informative default welcome text for new installations
653
654
h3. [UI - Responsive]
655
656
* Feature #39806: Improve filter rendering on narrow screens by replacing the layout tables with a flex layout