kastell 2.2.6 → 2.2.7

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kastell",
3
- "version": "2.2.5",
3
+ "version": "2.2.7",
4
4
  "description": "Server security auditing, hardening, and fleet management. 457 security checks across 30 categories, CIS/PCI-DSS/HIPAA compliance, 24-step production hardening, and 17 MCP tools. Supports Hetzner, DigitalOcean, Vultr, Linode with Coolify, Dokploy, and bare VPS modes.",
5
5
  "author": {
6
6
  "name": "kastelldev",
@@ -32,7 +32,9 @@
32
32
  "mcpServers": {
33
33
  "kastell": {
34
34
  "command": "node",
35
- "args": ["${CLAUDE_PLUGIN_ROOT}/dist/mcp-bundle.mjs"],
35
+ "args": [
36
+ "${CLAUDE_PLUGIN_ROOT}/dist/mcp-bundle.mjs"
37
+ ],
36
38
  "env": {
37
39
  "HETZNER_TOKEN": "${HETZNER_TOKEN}",
38
40
  "DIGITALOCEAN_TOKEN": "${DIGITALOCEAN_TOKEN}",
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [2.2.7] - 2026-05-16
6
+
7
+ ### Fixed
8
+ - **npm tarball plugin.json version sync** — v2.2.6 npm tarball shipped with `package.json` 2.2.6 but `.claude-plugin/plugin.json` stuck at 2.2.5; CC marketplace `/plugin update` showed correct version on disk but plugin manifest reported stale. Release flow now syncs `plugin.json` **before** `npm version` and validates tarball contents **before** push (FATAL gate). Users now see correct version after `/plugin update`.
9
+
10
+ ### Added
11
+ - **Plugin tarball smoke test (`scripts/smoke-plugin-install.sh`)** — simulates CC plugin install (no `npm install`): runs `npm pack`, extracts tarball, verifies all manifest paths shipped, and boots MCP bundle without module errors
12
+ - **CI `plugin-manifest` job** — schema validation + version drift detection + smoke test on Ubuntu/Node 20 (catches plugin shipping issues before publish)
13
+
14
+ ### Changed
15
+ - **Test mock race fix** — `process.nextTick` replaces `setTimeout(_, 5)` for stderr emit in `mockProcess.ts`, `mcp-server-backup.test.ts`, `restore.test.ts`; eliminates flaky `scpDownload` timing race on macOS-Node20 CI runners (5ms stderr vs 10ms close ordering)
16
+
5
17
  ## [2.2.6] - 2026-05-16
6
18
 
7
19
  ### Added
package/README.md CHANGED
@@ -46,7 +46,7 @@ Running `kastell` without any arguments launches an **interactive search menu**
46
46
  ██║ ██╗ ██║ ██║ ███████║ ██║ ███████╗███████╗███████╗
47
47
  ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝
48
48
 
49
- KASTELL v2.2.6 · Your infrastructure, fortified.
49
+ KASTELL v2.2.7 · Your infrastructure, fortified.
50
50
 
51
51
  $ kastell init --template production → deploy a new server
52
52
  $ kastell status --all → check all servers
package/README.tr.md CHANGED
@@ -46,7 +46,7 @@ npx kastell
46
46
  ██║ ██╗ ██║ ██║ ███████║ ██║ ███████╗███████╗███████╗
47
47
  ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝
48
48
 
49
- KASTELL v2.2.4 · Your infrastructure, fortified.
49
+ KASTELL v2.2.7 · Your infrastructure, fortified.
50
50
 
51
51
  $ kastell init --template production → deploy a new server
52
52
  $ kastell status --all → check all servers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kastell",
3
- "version": "2.2.6",
3
+ "version": "2.2.7",
4
4
  "description": "CLI toolkit for provisioning, securing, and managing self-hosted servers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",