redmineup 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,476 @@
1
+ /* ============================================================
2
+ SELECT2 (from select2.css)
3
+ ============================================================ */
4
+ .select2-container {
5
+ box-sizing: border-box;
6
+ display: inline-block;
7
+ margin: 0;
8
+ position: relative;
9
+ vertical-align: middle;
10
+ }
11
+ .select2-container .select2-selection--single {
12
+ box-sizing: border-box;
13
+ cursor: pointer;
14
+ display: block;
15
+ height: 28px;
16
+ user-select: none;
17
+ -webkit-user-select: none;
18
+ }
19
+ .select2-container .select2-selection--single .select2-selection__rendered {
20
+ display: block;
21
+ padding-left: 8px;
22
+ padding-right: 20px;
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ white-space: nowrap;
26
+ }
27
+ .select2-container .select2-selection--single .select2-selection__clear {
28
+ position: relative;
29
+ }
30
+ .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
31
+ padding-right: 8px;
32
+ padding-left: 20px;
33
+ }
34
+ .select2-container .select2-selection--multiple {
35
+ box-sizing: border-box;
36
+ cursor: pointer;
37
+ display: block;
38
+ min-height: 24px;
39
+ user-select: none;
40
+ -webkit-user-select: none;
41
+ }
42
+ .select2-container .select2-selection--multiple .select2-selection__rendered {
43
+ /*display: inline-block;*/
44
+ overflow: hidden;
45
+ padding-left: 8px;
46
+ text-overflow: ellipsis;
47
+ white-space: nowrap;
48
+ }
49
+ .select2-container .select2-search--inline {
50
+ float: left;
51
+ }
52
+ .select2-container .select2-search--inline .select2-search__field {
53
+ box-sizing: border-box;
54
+ border: none;
55
+ font-size: 100%;
56
+ margin-top: 2px;
57
+ padding: 0;
58
+ }
59
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
60
+ -webkit-appearance: none;
61
+ }
62
+
63
+ .select2-dropdown {
64
+ background-color: white;
65
+ border: 1px solid #aaa;
66
+ border-radius: 4px;
67
+ box-sizing: border-box;
68
+ display: block;
69
+ position: absolute;
70
+ left: -100000px;
71
+ width: 100%;
72
+ z-index: 1051;
73
+ }
74
+
75
+ .select2-results {
76
+ display: block;
77
+ }
78
+
79
+ .select2-results__options {
80
+ list-style: none;
81
+ margin: 0;
82
+ padding: 0;
83
+ }
84
+
85
+ .select2-results__option {
86
+ padding: 6px;
87
+ user-select: none;
88
+ -webkit-user-select: none;
89
+ }
90
+ .select2-results__option[aria-selected] {
91
+ cursor: pointer;
92
+ }
93
+
94
+ .select2-container--open .select2-dropdown {
95
+ left: 0;
96
+ }
97
+
98
+ .select2-container--open .select2-dropdown--above {
99
+ border-bottom: none;
100
+ border-bottom-left-radius: 0;
101
+ border-bottom-right-radius: 0;
102
+ }
103
+
104
+ .select2-container--open .select2-dropdown--below {
105
+ border-top: none;
106
+ border-top-left-radius: 0;
107
+ border-top-right-radius: 0;
108
+ }
109
+
110
+ .select2-search--dropdown {
111
+ display: block;
112
+ padding: 4px;
113
+ }
114
+ .select2-search--dropdown .select2-search__field {
115
+ padding: 4px;
116
+ width: 100%;
117
+ box-sizing: border-box;
118
+ }
119
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
120
+ -webkit-appearance: none;
121
+ }
122
+ .select2-search--dropdown.select2-search--hide {
123
+ display: none;
124
+ }
125
+
126
+ .select2-close-mask {
127
+ border: 0;
128
+ margin: 0;
129
+ padding: 0;
130
+ display: block;
131
+ position: fixed;
132
+ left: 0;
133
+ top: 0;
134
+ min-height: 100%;
135
+ min-width: 100%;
136
+ height: auto;
137
+ width: auto;
138
+ opacity: 0;
139
+ z-index: 99;
140
+ background-color: #fff;
141
+ filter: alpha(opacity=0);
142
+ }
143
+
144
+ .select2-hidden-accessible {
145
+ border: 0 !important;
146
+ clip: rect(0 0 0 0) !important;
147
+ height: 1px !important;
148
+ margin: -1px !important;
149
+ overflow: hidden !important;
150
+ padding: 0 !important;
151
+ position: absolute !important;
152
+ width: 1px !important;
153
+ }
154
+
155
+ .select2-container--default .select2-selection--single {
156
+ background-color: #fff;
157
+ height: 24px;
158
+ border: 1px solid #ccc;
159
+ border-radius: 3px;
160
+ }
161
+
162
+ .select2-container--default .select2-selection--single.icon {
163
+ background-position-x: 3px;
164
+ }
165
+
166
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
167
+ line-height: 21px;
168
+ font-size: 11px;
169
+ }
170
+
171
+ .select2-container--default .select2-selection--single.icon .select2-selection__rendered {
172
+ padding-left: 2px
173
+ }
174
+
175
+ .select2-container--default .select2-selection--single .select2-selection__clear {
176
+ cursor: pointer;
177
+ float: right;
178
+ font-weight: normal;
179
+ color: #888;
180
+ }
181
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
182
+ color: #999;
183
+ }
184
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
185
+ height: 24px;
186
+ position: absolute;
187
+ top: 0px;
188
+ right: 1px;
189
+ width: 20px;
190
+ }
191
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
192
+ border-color: #888 transparent transparent transparent;
193
+ border-style: solid;
194
+ border-width: 5px 4px 0 4px;
195
+ height: 0;
196
+ left: 50%;
197
+ margin-left: -4px;
198
+ margin-top: -2px;
199
+ position: absolute;
200
+ top: 50%;
201
+ width: 0;
202
+ }
203
+ .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
204
+ float: left;
205
+ }
206
+ .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
207
+ left: 1px;
208
+ right: auto;
209
+ }
210
+ .select2-container--default.select2-container--disabled .select2-selection--single {
211
+ background-color: #eee;
212
+ cursor: default;
213
+ }
214
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
215
+ display: none;
216
+ }
217
+ .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
218
+ border-color: transparent transparent #888 transparent;
219
+ border-width: 0 4px 5px 4px;
220
+ }
221
+ .select2-container--default .select2-selection--multiple {
222
+ background-color: white;
223
+ border: 1px solid #ccc;
224
+ border-radius: 3px;
225
+ cursor: text;
226
+ }
227
+
228
+ #sidebar .select2-container--default .select2-selection--multiple .select2-selection__rendered,
229
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered {
230
+ box-sizing: border-box;
231
+ list-style: none;
232
+ margin: 0;
233
+ padding: 0 2px 1px 2px;
234
+ width: 100%;
235
+ }
236
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
237
+ list-style: none;
238
+ }
239
+ .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
240
+ color: #999;
241
+ margin-top: 5px;
242
+ float: left;
243
+ }
244
+ .select2-container--default .select2-selection--multiple .select2-selection__clear {
245
+ cursor: pointer;
246
+ float: right;
247
+ font-weight: bold;
248
+ margin-top: 2px;
249
+ margin-right: 2px;
250
+ }
251
+
252
+ #sidebar .select2-container--default .select2-selection--multiple .select2-selection__choice,
253
+ .select2-container--default .select2-selection--multiple .select2-selection__choice {
254
+ background-color: #efefef;
255
+ border-radius: 2px;
256
+ cursor: default;
257
+ float: left;
258
+ margin-right: 2px;
259
+ margin-top: 2px;
260
+ padding: 0 3px;
261
+ }
262
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
263
+ color: #aaa;
264
+ cursor: pointer;
265
+ display: inline-block;
266
+ font-weight: normal;
267
+ margin-right: 2px;
268
+ }
269
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
270
+ color: #333;
271
+ }
272
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
273
+ float: right;
274
+ }
275
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
276
+ margin-left: 5px;
277
+ margin-right: auto;
278
+ }
279
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
280
+ margin-left: 2px;
281
+ margin-right: auto;
282
+ }
283
+ .select2-container--default.select2-container--focus .select2-selection--multiple {
284
+ border: 1px solid #5ad;
285
+ outline: none;
286
+ }
287
+ .select2-container--default.select2-container--disabled .select2-selection--multiple {
288
+ background-color: #eee;
289
+ cursor: default;
290
+ }
291
+ .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
292
+ display: none;
293
+ }
294
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
295
+ border-top-left-radius: 0;
296
+ border-top-right-radius: 0;
297
+ }
298
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
299
+ border-bottom-left-radius: 0;
300
+ border-bottom-right-radius: 0;
301
+ }
302
+ .select2-container--default .select2-search--dropdown .select2-search__field {
303
+ border: 1px solid #aaa;
304
+ }
305
+ .select2-container--default .select2-search--inline .select2-search__field {
306
+ background: transparent;
307
+ border: none;
308
+ outline: 0;
309
+ box-shadow: none;
310
+ -webkit-appearance: textfield;
311
+ height: 18px;
312
+ }
313
+ .select2-container--default .select2-results > .select2-results__options {
314
+ max-height: 200px;
315
+ overflow-y: auto;
316
+ }
317
+ .select2-container--default .select2-results__option[role=group] {
318
+ padding: 0;
319
+ }
320
+ .select2-container--default .select2-results__option[aria-disabled=true] {
321
+ color: #999;
322
+ }
323
+ .select2-container--default .select2-results__option[aria-selected=true] {
324
+ background-color: #eee;
325
+ }
326
+ .select2-container--default .select2-results__option .select2-results__option {
327
+ padding-left: 1em;
328
+ }
329
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
330
+ padding-left: 0;
331
+ }
332
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
333
+ margin-left: -1em;
334
+ padding-left: 2em;
335
+ }
336
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
337
+ margin-left: -2em;
338
+ padding-left: 3em;
339
+ }
340
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
341
+ margin-left: -3em;
342
+ padding-left: 4em;
343
+ }
344
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
345
+ margin-left: -4em;
346
+ padding-left: 5em;
347
+ }
348
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
349
+ margin-left: -5em;
350
+ padding-left: 6em;
351
+ }
352
+ .select2-container--default .select2-results__option--highlighted[aria-selected] {
353
+ background-color: #eef5fd;
354
+ }
355
+ .select2-container--default .select2-results__group {
356
+ cursor: default;
357
+ display: block;
358
+ padding: 6px;
359
+ }
360
+
361
+ .filter .select2 {
362
+ margin: 1px;
363
+ min-width: 130px;
364
+ }
365
+
366
+ .filter .select2-selection--multiple .select2-search--inline .select2-search__field {
367
+ border: 0px !important;
368
+ height: inherit !important;
369
+ padding: 0px !important;
370
+ }
371
+
372
+ .filter .select2-container--default .select2-selection--multiple .select2-selection__choice {
373
+ outline: none;
374
+ border: 0px;
375
+ padding: 3px 5px;
376
+ }
377
+
378
+ /* ============================================================
379
+ TAGS
380
+ ============================================================ */
381
+
382
+ #sidebar ul.tags-cloud { list-style: none; padding: 0; }
383
+ #sidebar ul.tags-cloud li { margin: .25em 0; }
384
+
385
+ div.tags-cloud { text-align: center; }
386
+
387
+ .tag-label-color {
388
+ border: 1px solid rgba(0, 0, 0, 0.2);
389
+ border-radius: 3px;
390
+ padding: 2px 4px;
391
+ display: inline-block;
392
+ font-size: 10px;
393
+ margin: 0 0 5px 2px;
394
+ color: white;
395
+ }
396
+
397
+ table.list tr.issue .tag-label-color a,
398
+ .tag-label-color a { color: white; text-decoration: none; font-weight: normal; }
399
+
400
+ .tag-label-color:hover { filter: brightness(0.85); }
401
+
402
+ .tag_list { margin-top: 5px; display: inline-block; }
403
+
404
+ span.tag-label,
405
+ span.tag-input { display: inline-block; }
406
+
407
+ tr.issue td.tags,
408
+ table.list tr td.tags { text-align: left; white-space: normal; }
409
+
410
+ div.tags-cloud .tag-nube-1 { font-size: .8em; }
411
+ div.tags-cloud .tag-nube-2 { font-size: .9em; }
412
+ div.tags-cloud .tag-nube-3 { font-size: 1em; }
413
+ div.tags-cloud .tag-nube-4 { font-size: 1.1em; }
414
+ div.tags-cloud .tag-nube-5 { font-size: 1.2em; }
415
+ div.tags-cloud .tag-nube-6 { font-size: 1.3em; }
416
+ div.tags-cloud .tag-nube-7 { font-size: 1.4em; }
417
+ div.tags-cloud .tag-nube-8 { font-size: 1.5em; }
418
+
419
+ .tag-label .tag-count,
420
+ .tag-label-color .tag-count { font-size: .75em; margin-left: .5em; }
421
+
422
+ /* ===== Calendars ===== */
423
+ table.cal {width: 100%; margin: 0 0 6px 0; border: 1px solid #c0c0c0; border-spacing: 0; border-radius: 3px;}
424
+ table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
425
+ table.cal thead th.week-number {width: auto;}
426
+ table.cal tbody tr {height: 100px;}
427
+ table.cal td .icon {padding-top: 2px; padding-bottom: 3px;}
428
+ table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em; border-bottom: 0; border-right: 0;}
429
+ table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
430
+ table.cal td p.day-num {font-size: 1.1em; text-align:right;}
431
+ table.cal td.odd p.day-num {color: #bbb;}
432
+ table.cal td.today {background:#ffffdd;}
433
+ table.cal td.today p.day-num {font-weight: bold;}
434
+ table.cal td.nwday:not(.odd) {background-color:#f1f1f1;}
435
+ table.cal .starting a.issue, p.cal.legend .starting {background: url(../../../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
436
+ table.cal .ending a.issue, p.cal.legend .ending {background: url(../../../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
437
+ table.cal .starting.ending a.issue, p.cal.legend .starting.ending {background: url(../../../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
438
+
439
+ #admin-menu a.icon-redmineup-money:not(:has(svg)) {
440
+ background-image: url(../images/money.png);
441
+ }
442
+
443
+ ul.cal {
444
+ list-style: none;
445
+ width: 100%;
446
+ padding: 0;
447
+ display: grid;
448
+ grid-template-columns: 2rem repeat(7, 1fr);
449
+ margin: 0;
450
+ border: 1px solid #c0c0c0;
451
+ border-spacing: 0;
452
+ border-radius: 3px;
453
+ }
454
+ .cal .calhead { background-color:#eee; text-align: center; font-weight: bold; padding: 4px }
455
+ .cal .week-number { background-color:#eee; border:none; font-size: 1em; padding: 4px; text-align: center; }
456
+ .cal .week-number .label-week { display: none; }
457
+ .cal .calbody { border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em; border-bottom: 0; border-right: 0; line-height: 1.2; min-height: calc(1.2em * 6); padding: 2px; }
458
+ .cal .calbody p.day-num {font-size: 1.1em; text-align:right;}
459
+ .cal .calbody .abbr-day {display:none}
460
+ .cal .calbody.odd p.day-num {color: #bbb;}
461
+ .cal .calbody.today {background:#ffd;}
462
+ .cal .calbody.today p.day-num {font-weight: bold;}
463
+ .cal .calbody .icon {padding-top: 2px; padding-bottom: 3px;}
464
+ .cal .calbody.nwday:not(.odd) {background-color:#f1f1f1;}
465
+ .cal .starting a.issue, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
466
+ .cal .ending a.issue, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
467
+ .cal .starting.ending a.issue, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
468
+ @media screen and (max-width: 899px) {
469
+ ul.cal { display: block }
470
+ .cal .calhead { display: none }
471
+ .cal .calbody { min-height: calc(1.2em * 3); }
472
+ .cal .calbody .abbr-day { display: inline; }
473
+ .cal .week-number { border: 1px solid #c0c0c0; text-align: left; font-weight: bold; background-color: #def; }
474
+ .cal .week-number .label-week { display: inline; }
475
+ .cal .calbody p.day-num { font-size: 1.1em; text-align: left; }
476
+ }
@@ -0,0 +1 @@
1
+ <%= redmineup_assets %>
@@ -11,3 +11,4 @@ en:
11
11
  label_redmineup_major_currencies: Major currencies
12
12
  label_redmineup_thousands_delimiter: Thousands delimiter
13
13
  label_redmineup_decimal_separator: Decimal separator
14
+ lable_redmineup_add_tag: add tag
@@ -11,3 +11,4 @@ ru:
11
11
  label_redmineup_major_currencies: Основные валюты
12
12
  label_redmineup_thousands_delimiter: Разделитель разрядов
13
13
  label_redmineup_decimal_separator: Десятичный разделитель
14
+ lable_redmineup_add_tag: добавить тег
data/config/routes.rb CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  Rails.application.routes.draw do
4
4
  match 'redmineup/settings/:id', to: 'redmineup#settings', as: 'redmineup_settings', via: [:get, :post]
5
+ match 'auto_completes/taggable_tags' => 'auto_completes#taggable_tags',
6
+ via: :get, as: 'auto_complete_taggable_tags'
5
7
  end
data/doc/CHANGELOG CHANGED
@@ -4,68 +4,88 @@ Redmine UP gem - general functions for plugins (tags, vote, viewing, currency)
4
4
  Copyright (C) 2011-2026 Kirill Bezrukov (RedmineUP)
5
5
  https://www.redmineup.com/
6
6
 
7
+ == 2026-04-17 v1.1.6
8
+
9
+ * Added helpers for timezone conversions
10
+
11
+ == 2026-04-17 v1.1.5
12
+
13
+ * Added tag cloud links helper with URL convention by key
14
+ * Added shared tag list fields for views and FormBuilder
15
+ * Added shared tag autocomplete route for taggable models
16
+ * Updated layout hook to load shared gem assets globally
17
+ * Updated tag helpers registration in ActionView context
18
+ * Fixed tag color fallback for backward compatibility
19
+ * Fixed helper behavior for Ruby 2.3 compatibility
20
+
7
21
  == 2026-04-10 v1.1.4
8
22
 
9
- * Fixed tags queries for MSSQL adapter
23
+ * Fixed tag queries for MSSQL adapter
10
24
 
11
25
  == 2026-03-10 v1.1.3
12
26
 
13
- * Fixed ActionCable compatibility
14
27
  * Added send method for ActionCable
28
+ * Fixed ActionCable compatibility with cable.yaml apply
15
29
 
16
30
  == 2025-11-07 v1.1.2
17
31
 
18
- * Fixed assets loading error
32
+ * Fixed shared assets loading error
19
33
 
20
- == 2025-10-24 v1.1.1
34
+ == 2025-10-01 v1.1.1
21
35
 
22
- * Fixed activation for sprite_icon patch
36
+ * Updated sprite_icon patch activation logic
23
37
 
24
38
  == 2025-07-24 v1.1.0
25
39
 
26
- * Added ActionCable methods
27
- * Fixed Tags migration method
28
- * Fixed svg icons for context menu
40
+ * Added ActionCable methods for plugin integrations
41
+ * Added SVG icon support for context menu actions
42
+ * Fixed tag migration method for old Rails versions
29
43
 
30
44
  == 2025-07-09 v1.0.13
31
45
 
32
- * Added color to Tag
46
+ * Added tag color support in tag model behavior
47
+
48
+ == 2025-07-08 v1.0.12
33
49
 
34
- == 2025-02-04 v1.0.11
50
+ * Added tag color selection functionality
35
51
 
36
- * Fixed bug with Redmine language settings
52
+ == 2025-03-30 v1.0.11
53
+
54
+ * Fixed ApplicationRecord loading compatibility
55
+
56
+ == 2025-02-04 v1.0.10
57
+
58
+ * Fixed SVG icon compatibility for older Redmine code
37
59
 
38
60
  == 2025-02-04 v1.0.9
39
61
 
40
62
  * Added regex_replace Liquid filter
41
- * Added svg icons for Redmine 6
63
+ * Added SVG icons for Redmine 6
64
+ * Fixed Liquid internal error in filter execution
65
+ * Fixed parse_inline_attachments Liquid filter behavior
42
66
 
43
67
  == 2025-01-31 v1.0.8
44
68
 
45
- * Fixed compatibility patch for Redmine < 5
69
+ * Fixed compatibility patch for Redmine versions below 5
46
70
 
47
71
  == 2025-01-29 v1.0.7
48
72
 
49
- * Fixed parse_inline_attachments Liquid filter
50
- * Added compatibility patch for Redmine 6 sprite_icon
73
+ * Added sprite_icon compatibility patch for Redmine 6
74
+ * Fixed parse_inline_attachments Liquid filter behavior
51
75
 
52
76
  == 2024-05-07 v1.0.6
53
77
 
54
- * Updated Chart.js to v3.9.1
55
- * Fixed assets paths for Redmine 5.3+
56
78
  * Added attachments to IssueDrop and JournalDrop
57
- * Added filter parse_inline_attachments for replace image urls
79
+ * Added parse_inline_attachments filter for image URL fix
80
+ * Updated Chart.js library to version 3.9.1
81
+ * Fixed asset paths for Redmine 5.3 and newer
58
82
 
59
83
  == 2024-01-31 v1.0.5
60
84
 
61
- * Added plugin_installed? method
62
- * Compatibility patches for ApplicationRecord
85
+ * Added plugin_installed? helper for plugin checks
86
+ * Fixed ApplicationRecord compatibility patch behavior
63
87
 
64
88
  == 2023-10-12 v1.0.1
65
89
 
66
- * RedmineUp module renamed to Redmineup
67
-
68
- == 2023-09-27 v1.0.0
69
-
70
- * Initial release
71
- * Mirgated from redmineup gem
90
+ * Added initial public release
91
+ * Updated module name from RedmineUp to Redmineup