plutonium 0.60.5 → 0.61.0
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.
- checksums.yaml +4 -4
- data/.claude/skills/plutonium/SKILL.md +19 -1
- data/.claude/skills/plutonium-app/SKILL.md +41 -0
- data/.claude/skills/plutonium-auth/SKILL.md +40 -0
- data/.claude/skills/plutonium-behavior/SKILL.md +47 -1
- data/.claude/skills/plutonium-kanban/SKILL.md +313 -0
- data/.claude/skills/plutonium-resource/SKILL.md +40 -0
- data/.claude/skills/plutonium-tenancy/SKILL.md +43 -0
- data/.claude/skills/plutonium-testing/SKILL.md +38 -0
- data/.claude/skills/plutonium-ui/SKILL.md +51 -0
- data/.claude/skills/plutonium-wizard/SKILL.md +469 -0
- data/.cliff.toml +6 -0
- data/Appraisals +3 -0
- data/CHANGELOG.md +549 -439
- data/CLAUDE.md +15 -7
- data/app/assets/plutonium.css +1 -1
- data/app/assets/plutonium.js +895 -193
- data/app/assets/plutonium.js.map +4 -4
- data/app/assets/plutonium.min.js +53 -53
- data/app/assets/plutonium.min.js.map +4 -4
- data/app/views/layouts/basic.html.erb +7 -0
- data/app/views/plutonium/_flash_toasts.html.erb +2 -46
- data/app/views/plutonium/_toast.html.erb +52 -0
- data/app/views/resource/_resource_kanban.html.erb +1 -0
- data/db/migrate/wizard/20260615000001_create_plutonium_wizard_sessions.rb +57 -0
- data/docs/.vitepress/config.ts +24 -0
- data/docs/guides/index.md +2 -0
- data/docs/guides/kanban.md +447 -0
- data/docs/guides/wizards.md +447 -0
- data/docs/public/images/guides/kanban-after-move.png +0 -0
- data/docs/public/images/guides/kanban-board-light.png +0 -0
- data/docs/public/images/guides/kanban-board.png +0 -0
- data/docs/public/images/guides/kanban-show-centered-modal.png +0 -0
- data/docs/public/images/guides/kanban-wip-toast.png +0 -0
- data/docs/public/images/guides/wizards-chooser.png +0 -0
- data/docs/public/images/guides/wizards-completed.png +0 -0
- data/docs/public/images/guides/wizards-index-action.png +0 -0
- data/docs/public/images/guides/wizards-repeater.png +0 -0
- data/docs/public/images/guides/wizards-review.png +0 -0
- data/docs/public/images/guides/wizards-step.png +0 -0
- data/docs/reference/behavior/policies.md +1 -1
- data/docs/reference/index.md +14 -0
- data/docs/reference/kanban/authorization.md +62 -0
- data/docs/reference/kanban/dsl.md +293 -0
- data/docs/reference/kanban/index.md +40 -0
- data/docs/reference/kanban/positioning.md +162 -0
- data/docs/reference/resource/definition.md +16 -0
- data/docs/reference/ui/forms.md +36 -0
- data/docs/reference/ui/pages.md +2 -0
- data/docs/reference/wizard/anchoring-resume.md +194 -0
- data/docs/reference/wizard/dsl.md +332 -0
- data/docs/reference/wizard/index.md +33 -0
- data/docs/reference/wizard/one-time.md +129 -0
- data/docs/reference/wizard/registration-launch.md +177 -0
- data/docs/reference/wizard/storage-config.md +151 -0
- data/docs/superpowers/plans/2026-06-14-form-sectioning.md +2 -2
- data/docs/superpowers/plans/2026-06-15-wizard-dsl.md +1619 -0
- data/docs/superpowers/plans/2026-06-15-wizard-dsl.md.tasks.json +68 -0
- data/docs/superpowers/plans/2026-06-26-kanban-dsl.md +1128 -0
- data/docs/superpowers/plans/2026-06-26-kanban-dsl.md.tasks.json +24 -0
- data/docs/superpowers/specs/2026-06-15-wizard-dsl-design.md +836 -0
- data/docs/superpowers/specs/2026-06-15-wizard-dsl-examples.rb +245 -0
- data/docs/superpowers/specs/2026-06-17-wizard-relaunch-prompt-design.md +86 -0
- data/docs/superpowers/specs/2026-06-18-wizard-attachments-design.md +101 -0
- data/docs/superpowers/specs/2026-06-18-wizard-hosting-design.md +220 -0
- data/docs/superpowers/specs/2026-06-26-kanban-dsl-design.md +388 -0
- data/gemfiles/postgres.gemfile +8 -0
- data/gemfiles/postgres.gemfile.lock +321 -0
- data/gemfiles/rails_7.gemfile +1 -0
- data/gemfiles/rails_7.gemfile.lock +1 -1
- data/gemfiles/rails_8.0.gemfile +1 -0
- data/gemfiles/rails_8.0.gemfile.lock +1 -1
- data/gemfiles/rails_8.1.gemfile +1 -0
- data/gemfiles/rails_8.1.gemfile.lock +14 -1
- data/lib/generators/pu/invites/templates/packages/invites/app/controllers/invites/user_invitations_controller.rb.tt +6 -1
- data/lib/plutonium/action/base.rb +9 -0
- data/lib/plutonium/auth/rodauth.rb +1 -2
- data/lib/plutonium/configuration.rb +4 -0
- data/lib/plutonium/core/controller.rb +20 -1
- data/lib/plutonium/definition/base.rb +25 -0
- data/lib/plutonium/definition/form_layout.rb +54 -35
- data/lib/plutonium/definition/index_views.rb +54 -1
- data/lib/plutonium/definition/wizards.rb +209 -0
- data/lib/plutonium/invites/concerns/invite_token.rb +9 -0
- data/lib/plutonium/invites/concerns/invite_user.rb +9 -0
- data/lib/plutonium/invites/controller.rb +4 -1
- data/lib/plutonium/kanban/action.rb +7 -0
- data/lib/plutonium/kanban/board.rb +40 -0
- data/lib/plutonium/kanban/broadcaster.rb +54 -0
- data/lib/plutonium/kanban/column.rb +69 -0
- data/lib/plutonium/kanban/context.rb +15 -0
- data/lib/plutonium/kanban/dsl.rb +71 -0
- data/lib/plutonium/kanban/grouping.rb +51 -0
- data/lib/plutonium/kanban/positioning.rb +75 -0
- data/lib/plutonium/kanban.rb +11 -0
- data/lib/plutonium/migrations.rb +40 -0
- data/lib/plutonium/positioning.rb +146 -0
- data/lib/plutonium/railtie.rb +33 -0
- data/lib/plutonium/resource/controller.rb +2 -0
- data/lib/plutonium/resource/controllers/crud_actions.rb +1 -1
- data/lib/plutonium/resource/controllers/kanban_actions.rb +455 -0
- data/lib/plutonium/resource/controllers/wizard_actions.rb +165 -0
- data/lib/plutonium/resource/policy.rb +8 -0
- data/lib/plutonium/routing/mapper_extensions.rb +44 -0
- data/lib/plutonium/routing/wizard_registration.rb +289 -0
- data/lib/plutonium/ui/display/resource.rb +17 -12
- data/lib/plutonium/ui/form/base.rb +19 -5
- data/lib/plutonium/ui/form/components/password.rb +126 -0
- data/lib/plutonium/ui/form/components/uppy.rb +6 -3
- data/lib/plutonium/ui/form/options/inferred_types.rb +20 -0
- data/lib/plutonium/ui/form/resource.rb +1 -1
- data/lib/plutonium/ui/form/wizard.rb +63 -0
- data/lib/plutonium/ui/grid/card.rb +16 -5
- data/lib/plutonium/ui/kanban/card.rb +67 -0
- data/lib/plutonium/ui/kanban/color_dot.rb +36 -0
- data/lib/plutonium/ui/kanban/column.rb +324 -0
- data/lib/plutonium/ui/kanban/resource.rb +212 -0
- data/lib/plutonium/ui/layout/resource_layout.rb +7 -1
- data/lib/plutonium/ui/modal/base.rb +30 -3
- data/lib/plutonium/ui/modal/centered.rb +5 -2
- data/lib/plutonium/ui/page/index.rb +1 -0
- data/lib/plutonium/ui/page/show.rb +23 -0
- data/lib/plutonium/ui/page/wizard.rb +371 -0
- data/lib/plutonium/ui/page/wizard_chooser.rb +97 -0
- data/lib/plutonium/ui/page/wizard_completed.rb +86 -0
- data/lib/plutonium/ui/table/base.rb +1 -1
- data/lib/plutonium/ui/table/components/view_switcher.rb +2 -1
- data/lib/plutonium/ui/wizard/review.rb +196 -0
- data/lib/plutonium/ui/wizard/stepper.rb +122 -0
- data/lib/plutonium/ui/wizard/summary_display.rb +59 -0
- data/lib/plutonium/version.rb +1 -1
- data/lib/plutonium/wizard/attachment_data.rb +42 -0
- data/lib/plutonium/wizard/attachments.rb +226 -0
- data/lib/plutonium/wizard/base.rb +216 -0
- data/lib/plutonium/wizard/base_controller.rb +31 -0
- data/lib/plutonium/wizard/configuration.rb +42 -0
- data/lib/plutonium/wizard/controller.rb +162 -0
- data/lib/plutonium/wizard/data.rb +134 -0
- data/lib/plutonium/wizard/driving.rb +639 -0
- data/lib/plutonium/wizard/dsl.rb +336 -0
- data/lib/plutonium/wizard/errors.rb +27 -0
- data/lib/plutonium/wizard/field_capture.rb +157 -0
- data/lib/plutonium/wizard/field_importer.rb +208 -0
- data/lib/plutonium/wizard/gate.rb +171 -0
- data/lib/plutonium/wizard/instance_key.rb +97 -0
- data/lib/plutonium/wizard/lazy_persisted.rb +77 -0
- data/lib/plutonium/wizard/resume.rb +250 -0
- data/lib/plutonium/wizard/review_step.rb +48 -0
- data/lib/plutonium/wizard/route_resolution.rb +40 -0
- data/lib/plutonium/wizard/runner.rb +684 -0
- data/lib/plutonium/wizard/session.rb +53 -0
- data/lib/plutonium/wizard/state.rb +35 -0
- data/lib/plutonium/wizard/step.rb +61 -0
- data/lib/plutonium/wizard/step_adapter.rb +103 -0
- data/lib/plutonium/wizard/store/active_record.rb +174 -0
- data/lib/plutonium/wizard/store/base.rb +42 -0
- data/lib/plutonium/wizard/store/memory.rb +44 -0
- data/lib/plutonium/wizard/sweep_job.rb +76 -0
- data/lib/plutonium/wizard.rb +86 -0
- data/lib/plutonium.rb +5 -0
- data/lib/rodauth/features/case_insensitive_login.rb +1 -1
- data/lib/tasks/release.rake +144 -191
- data/package.json +3 -3
- data/src/css/components.css +132 -0
- data/src/js/controllers/attachment_input_controller.js +15 -1
- data/src/js/controllers/dirty_form_guard_controller.js +155 -27
- data/src/js/controllers/kanban_controller.js +330 -0
- data/src/js/controllers/password_sentinel_controller.js +39 -0
- data/src/js/controllers/register_controllers.js +6 -0
- data/src/js/controllers/remote_modal_controller.js +10 -0
- data/src/js/controllers/row_click_controller.js +14 -1
- data/src/js/controllers/wizard_controller.js +54 -0
- data/src/js/turbo/turbo_confirm.js +1 -1
- data/yarn.lock +271 -282
- metadata +100 -1
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.61.0] - 2026-06-30
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Animate the dialog scale pop via the `scale` property
|
|
10
|
+
- Normalize mixed-case logins to lowercase on input
|
|
11
|
+
- Normalize invite email to lowercase at the source
|
|
12
|
+
- Downcase login in signup handler's existing-account guard
|
|
13
|
+
- Rescue DeleteRestrictionError in CRUD destroy
|
|
14
|
+
- Keep modal dialogs transform-free so fixed overlays escape the panel
|
|
15
|
+
- Render the classic shell sidebar again
|
|
16
|
+
- Mount uppy Dashboard into the modal dialog so it renders above it
|
|
17
|
+
- Coerce ActiveStorage::Filename to String for HTML title attributes ([#66](https://github.com/radioactive-labs/plutonium-core/issues/66))
|
|
18
|
+
- Bump dompurify to 3.4.11 and esbuild to 0.28.1 to clear npm audit
|
|
19
|
+
- Clear npm Dependabot alerts (lodash 4.18.1 + dev-tree dedupe)
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- Omit empty Details tab when no fields are permitted
|
|
24
|
+
- Mask password/secret fields so the stored value never reaches the DOM
|
|
25
|
+
- Plutonium::Wizard — declarative multi-step wizard subsystem ([#62](https://github.com/radioactive-labs/plutonium-core/issues/62))
|
|
26
|
+
- Kanban board DSL — first-class index view with drag-to-move ([#63](https://github.com/radioactive-labs/plutonium-core/issues/63))
|
|
27
|
+
|
|
28
|
+
### Miscellaneous Tasks
|
|
29
|
+
|
|
30
|
+
- Make releasing laptop-driven and race-free
|
|
31
|
+
- Review before commit — prepare stages, publish commits
|
|
32
|
+
|
|
33
|
+
### Refactoring
|
|
34
|
+
|
|
35
|
+
- Drop the current_<name> alias from the rodauth mixin
|
|
36
|
+
|
|
37
|
+
### Wizard
|
|
38
|
+
|
|
39
|
+
- Docs accuracy + completeness audit, plus a per-field Shrine uploader for attachments ([#64](https://github.com/radioactive-labs/plutonium-core/issues/64))
|
|
40
|
+
|
|
1
41
|
## [0.60.5] - 2026-06-30
|
|
2
42
|
|
|
3
43
|
### 🐛 Bug Fixes
|
|
@@ -7,648 +47,680 @@
|
|
|
7
47
|
### ⚙️ Miscellaneous Tasks
|
|
8
48
|
|
|
9
49
|
- Update yarn.lock and .yarnrc.yml after yarn install
|
|
50
|
+
|
|
10
51
|
## [0.60.4] - 2026-06-15
|
|
11
52
|
|
|
12
|
-
###
|
|
53
|
+
### Features
|
|
54
|
+
|
|
55
|
+
- Drop the section divider rule, keep the accent bar
|
|
13
56
|
|
|
14
|
-
- *(layout)* Drop the section divider rule, keep the accent bar
|
|
15
57
|
## [0.60.3] - 2026-06-15
|
|
16
58
|
|
|
17
|
-
###
|
|
59
|
+
### Features
|
|
60
|
+
|
|
61
|
+
- Drop form_layout sections that resolve to zero fields
|
|
62
|
+
- Refine form_layout section header styling
|
|
18
63
|
|
|
19
|
-
|
|
20
|
-
- *(layout)* Refine form_layout section header styling
|
|
64
|
+
### Refactoring
|
|
21
65
|
|
|
22
|
-
|
|
66
|
+
- Move engine shell to Portal::Engine with live cascade
|
|
23
67
|
|
|
24
|
-
- *(layout)* Move engine shell to Portal::Engine with live cascade
|
|
25
68
|
## [0.60.2] - 2026-06-15
|
|
26
69
|
|
|
27
|
-
###
|
|
70
|
+
### Features
|
|
71
|
+
|
|
72
|
+
- Resolve shell across global, engine, and controller tiers
|
|
28
73
|
|
|
29
|
-
- *(layout)* Resolve shell across global, engine, and controller tiers
|
|
30
74
|
## [0.60.1] - 2026-06-15
|
|
31
75
|
|
|
32
|
-
###
|
|
76
|
+
### Bug Fixes
|
|
33
77
|
|
|
34
|
-
-
|
|
78
|
+
- Skip section fields not in the permitted set instead of raising
|
|
35
79
|
|
|
36
|
-
###
|
|
80
|
+
### Features
|
|
81
|
+
|
|
82
|
+
- First-class railless portal support
|
|
37
83
|
|
|
38
|
-
- *(forms)* Skip section fields not in the permitted set instead of raising
|
|
39
84
|
## [0.60.0] - 2026-06-14
|
|
40
85
|
|
|
41
|
-
###
|
|
86
|
+
### Features
|
|
87
|
+
|
|
88
|
+
- Add resend-invite action to rodauth admin
|
|
89
|
+
- Form sectioning DSL (form_layout / section / ungrouped) ([#61](https://github.com/radioactive-labs/plutonium-core/issues/61))
|
|
42
90
|
|
|
43
|
-
- *(generators)* Add resend-invite action to rodauth admin
|
|
44
|
-
- *(forms)* Form sectioning DSL (form_layout / section / ungrouped) (#61)
|
|
45
91
|
## [0.59.0] - 2026-06-13
|
|
46
92
|
|
|
47
|
-
###
|
|
93
|
+
### Bug Fixes
|
|
48
94
|
|
|
49
|
-
-
|
|
95
|
+
- Configure solid_errors reading connection and env lookup
|
|
96
|
+
- Resolve association filter class via resource_class reflection
|
|
50
97
|
|
|
51
|
-
###
|
|
98
|
+
### Features
|
|
99
|
+
|
|
100
|
+
- Add built-in policy-gated CSV export
|
|
52
101
|
|
|
53
|
-
- *(generators)* Configure solid_errors reading connection and env lookup
|
|
54
|
-
- *(query)* Resolve association filter class via resource_class reflection
|
|
55
102
|
## [0.58.1] - 2026-06-10
|
|
56
103
|
|
|
57
|
-
###
|
|
104
|
+
### Bug Fixes
|
|
105
|
+
|
|
106
|
+
- Prevent pu-rail-pinned persisting on non-rail pages
|
|
58
107
|
|
|
59
|
-
- *(ui/layout)* Prevent pu-rail-pinned persisting on non-rail pages
|
|
60
108
|
## [0.58.0] - 2026-06-10
|
|
61
109
|
|
|
62
|
-
###
|
|
110
|
+
### Bug Fixes
|
|
111
|
+
|
|
112
|
+
- Set url_options directly on ActionMailer::Base instead of config
|
|
113
|
+
- Short-circuit call with failure when validation fails
|
|
114
|
+
- Pre-populate extraction record so conditioned selects resolve correctly
|
|
115
|
+
- Use after_commit to avoid orphaned email jobs on rollback
|
|
63
116
|
|
|
64
|
-
- *(rodauth)* Set url_options directly on ActionMailer::Base instead of config
|
|
65
|
-
- *(interaction)* Short-circuit call with failure when validation fails
|
|
66
|
-
- *(form)* Pre-populate extraction record so conditioned selects resolve correctly
|
|
67
|
-
- *(invites)* Use after_commit to avoid orphaned email jobs on rollback
|
|
68
117
|
## [0.57.0] - 2026-06-09
|
|
69
118
|
|
|
70
|
-
###
|
|
119
|
+
### Bug Fixes
|
|
71
120
|
|
|
72
|
-
-
|
|
121
|
+
- Guard tailwind prerequisite and fix landing page command
|
|
122
|
+
- Guard against nil current_scoped_entity in remember_scoped_entity
|
|
123
|
+
- Use dynamic viewport height to prevent clipping on mobile
|
|
73
124
|
|
|
74
|
-
###
|
|
125
|
+
### Features
|
|
75
126
|
|
|
76
|
-
-
|
|
77
|
-
- *(entity_scoping)* Guard against nil current_scoped_entity in remember_scoped_entity
|
|
78
|
-
- *(ui/slideover)* Use dynamic viewport height to prevent clipping on mobile
|
|
127
|
+
- Add display-only condition: to scopes
|
|
79
128
|
|
|
80
|
-
###
|
|
129
|
+
### Miscellaneous Tasks
|
|
130
|
+
|
|
131
|
+
- Add skill sync to plutonium template and use conventional commits
|
|
81
132
|
|
|
82
|
-
- *(templates)* Add skill sync to plutonium template and use conventional commits
|
|
83
133
|
## [0.56.3] - 2026-06-07
|
|
84
134
|
|
|
85
|
-
###
|
|
135
|
+
### Bug Fixes
|
|
136
|
+
|
|
137
|
+
- Use dynamic viewport height so mobile rail toggle stays visible
|
|
138
|
+
- Link icon rail logo to home
|
|
139
|
+
- Default icon rail to pinned
|
|
140
|
+
- Let scopes bar scroll horizontally on small screens
|
|
86
141
|
|
|
87
|
-
- *(ui/sidebar)* Use dynamic viewport height so mobile rail toggle stays visible
|
|
88
|
-
- *(ui/sidebar)* Link icon rail logo to home
|
|
89
|
-
- *(ui/sidebar)* Default icon rail to pinned
|
|
90
|
-
- *(ui/table)* Let scopes bar scroll horizontally on small screens
|
|
91
142
|
## [0.56.2] - 2026-06-05
|
|
92
143
|
|
|
93
|
-
###
|
|
144
|
+
### Bug Fixes
|
|
145
|
+
|
|
146
|
+
- Run skills sync in unbundled env
|
|
147
|
+
- Prevent large page numbers from overflowing buttons
|
|
94
148
|
|
|
95
|
-
- *(generators/update)* Run skills sync in unbundled env
|
|
96
|
-
- *(ui/pagination)* Prevent large page numbers from overflowing buttons
|
|
97
149
|
## [0.56.1] - 2026-06-05
|
|
98
150
|
|
|
99
|
-
###
|
|
151
|
+
### Bug Fixes
|
|
100
152
|
|
|
101
|
-
-
|
|
153
|
+
- Version-adapt kitchen_sinks migration
|
|
102
154
|
|
|
103
|
-
###
|
|
155
|
+
### Documentation
|
|
156
|
+
|
|
157
|
+
- Recommend db:prepare, firm up README, document conditional actions
|
|
104
158
|
|
|
105
|
-
|
|
159
|
+
### Features
|
|
106
160
|
|
|
107
|
-
|
|
161
|
+
- Add display-only condition: to actions
|
|
108
162
|
|
|
109
|
-
- Recommend db:prepare, firm up README, document conditional actions
|
|
110
163
|
## [0.56.0] - 2026-06-05
|
|
111
164
|
|
|
112
|
-
###
|
|
165
|
+
### Bug Fixes
|
|
113
166
|
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
167
|
+
- Sync skills in a fresh process; pin post-install notice to 0.49.0
|
|
168
|
+
- Native multi-selects render at a usable height
|
|
169
|
+
- Dropdown menu teleports to <body> to escape overflow clipping
|
|
170
|
+
- Force :resources route_type for has_many nested routes
|
|
171
|
+
- Record-scoped commit URL for actions with record_action: false
|
|
172
|
+
- Serialize JSON values via as_json (ISO 8601 datetimes)
|
|
173
|
+
- Add reading role to Rails Pulse connects_to config
|
|
174
|
+
- Bind subject during interaction param extraction
|
|
175
|
+
- Dirty-form-guard tracks edits via first-interaction baseline
|
|
176
|
+
- Give the JSON form input dark-mode styling
|
|
119
177
|
|
|
120
|
-
###
|
|
178
|
+
### Features
|
|
121
179
|
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
- *(api)* Serialize JSON values via as_json (ISO 8601 datetimes)
|
|
128
|
-
- *(generators)* Add reading role to Rails Pulse connects_to config
|
|
129
|
-
- *(actions)* Bind subject during interaction param extraction
|
|
130
|
-
- *(ui)* Dirty-form-guard tracks edits via first-interaction baseline
|
|
131
|
-
- *(ui)* Give the JSON form input dark-mode styling
|
|
180
|
+
- Auto-rendered components for boolean, enum & money fields
|
|
181
|
+
- Add pu:lite:tune and pu:lite:maintenance for SQLite tuning + maintenance
|
|
182
|
+
- Sidebar menu items accept arbitrary link attributes
|
|
183
|
+
- Restore deleted nested rows + shared, polished removed bar
|
|
184
|
+
- Type-aware grid cards + overhaul KitchenSink dummy resource
|
|
132
185
|
|
|
133
|
-
###
|
|
186
|
+
### Miscellaneous Tasks
|
|
134
187
|
|
|
135
|
-
-
|
|
136
|
-
- *(dummy)* Add KitchenSink resource exercising every input/display type
|
|
188
|
+
- Sync appraisal gemfile.lock files to v0.55.0
|
|
137
189
|
|
|
138
|
-
###
|
|
190
|
+
### Testing
|
|
191
|
+
|
|
192
|
+
- Fix stale generator assertions and drop committed dummy schema
|
|
193
|
+
- Add KitchenSink resource exercising every input/display type
|
|
139
194
|
|
|
140
|
-
- Sync appraisal gemfile.lock files to v0.55.0
|
|
141
195
|
## [0.55.0] - 2026-06-03
|
|
142
196
|
|
|
143
|
-
###
|
|
197
|
+
### Bug Fixes
|
|
144
198
|
|
|
145
|
-
-
|
|
199
|
+
- Keep modal backdrop static to smooth dialog dismiss
|
|
146
200
|
|
|
147
|
-
###
|
|
201
|
+
### Features
|
|
202
|
+
|
|
203
|
+
- Structured_input — classless structured & repeater inputs (resources + interactions) ([#60](https://github.com/radioactive-labs/plutonium-core/issues/60))
|
|
148
204
|
|
|
149
|
-
|
|
205
|
+
### Testing
|
|
150
206
|
|
|
151
|
-
|
|
207
|
+
- Land authenticated users on the entity-scoped org portal
|
|
208
|
+
- Serve the Organization resource in the org portal
|
|
152
209
|
|
|
153
|
-
- *(dummy)* Land authenticated users on the entity-scoped org portal
|
|
154
|
-
- *(dummy)* Serve the Organization resource in the org portal
|
|
155
210
|
## [0.54.0] - 2026-06-01
|
|
156
211
|
|
|
157
|
-
###
|
|
212
|
+
### Bug Fixes
|
|
158
213
|
|
|
159
|
-
-
|
|
214
|
+
- Match Plutonium::Engine by name to survive dev reload
|
|
215
|
+
- Carry only an explicit return_to on resource forms
|
|
216
|
+
- Ignore bubbled file-input cancel in modal dialogs
|
|
217
|
+
- Cap icon-rail flyout to the viewport height
|
|
160
218
|
|
|
161
|
-
###
|
|
219
|
+
### Features
|
|
162
220
|
|
|
163
|
-
-
|
|
164
|
-
- *(ui)* Carry only an explicit return_to on resource forms
|
|
165
|
-
- *(ui)* Ignore bubbled file-input cancel in modal dialogs
|
|
166
|
-
- *(ui)* Cap icon-rail flyout to the viewport height
|
|
221
|
+
- Refine file-input height and required-marker theming
|
|
167
222
|
|
|
168
|
-
###
|
|
223
|
+
### Miscellaneous Tasks
|
|
169
224
|
|
|
170
|
-
-
|
|
225
|
+
- Rebuild bundled assets
|
|
171
226
|
|
|
172
|
-
###
|
|
227
|
+
### Refactoring
|
|
173
228
|
|
|
174
|
-
-
|
|
229
|
+
- Render flash via self-contained component classes
|
|
175
230
|
|
|
176
|
-
###
|
|
231
|
+
### Testing
|
|
232
|
+
|
|
233
|
+
- Characterize nested resource and interaction form rendering
|
|
177
234
|
|
|
178
|
-
- *(assets)* Rebuild bundled assets
|
|
179
235
|
## [0.53.1] - 2026-05-31
|
|
180
236
|
|
|
181
|
-
###
|
|
237
|
+
### Bug Fixes
|
|
238
|
+
|
|
239
|
+
- Tolerate non-Plutonium engines during route reload
|
|
182
240
|
|
|
183
|
-
- *(routing)* Tolerate non-Plutonium engines during route reload
|
|
184
241
|
## [0.53.0] - 2026-05-31
|
|
185
242
|
|
|
186
|
-
###
|
|
243
|
+
### Bug Fixes
|
|
187
244
|
|
|
188
|
-
-
|
|
245
|
+
- Correct broken cross-page anchors in guides
|
|
246
|
+
- Retract incorrect "never super" guidance in relation_scope
|
|
247
|
+
- Correct scoped-URL shape in multi-tenancy docs
|
|
248
|
+
- Match change_password_notify mailer template name
|
|
189
249
|
|
|
190
|
-
###
|
|
250
|
+
### Features
|
|
251
|
+
|
|
252
|
+
- Add Avatar component with Navii fallback ([#59](https://github.com/radioactive-labs/plutonium-core/issues/59))
|
|
191
253
|
|
|
192
|
-
|
|
193
|
-
- *(docs)* Retract incorrect "never super" guidance in relation_scope
|
|
194
|
-
- *(docs)* Correct scoped-URL shape in multi-tenancy docs
|
|
195
|
-
- *(rodauth)* Match change_password_notify mailer template name
|
|
254
|
+
### Refactoring
|
|
196
255
|
|
|
197
|
-
|
|
256
|
+
- Remove dead view helpers superseded by Phlex components
|
|
198
257
|
|
|
199
|
-
- *(helpers)* Remove dead view helpers superseded by Phlex components
|
|
200
258
|
## [0.52.0] - 2026-05-21
|
|
201
259
|
|
|
202
|
-
###
|
|
260
|
+
### Bug Fixes
|
|
203
261
|
|
|
204
|
-
-
|
|
205
|
-
-
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
-
|
|
262
|
+
- Use inclusion validation for required booleans
|
|
263
|
+
- Warn on failed yarn add instead of silently continuing
|
|
264
|
+
- Let StopWriting terminals scroll horizontally instead of overflowing the column
|
|
265
|
+
- Drop misleading 15-min claim — hero CTA → 'Tutorial', getting-started title → 'Learn Plutonium by building'
|
|
266
|
+
- Tutorial walkthrough + reference audit ([#57](https://github.com/radioactive-labs/plutonium-core/issues/57))
|
|
267
|
+
- Scope form ids per turbo frame to prevent stream-replace collisions
|
|
268
|
+
- Hide secure_association "+" inside secondary modal
|
|
269
|
+
- Dedupe pre_submit hidden field on repeat change events
|
|
270
|
+
- Form error alert margin + include model name in New/Edit page titles
|
|
213
271
|
|
|
214
|
-
###
|
|
272
|
+
### Miscellaneous Tasks
|
|
273
|
+
|
|
274
|
+
- Refresh rails-8.1 gemfile.lock for v0.51.0
|
|
215
275
|
|
|
216
|
-
- *(appraisal)* Refresh rails-8.1 gemfile.lock for v0.51.0
|
|
217
276
|
## [0.51.0] - 2026-05-14
|
|
218
277
|
|
|
219
|
-
###
|
|
278
|
+
### Bug Fixes
|
|
220
279
|
|
|
221
|
-
-
|
|
222
|
-
-
|
|
223
|
-
-
|
|
280
|
+
- Stabilize generator test suite against hangs
|
|
281
|
+
- Validate association SGIDs against full authz scope
|
|
282
|
+
- Keep yarn out of the parent TTY
|
|
224
283
|
|
|
225
|
-
###
|
|
284
|
+
### Documentation
|
|
226
285
|
|
|
227
|
-
-
|
|
228
|
-
- *(form)* Validate association SGIDs against full authz scope
|
|
229
|
-
- *(release)* Keep yarn out of the parent TTY
|
|
286
|
+
- Restructure into 7 functional areas + rewrite guides as task recipes
|
|
230
287
|
|
|
231
|
-
###
|
|
288
|
+
### Features
|
|
232
289
|
|
|
233
|
-
-
|
|
234
|
-
-
|
|
290
|
+
- Stack secondary modal for inline "+" on associations
|
|
291
|
+
- Json/jsonb input component with raw-value support
|
|
292
|
+
- Typeahead endpoint for resource form inputs and filters ([#55](https://github.com/radioactive-labs/plutonium-core/issues/55))
|
|
235
293
|
|
|
236
|
-
###
|
|
294
|
+
### Miscellaneous Tasks
|
|
237
295
|
|
|
238
|
-
-
|
|
296
|
+
- Bump frontend deps to clear Dependabot alerts
|
|
297
|
+
- Bump appraisal lockfiles to 0.50.0
|
|
298
|
+
- Drop dead pin_shell_to_classic hook
|
|
239
299
|
|
|
240
|
-
###
|
|
300
|
+
### Refactoring
|
|
301
|
+
|
|
302
|
+
- Rename views DSL to index_views
|
|
303
|
+
- Compact and merge 19 skills into 8
|
|
241
304
|
|
|
242
|
-
- Bump appraisal lockfiles to 0.50.0
|
|
243
|
-
- *(generators/update)* Drop dead pin_shell_to_classic hook
|
|
244
305
|
## [0.50.0] - 2026-05-11
|
|
245
306
|
|
|
246
|
-
###
|
|
307
|
+
### Bug Fixes
|
|
247
308
|
|
|
248
|
-
-
|
|
309
|
+
- Suppress label and chrome for hidden fields
|
|
310
|
+
- Inject recurring tasks under env blocks
|
|
249
311
|
|
|
250
|
-
###
|
|
312
|
+
### Features
|
|
313
|
+
|
|
314
|
+
- Style WebKit autofill on .pu-input variants
|
|
251
315
|
|
|
252
|
-
- *(ui/form)* Suppress label and chrome for hidden fields
|
|
253
|
-
- *(generators/rails_pulse)* Inject recurring tasks under env blocks
|
|
254
316
|
## [0.49.1] - 2026-05-06
|
|
255
317
|
|
|
256
|
-
###
|
|
318
|
+
### Bug Fixes
|
|
257
319
|
|
|
258
|
-
-
|
|
320
|
+
- Scope parent association only to matching relations
|
|
321
|
+
- Preserve sidebar scroll across Turbo navigations
|
|
322
|
+
- Add invite_entity_attribute hook for non-:entity invite models
|
|
323
|
+
- Restore default layout on direct loads
|
|
324
|
+
- Unblock acceptance + non-importmap apps
|
|
325
|
+
- Force text/html on failure response
|
|
326
|
+
- Position calendar correctly inside modal dialogs
|
|
259
327
|
|
|
260
|
-
###
|
|
328
|
+
### Features
|
|
329
|
+
|
|
330
|
+
- Support multiple invite models per app
|
|
261
331
|
|
|
262
|
-
- *(policy)* Scope parent association only to matching relations
|
|
263
|
-
- *(ui)* Preserve sidebar scroll across Turbo navigations
|
|
264
|
-
- *(invites)* Add invite_entity_attribute hook for non-:entity invite models
|
|
265
|
-
- *(interactive_actions)* Restore default layout on direct loads
|
|
266
|
-
- *(invites)* Unblock acceptance + non-importmap apps
|
|
267
|
-
- *(interactive_actions)* Force text/html on failure response
|
|
268
|
-
- *(flatpickr)* Position calendar correctly inside modal dialogs
|
|
269
332
|
## [0.49.0] - 2026-05-04
|
|
270
333
|
|
|
271
|
-
###
|
|
334
|
+
### Bug Fixes
|
|
272
335
|
|
|
273
|
-
-
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
- *(generators)* Flesh out rails_pulse initializer template
|
|
336
|
+
- Return clean 403 from non-HTML unauthorized handler
|
|
337
|
+
- Align pu:lite:rails_pulse with v0.3 schema flow
|
|
338
|
+
- Prefer main_app.root_path over login_redirect
|
|
277
339
|
|
|
278
|
-
###
|
|
340
|
+
### Features
|
|
279
341
|
|
|
280
|
-
-
|
|
281
|
-
-
|
|
282
|
-
-
|
|
342
|
+
- Add `pu:gem:actual_db_schema` and wire into app template
|
|
343
|
+
- Add auto mode to color mode selector
|
|
344
|
+
- Render color mode selector on rodauth layout
|
|
345
|
+
- Flesh out rails_pulse initializer template
|
|
283
346
|
|
|
284
|
-
###
|
|
347
|
+
### Miscellaneous Tasks
|
|
285
348
|
|
|
286
|
-
-
|
|
349
|
+
- Rename :client_max_limit to :max_limit
|
|
350
|
+
- Run appraisals
|
|
287
351
|
|
|
288
|
-
###
|
|
352
|
+
### Refactoring
|
|
353
|
+
|
|
354
|
+
- Rename entity scope prefix from `_scope` to `_scoped`
|
|
289
355
|
|
|
290
|
-
- *(pagy)* Rename :client_max_limit to :max_limit
|
|
291
|
-
- Run appraisals
|
|
292
356
|
## [0.48.0] - 2026-04-16
|
|
293
357
|
|
|
294
|
-
###
|
|
358
|
+
### Bug Fixes
|
|
295
359
|
|
|
296
|
-
-
|
|
360
|
+
- Respect `confirmation: false` on interactive actions
|
|
297
361
|
|
|
298
|
-
###
|
|
362
|
+
### Features
|
|
363
|
+
|
|
364
|
+
- Preserve scroll by emitting refresh when redirect target matches referer
|
|
299
365
|
|
|
300
|
-
|
|
366
|
+
### Testing
|
|
301
367
|
|
|
302
|
-
|
|
368
|
+
- Browser coverage for Turbo refresh + scroll preservation
|
|
303
369
|
|
|
304
|
-
- *(system)* Browser coverage for Turbo refresh + scroll preservation
|
|
305
370
|
## [0.47.0] - 2026-04-15
|
|
306
371
|
|
|
307
|
-
###
|
|
372
|
+
### Features
|
|
308
373
|
|
|
309
|
-
-
|
|
310
|
-
-
|
|
374
|
+
- Add `interaction:` kwarg to resource_url_for
|
|
375
|
+
- Add Plutonium::Testing module, generators, skill, docs, and migrate in-repo tests
|
|
311
376
|
|
|
312
|
-
###
|
|
377
|
+
### Miscellaneous Tasks
|
|
313
378
|
|
|
314
379
|
- Update yarn
|
|
380
|
+
|
|
315
381
|
## [0.46.0] - 2026-04-11
|
|
316
382
|
|
|
317
|
-
###
|
|
383
|
+
### Bug Fixes
|
|
318
384
|
|
|
319
|
-
-
|
|
320
|
-
-
|
|
321
|
-
-
|
|
385
|
+
- Resolve scoped entity class lazily to survive autoreload
|
|
386
|
+
- Render page title in layout, drop per-view h1s
|
|
387
|
+
- Use derived user association in current_membership
|
|
388
|
+
- Redirect to login after verification email sent
|
|
322
389
|
|
|
323
|
-
###
|
|
390
|
+
### Documentation
|
|
324
391
|
|
|
325
|
-
-
|
|
326
|
-
-
|
|
327
|
-
-
|
|
328
|
-
- *(generators/rodauth)* Redirect to login after verification email sent
|
|
392
|
+
- Clarify generator gotchas for installation, rodauth, and unattended runs
|
|
393
|
+
- Comprehensive Plutonium skills overhaul
|
|
394
|
+
- Document nested_attributes gotchas in policy and definition
|
|
329
395
|
|
|
330
|
-
###
|
|
396
|
+
### Features
|
|
331
397
|
|
|
332
|
-
-
|
|
398
|
+
- Default profile model to {UserModel}Profile
|
|
399
|
+
- Sync skills during pu:core:update if plutonium skill is installed
|
|
400
|
+
- Disable Active Storage railtie and include ActiveShrine::Model
|
|
333
401
|
|
|
334
|
-
###
|
|
402
|
+
### Miscellaneous Tasks
|
|
335
403
|
|
|
336
|
-
-
|
|
337
|
-
- *(skills)* Comprehensive Plutonium skills overhaul
|
|
338
|
-
- *(skills)* Document nested_attributes gotchas in policy and definition
|
|
404
|
+
- Update test lockfiles
|
|
339
405
|
|
|
340
|
-
###
|
|
406
|
+
### Refactoring
|
|
407
|
+
|
|
408
|
+
- Add inject_into_concerns_controller to merge included blocks
|
|
341
409
|
|
|
342
|
-
- Update test lockfiles
|
|
343
410
|
## [0.45.3] - 2026-04-07
|
|
344
411
|
|
|
345
|
-
###
|
|
412
|
+
### Bug Fixes
|
|
413
|
+
|
|
414
|
+
- Use Pagy::OPTIONS instead of frozen DEFAULT
|
|
346
415
|
|
|
347
|
-
- *(pagy)* Use Pagy::OPTIONS instead of frozen DEFAULT
|
|
348
416
|
## [0.45.2] - 2026-04-07
|
|
349
417
|
|
|
350
|
-
###
|
|
418
|
+
### Bug Fixes
|
|
419
|
+
|
|
420
|
+
- Honor limit param by setting client_max_limit
|
|
351
421
|
|
|
352
|
-
- *(pagy)* Honor limit param by setting client_max_limit
|
|
353
422
|
## [0.45.1] - 2026-04-02
|
|
354
423
|
|
|
355
|
-
###
|
|
424
|
+
### Bug Fixes
|
|
425
|
+
|
|
426
|
+
- Use named route helpers for top-level resource URLs
|
|
356
427
|
|
|
357
|
-
- *(routing)* Use named route helpers for top-level resource URLs
|
|
358
428
|
## [0.45.0] - 2026-04-01
|
|
359
429
|
|
|
360
|
-
###
|
|
430
|
+
### Bug Fixes
|
|
361
431
|
|
|
362
|
-
-
|
|
363
|
-
-
|
|
432
|
+
- Suffix scoped_entity_param_key to prevent route param collision
|
|
433
|
+
- Add view path and fix nested form in invitation template
|
|
364
434
|
|
|
365
|
-
###
|
|
435
|
+
### Features
|
|
366
436
|
|
|
367
|
-
-
|
|
368
|
-
-
|
|
437
|
+
- Add entity link to portal resource header
|
|
438
|
+
- Add --pu-text-danger CSS token
|
|
369
439
|
|
|
370
|
-
###
|
|
440
|
+
### Refactoring
|
|
441
|
+
|
|
442
|
+
- Consolidate skills and improve discoverability
|
|
371
443
|
|
|
372
|
-
- *(skills)* Consolidate skills and improve discoverability
|
|
373
444
|
## [0.44.1] - 2026-03-30
|
|
374
445
|
|
|
375
|
-
###
|
|
446
|
+
### Bug Fixes
|
|
447
|
+
|
|
448
|
+
- Register rescue responses before action_dispatch.configure
|
|
449
|
+
- Pass association SGIDs in create params to match form submission
|
|
376
450
|
|
|
377
|
-
|
|
378
|
-
- *(test)* Pass association SGIDs in create params to match form submission
|
|
451
|
+
### Miscellaneous Tasks
|
|
379
452
|
|
|
380
|
-
|
|
453
|
+
- Bump phlexi-form to >= 0.14.2
|
|
454
|
+
|
|
455
|
+
### Refactoring
|
|
456
|
+
|
|
457
|
+
- Use upstream @raw_choices from phlexi-form 0.14.2
|
|
381
458
|
|
|
382
|
-
- *(form)* Use upstream @raw_choices from phlexi-form 0.14.2
|
|
383
459
|
## [0.44.0] - 2026-03-30
|
|
384
460
|
|
|
385
|
-
###
|
|
461
|
+
### Bug Fixes
|
|
386
462
|
|
|
387
|
-
-
|
|
388
|
-
- *(generators)* Add pu:saas:welcome generator for post-login onboarding
|
|
389
|
-
- *(generators)* Extend pu:saas:setup with portal, welcome, invites, and profile
|
|
463
|
+
- Lazy-load sequel to avoid requiring it when Rodauth is unused
|
|
390
464
|
|
|
391
|
-
###
|
|
465
|
+
### Features
|
|
392
466
|
|
|
393
|
-
-
|
|
467
|
+
- Support singular parent resources and entity scoping in nested URL generation
|
|
468
|
+
- Add pu:saas:welcome generator for post-login onboarding
|
|
469
|
+
- Extend pu:saas:setup with portal, welcome, invites, and profile
|
|
394
470
|
|
|
395
|
-
###
|
|
471
|
+
### Refactoring
|
|
396
472
|
|
|
397
473
|
- Upgrade pagy from v9 to v43
|
|
398
|
-
-
|
|
399
|
-
-
|
|
400
|
-
-
|
|
401
|
-
-
|
|
402
|
-
## [0.43.2] - 2026-03-13
|
|
403
|
-
|
|
404
|
-
### 🐛 Bug Fixes
|
|
474
|
+
- Improve SaaS generators and shared concerns
|
|
475
|
+
- Improve welcome flow, idempotent routes, and skip action
|
|
476
|
+
- Add non-interactive prompt, improve build tooling and association resolver
|
|
477
|
+
- Restructure dummy app with catalog, multi-portal architecture
|
|
405
478
|
|
|
406
|
-
|
|
479
|
+
## [0.43.2] - 2026-03-13
|
|
407
480
|
|
|
408
|
-
###
|
|
481
|
+
### Bug Fixes
|
|
409
482
|
|
|
410
|
-
-
|
|
411
|
-
- *(invites)* Use Rodauth module include and remove dead code
|
|
483
|
+
- Use enum name for status and correct interaction base class
|
|
412
484
|
|
|
413
|
-
###
|
|
485
|
+
### Miscellaneous Tasks
|
|
414
486
|
|
|
415
|
-
-
|
|
487
|
+
- Fix generator assertions and remove dead code
|
|
416
488
|
- Remove trailing blank line in model_generator_base
|
|
417
489
|
- Update Ruby to 3.4 and refresh dependencies
|
|
418
|
-
## [0.43.1] - 2026-03-09
|
|
419
490
|
|
|
420
|
-
###
|
|
491
|
+
### Refactoring
|
|
421
492
|
|
|
422
|
-
-
|
|
423
|
-
-
|
|
424
|
-
## [0.43.0] - 2026-03-05
|
|
493
|
+
- Extract current_policy_context to base authorizable
|
|
494
|
+
- Use Rodauth module include and remove dead code
|
|
425
495
|
|
|
426
|
-
|
|
496
|
+
## [0.43.1] - 2026-03-09
|
|
427
497
|
|
|
428
|
-
|
|
429
|
-
- *(forms)* Make submit_and_continue button configurable
|
|
430
|
-
- *(generators)* Add package destination and namespace handling to invites
|
|
431
|
-
- *(controller)* Auto-detect entity association by class
|
|
432
|
-
- *(generators)* Add profile generators for user settings pages
|
|
433
|
-
- *(auth)* Add profile_url helper method to rodauth module
|
|
498
|
+
### Bug Fixes
|
|
434
499
|
|
|
435
|
-
|
|
500
|
+
- Fix scope comparison and clean up scopes bar component
|
|
501
|
+
- Auto-run npm login instead of aborting on missing auth
|
|
436
502
|
|
|
437
|
-
|
|
438
|
-
- *(routing)* Handle singular resources and entity scoping correctly
|
|
439
|
-
- *(generators)* Improve robustness and package support
|
|
440
|
-
- *(resource)* Handle class reloading in associated_with scope
|
|
441
|
-
- *(ui)* Show profile link in user menu only when profile_url defined
|
|
442
|
-
- *(generators)* Fix invites templates and null attribute handling
|
|
503
|
+
## [0.43.0] - 2026-03-05
|
|
443
504
|
|
|
444
|
-
###
|
|
505
|
+
### Bug Fixes
|
|
445
506
|
|
|
446
|
-
-
|
|
507
|
+
- Support custom primary keys and optional timestamps
|
|
508
|
+
- Handle singular resources and entity scoping correctly
|
|
509
|
+
- Improve robustness and package support
|
|
510
|
+
- Handle class reloading in associated_with scope
|
|
511
|
+
- Show profile link in user menu only when profile_url defined
|
|
512
|
+
- Fix invites templates and null attribute handling
|
|
447
513
|
|
|
448
|
-
###
|
|
514
|
+
### Documentation
|
|
449
515
|
|
|
450
516
|
- Add profile guide and update skill documentation
|
|
451
517
|
|
|
452
|
-
###
|
|
518
|
+
### Features
|
|
453
519
|
|
|
454
|
-
- Add
|
|
455
|
-
-
|
|
520
|
+
- Add TypeSpec API specification generator
|
|
521
|
+
- Make submit_and_continue button configurable
|
|
522
|
+
- Add package destination and namespace handling to invites
|
|
523
|
+
- Auto-detect entity association by class
|
|
524
|
+
- Add profile generators for user settings pages
|
|
525
|
+
- Add profile_url helper method to rodauth module
|
|
456
526
|
|
|
457
|
-
###
|
|
527
|
+
### Miscellaneous Tasks
|
|
458
528
|
|
|
459
529
|
- Add profile_url stub to controller template and test fixtures
|
|
460
|
-
## [0.42.0] - 2026-02-14
|
|
461
530
|
|
|
462
|
-
###
|
|
531
|
+
### Refactoring
|
|
532
|
+
|
|
533
|
+
- Extract breadcrumb rendering methods and add tests
|
|
463
534
|
|
|
464
|
-
|
|
465
|
-
- *(interaction)* Add turbo stream support to render response
|
|
466
|
-
- *(interaction)* Add scoping concern for entity/parent access
|
|
467
|
-
- *(generators)* Enhance rodauth generators
|
|
468
|
-
- *(generators)* Add API client generator for SaaS apps
|
|
535
|
+
### Testing
|
|
469
536
|
|
|
470
|
-
|
|
537
|
+
- Add OrgPortal fixture for entity scoping tests
|
|
538
|
+
- Add tests for routing, authorization, and display helpers
|
|
471
539
|
|
|
472
|
-
|
|
540
|
+
## [0.42.0] - 2026-02-14
|
|
473
541
|
|
|
474
|
-
###
|
|
542
|
+
### Documentation
|
|
475
543
|
|
|
476
544
|
- Update generator documentation and improve saas generators
|
|
477
545
|
|
|
478
|
-
###
|
|
546
|
+
### Features
|
|
479
547
|
|
|
480
|
-
- Add
|
|
548
|
+
- Add clipboard controller and fix modal scroll lock
|
|
549
|
+
- Add turbo stream support to render response
|
|
550
|
+
- Add scoping concern for entity/parent access
|
|
551
|
+
- Enhance rodauth generators
|
|
552
|
+
- Add API client generator for SaaS apps
|
|
481
553
|
|
|
482
|
-
###
|
|
554
|
+
### Miscellaneous Tasks
|
|
483
555
|
|
|
484
556
|
- Update gemfile locks
|
|
557
|
+
|
|
558
|
+
### Refactoring
|
|
559
|
+
|
|
560
|
+
- Consolidate generator test cleanup with git restore
|
|
561
|
+
|
|
562
|
+
### Testing
|
|
563
|
+
|
|
564
|
+
- Add unit tests for api client and response concerns
|
|
565
|
+
|
|
485
566
|
## [0.41.1] - 2026-02-09
|
|
486
567
|
|
|
487
|
-
###
|
|
568
|
+
### Features
|
|
569
|
+
|
|
570
|
+
- Support JSON default values for jsonb fields
|
|
488
571
|
|
|
489
|
-
- *(generators)* Support JSON default values for jsonb fields
|
|
490
572
|
## [0.41.0] - 2026-02-09
|
|
491
573
|
|
|
492
|
-
###
|
|
574
|
+
### Bug Fixes
|
|
493
575
|
|
|
494
|
-
-
|
|
495
|
-
-
|
|
496
|
-
-
|
|
576
|
+
- Fix has_many association injection pattern
|
|
577
|
+
- Add missing scripts to package.json in assets generator
|
|
578
|
+
- Remove primary account support for rodauth
|
|
579
|
+
- Use top-level Gem::Version to avoid namespace collision
|
|
580
|
+
- Check resource registration before generating association add URL
|
|
497
581
|
|
|
498
|
-
###
|
|
582
|
+
### Documentation
|
|
583
|
+
|
|
584
|
+
- Add class_name option and associations section to generator docs
|
|
499
585
|
|
|
500
|
-
|
|
501
|
-
- *(generators)* Add missing scripts to package.json in assets generator
|
|
502
|
-
- *(generators)* Remove primary account support for rodauth
|
|
503
|
-
- *(generators)* Use top-level Gem::Version to avoid namespace collision
|
|
504
|
-
- *(ui)* Check resource registration before generating association add URL
|
|
586
|
+
### Features
|
|
505
587
|
|
|
506
|
-
|
|
588
|
+
- Add default value support and improve SQLite compatibility
|
|
589
|
+
- Add class_name option for belongs_to fields
|
|
590
|
+
- Add --policy and --definition flags to conn generator
|
|
507
591
|
|
|
508
|
-
|
|
592
|
+
### Testing
|
|
509
593
|
|
|
510
|
-
|
|
594
|
+
- Add tests for named rodauth account configuration
|
|
595
|
+
- Move type alias tests to core and test actual migrations
|
|
511
596
|
|
|
512
|
-
- *(generators)* Add tests for named rodauth account configuration
|
|
513
|
-
- *(sqlite)* Move type alias tests to core and test actual migrations
|
|
514
597
|
## [0.40.0] - 2026-02-04
|
|
515
598
|
|
|
516
|
-
###
|
|
599
|
+
### Bug Fixes
|
|
517
600
|
|
|
518
|
-
-
|
|
519
|
-
-
|
|
520
|
-
-
|
|
521
|
-
-
|
|
522
|
-
-
|
|
523
|
-
-
|
|
524
|
-
-
|
|
601
|
+
- Scope load_memory to account-specific paths
|
|
602
|
+
- Resolve Thor invoke caching in entity generator
|
|
603
|
+
- Use dynamic migration versioning for Rails compatibility
|
|
604
|
+
- Wrap SQLite alias in defined? check for compatibility
|
|
605
|
+
- Add variants to product policy permitted attributes
|
|
606
|
+
- Improve has_one url assertion in resource_url_for test
|
|
607
|
+
- Normalize CamelCase package names and validate resource records
|
|
608
|
+
- Dedupe namespace and read model attrs with --no-model
|
|
609
|
+
- Use local gem path when LOCAL=1
|
|
610
|
+
- Guard against envs gems during template execution
|
|
611
|
+
- Run db:prepare after config in lite generators
|
|
612
|
+
- Restore ResourceController to portal generator
|
|
525
613
|
|
|
526
|
-
###
|
|
614
|
+
### Documentation
|
|
527
615
|
|
|
528
|
-
-
|
|
529
|
-
-
|
|
530
|
-
- *(test)* Use dynamic migration versioning for Rails compatibility
|
|
531
|
-
- *(config)* Wrap SQLite alias in defined? check for compatibility
|
|
532
|
-
- *(test)* Add variants to product policy permitted attributes
|
|
533
|
-
- *(test)* Improve has_one url assertion in resource_url_for test
|
|
534
|
-
- *(generators)* Normalize CamelCase package names and validate resource records
|
|
535
|
-
- *(generators)* Dedupe namespace and read model attrs with --no-model
|
|
536
|
-
- *(templates)* Use local gem path when LOCAL=1
|
|
537
|
-
- *(generators)* Guard against envs gems during template execution
|
|
538
|
-
- *(generators)* Run db:prepare after config in lite generators
|
|
539
|
-
- *(generators)* Restore ResourceController to portal generator
|
|
616
|
+
- Add invites skill and update rodauth skill
|
|
617
|
+
- Add user invites guide
|
|
540
618
|
|
|
541
|
-
###
|
|
619
|
+
### Features
|
|
542
620
|
|
|
543
|
-
-
|
|
621
|
+
- Add user invitation system for multi-tenant apps
|
|
622
|
+
- Add roles and extra_attributes options to rodauth generators
|
|
623
|
+
- Add --scope flag to portal generator for entity scoping
|
|
624
|
+
- Add --singular flag to pu:res:conn for singular resources
|
|
625
|
+
- Add pu:lite namespace for SQLite-based services
|
|
626
|
+
- Add pu:saas namespace for multi-tenant SaaS setup
|
|
627
|
+
- Add default_scope method for setting default query scope
|
|
544
628
|
|
|
545
|
-
###
|
|
629
|
+
### Miscellaneous Tasks
|
|
546
630
|
|
|
547
|
-
-
|
|
548
|
-
-
|
|
631
|
+
- Update gemfile locks
|
|
632
|
+
- Remove old assets
|
|
549
633
|
|
|
550
|
-
###
|
|
634
|
+
### Refactoring
|
|
551
635
|
|
|
552
|
-
-
|
|
636
|
+
- Comment out default policy methods
|
|
553
637
|
|
|
554
|
-
###
|
|
638
|
+
### Testing
|
|
639
|
+
|
|
640
|
+
- Add tests for rodauth and invites generators
|
|
555
641
|
|
|
556
|
-
- Remove old assets
|
|
557
642
|
## [0.39.2] - 2026-01-27
|
|
558
643
|
|
|
559
|
-
###
|
|
644
|
+
### Bug Fixes
|
|
560
645
|
|
|
561
646
|
- Handle create and update nested routes
|
|
562
|
-
## [0.39.1] - 2026-01-26
|
|
563
647
|
|
|
564
|
-
|
|
648
|
+
## [0.39.1] - 2026-01-26
|
|
565
649
|
|
|
566
|
-
|
|
567
|
-
## [0.39.0] - 2026-01-26
|
|
650
|
+
### Bug Fixes
|
|
568
651
|
|
|
569
|
-
|
|
652
|
+
- Include ImageTag helper for AssetsHelper compatibility
|
|
570
653
|
|
|
571
|
-
|
|
572
|
-
- *(interactive_actions)* Add non-HTML response handlers for successful actions
|
|
573
|
-
- *(routing)* Add has_one nested resource support
|
|
574
|
-
- *(routing)* [**breaking**] Refactor nested resource URL generation with named route helpers
|
|
575
|
-
- *(policy)* Add default_relation_scope method with verification
|
|
576
|
-
- *(nested)* Use association names for nested resource titles and breadcrumbs
|
|
654
|
+
## [0.39.0] - 2026-01-26
|
|
577
655
|
|
|
578
|
-
###
|
|
656
|
+
### Bug Fixes
|
|
579
657
|
|
|
580
658
|
- Remove duplicate kv store controller and move improvements into original
|
|
581
|
-
-
|
|
582
|
-
-
|
|
583
|
-
-
|
|
584
|
-
-
|
|
585
|
-
-
|
|
586
|
-
-
|
|
587
|
-
-
|
|
588
|
-
-
|
|
589
|
-
-
|
|
590
|
-
-
|
|
591
|
-
|
|
592
|
-
###
|
|
593
|
-
|
|
594
|
-
-
|
|
659
|
+
- Improve association filter class resolution
|
|
660
|
+
- Improve dropdown positioning with viewport boundary
|
|
661
|
+
- Dynamically detect database adapter for Rodauth ([#51](https://github.com/radioactive-labs/plutonium-core/issues/51))
|
|
662
|
+
- Use correct action attributes for form re-rendering on errors
|
|
663
|
+
- Distinguish empty vs not-submitted key-value store fields
|
|
664
|
+
- Use existing record context for form param extraction
|
|
665
|
+
- Prevent UrlGenerationError when extracting params for nested resource update
|
|
666
|
+
- Correct URL generation for interactive actions on nested resources
|
|
667
|
+
- Replace deprecated phlex-rails `helpers` method with `view_context`
|
|
668
|
+
- Add named routes for commit actions and document route naming requirement
|
|
669
|
+
|
|
670
|
+
### Documentation
|
|
671
|
+
|
|
672
|
+
- Document formatter option for columns and displays
|
|
595
673
|
- Cleanup review definition
|
|
596
674
|
- Add troubleshooting guide for inflection issue
|
|
597
675
|
- Update nested resource routes to use nested_ prefix
|
|
598
676
|
|
|
599
|
-
###
|
|
677
|
+
### Features
|
|
600
678
|
|
|
601
|
-
-
|
|
679
|
+
- Handle ActionPolicy::Unauthorized for non-HTML formats
|
|
680
|
+
- Add non-HTML response handlers for successful actions
|
|
681
|
+
- Add has_one nested resource support
|
|
682
|
+
- [**breaking**] Refactor nested resource URL generation with named route helpers
|
|
683
|
+
- Add default_relation_scope method with verification
|
|
684
|
+
- Use association names for nested resource titles and breadcrumbs
|
|
602
685
|
|
|
603
|
-
###
|
|
686
|
+
### Miscellaneous Tasks
|
|
604
687
|
|
|
605
688
|
- Use chokidar to fix dev build cyclic dependency issues
|
|
606
689
|
- Warn when running tests without Appraisal
|
|
607
690
|
- Switch to yarn
|
|
608
691
|
- Update og image
|
|
692
|
+
|
|
693
|
+
### Testing
|
|
694
|
+
|
|
695
|
+
- Refactor tests to use real module implementations instead of mocks
|
|
696
|
+
|
|
609
697
|
## [0.37.0] - 2026-01-21
|
|
610
698
|
|
|
611
|
-
###
|
|
699
|
+
### Features
|
|
612
700
|
|
|
613
|
-
-
|
|
701
|
+
- Add textarea auto-grow functionality
|
|
614
702
|
|
|
615
|
-
###
|
|
703
|
+
### Refactoring
|
|
616
704
|
|
|
617
|
-
-
|
|
618
|
-
## [0.36.0] - 2026-01-21
|
|
705
|
+
- Migrate slim-select styles to design tokens
|
|
619
706
|
|
|
620
|
-
|
|
707
|
+
## [0.36.0] - 2026-01-21
|
|
621
708
|
|
|
622
|
-
|
|
623
|
-
## [0.35.0] - 2026-01-20
|
|
709
|
+
### Features
|
|
624
710
|
|
|
625
|
-
|
|
711
|
+
- Add pu:core:update to sync gem and npm versions
|
|
626
712
|
|
|
627
|
-
|
|
628
|
-
- Implement bulk actions for resource tables
|
|
629
|
-
- Modernize UI with design token system and component classes
|
|
630
|
-
- Add actions dropdown for secondary and danger actions
|
|
631
|
-
- Add form input type aliases for explicit field type declarations
|
|
632
|
-
- Add built-in filter types with dropdown filter panel UI
|
|
633
|
-
- *(display)* Add boolean and color components with type aliases
|
|
634
|
-
- *(filters)* Add clear all button with filter-panel controller
|
|
713
|
+
## [0.35.0] - 2026-01-20
|
|
635
714
|
|
|
636
|
-
###
|
|
715
|
+
### Bug Fixes
|
|
637
716
|
|
|
638
717
|
- Use turbo stream redirect action instead of HTTP 302 for form submissions
|
|
639
718
|
- Exclude turbo_stream format from URL preservation
|
|
640
719
|
- Improve table container scroll and telephone input padding
|
|
641
720
|
- Pass unwrapped record into custom column blocks
|
|
642
|
-
-
|
|
643
|
-
|
|
644
|
-
### 🚜 Refactor
|
|
645
|
-
|
|
646
|
-
- Remove ResourceController from portal generator
|
|
647
|
-
- Rename skills with plutonium- prefix to avoid conflicts
|
|
648
|
-
- Simplify dashboard templates with design system classes
|
|
649
|
-
- *(ui)* Update auth pages with new design tokens
|
|
721
|
+
- Prevent h2 text cutoff in VitePress docs
|
|
650
722
|
|
|
651
|
-
###
|
|
723
|
+
### Documentation
|
|
652
724
|
|
|
653
725
|
- Improve interaction docs
|
|
654
726
|
- Overhaul README, CONTRIBUTING, and add CLAUDE.md for development
|
|
@@ -666,156 +738,194 @@
|
|
|
666
738
|
- Document authorization methods
|
|
667
739
|
- Add skills for themeing specifically
|
|
668
740
|
|
|
669
|
-
###
|
|
741
|
+
### Features
|
|
742
|
+
|
|
743
|
+
- Add demo_features package and demo_portal for testing
|
|
744
|
+
- Implement bulk actions for resource tables
|
|
745
|
+
- Modernize UI with design token system and component classes
|
|
746
|
+
- Add actions dropdown for secondary and danger actions
|
|
747
|
+
- Add form input type aliases for explicit field type declarations
|
|
748
|
+
- Add built-in filter types with dropdown filter panel UI
|
|
749
|
+
- Add boolean and color components with type aliases
|
|
750
|
+
- Add clear all button with filter-panel controller
|
|
751
|
+
|
|
752
|
+
### Miscellaneous Tasks
|
|
670
753
|
|
|
671
754
|
- Optimize og graph title and images
|
|
672
755
|
- Realign marketing material
|
|
673
756
|
- Add seeds for demo models and fix foreign keys
|
|
674
757
|
- Standardrb
|
|
675
|
-
## [0.34.1] - 2026-01-18
|
|
676
758
|
|
|
677
|
-
###
|
|
759
|
+
### Refactoring
|
|
678
760
|
|
|
679
|
-
-
|
|
680
|
-
-
|
|
681
|
-
|
|
761
|
+
- Remove ResourceController from portal generator
|
|
762
|
+
- Rename skills with plutonium- prefix to avoid conflicts
|
|
763
|
+
- Simplify dashboard templates with design system classes
|
|
764
|
+
- Update auth pages with new design tokens
|
|
682
765
|
|
|
683
|
-
|
|
766
|
+
## [0.34.1] - 2026-01-18
|
|
684
767
|
|
|
685
|
-
|
|
686
|
-
- *(generators)* Add pu:skills:sync to install Claude Code skills
|
|
687
|
-
- *(query)* Execute adhoc blocks in controller context
|
|
688
|
-
- *(railtie)* Map ActionPolicy::Unauthorized to 403 Forbidden
|
|
689
|
-
- *(query)* Add default scope support for resource queries
|
|
768
|
+
### Bug Fixes
|
|
690
769
|
|
|
691
|
-
|
|
770
|
+
- Check npm auth early in release workflow
|
|
771
|
+
- Correct generator flags to use --dest instead of --portal/--package
|
|
772
|
+
|
|
773
|
+
## [0.34.0] - 2026-01-18
|
|
692
774
|
|
|
693
|
-
|
|
694
|
-
- *(generators)* Support nullable syntax with type options
|
|
695
|
-
- *(generators)* Prevent overwriting existing url_options configuration
|
|
696
|
-
- *(generators)* Normalize reference names before comparing namespaces
|
|
697
|
-
- *(package)* Include engine migrations in programmatic migration paths
|
|
698
|
-
- *(release)* Handle missing version tag in next_version task
|
|
775
|
+
### Bug Fixes
|
|
699
776
|
|
|
700
|
-
|
|
777
|
+
- Handle turbo_stream format in CRUD and interactive actions
|
|
778
|
+
- Support nullable syntax with type options
|
|
779
|
+
- Prevent overwriting existing url_options configuration
|
|
780
|
+
- Normalize reference names before comparing namespaces
|
|
781
|
+
- Include engine migrations in programmatic migration paths
|
|
782
|
+
- Handle missing version tag in next_version task
|
|
783
|
+
|
|
784
|
+
### Documentation
|
|
701
785
|
|
|
702
786
|
- Add Claude Code skills and improve generator documentation
|
|
703
787
|
- Add definition skills and update module documentation
|
|
704
788
|
- Add comprehensive Claude Code skills for resources
|
|
705
789
|
- Add package and portal skills
|
|
706
790
|
- Add interaction skill for business logic actions
|
|
707
|
-
-
|
|
791
|
+
- Add new Claude Code skills and enhance existing ones
|
|
708
792
|
|
|
709
|
-
###
|
|
793
|
+
### Features
|
|
710
794
|
|
|
711
|
-
-
|
|
795
|
+
- Configure default_url_options via RAILS_DEFAULT_URL env var
|
|
796
|
+
- Add pu:skills:sync to install Claude Code skills
|
|
797
|
+
- Execute adhoc blocks in controller context
|
|
798
|
+
- Map ActionPolicy::Unauthorized to 403 Forbidden
|
|
799
|
+
- Add default scope support for resource queries
|
|
712
800
|
|
|
713
|
-
###
|
|
801
|
+
### Miscellaneous Tasks
|
|
714
802
|
|
|
715
803
|
- Overhaul documentation structure and test infrastructure
|
|
716
804
|
- Move brakeman config to config/ and update ignore list
|
|
805
|
+
|
|
806
|
+
### Styling
|
|
807
|
+
|
|
808
|
+
- Standardrb linting
|
|
809
|
+
|
|
717
810
|
## [0.33.0] - 2026-01-12
|
|
718
811
|
|
|
719
|
-
###
|
|
812
|
+
### Revert
|
|
813
|
+
|
|
814
|
+
- Remove semantic design token system
|
|
720
815
|
|
|
721
|
-
- *(ui)* Remove semantic design token system
|
|
722
816
|
## [0.32.0] - 2026-01-12
|
|
723
817
|
|
|
724
|
-
###
|
|
818
|
+
### Bug Fixes
|
|
819
|
+
|
|
820
|
+
- Move fontFamily to theme root level
|
|
725
821
|
|
|
726
|
-
- *(ui)* Move fontFamily to theme root level
|
|
727
822
|
## [0.31.0] - 2026-01-12
|
|
728
823
|
|
|
729
|
-
###
|
|
824
|
+
### Bug Fixes
|
|
730
825
|
|
|
731
|
-
-
|
|
732
|
-
-
|
|
733
|
-
- *(ui)* Add semantic design token system for theming
|
|
826
|
+
- Preserve request format in redirects
|
|
827
|
+
- Reset policy cache before rendering create response for api calls
|
|
734
828
|
|
|
735
|
-
###
|
|
829
|
+
### Features
|
|
736
830
|
|
|
737
|
-
-
|
|
738
|
-
-
|
|
831
|
+
- Add cross-tab color mode synchronization
|
|
832
|
+
- Add npm package publishing support
|
|
833
|
+
- Add semantic design token system for theming
|
|
739
834
|
|
|
740
|
-
###
|
|
741
|
-
|
|
742
|
-
- *(release)* Build assets during prepare phase
|
|
743
|
-
## [0.28.0] - 2025-11-12
|
|
835
|
+
### Miscellaneous Tasks
|
|
744
836
|
|
|
745
|
-
|
|
837
|
+
- Build assets during prepare phase
|
|
746
838
|
|
|
747
|
-
|
|
839
|
+
## [0.28.0] - 2025-11-12
|
|
748
840
|
|
|
749
|
-
###
|
|
841
|
+
### Bug Fixes
|
|
750
842
|
|
|
751
843
|
- Make controller_for inheritable and respect custom inflections
|
|
752
|
-
## [0.27.0] - 2025-11-05
|
|
753
844
|
|
|
754
|
-
###
|
|
845
|
+
### Features
|
|
755
846
|
|
|
756
|
-
- Add
|
|
847
|
+
- Add sgid support and improve association serialization in API
|
|
757
848
|
|
|
758
|
-
|
|
849
|
+
## [0.27.0] - 2025-11-05
|
|
850
|
+
|
|
851
|
+
### Bug Fixes
|
|
759
852
|
|
|
760
853
|
- Reload version constant in release:publish task
|
|
761
854
|
|
|
762
|
-
###
|
|
855
|
+
### Documentation
|
|
763
856
|
|
|
764
857
|
- Setup contribution guidelines using Conventional Commits
|
|
858
|
+
|
|
859
|
+
### Features
|
|
860
|
+
|
|
861
|
+
- Add field-level options support for input/display/column definitions
|
|
862
|
+
|
|
765
863
|
## [0.26.9] - 2025-09-25
|
|
766
864
|
|
|
767
|
-
###
|
|
865
|
+
### Features
|
|
768
866
|
|
|
769
867
|
- Disable csrf protection if authorization header is set
|
|
868
|
+
|
|
770
869
|
## [0.26.8] - 2025-08-11
|
|
771
870
|
|
|
772
|
-
###
|
|
871
|
+
### Bug Fixes
|
|
872
|
+
|
|
873
|
+
- Prevent SQLite adapter error when using non-SQLite databases ([#42](https://github.com/radioactive-labs/plutonium-core/issues/42))
|
|
874
|
+
- Fix STI model routing logic in controller ([#43](https://github.com/radioactive-labs/plutonium-core/issues/43))
|
|
773
875
|
|
|
774
|
-
- Prevent SQLite adapter error when using non-SQLite databases (#42)
|
|
775
|
-
- Fix STI model routing logic in controller (#43)
|
|
776
876
|
## [0.26.6] - 2025-08-03
|
|
777
877
|
|
|
778
|
-
###
|
|
878
|
+
### Refactoring
|
|
879
|
+
|
|
880
|
+
- Enhance color mode selector and integrate into header layout ([#41](https://github.com/radioactive-labs/plutonium-core/issues/41))
|
|
779
881
|
|
|
780
|
-
- Enhance color mode selector and integrate into header layout (#41)
|
|
781
882
|
## [0.26.2] - 2025-07-22
|
|
782
883
|
|
|
783
|
-
###
|
|
884
|
+
### Bug Fixes
|
|
885
|
+
|
|
886
|
+
- Handle redirect after interaction submission ([#37](https://github.com/radioactive-labs/plutonium-core/issues/37))
|
|
887
|
+
- Enhance flatpickr to attach to modals correctly ([#35](https://github.com/radioactive-labs/plutonium-core/issues/35))
|
|
784
888
|
|
|
785
|
-
- Handle redirect after interaction submission (#37)
|
|
786
|
-
- Enhance flatpickr to attach to modals correctly (#35)
|
|
787
889
|
## [0.23.2] - 2025-05-27
|
|
788
890
|
|
|
789
|
-
###
|
|
891
|
+
### Refactoring
|
|
892
|
+
|
|
893
|
+
- Update EasyMDE styles ([#33](https://github.com/radioactive-labs/plutonium-core/issues/33))
|
|
790
894
|
|
|
791
|
-
- Update EasyMDE styles (#33)
|
|
792
895
|
## [0.23.1] - 2025-05-27
|
|
793
896
|
|
|
794
|
-
###
|
|
897
|
+
### Bug Fixes
|
|
898
|
+
|
|
899
|
+
- Hide password visibility checkbox when not needed ([#32](https://github.com/radioactive-labs/plutonium-core/issues/32))
|
|
795
900
|
|
|
796
|
-
- Hide password visibility checkbox when not needed (#32)
|
|
797
901
|
## [0.21.1] - 2025-04-27
|
|
798
902
|
|
|
799
|
-
###
|
|
903
|
+
### Features
|
|
904
|
+
|
|
905
|
+
- Preserve whitespace in hints to allow some formatting ([#25](https://github.com/radioactive-labs/plutonium-core/issues/25))
|
|
800
906
|
|
|
801
|
-
|
|
907
|
+
### Refactoring
|
|
802
908
|
|
|
803
|
-
|
|
909
|
+
- Fix join condition for `has_one` and `has_many` associations ([#23](https://github.com/radioactive-labs/plutonium-core/issues/23))
|
|
804
910
|
|
|
805
|
-
- Fix join condition for `has_one` and `has_many` associations (#23)
|
|
806
911
|
## [0.21.0] - 2025-04-01
|
|
807
912
|
|
|
808
|
-
###
|
|
913
|
+
### Features
|
|
914
|
+
|
|
915
|
+
- Add cleaner cards for resources on the dashboard index page ([#22](https://github.com/radioactive-labs/plutonium-core/issues/22))
|
|
809
916
|
|
|
810
|
-
- Add cleaner cards for resources on the dashboard index page (#22)
|
|
811
917
|
## [0.20.4] - 2025-03-15
|
|
812
918
|
|
|
813
|
-
###
|
|
919
|
+
### Bug Fixes
|
|
920
|
+
|
|
921
|
+
- Fix Tailwind CSS v4 upgrade issue for existing projects ([#18](https://github.com/radioactive-labs/plutonium-core/issues/18))
|
|
814
922
|
|
|
815
|
-
- Fix Tailwind CSS v4 upgrade issue for existing projects (#18)
|
|
816
923
|
## [0.19.13] - 2025-03-02
|
|
817
924
|
|
|
818
|
-
###
|
|
925
|
+
### Features
|
|
926
|
+
|
|
927
|
+
- Add password visibility toggle to sign up and login forms ([#17](https://github.com/radioactive-labs/plutonium-core/issues/17))
|
|
819
928
|
|
|
820
|
-
- Add password visibility toggle to sign up and login forms (#17)
|
|
821
929
|
## [0.6.2] - 2024-02-21
|
|
930
|
+
|
|
931
|
+
<!-- generated by git-cliff -->
|