You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- READMEs: tool count 71 -> 75 (intro, architecture diagram, section
tables); Analysis section grows to 20 tools with the four new tools
and the extended analyze_change_impact / analyze_data_flow
descriptions; LSP comparison gains the reachability and
affected-tests rows; npm README feature summaries updated.
- CHANGELOG: 1.4.2 entry (reachability graph + three impact
capabilities, interprocedural data flow, framework extractors, the
two cap-contract fixes) and compare link.
- Version 1.4.1 -> 1.4.2 via tycho-versions:set-version.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,21 @@
1
1
# Changelog
2
2
3
+
## [1.4.2] - 2026-06-10
4
+
5
+
### Added
6
+
7
+
- Whole-program reachability graph (built lazily per loaded project, cached until reload) powering three impact-analysis capabilities:
8
+
-`find_unreachable_code`: project-wide dead code — types, methods, and fields unreachable from any `main` method or test (disabled tests still count as roots; a call through an interface or superclass reaches every override). Results mean "unreachable from declared entry points", not "safe to delete" — reflection/DI entry points are invisible to the graph.
9
+
-`find_affected_tests`: the test methods (JUnit 4/5, TestNG) that exercise a symbol, directly or transitively through non-test helpers and interface dispatch — the set to run after changing it. Disabled covering tests are flagged.
10
+
-`analyze_change_impact` gains `transitive=true`: the full reverse closure over the project graph (no depth ceiling, crosses override declarations) as `affectedMethods` + `affectedFiles`. The depth-mode contract is unchanged.
11
+
-`analyze_data_flow` gains opt-in interprocedural tracking (`followCalls`, bounded by `maxCallDepth`): null facts followed through argument-to-parameter hops to dereference sinks in callees, and parameter-taint facts propagated through aliases and concatenation to escape points into non-project callees. May-analysis; returned values are not tracked back.
12
+
- Framework-semantic extractors: `get_jpa_model` (entities with table names, id fields, and relationships — targets resolved through collection type arguments, mappedBy sides) and `get_http_endpoints` (route table with class-prefix/method-path composition for Spring verb shortcuts and JAX-RS). Frameworks absent from the classpath return empty results.
13
+
14
+
### Fixed
15
+
16
+
-`get_diagnostics` flagged `truncated` whenever the collected count reached `maxResults`, even when nothing was dropped. The flag now means items were actually dropped.
17
+
-`suggest_imports` overflowed its internal collection budget at `maxResults=Integer.MAX_VALUE` and silently returned nothing.
18
+
3
19
## [1.4.1] - 2026-06-09
4
20
5
21
### Added
@@ -321,6 +337,7 @@ Initial release of JavaLens MCP Server.
An MCP server providing **71 semantic analysis tools** for Java, built directly on Eclipse JDT for compiler-accurate code understanding.
7
+
An MCP server providing **75 semantic analysis tools** for Java, built directly on Eclipse JDT for compiler-accurate code understanding.
8
8
9
9
## Requirements
10
10
@@ -54,8 +54,8 @@ Search symbols, go to definition, find references, find implementations, type hi
54
54
### Fine-Grained Reference Search (9 tools)
55
55
JDT-unique capabilities not available through LSP: find annotation usages, type instantiations, casts, instanceof checks, throws declarations, catch blocks, method references, type arguments, and reflection usage detection.
56
56
57
-
### Analysis (16 tools)
58
-
Diagnostics, syntax validation, call hierarchy (incoming/outgoing), field write tracking, test discovery, unused code detection, possible bug detection, change impact analysis, data flow analysis, control flow analysis, and Spring DI registration scanning.
57
+
### Analysis (20 tools)
58
+
Diagnostics, syntax validation, call hierarchy (incoming/outgoing), field write tracking, test discovery, unused code detection, project-wide unreachable-code detection over the whole-program call graph, affected-test discovery (which tests exercise a symbol, transitively), possible bug detection, change impact analysis (with a full transitive mode), data flow analysis (with opt-in cross-method null/taint tracking), control flow analysis, Spring DI registration scanning, JPA entity-model assembly, and HTTP route-table assembly (Spring and JAX-RS).
59
59
60
60
### Compound Analysis (4 tools)
61
61
Combine multiple queries to reduce round-trips: analyze file, analyze type, analyze method, and type usage summary.
0 commit comments