sysml-v2-lsp 0.6.0 → 0.8.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/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.0]
4
+
5
+ ### Added
6
+
7
+ - Update grammar files with Full OMG SysML v2 spec conformance: grammar now passes all official training, validation, and example files (309 .sysml files across 4 suites)
8
+ - `make update-grammar` now automatically rebuilds parser and regenerates DFA snapshot
9
+ - Standard library smoke test retained in LSP repo (`test/unit/conformance.test.ts`)
10
+ - 12 new grammar patches (Fix 40–51) in the grammar generator for spec conformance
11
+
12
+ ### Changed
13
+
14
+ - Grammar updated with conformance fixes: `endOccurrenceUsageElement` named ends, `unreservedKeyword` for 14 keywords used as names in OMG standard library, `//*..*/` block comment support, `REF` in body expressions, prefix metadata on enum members, `send` without inline payload, `actionNodeMember` reordering, `REGULAR_COMMENT` in expressions, `definitionBodyItem` in `functionBodyPart`
15
+ - `update-grammar` Makefile target now sources grammar from `daltskin/sysml-v2-grammar` (was `daltskin/grammars-v4`)
16
+
17
+ ## [0.7.0]
18
+
19
+ ### Added
20
+
21
+ - Workspace-wide semantic validation with cross-file symbol indexes (byName, byParent, byQualifiedName, definitionsByName, portsByName)
22
+ - Three new validation rules: redefinition multiplicity, port type compatibility, constraint body references
23
+ - Quick-fix code actions for all three new rules (align multiplicity, switch port endpoint, suggest nearest member)
24
+ - Context-aware completions: port endpoints in `connect` blocks, type annotation filtering, workspace definition symbols
25
+ - Semantic feedback in hover tooltips — shows diagnostics and repair hints at the hovered position
26
+ - Cached semantic diagnostics per document version to avoid redundant revalidation
27
+ - MCP preview tool falls back to cached/loaded documents when `code` parameter is omitted
28
+
29
+ ### Changed
30
+
31
+ - Unused-definition rule narrowed to PartDef/ActionDef, excludes types with base types, promoted from Hint to Warning, now workspace-scoped
32
+ - Grammar updated to OMG "2026-02 - SysML v2 Release" — removed local `end <keyword>` patch in favour of upstream `endFeatureUsage` rule
33
+ - MCP non-visual tools annotated with explicit "NOT Visualization" routing guidance
34
+ - MCP preview response stripped to minimal render data (mermaidMarkup + title)
35
+ - MCP tool routing guidance and aliases expanded for diagnostics, validation, and file-focused preview requests
36
+
37
+ ### Fixed
38
+
39
+ - Semantic validator signal quality: reduced specialization false positives and downgraded low-value unused-definition reports to warnings
40
+ - Document-close diagnostics race: pending validation timers are cancelled and diagnostics publishing is guarded for closed documents
41
+
3
42
  ## [0.6.0]
4
43
 
5
44
  ### Added
package/README.md CHANGED
@@ -128,27 +128,29 @@ sysml-v2-lsp/
128
128
  ```bash
129
129
  make help # Show all targets
130
130
  make install # Install all dependencies
131
- make generate # Generate TypeScript parser from grammar
132
- make build # Compile + bundle
131
+ make build # Generate parser + compile + bundle
133
132
  make watch # Watch mode
134
133
  make test # Run unit tests
135
134
  make lint # ESLint
136
135
  make package # Build .vsix
137
136
  make package-server # Build server tarball for npm
138
137
  make web # Launch web client (http://localhost:3000)
139
- make update-grammar # Pull latest grammar from upstream
138
+ make update-grammar # Pull latest grammar, rebuild parser + DFA snapshot
140
139
  make update-library # Pull latest SysML v2 standard library
140
+ make dfa # Regenerate DFA snapshot (after any grammar change)
141
141
  make ci # Full CI pipeline (lint + build + test)
142
142
  ```
143
143
 
144
144
  ## Grammar Updates
145
145
 
146
- The grammar files in `grammar/` are sourced from [daltskin/sysml-v2-grammar](https://github.com/daltskin/sysml-v2-grammar). To pull the latest version:
146
+ The grammar files in `grammar/` are sourced from [daltskin/sysml-v2-grammar](https://github.com/daltskin/sysml-v2-grammar). To pull the latest version, rebuild the parser, and regenerate the DFA snapshot:
147
147
 
148
148
  ```bash
149
149
  make update-grammar
150
150
  ```
151
151
 
152
+ This fetches the `.g4` files, runs `npm run build`, and regenerates the DFA snapshot that eliminates the ANTLR4 cold-start penalty. If you edit grammar files manually, run `make dfa` afterwards.
153
+
152
154
  ## Technology Stack
153
155
 
154
156
  | Component | Technology |