claude-multi 0.6.1 → 0.6.4

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/cli.js +4327 -3547
  3. package/package.json +12 -9
package/CHANGELOG.md CHANGED
@@ -5,6 +5,62 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.6.4] - 2026-05-29
9
+
10
+ ### Added
11
+ - Instance migration (0.6.3) syncs provider template env vars to existing instances. Detects the provider from `ANTHROPIC_BASE_URL` in `settings.json` and re-applies the latest template (model names, thinking tokens, output limits). Preserves API keys and user-added env vars.
12
+ - `detectProvider()` and `getProviderByBaseUrl()` in `templates.ts` match a base URL to a provider template name.
13
+ - `providerTemplate` field on the `Instance` type. New instances store it; migration backfills it for existing instances.
14
+
15
+ ### Blog
16
+ - Blog post: [v0.6.4: Existing Instances Now Auto-Sync Provider Template Updates](https://claude-multi.hmziq.xyz/blog/v064-provider-template-sync/)
17
+
18
+ ## [0.6.3] - 2026-05-29
19
+
20
+ ### Changed
21
+ - Instance migrations regenerate wrappers pointing to the globally installed `claude` binary (via `which claude`), not the pinned binary at `~/.claude-multi/bin`. Wrappers that already match the expected content are left untouched.
22
+ - `runMigration` and `createBackup` are synchronous now (had no `await` expressions).
23
+ - MiMo (pay-per-token and Token Plan) models bumped to `mimo-v2.5-pro[1m]` and `mimo-v2.5[1m]` (1M context window variants).
24
+ - Kimi opus model changed from `kimi-k2.6` to `kimi-k2.5`.
25
+ - Provider templates now include explicit thinking and output token limits:
26
+ - MiniMax: 32K thinking, 64K output
27
+ - DeepSeek: 32K thinking, 128K output
28
+ - MiMo (both plans): 128K output
29
+ - Kimi: 16K thinking, 64K output
30
+ - Qwen and Qwen Coding Plan: 16K thinking, 64K output
31
+
32
+ ### Added
33
+ - `getGlobalClaudePath()` and `tryGetGlobalClaudePath()` in `wrapper.ts` resolve the claude binary from the env override or PATH, skipping the pinned binary.
34
+ - Instance migration tests: fast-path skip on current-version instances, mixed instances (some current, some old), `.claude.json` updates when the wrapper file is missing, and a verification that regenerated wrappers contain the global claude path.
35
+
36
+ ### Fixed
37
+ - Health test compared `fixWrapperVersions` output against `generateWrapperScript()` (resolves via env override) instead of `buildWrapperScript(inst, PINNED_CLAUDE_BIN)` (what the function actually uses). Would break if `CLAUDE_MULTI_CLAUDE_PATH` was set.
38
+
39
+ ### Blog
40
+ - Blog post: [v0.6.3: Drop the Pinned Binary, Update Every Provider Template](https://claude-multi.hmziq.xyz/blog/v063-migration-and-provider-updates/)
41
+
42
+ ### Added
43
+ - Instances track the claude-multi version they were created with (`createdWithVersion`). New instances get the current version. Instances created before this field existed get `0.5` and show "before version tracking" in the UI.
44
+ - `doctor` and the TUI health screen report when instance migrations are pending or when an instance is running an older version.
45
+ - `doctor fix` shows which instances need migration and asks for confirmation before running.
46
+ - Version column added to `list`, `info`, and the Ink TUI instance cards and detail screens.
47
+
48
+ ### Changed
49
+ - `instanceMigrationVersion` in config now stores the actual package version rather than a separate numbering scheme.
50
+ - The legacy sentinel (`"0.5"`) is defined once as `LEGACY_INSTANCE_VERSION` and imported everywhere, instead of being hardcoded in multiple files.
51
+ - Wrapper script template exists in a single place (`buildWrapperScript` in `wrapper.ts`). Migration and health check both delegate to it instead of duplicating the template string.
52
+ - Instance migration only rewrites wrappers when the file content actually differs (version check + content diff), instead of unconditionally regenerating every wrapper.
53
+ - `fixWrapperVersions` uses the canonical template targeting the pinned binary explicitly, with a content-diff check to avoid unnecessary writes.
54
+
55
+ ### Fixed
56
+ - Removed broken `compareVersions` references from `version.test.ts`.
57
+ - `resolveClaudePath()` in `migration.ts` used `await` in a non-async function (TypeScript error). Removed — replaced by `generateWrapperScriptSafe` from `wrapper.ts`.
58
+ - Unused imports (`COMPATIBLE_CLAUDE_VERSION`, `installPinnedClaude`, `getPinnedBinaryVersion`, `isThirdPartyApiBroken`, `PINNED_CLAUDE_BIN`) removed from `migration.ts`.
59
+ - `config.ts` `loadConfig` backfill loop now handles `noUncheckedIndexedAccess` correctly (pre-existing TypeScript error).
60
+ - `createBackup` changed from async to sync (had no `await` expressions — pre-existing lint warning).
61
+ - Array `.sort()` / `.reverse()` calls in `migration.ts` and `config.ts` changed to `.toSorted()` / `.toReversed()` (pre-existing lint warnings).
62
+ - Duplicate `existsSync` import in `test/wrapper.test.ts` merged into single import.
63
+
8
64
  ## [0.6.1] - 2026-05-29
9
65
 
10
66
  ### Changed
@@ -326,6 +382,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
326
382
  - Support for custom config and binary paths
327
383
  - Command-line interface built with Commander.js
328
384
 
385
+ [0.6.4]: https://github.com/hmziqrs/claude-multi/compare/v0.6.3...v0.6.4
386
+ [0.6.3]: https://github.com/hmziqrs/claude-multi/compare/v0.6.2...v0.6.3
329
387
  [0.5.5]: https://github.com/hmziqrs/claude-multi/compare/v0.5.1...v0.5.5
330
388
  [0.5.1]: https://github.com/hmziqrs/claude-multi/compare/v0.5.0...v0.5.1
331
389
  [0.5.0]: https://github.com/hmziqrs/claude-multi/compare/v0.4.4...v0.5.0