command_tower 0.11.0 → 0.11.1
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d495e295241fa7ac4f9179acc5fd2d4c47fcb8a0603dccdf5353ac08e7c98b28
|
|
4
|
+
data.tar.gz: 9d56364ffd4a79ad9bcabe07e2713a2613b2d43112039bc5f31db855f3baad2d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f605fe2a8117b8e5b6af32dc7c65df55c9400a33a5d50220f5a0c992efd74f28545a8fbfe8c293982f062f398dcc3b86aa552de12d1ec87f733e5a2d6435169e
|
|
7
|
+
data.tar.gz: 85072dd065a8589a239166286a2261a331a7cd9c59e0b0c7eb870e5bc60dcfdeb4d32df84671015a93d2edcd3a93592e7647210cf5f553c4a47a346abb214bdb
|
|
@@ -17,11 +17,13 @@ module CommandTower
|
|
|
17
17
|
validates :scope_class, inclusion: { in: SCOPE_CLASSES.values }
|
|
18
18
|
validates :originating_administrator_id, presence: true, if: :impersonation_active?
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
# Force JSON attribute types so writes are JSON.generate'd on every adapter.
|
|
21
|
+
# MySQL 8 already maps t.json → Type::Json (serialize is rejected). MariaDB
|
|
22
|
+
# often stores t.json as LONGTEXT + json_valid CHECK and would otherwise
|
|
23
|
+
# persist Hash#inspect — failing the CHECK (HTTP 500 on login_failed audit).
|
|
24
|
+
attribute :metadata, :json, default: -> { {} }
|
|
25
|
+
attribute :change_set, :json, default: -> { {} }
|
|
26
|
+
attribute :sensitive_fields, :json, default: -> { [] }
|
|
25
27
|
|
|
26
28
|
before_update :reject_mutation
|
|
27
29
|
before_destroy :reject_mutation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
class CreateCommandTowerAuditEvents < ActiveRecord::Migration[7.2]
|
|
4
4
|
def change
|
|
5
|
-
create_table :command_tower_audit_events
|
|
5
|
+
create_table :command_tower_audit_events do |t|
|
|
6
6
|
t.string :event_uuid, null: false
|
|
7
7
|
t.string :action, null: false
|
|
8
8
|
t.datetime :occurred_at, null: false
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Upgrade: CommandTower 0.11.1
|
|
2
|
+
|
|
3
|
+
**From:** `0.11.0`
|
|
4
|
+
**To:** `0.11.1`
|
|
5
|
+
|
|
6
|
+
Patch release for MariaDB-safe audit persistence and install migrations.
|
|
7
|
+
|
|
8
|
+
## Host-visible changes
|
|
9
|
+
|
|
10
|
+
| Change | Host impact |
|
|
11
|
+
|--------|-------------|
|
|
12
|
+
| `CommandTower::Audit::Event` JSON coding | `metadata`, `change_set`, and `sensitive_fields` declare `attribute :…, :json`. Forces JSON encoding on MySQL 8 and MariaDB (where `t.json` is often LONGTEXT + `json_valid` CHECK). Fixes HTTP 500 `ActiveRecord::CheckViolation` on failed-login audit writes. |
|
|
13
|
+
| Audit events migration collation | Engine migration no longer hardcodes MySQL 8–only `utf8mb4_0900_ai_ci`. Fresh installs / `command_tower:install:migrations` copies inherit the database default (e.g. `utf8mb4_unicode_ci` on MariaDB 10.11). |
|
|
14
|
+
|
|
15
|
+
## Host actions
|
|
16
|
+
|
|
17
|
+
1. Bump gem to `0.11.1` and deploy.
|
|
18
|
+
2. **No new migration** is required if `command_tower_audit_events` already exists.
|
|
19
|
+
3. Already-installed host copies of the audit migration that still contain `utf8mb4_0900_ai_ci` only matter for **new** databases; runtime login fix does not depend on re-running that migration.
|
|
20
|
+
4. Smoke: unknown-user `POST /auth/plain-text/login` should return auth failure (e.g. `invalid_credentials`), **not** `internal_error` / 500.
|
|
21
|
+
|
|
22
|
+
## Not in this release
|
|
23
|
+
|
|
24
|
+
- Jumbotron / host `t.json` columns outside CommandTower
|
|
25
|
+
- Altering charset/collation on already-created production audit tables
|
data/docs/upgrades/README.md
CHANGED
|
@@ -4,6 +4,7 @@ Host-facing upgrade / change summaries for CommandTower releases.
|
|
|
4
4
|
|
|
5
5
|
| Version | Summary |
|
|
6
6
|
|---------|---------|
|
|
7
|
+
| [0.11.1](0.11.1.md) | Audit Event `attribute :json` (MariaDB); audit migration without `utf8mb4_0900_ai_ci` |
|
|
7
8
|
| [0.11.0](0.11.0.md) | Execution context, audit ledger, Admin Workspace, principal capabilities, impersonation, Admin Users |
|
|
8
9
|
| [0.10.0](0.10.0.md) | Modern Auth/Me/Messaging platform; SchemaHelper removal; host RBAC required |
|
|
9
10
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: command_tower
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.11.
|
|
4
|
+
version: 0.11.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- matt-taylor
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: phonelib
|
|
@@ -759,6 +759,7 @@ files:
|
|
|
759
759
|
- docs/testing.md
|
|
760
760
|
- docs/upgrades/0.10.0.md
|
|
761
761
|
- docs/upgrades/0.11.0.md
|
|
762
|
+
- docs/upgrades/0.11.1.md
|
|
762
763
|
- docs/upgrades/README.md
|
|
763
764
|
- lib/command_tower.rb
|
|
764
765
|
- lib/command_tower/admin_scope.rb
|