@inceptionstack/roundhouse 0.5.14 → 0.5.15

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  All notable changes to `@inceptionstack/roundhouse` are documented here.
4
4
 
5
+ ## [0.5.14] — 2026-05-10
6
+
7
+ ### Added
8
+ - **"What's New" notification** — after `/update` + restart, startup message shows changelog highlights from the new version
9
+ - Command dispatch registry — cleaner gateway routing (−13 lines)
10
+ - Status helpers extracted (`formatUptime`, `checkAvailableUpdate`)
11
+
12
+ ### Fixed
13
+ - COMMAND_REGISTRY type safety (`CommandContext` not `any`)
14
+ - CHANGELOG.md now included in published npm package
15
+
16
+ ## [0.5.13] — 2026-05-10
17
+
18
+ ### Added
19
+ - **soul.md + user.md persona injection** — agent identity + user context, auto-reloads on file change
20
+ - tools.md now hints agent to check `~/.roundhouse/workspace/later.md`
21
+
22
+ ### Fixed
23
+ - XML injection: escape `</persona>` in user-supplied persona files
24
+ - `mkdirSync` before `writeSettings` (fixes fresh-install crash)
25
+ - mtime check uses `!==` instead of `>` (catches deletions)
26
+ - `/later@BotName` suffix now stripped in group chats
27
+
28
+ ## [0.5.12] — 2026-05-10
29
+
30
+ ### Added
31
+ - **Inline keyboard for /model** — 8 frontier Bedrock models (2-column, 4-row layout)
32
+ - Models: Claude Opus 4.7, Opus 4.6, Sonnet 4.6, Haiku 4.5, DeepSeek R1, Llama 4, Nova Pro, Mistral Large
33
+
34
+ ## [0.5.11] — 2026-05-09
35
+
36
+ ### Added
37
+ - **/later command** — quick-capture ideas to `~/.roundhouse/workspace/later.md`
38
+
5
39
  ## [0.5.10] — 2026-05-09
6
40
 
7
41
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inceptionstack/roundhouse",
3
- "version": "0.5.14",
3
+ "version": "0.5.15",
4
4
  "type": "module",
5
5
  "description": "Multi-platform chat gateway that routes messages through a configured AI agent",
6
6
  "license": "MIT",
@@ -68,6 +68,14 @@ export async function handleUpdate(ctx: CommandContext): Promise<void> {
68
68
  await thread.post("⚠️ /update requires an allowlist to be configured.");
69
69
  return;
70
70
  }
71
+ // Seed .last-version with current version BEFORE update, so new code detects the change on restart
72
+ try {
73
+ const { ROUNDHOUSE_DIR, ROUNDHOUSE_VERSION } = await import("../config");
74
+ const { mkdirSync, writeFileSync } = await import("node:fs");
75
+ const { join } = await import("node:path");
76
+ mkdirSync(ROUNDHOUSE_DIR, { recursive: true });
77
+ writeFileSync(join(ROUNDHOUSE_DIR, ".last-version"), ROUNDHOUSE_VERSION + "\n");
78
+ } catch {}
71
79
  console.log(`[roundhouse] /update requested by @${authorName} in thread=${thread.id}`);
72
80
  const progress = await createProgressMessage(thread, "📦 Checking for updates...");
73
81
  try {
@@ -48,12 +48,11 @@ export function checkVersionChange(): string | null {
48
48
  // No change
49
49
  if (lastVersion === ROUNDHOUSE_VERSION) return null;
50
50
 
51
- // First run (no previous version)
52
- if (!lastVersion) return null;
53
-
54
- // Version changed — this is an update
51
+ // Version changed (or first run after feature was added) — show what's new
55
52
  const changelog = getLatestChangelog();
56
- const header = `🆕 Updated: v${lastVersion} → v${ROUNDHOUSE_VERSION}`;
53
+ const header = lastVersion
54
+ ? `🆕 Updated: v${lastVersion} → v${ROUNDHOUSE_VERSION}`
55
+ : `🆕 What's new in v${ROUNDHOUSE_VERSION}`;
57
56
  if (!changelog) return header;
58
57
  return `${header}\n\n${changelog}`;
59
58
  }