Skip to content

Release/4.8.0#141

Merged
raleigh-g-thompson merged 52 commits into
masterfrom
release/4.8.0
Jun 16, 2026
Merged

Release/4.8.0#141
raleigh-g-thompson merged 52 commits into
masterfrom
release/4.8.0

Conversation

@raleigh-g-thompson

@raleigh-g-thompson raleigh-g-thompson commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

CQL Language Server v4.8.0

Summary

This release delivers a fully working CQL DAP debugger, a new ELM AST export command, and an upgrade to the CQL engine v4.9.0.


DAP Debugger

  • Initial debugging support — CQL expressions can now be debugged via VS Code's Debug Adapter Protocol. Breakpoints, stepping, and variable inspection are all wired up.
  • Breakpoint validation — The server validates breakpoints against known CQL expressions before the session starts, so invalid breakpoints surface immediately rather than silently failing.
  • Define call stack + multi-frame stack trace — The call stack view now reflects CQL define references rather than raw ELM nodes, giving authors a meaningful trace.
  • Debug hover — Hovering over a CQL expression during a paused debug session evaluates and displays its current runtime value.
  • FHIR variable display — FHIR resources and their profile children are formatted readably in the Variables pane instead of showing raw JSON.
  • Unified runtime value registry — A single, thread-safe registry tracks all in-flight values across test case scope and CQL type annotations, eliminating the prior fragmentation.
  • Debug session shutdown enhancements — Teardown is now orderly; no dangling threads or zombie sessions after a debug run completes.
  • DAP correctness, thread safety, and protocol gap fixes — Several correctness bugs (wrong event ordering, missing terminated events, race conditions) are resolved.

New Command

  • Convert CQL to ELM (AST) — A new workspace command returns the compiled ELM tree as a structured AST, useful for tooling and inspection.

Engine & Infrastructure

  • CQL engine bumped to v4.9.0.
  • Server logs now include timestamps on every line.
  • Version info endpoint added — The server reports its own version over LSP.
  • RPC-related code cleanup following the v4.7.0 multi-project resolution work.

Closes

closes #26

improve FHIR variable display formatting and profile children
@github-actions

Copy link
Copy Markdown

Formatting check succeeded!

@github-actions

github-actions Bot commented Jun 14, 2026

Copy link
Copy Markdown

Coverage Report

Overall Project 78.25% -11.45%
Files changed 74.11%

File Coverage
DebugCommandContribution.kt 100% 🍏
RuntimeValueRegistry.kt 95.79% -4.21% 🍏
GetVersionInfoCommandContribution.kt 94.74% -5.26% 🍏
CqlStepPositionCollector.kt 93.36% -6.64% 🍏
DefinitionTrackBackVisitor.kt 92.02% -5.16%
DebugModel.kt 88.97% -11.03% 🍏
ExecuteCqlRequest.kt 88.65% -7.3%
VersionReader.kt 87.93% -12.07% 🍏
StreamingBreakpointHandler.kt 87.04% -12.37% 🍏
CqlEvaluator.kt 86.88% -1.95% 🍏
DebugSession.kt 86.61% -13.39% 🍏
FileContentService.kt 84.73% -2.05%
EvaluateHelper.kt 81% -19%
VariableResolver.kt 78.85% -21.15%
BreakpointManager.kt 78.35% -21.65%
ElmAstLibraryWriter.kt 69.1% -30.8%
ViewElmCommandContribution.kt 64.07% 🍏
CqlDebugServer.kt 62.23% -37.41%

@codecov

codecov Bot commented Jun 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 65.30065% with 906 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.68%. Comparing base (3a3ff1b) to head (6d8ba92).
⚠️ Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
...kotlin/org/opencds/cqf/cql/debug/CqlDebugServer.kt 56.53% 297 Missing and 62 partials ⚠️
...s/cqf/cql/ls/server/utility/ElmAstLibraryWriter.kt 52.09% 104 Missing and 102 partials ⚠️
...pencds/cqf/cql/debug/StreamingBreakpointHandler.kt 76.83% 34 Missing and 48 partials ⚠️
...tlin/org/opencds/cqf/cql/debug/VariableResolver.kt 67.61% 38 Missing and 42 partials ⚠️
...kotlin/org/opencds/cqf/cql/debug/EvaluateHelper.kt 66.81% 43 Missing and 30 partials ⚠️
...lin/org/opencds/cqf/cql/debug/BreakpointManager.kt 66.30% 18 Missing and 13 partials ⚠️
.../cql/ls/server/visitor/CqlStepPositionCollector.kt 70.12% 2 Missing and 21 partials ⚠️
.../opencds/cqf/cql/ls/server/command/CqlEvaluator.kt 84.54% 8 Missing and 9 partials ⚠️
.../org/opencds/cqf/cql/debug/RuntimeValueRegistry.kt 86.45% 2 Missing and 11 partials ⚠️
...n/kotlin/org/opencds/cqf/cql/debug/DebugSession.kt 79.24% 11 Missing ⚠️
... and 6 more
Additional details and impacted files
@@             Coverage Diff              @@
##             master     #141      +/-   ##
============================================
- Coverage     74.64%   67.68%   -6.96%     
- Complexity      385     1588    +1203     
============================================
  Files            44       68      +24     
  Lines          1258     5471    +4213     
  Branches        169     1472    +1303     
============================================
+ Hits            939     3703    +2764     
- Misses          234      953     +719     
- Partials         85      815     +730     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

fix issue with codecov stuck on old cached results
@raleigh-g-thompson raleigh-g-thompson marked this pull request as ready for review June 15, 2026 17:41
@raleigh-g-thompson raleigh-g-thompson self-assigned this Jun 16, 2026
@raleigh-g-thompson raleigh-g-thompson added the enhancement New feature or request label Jun 16, 2026
@raleigh-g-thompson raleigh-g-thompson merged commit 2b2fd34 into master Jun 16, 2026
6 of 8 checks passed
@raleigh-g-thompson raleigh-g-thompson deleted the release/4.8.0 branch June 16, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Debug CQL

2 participants