agileflow 2.82.4 → 2.82.5

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 CHANGED
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.82.5] - 2026-01-10
11
+
12
+ ### Fixed
13
+ - Fix version detection to read from config.yaml
14
+
10
15
  ## [2.82.4] - 2026-01-10
11
16
 
12
17
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agileflow",
3
- "version": "2.82.4",
3
+ "version": "2.82.5",
4
4
  "description": "AI-driven agile development system for Claude Code, Cursor, Windsurf, and more",
5
5
  "keywords": [
6
6
  "agile",
@@ -46,29 +46,34 @@ function getProjectInfo(rootDir) {
46
46
  };
47
47
 
48
48
  // Get AgileFlow version (check multiple sources in priority order)
49
- // 1. AgileFlow metadata (installed user projects)
50
- // 2. packages/cli/package.json (AgileFlow dev project)
51
- // 3. .agileflow/package.json (fallback)
49
+ // 1. .agileflow/config.yaml (installed user projects - primary source)
50
+ // 2. AgileFlow metadata (installed user projects - legacy)
51
+ // 3. packages/cli/package.json (AgileFlow dev project)
52
52
  try {
53
- const metadataPath = path.join(rootDir, 'docs/00-meta/agileflow-metadata.json');
54
- if (fs.existsSync(metadataPath)) {
55
- const metadata = JSON.parse(fs.readFileSync(metadataPath, 'utf8'));
56
- info.version = metadata.version || info.version;
53
+ // Primary: .agileflow/config.yaml
54
+ const configPath = path.join(rootDir, '.agileflow', 'config.yaml');
55
+ if (fs.existsSync(configPath)) {
56
+ const content = fs.readFileSync(configPath, 'utf8');
57
+ const versionMatch = content.match(/^version:\s*['"]?([0-9.]+)/m);
58
+ if (versionMatch) {
59
+ info.version = versionMatch[1];
60
+ }
57
61
  } else {
58
- // Dev project: check packages/cli/package.json
59
- const pkg = JSON.parse(
60
- fs.readFileSync(path.join(rootDir, 'packages/cli/package.json'), 'utf8')
61
- );
62
- info.version = pkg.version || info.version;
62
+ // Fallback: metadata or dev project
63
+ const metadataPath = path.join(rootDir, 'docs/00-meta/agileflow-metadata.json');
64
+ if (fs.existsSync(metadataPath)) {
65
+ const metadata = JSON.parse(fs.readFileSync(metadataPath, 'utf8'));
66
+ info.version = metadata.version || info.version;
67
+ } else {
68
+ // Dev project: check packages/cli/package.json
69
+ const pkg = JSON.parse(
70
+ fs.readFileSync(path.join(rootDir, 'packages/cli/package.json'), 'utf8')
71
+ );
72
+ info.version = pkg.version || info.version;
73
+ }
63
74
  }
64
75
  } catch (e) {
65
- // Fallback: check .agileflow/package.json
66
- try {
67
- const pkg = JSON.parse(
68
- fs.readFileSync(path.join(rootDir, '.agileflow/package.json'), 'utf8')
69
- );
70
- info.version = pkg.version || info.version;
71
- } catch (e2) {}
76
+ // Silently fail - version will remain 'unknown'
72
77
  }
73
78
 
74
79
  // Get git info
@@ -39,14 +39,18 @@ function debugLog(message, data = null) {
39
39
 
40
40
  // Get installed AgileFlow version
41
41
  function getInstalledVersion(rootDir) {
42
- // First check .agileflow/package.json (installed version)
43
- const agileflowPkg = path.join(rootDir, '.agileflow', 'package.json');
44
- const agileflowResult = safeReadJSON(agileflowPkg);
45
- if (agileflowResult.ok && agileflowResult.data?.version) {
46
- return agileflowResult.data.version;
47
- }
48
- if (!agileflowResult.ok && agileflowResult.error) {
49
- debugLog('Error reading .agileflow/package.json', agileflowResult.error);
42
+ // First check .agileflow/config.yaml (installed version)
43
+ try {
44
+ const configPath = path.join(rootDir, '.agileflow', 'config.yaml');
45
+ if (fs.existsSync(configPath)) {
46
+ const content = fs.readFileSync(configPath, 'utf8');
47
+ const versionMatch = content.match(/^version:\s*['"]?([0-9.]+)/m);
48
+ if (versionMatch) {
49
+ return versionMatch[1];
50
+ }
51
+ }
52
+ } catch (err) {
53
+ debugLog('Error reading .agileflow/config.yaml', err.message);
50
54
  }
51
55
 
52
56
  // Fallback: check if this is the AgileFlow dev repo