diff --git a/UPGRADE.md b/UPGRADE.md index 3e99f81..019d47f 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -1,12 +1,14 @@ # Upgrading qbit-assistant -## 0.1.0-RC.1 to 0.1.0-RC.2: snake_case names +## 0.1.0-RC.1 to 0.1.0-RC.3: snake_case names -RC.2 applies the QRun-IO naming rule (owner decision, 2026-10-12): *"table names should always be lowercase and use _, and qbits should always be prefixed with their name"*. The QQQ table names, the owner security key type and the possible-value source change. Permissions do not. **This is a metadata-only change**: no table, column or index in your database changes, and no Liquibase or DDL step is needed. +The rename shipped in 0.1.0-RC.3. 0.1.0-RC.2 on Maven Central is an accidental republish of the RC.1 code (see CHANGELOG.md), so upgrading from RC.2 is the same as upgrading from RC.1. + +RC.3 applies the QRun-IO naming rule (owner decision, 2026-10-12): *"table names should always be lowercase and use _, and qbits should always be prefixed with their name"*. The QQQ table names, the owner security key type and the possible-value source change. Permissions do not. **This is a metadata-only change**: no table, column or index in your database changes, and no Liquibase or DDL step is needed. ### What changed -| Kind | RC.1 name | RC.2 name | +| Kind | RC.1 (and RC.2) name | RC.3 name | |---|---|---| | Table | `assistantConversation` | `assistant_conversation` | | Table | `assistantMessage` | `assistant_message` | @@ -84,10 +86,10 @@ QQQ stores table names, permission names and key names outside this qbit. Update 'assistantToolCall', 'assistantFeedback', 'assistantPolicy', 'assistantUsageDaily'); ``` - If a new-name row was already created (the app ran RC.2 before this update), repoint `audit.audit_table_id` from the old row to the new one first, then delete the old row. + If a new-name row was already created (the app ran RC.3 before this update), repoint `audit.audit_table_id` from the old row to the new one first, then delete the old row. 4. **Anything else that stores a table name**: frontend links or bookmarks to `/app/.../assistantConversation`, Quick Search index rows (`quick_search_index.table_name`; reindex instead of editing), ESB topics or reports you configured by table name. ### Order -Deploy RC.2 and run the statements above in the same maintenance window. Until the update runs, saved views and reports on the assistant tables do not open, and admins who get the all-access key from their own customizer only see their own rows. +Deploy RC.3 and run the statements above in the same maintenance window. Until the update runs, saved views and reports on the assistant tables do not open, and admins who get the all-access key from their own customizer only see their own rows. diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/AssistantQBitConfig.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/AssistantQBitConfig.java index e6abe75..78077dc 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/AssistantQBitConfig.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/AssistantQBitConfig.java @@ -56,9 +56,9 @@ public class AssistantQBitConfig implements QBitConfig public static final String DEFAULT_PROVIDER_NAME = "anthropic"; /******************************************************************************* - ** The owner key type used before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The owner key type used before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_DEFAULT_OWNER_KEY_TYPE = "assistantUserId"; private Boolean enabled = true; diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/metadata/AssistantMetaDataBuilder.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/metadata/AssistantMetaDataBuilder.java index 5bf6e3d..55e58e4 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/metadata/AssistantMetaDataBuilder.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/metadata/AssistantMetaDataBuilder.java @@ -78,10 +78,10 @@ public class AssistantMetaDataBuilder public static final String ALL_ACCESS_SUFFIX = "_all_access"; /******************************************************************************* - ** The all-access key suffix before 0.1.0-RC.2 (assistant_user_id_all_access). + ** The all-access key suffix before 0.1.0-RC.3 (assistant_user_id_all_access). ** See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_ALL_ACCESS_SUFFIX = "AllAccess"; private final AssistantQBitConfig config; diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantConversation.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantConversation.java index 22c2e7d..182d449 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantConversation.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantConversation.java @@ -33,9 +33,9 @@ public class AssistantConversation extends QRecordEntity public static final String TABLE_NAME = "assistant_conversation"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantConversation"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantFeedback.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantFeedback.java index ab8cf5a..38b930b 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantFeedback.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantFeedback.java @@ -33,9 +33,9 @@ public class AssistantFeedback extends QRecordEntity public static final String TABLE_NAME = "assistant_feedback"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantFeedback"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantMessage.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantMessage.java index e5f5d58..c4df63c 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantMessage.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantMessage.java @@ -34,9 +34,9 @@ public class AssistantMessage extends QRecordEntity public static final String TABLE_NAME = "assistant_message"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantMessage"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantPolicy.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantPolicy.java index 43d1c2f..7693e9a 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantPolicy.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantPolicy.java @@ -35,9 +35,9 @@ public class AssistantPolicy extends QRecordEntity public static final String TABLE_NAME = "assistant_policy"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantPolicy"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantToolCall.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantToolCall.java index ed665b0..b5750eb 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantToolCall.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantToolCall.java @@ -35,9 +35,9 @@ public class AssistantToolCall extends QRecordEntity public static final String TABLE_NAME = "assistant_tool_call"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantToolCall"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurn.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurn.java index 57ac68b..f9b6ff6 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurn.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurn.java @@ -33,9 +33,9 @@ public class AssistantTurn extends QRecordEntity public static final String TABLE_NAME = "assistant_turn"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantTurn"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurnEvent.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurnEvent.java index 786b8f4..dc98476 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurnEvent.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantTurnEvent.java @@ -33,9 +33,9 @@ public class AssistantTurnEvent extends QRecordEntity public static final String TABLE_NAME = "assistant_turn_event"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantTurnEvent"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantUsageDaily.java b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantUsageDaily.java index 88cbd82..2c00307 100644 --- a/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantUsageDaily.java +++ b/qbit-assistant/src/main/java/com/kingsrook/qbits/assistant/model/AssistantUsageDaily.java @@ -34,9 +34,9 @@ public class AssistantUsageDaily extends QRecordEntity public static final String TABLE_NAME = "assistant_usage_daily"; /******************************************************************************* - ** The table name before 0.1.0-RC.2 (camelCase). See UPGRADE.md. + ** The table name before 0.1.0-RC.3 (camelCase). See UPGRADE.md. *******************************************************************************/ - @Deprecated(since = "0.1.0-RC.2") + @Deprecated(since = "0.1.0-RC.3") public static final String LEGACY_TABLE_NAME = "assistantUsageDaily"; @QField(isEditable = false, isPrimaryKey = true) diff --git a/qbit-assistant/src/test/java/com/kingsrook/qbits/assistant/NamingTest.java b/qbit-assistant/src/test/java/com/kingsrook/qbits/assistant/NamingTest.java index 8eb764b..06db9e0 100644 --- a/qbit-assistant/src/test/java/com/kingsrook/qbits/assistant/NamingTest.java +++ b/qbit-assistant/src/test/java/com/kingsrook/qbits/assistant/NamingTest.java @@ -37,7 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat; /******************************************************************************* ** Owner naming rule (2026-10-12): table names are lowercase snake_case and ** prefixed with the qbit's name (assistant_). Pins the new names and the - ** deprecated pre-RC.2 names that UPGRADE.md tells hosts to migrate from. + ** deprecated pre-RC.3 names that UPGRADE.md tells hosts to migrate from. *******************************************************************************/ @SuppressWarnings("deprecation") class NamingTest extends BaseAssistantTest