@inetafrica/open-claudia 1.9.1 → 1.9.2

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 ADDED
@@ -0,0 +1,38 @@
1
+ # Changelog
2
+
3
+ ## v1.9.2
4
+ - Fix: show what's new after upgrade
5
+ - Startup message shows version
6
+
7
+ ## v1.9.1
8
+ - Fix: duplicate messages — progress message now edited instead of sending a second copy
9
+
10
+ ## v1.9.0
11
+ - Force password change on first web UI login
12
+ - Password complexity requirements (12+ chars, uppercase, lowercase, number, symbol)
13
+
14
+ ## v1.8.1
15
+ - Web UI accepts WEB_PASSWORD env var for managed deployments
16
+ - Config API whitelist (only safe keys editable)
17
+ - Stronger password entropy (32 chars)
18
+
19
+ ## v1.7.4
20
+ - Run as non-root user in Docker (Claude Code security requirement)
21
+ - Numeric UID 1001 for K8s compatibility
22
+
23
+ ## v1.6.0
24
+ - Agent mode: non-blocking side conversations while tasks run
25
+ - /mode command to switch between direct and agent modes
26
+
27
+ ## v1.5.0
28
+ - Robust message delivery with retry on replyTo failure
29
+ - Adaptive rate limiting (2s -> 5s) to avoid Telegram 429 errors
30
+ - Global error handling with Telegram notification on crash
31
+ - editMessage handles rate limits gracefully
32
+
33
+ ## v1.4.5
34
+ - Streaming progress with tool names and elapsed time
35
+ - Voice note transcription via whisper.cpp
36
+ - File and image handling
37
+ - Cron jobs for scheduled tasks
38
+ - Encrypted vault for credentials
package/bot-agent.js CHANGED
@@ -1018,10 +1018,23 @@ bot.onText(/\/upgrade$/, async (msg) => {
1018
1018
  cwd: process.env.HOME || require("os").homedir(),
1019
1019
  env: { ...process.env, PATH: FULL_PATH, HOME: process.env.HOME || require("os").homedir() },
1020
1020
  });
1021
- // Read version from newly installed package
1021
+ // Read version and changelog from newly installed package
1022
1022
  const root = execSync("npm root -g", { encoding: "utf-8", cwd: process.env.HOME || require("os").homedir(), env: { ...process.env, PATH: FULL_PATH } }).trim();
1023
1023
  const newPkg = JSON.parse(fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "package.json"), "utf-8"));
1024
- await send(`Installed v${newPkg.version}. Going offline to restart...`);
1024
+ let whatsNew = "";
1025
+ try {
1026
+ const changelog = fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "CHANGELOG.md"), "utf-8");
1027
+ const versionHeader = `## v${newPkg.version}`;
1028
+ const start = changelog.indexOf(versionHeader);
1029
+ if (start >= 0) {
1030
+ const afterHeader = changelog.slice(start + versionHeader.length);
1031
+ const nextVersion = afterHeader.indexOf("\n## ");
1032
+ const section = nextVersion >= 0 ? afterHeader.slice(0, nextVersion) : afterHeader;
1033
+ whatsNew = section.trim();
1034
+ }
1035
+ } catch (e) { /* no changelog */ }
1036
+ const msg = `Installed v${newPkg.version}.${whatsNew ? `\n\nWhat's new:\n${whatsNew}` : ""}\n\nGoing offline to restart...`;
1037
+ await send(msg);
1025
1038
  } catch (e) {
1026
1039
  const errOutput = (e.stdout || e.stderr || e.message || "").slice(-500);
1027
1040
  await send(`Upgrade failed:\n${errOutput}`);
package/bot.js CHANGED
@@ -1060,10 +1060,24 @@ bot.onText(/\/upgrade$/, async (msg) => {
1060
1060
  cwd: process.env.HOME || require("os").homedir(),
1061
1061
  env: { ...process.env, PATH: FULL_PATH, HOME: process.env.HOME || require("os").homedir() },
1062
1062
  });
1063
- // Read version from newly installed package
1063
+ // Read version and changelog from newly installed package
1064
1064
  const root = execSync("npm root -g", { encoding: "utf-8", cwd: process.env.HOME || require("os").homedir(), env: { ...process.env, PATH: FULL_PATH } }).trim();
1065
1065
  const newPkg = JSON.parse(fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "package.json"), "utf-8"));
1066
- await send(`Installed v${newPkg.version}. Going offline to restart...`);
1066
+ // Extract current version's changelog entry
1067
+ let whatsNew = "";
1068
+ try {
1069
+ const changelog = fs.readFileSync(path.join(root, "@inetafrica", "open-claudia", "CHANGELOG.md"), "utf-8");
1070
+ const versionHeader = `## v${newPkg.version}`;
1071
+ const start = changelog.indexOf(versionHeader);
1072
+ if (start >= 0) {
1073
+ const afterHeader = changelog.slice(start + versionHeader.length);
1074
+ const nextVersion = afterHeader.indexOf("\n## ");
1075
+ const section = nextVersion >= 0 ? afterHeader.slice(0, nextVersion) : afterHeader;
1076
+ whatsNew = section.trim();
1077
+ }
1078
+ } catch (e) { /* no changelog */ }
1079
+ const msg = `Installed v${newPkg.version}.${whatsNew ? `\n\nWhat's new:\n${whatsNew}` : ""}\n\nGoing offline to restart...`;
1080
+ await send(msg);
1067
1081
  } catch (e) {
1068
1082
  const errOutput = (e.stdout || e.stderr || e.message || "").slice(-500);
1069
1083
  await send(`Upgrade failed:\n${errOutput}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inetafrica/open-claudia",
3
- "version": "1.9.1",
3
+ "version": "1.9.2",
4
4
  "description": "Your always-on AI coding assistant — Claude Code via Telegram",
5
5
  "main": "bot.js",
6
6
  "bin": {
@@ -25,7 +25,8 @@
25
25
  "docker-entrypoint.sh",
26
26
  ".dockerignore",
27
27
  ".env.example",
28
- "README.md"
28
+ "README.md",
29
+ "CHANGELOG.md"
29
30
  ],
30
31
  "keywords": [
31
32
  "claude",