bmad-enhanced 1.3.2 โ†’ 1.3.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ---
9
9
 
10
+ ## [1.3.4] - 2026-02-18
11
+
12
+ ### Fixed
13
+
14
+ **๐Ÿ”ง CRITICAL Migration Bug:**
15
+ - Fixed migration system not detecting migrations from 1.2.0 to 1.3.x
16
+ - Updated all migrations to target version 1.3.4 (was 1.3.0)
17
+ - Migrations now correctly run when upgrading from 1.0.x, 1.1.x, or 1.2.x
18
+ - **This fixes the "No migrations needed (versions compatible)" error**
19
+ - Now properly removes deprecated agents and legacy `_designos` directory
20
+
21
+ **What was broken in v1.3.3:**
22
+ - Users on v1.2.0 saw "No migrations needed" but weren't upgraded
23
+ - Deprecated agents and `_designos` directory weren't removed
24
+ - Version remained at 1.2.0 instead of updating to 1.3.x
25
+
26
+ ---
27
+
28
+ ## [1.3.3] - 2026-02-18
29
+
30
+ ### Fixed
31
+
32
+ **๐Ÿงน Legacy Directory Cleanup:**
33
+ - Added automatic removal of old `_designos` directory (pre-Vortex structure) in all migrations
34
+ - Users with installations from very old versions will now have the legacy directory removed automatically
35
+ - Migration preview now shows when legacy directory will be removed
36
+ - Removed obsolete `_designos` reference from `.npmignore`
37
+
38
+ **Updated migrations:**
39
+ - `1.0.x-to-1.3.0`, `1.1.x-to-1.3.0`, `1.2.x-to-1.3.0` all now remove `_bmad/bme/_designos/` if present
40
+
41
+ ---
42
+
10
43
  ## [1.3.2] - 2026-02-18
11
44
 
12
45
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bmad-enhanced",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "description": "Vortex Framework - Contextualize and Externalize streams for Lean Startup validation",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -16,7 +16,7 @@ const configMerger = require('../lib/config-merger');
16
16
  module.exports = {
17
17
  name: '1.0.x-to-1.3.0',
18
18
  fromVersion: '1.0.x',
19
- toVersion: '1.3.0',
19
+ toVersion: '1.3.4',
20
20
  breaking: true,
21
21
 
22
22
  /**
@@ -29,6 +29,7 @@ module.exports = {
29
29
  'BREAKING: Move empathy-map workflow to _deprecated/',
30
30
  'Install new lean-persona workflow',
31
31
  'Install 6 new workflows (product-vision, contextualize-scope, mvp, lean-experiment, proof-of-concept, proof-of-value)',
32
+ 'Remove legacy _designos directory (pre-Vortex structure)',
32
33
  'Update config.yaml: agents and workflows lists',
33
34
  'Update agent-manifest.csv: agent names/roles',
34
35
  'Remove deprecated agent files (empathy-mapper.md, wireframe-designer.md)',
@@ -55,19 +56,23 @@ module.exports = {
55
56
  await moveToDeprecated(targetDir, 'wireframe');
56
57
  changes.push('Archived wireframe workflow to _deprecated/');
57
58
 
58
- // 3. Install all new workflow files
59
+ // 3. Remove old _designos directory (pre-Vortex structure)
60
+ await removeOldDesignosDirectory();
61
+ changes.push('Removed legacy _designos directory');
62
+
63
+ // 4. Install all new workflow files
59
64
  await copyAllWorkflows(sourceDir, targetDir);
60
65
  changes.push('Installed 7 new Vortex Framework workflows');
61
66
 
62
- // 4. Update config.yaml with new structure
63
- await updateConfig(targetDir, '1.3.0');
67
+ // 5. Update config.yaml with new structure
68
+ await updateConfig(targetDir, '1.3.4');
64
69
  changes.push('Updated config.yaml');
65
70
 
66
- // 5. Update agent files
71
+ // 6. Update agent files
67
72
  await copyAgentFiles(sourceDir, targetDir);
68
73
  changes.push('Updated agent files');
69
74
 
70
- // 6. Update agent manifest
75
+ // 7. Update agent manifest
71
76
  await updateAgentManifest();
72
77
  changes.push('Updated agent manifest');
73
78
 
@@ -279,3 +284,17 @@ async function copyUserGuides() {
279
284
  }
280
285
  }
281
286
  }
287
+
288
+ /**
289
+ * Remove old _designos directory (pre-Vortex structure)
290
+ */
291
+ async function removeOldDesignosDirectory() {
292
+ const designosPath = path.join(process.cwd(), '_bmad/bme/_designos');
293
+
294
+ if (fs.existsSync(designosPath)) {
295
+ await fs.remove(designosPath);
296
+ console.log(' Removed legacy _designos directory');
297
+ } else {
298
+ console.log(' No legacy _designos directory found (OK)');
299
+ }
300
+ }
@@ -17,7 +17,7 @@ const configMerger = require('../lib/config-merger');
17
17
  module.exports = {
18
18
  name: '1.1.x-to-1.3.0',
19
19
  fromVersion: '1.1.x',
20
- toVersion: '1.3.0',
20
+ toVersion: '1.3.4',
21
21
  breaking: false,
22
22
 
23
23
  /**
@@ -27,8 +27,9 @@ module.exports = {
27
27
  async preview() {
28
28
  return {
29
29
  actions: [
30
- 'Update version: 1.1.x โ†’ 1.3.0',
30
+ 'Update version: 1.1.x โ†’ 1.3.4',
31
31
  'Verify deprecated workflows archived',
32
+ 'Remove legacy _designos directory (pre-Vortex structure)',
32
33
  'Remove deprecated agent files (empathy-mapper.md, wireframe-designer.md)',
33
34
  'Update agent files to latest (bug fixes/improvements)',
34
35
  'Refresh user guides (EMMA-USER-GUIDE.md, WADE-USER-GUIDE.md)'
@@ -46,18 +47,22 @@ module.exports = {
46
47
  const targetDir = path.join(process.cwd(), '_bmad/bme/_vortex');
47
48
 
48
49
  // 1. Update version in config.yaml
49
- await updateConfigVersion('1.3.0');
50
- changes.push('Updated version to 1.3.0');
50
+ await updateConfigVersion('1.3.4');
51
+ changes.push('Updated version to 1.3.4');
51
52
 
52
53
  // 2. Verify deprecated structure exists
53
54
  await ensureDeprecatedStructure(targetDir);
54
55
  changes.push('Verified deprecated workflow structure');
55
56
 
56
- // 3. Update agent files (in case of bug fixes or improvements)
57
+ // 3. Remove old _designos directory (pre-Vortex structure)
58
+ await removeOldDesignosDirectory();
59
+ changes.push('Removed legacy _designos directory');
60
+
61
+ // 4. Update agent files (in case of bug fixes or improvements)
57
62
  await copyAgentFiles(sourceDir, targetDir);
58
63
  changes.push('Refreshed agent files');
59
64
 
60
- // 4. Update user guides
65
+ // 5. Update user guides
61
66
  await copyUserGuides();
62
67
  changes.push('Updated user guides');
63
68
 
@@ -180,3 +185,17 @@ async function copyUserGuides() {
180
185
  }
181
186
  }
182
187
  }
188
+
189
+ /**
190
+ * Remove old _designos directory (pre-Vortex structure)
191
+ */
192
+ async function removeOldDesignosDirectory() {
193
+ const designosPath = path.join(process.cwd(), '_bmad/bme/_designos');
194
+
195
+ if (fs.existsSync(designosPath)) {
196
+ await fs.remove(designosPath);
197
+ console.log(' Removed legacy _designos directory');
198
+ } else {
199
+ console.log(' No legacy _designos directory found (OK)');
200
+ }
201
+ }
@@ -17,7 +17,7 @@ const configMerger = require('../lib/config-merger');
17
17
  module.exports = {
18
18
  name: '1.2.x-to-1.3.0',
19
19
  fromVersion: '1.2.x',
20
- toVersion: '1.3.0',
20
+ toVersion: '1.3.4',
21
21
  breaking: false,
22
22
 
23
23
  /**
@@ -27,8 +27,9 @@ module.exports = {
27
27
  async preview() {
28
28
  return {
29
29
  actions: [
30
- 'Update version: 1.2.x โ†’ 1.3.0',
30
+ 'Update version: 1.2.x โ†’ 1.3.4',
31
31
  'Verify deprecated workflows archived',
32
+ 'Remove legacy _designos directory (pre-Vortex structure)',
32
33
  'Remove deprecated agent files (empathy-mapper.md, wireframe-designer.md)',
33
34
  'Update agent files to latest (bug fixes/improvements)',
34
35
  'Refresh user guides (EMMA-USER-GUIDE.md, WADE-USER-GUIDE.md)'
@@ -46,18 +47,22 @@ module.exports = {
46
47
  const targetDir = path.join(process.cwd(), '_bmad/bme/_vortex');
47
48
 
48
49
  // 1. Update version in config.yaml
49
- await updateConfigVersion('1.3.0');
50
- changes.push('Updated version to 1.3.0');
50
+ await updateConfigVersion('1.3.4');
51
+ changes.push('Updated version to 1.3.4');
51
52
 
52
53
  // 2. Verify deprecated structure exists
53
54
  await ensureDeprecatedStructure(targetDir);
54
55
  changes.push('Verified deprecated workflow structure');
55
56
 
56
- // 3. Update agent files (in case of bug fixes or improvements)
57
+ // 3. Remove old _designos directory (pre-Vortex structure)
58
+ await removeOldDesignosDirectory();
59
+ changes.push('Removed legacy _designos directory');
60
+
61
+ // 4. Update agent files (in case of bug fixes or improvements)
57
62
  await copyAgentFiles(sourceDir, targetDir);
58
63
  changes.push('Refreshed agent files');
59
64
 
60
- // 4. Update user guides
65
+ // 5. Update user guides
61
66
  await copyUserGuides();
62
67
  changes.push('Updated user guides');
63
68
 
@@ -180,3 +185,17 @@ async function copyUserGuides() {
180
185
  }
181
186
  }
182
187
  }
188
+
189
+ /**
190
+ * Remove old _designos directory (pre-Vortex structure)
191
+ */
192
+ async function removeOldDesignosDirectory() {
193
+ const designosPath = path.join(process.cwd(), '_bmad/bme/_designos');
194
+
195
+ if (fs.existsSync(designosPath)) {
196
+ await fs.remove(designosPath);
197
+ console.log(' Removed legacy _designos directory');
198
+ } else {
199
+ console.log(' No legacy _designos directory found (OK)');
200
+ }
201
+ }
@@ -14,7 +14,7 @@ const MIGRATIONS = [
14
14
  {
15
15
  name: '1.0.x-to-1.3.0',
16
16
  fromVersion: '1.0.x',
17
- toVersion: '1.3.0',
17
+ toVersion: '1.3.4',
18
18
  breaking: true,
19
19
  description: 'Migrate empathy-map workflow to lean-persona',
20
20
  module: null // Loaded on demand
@@ -22,7 +22,7 @@ const MIGRATIONS = [
22
22
  {
23
23
  name: '1.1.x-to-1.3.0',
24
24
  fromVersion: '1.1.x',
25
- toVersion: '1.3.0',
25
+ toVersion: '1.3.4',
26
26
  breaking: false,
27
27
  description: 'Archive deprecated workflows, update agents',
28
28
  module: null // Loaded on demand
@@ -30,7 +30,7 @@ const MIGRATIONS = [
30
30
  {
31
31
  name: '1.2.x-to-1.3.0',
32
32
  fromVersion: '1.2.x',
33
- toVersion: '1.3.0',
33
+ toVersion: '1.3.4',
34
34
  breaking: false,
35
35
  description: 'Update to v1.3.0 with migration system',
36
36
  module: null // Loaded on demand