Skip to content

Commit fd9a96b

Browse files
committed
chore: release v0.8.13
1 parent 2fcd036 commit fd9a96b

7 files changed

Lines changed: 34 additions & 12 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.8.13] - 2026-04-19
11+
12+
### Fixed
13+
- Fixed Codex auto-sync hooks resolving to stale global `vibe-log-cli` installs by using `npx -y vibe-log-cli@latest`.
14+
- Normalized legacy `npx vibe-log-cli` CLI path settings so existing configs use the latest hook-capable package.
15+
1016
## [0.8.12] - 2026-04-19
1117

1218
### Improved

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vibe-log-cli",
3-
"version": "0.8.12",
3+
"version": "0.8.13",
44
"description": "Track your building journey with Vibelog",
55
"bin": {
66
"vibe-log": "./bin/vibe-log.js"

src/commands/send.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ async function updateInBackground(
391391

392392
// Download latest version using npx @latest
393393
// This populates the cache for next run
394-
execSync('npx vibe-log-cli@latest --version', {
394+
execSync('npx -y vibe-log-cli@latest --version', {
395395
stdio: 'ignore',
396396
timeout: 30000,
397397
env: {

src/lib/config.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ import { join } from 'path';
55
import fs from 'fs/promises';
66
import { logger } from '../utils/logger';
77

8+
const DEFAULT_CLI_PATH = 'npx -y vibe-log-cli@latest';
9+
const LEGACY_NPX_CLI_PATHS = new Set([
10+
'npx vibe-log-cli',
11+
'npx vibe-log-cli@latest',
12+
]);
13+
814
export interface ProjectSyncData {
915
oldestSyncedTimestamp?: string;
1016
newestSyncedTimestamp?: string;
@@ -68,7 +74,7 @@ const config = new Conf<ConfigSchema>({
6874
},
6975
cliPath: {
7076
type: 'string',
71-
default: 'npx vibe-log-cli',
77+
default: DEFAULT_CLI_PATH,
7278
},
7379
token: {
7480
type: 'string',
@@ -251,7 +257,17 @@ export function getCliPath(): string {
251257
}
252258

253259
// Use configured path or default to npx command
254-
return config.get('cliPath') || 'npx vibe-log-cli';
260+
const configuredPath = config.get('cliPath');
261+
if (!configuredPath) {
262+
return DEFAULT_CLI_PATH;
263+
}
264+
265+
const normalizedPath = configuredPath.trim().replace(/\s+/g, ' ');
266+
if (LEGACY_NPX_CLI_PATHS.has(normalizedPath)) {
267+
return DEFAULT_CLI_PATH;
268+
}
269+
270+
return configuredPath;
255271
}
256272

257273
export function setCliPath(path: string): void {
@@ -456,4 +472,4 @@ export function getStatusLineBackup(): ConfigSchema['statusLineBackup'] | undefi
456472
export function clearStatusLineBackup(): void {
457473
config.delete('statusLineBackup');
458474
logger.debug('Status line backup cleared');
459-
}
475+
}

src/utils/version-check.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ export async function checkForUpdate(currentVersion: string): Promise<VersionChe
249249
}
250250

251251
/**
252-
* Spawn a process using npx vibe-log-cli@latest
252+
* Spawn a process using npx -y vibe-log-cli@latest
253253
* This ensures we always use the latest version
254254
*/
255255
export async function spawnLatestVersion(
@@ -264,7 +264,7 @@ export async function spawnLatestVersion(
264264

265265
// Build command - use npx to get latest version
266266
const command = 'npx';
267-
const spawnArgs = ['vibe-log-cli@latest', ...args];
267+
const spawnArgs = ['-y', 'vibe-log-cli@latest', ...args];
268268

269269
const spawnOptions: SpawnOptions = {
270270
detached: options?.detached || false,
@@ -320,4 +320,4 @@ export function shouldSpawnLatestForHook(versionCheck: VersionCheckResult, hookT
320320

321321
// Update if we're outdated
322322
return versionCheck.shouldUpdate;
323-
}
323+
}

tests/unit/lib/config.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const createMockConfig = () => {
66
const store = new Map<string, any>();
77
// Set default values to match the actual config schema
88
store.set('apiUrl', 'https://vibe-log.dev');
9-
store.set('cliPath', 'npx vibe-log-cli');
9+
store.set('cliPath', 'npx -y vibe-log-cli@latest');
1010

1111
return {
1212
store,
@@ -305,4 +305,4 @@ describe('Configuration Module', () => {
305305
expect(mockConfigInstance.config.set).toHaveBeenCalled();
306306
});
307307
});
308-
});
308+
});

0 commit comments

Comments
 (0)