redmineup 1.1.3 → 1.1.5

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,64 +4,84 @@ 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.5
8
+
9
+ * Added tag cloud links helper with URL convention by key
10
+ * Added shared tag list fields for views and FormBuilder
11
+ * Added shared tag autocomplete route for taggable models
12
+ * Updated layout hook to load shared gem assets globally
13
+ * Updated tag helpers registration in ActionView context
14
+ * Fixed tag color fallback for backward compatibility
15
+ * Fixed helper behavior for Ruby 2.3 compatibility
16
+
17
+ == 2026-04-10 v1.1.4
18
+
19
+ * Fixed tag queries for MSSQL adapter
20
+
7
21
  == 2026-03-10 v1.1.3
8
22
 
9
- * Fixed ActionCable compatibility
10
23
  * Added send method for ActionCable
24
+ * Fixed ActionCable compatibility with cable.yaml apply
11
25
 
12
26
  == 2025-11-07 v1.1.2
13
27
 
14
- * Fixed assets loading error
28
+ * Fixed shared assets loading error
15
29
 
16
- == 2025-10-24 v1.1.1
30
+ == 2025-10-01 v1.1.1
17
31
 
18
- * Fixed activation for sprite_icon patch
32
+ * Updated sprite_icon patch activation logic
19
33
 
20
34
  == 2025-07-24 v1.1.0
21
35
 
22
- * Added ActionCable methods
23
- * Fixed Tags migration method
24
- * Fixed svg icons for context menu
36
+ * Added ActionCable methods for plugin integrations
37
+ * Added SVG icon support for context menu actions
38
+ * Fixed tag migration method for old Rails versions
25
39
 
26
40
  == 2025-07-09 v1.0.13
27
41
 
28
- * Added color to Tag
42
+ * Added tag color support in tag model behavior
43
+
44
+ == 2025-07-08 v1.0.12
29
45
 
30
- == 2025-02-04 v1.0.11
46
+ * Added tag color selection functionality
31
47
 
32
- * Fixed bug with Redmine language settings
48
+ == 2025-03-30 v1.0.11
49
+
50
+ * Fixed ApplicationRecord loading compatibility
51
+
52
+ == 2025-02-04 v1.0.10
53
+
54
+ * Fixed SVG icon compatibility for older Redmine code
33
55
 
34
56
  == 2025-02-04 v1.0.9
35
57
 
36
58
  * Added regex_replace Liquid filter
37
- * Added svg icons for Redmine 6
59
+ * Added SVG icons for Redmine 6
60
+ * Fixed Liquid internal error in filter execution
61
+ * Fixed parse_inline_attachments Liquid filter behavior
38
62
 
39
63
  == 2025-01-31 v1.0.8
40
64
 
41
- * Fixed compatibility patch for Redmine < 5
65
+ * Fixed compatibility patch for Redmine versions below 5
42
66
 
43
67
  == 2025-01-29 v1.0.7
44
68
 
45
- * Fixed parse_inline_attachments Liquid filter
46
- * Added compatibility patch for Redmine 6 sprite_icon
69
+ * Added sprite_icon compatibility patch for Redmine 6
70
+ * Fixed parse_inline_attachments Liquid filter behavior
47
71
 
48
72
  == 2024-05-07 v1.0.6
49
73
 
50
- * Updated Chart.js to v3.9.1
51
- * Fixed assets paths for Redmine 5.3+
52
74
  * Added attachments to IssueDrop and JournalDrop
53
- * Added filter parse_inline_attachments for replace image urls
75
+ * Added parse_inline_attachments filter for image URL fix
76
+ * Updated Chart.js library to version 3.9.1
77
+ * Fixed asset paths for Redmine 5.3 and newer
54
78
 
55
79
  == 2024-01-31 v1.0.5
56
80
 
57
- * Added plugin_installed? method
58
- * Compatibility patches for ApplicationRecord
81
+ * Added plugin_installed? helper for plugin checks
82
+ * Fixed ApplicationRecord compatibility patch behavior
59
83
 
60
84
  == 2023-10-12 v1.0.1
61
85
 
62
- * RedmineUp module renamed to Redmineup
63
-
64
- == 2023-09-27 v1.0.0
65
-
66
- * Initial release
67
- * Mirgated from redmineup gem
86
+ * Added initial public release
87
+ * Updated module name from RedmineUp to Redmineup