kangentic 0.43.2 → 0.44.0

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/README.md CHANGED
@@ -49,7 +49,7 @@ The launcher version matches the app version. Specifying a version downloads tha
49
49
  ## Prerequisites
50
50
 
51
51
  - **[Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)** installed and on your PATH
52
- - **[Git 2.25+](https://git-scm.com/)** for worktree support
52
+ - **[Git 2.26+](https://git-scm.com/)** for worktree support
53
53
 
54
54
  ## Links
55
55
 
package/bin/kangentic.js CHANGED
@@ -18,8 +18,27 @@ const REPO_OWNER = 'Kangentic';
18
18
  const REPO_NAME = 'kangentic';
19
19
  const MAX_REDIRECTS = 5;
20
20
 
21
+ // The oldest macOS the app starts on, as the Darwin major that os.release()
22
+ // reports (macOS 13 is Darwin 22). Electron 44 dropped macOS 12, and
23
+ // electron-builder.yml's mac.minimumSystemVersion says 13.0;
24
+ // tests/unit/launcher-macos-floor.test.ts keeps the two in step.
25
+ const MINIMUM_DARWIN_MAJOR = 22;
26
+
21
27
  // --- Platform detection ---
22
28
 
29
+ /**
30
+ * Whether this Mac is too old for the app this launcher installs. Checked
31
+ * before anything downloads: macOS refuses to open the app on an older system,
32
+ * so the alternative is a download, an install, and a launch that silently
33
+ * does nothing. A release string that does not parse is not refused, so an
34
+ * unexpected format can never lock a supported Mac out.
35
+ */
36
+ function isUnsupportedMacOS(platform, osRelease) {
37
+ if (platform !== 'darwin') return false;
38
+ const darwinMajor = Number.parseInt(String(osRelease).split('.')[0], 10);
39
+ return Number.isFinite(darwinMajor) && darwinMajor < MINIMUM_DARWIN_MAJOR;
40
+ }
41
+
23
42
  function getPlatformInfo() {
24
43
  const platform = process.platform;
25
44
  const arch = process.arch;
@@ -441,6 +460,11 @@ async function main() {
441
460
  process.exit(1);
442
461
  }
443
462
 
463
+ if (isUnsupportedMacOS(process.platform, os.release())) {
464
+ console.error('Kangentic requires macOS 13 or later.');
465
+ process.exit(1);
466
+ }
467
+
444
468
  // Check if already installed
445
469
  if (!forceInstall && isInstalled(platformInfo)) {
446
470
  console.log(`Kangentic v${VERSION} is already installed.`);
@@ -531,4 +555,6 @@ module.exports = {
531
555
  installLinux,
532
556
  isAppRunning,
533
557
  shouldAdviseReopen,
558
+ isUnsupportedMacOS,
559
+ MINIMUM_DARWIN_MAJOR,
534
560
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kangentic",
3
- "version": "0.43.2",
3
+ "version": "0.44.0",
4
4
  "description": "Install and launch Kangentic -- visual agent orchestration for Claude Code",
5
5
  "bin": {
6
6
  "kangentic": "bin/kangentic.js"