Skip to content

v2.0.0

Latest

Choose a tag to compare

@Ansh-dhanani Ansh-dhanani released this 27 Mar 17:38
· 231 commits to main since this release

Mikk v2.0 — Release Notes

Mikk v2.0 is a full rearchitecture of the codebase intelligence engine. This release establishes Mikk as a production-grade, deterministic alternative to probabilistic RAG-based context tools, ships a ground-up rebuild of the VS Code extension, and hardens the CI/CD pipeline for automated publishing.


New Features

Feature Description
Deterministic Context Engine Full dependency graph built from static AST analysis via OxcParser. Zero hallucination, zero approximation.
Unified VS Code Sidebar Replaced four fragmented views with a single Mikk Explorer containing three focused nodes: Dashboard, Dead Code, and Hotspots.
Architecture Dashboard Rich webview panel showing module count, file count, function count, public API surface, dead code count, sync status badge, top hotspots list, and a live Mermaid module relationship graph.
Dead Code Detector Sidebar node that expands to show all unreferenced, non-exported functions. Click any entry to jump directly to the source line.
Hotspots View Sidebar node showing the top 10 most-called functions ranked by caller count, with one-click navigation.
Dynamic Context Shifting Extension automatically detects which sub-project the currently open file belongs to by climbing the directory tree for the nearest mikk.json. Context shifts silently with no user action required.
Auto-Refresh Extension watches mikk.lock.json and mikk.json via file system watchers and refreshes the sidebar, status bar, and open Dashboard panel automatically on any change.
Status Bar Integration Persistent status bar item shows live function and module counts. Color shifts to amber when the lock is drifted. Clicking it opens the Dashboard.
AI Context Forge Command Mikk: Get AI Context prompts for a task description and runs mikk context for "..." in the integrated terminal.
CodeLens Annotations Inline caller counts displayed above each function in TypeScript and JavaScript files.
Dead Code Highlighting Functions with zero callers and no export are faded with a grey color decoration directly in the editor.
Publisher Verification Publisher profile linked to https://mikk-web.vercel.app/ with support channel and source repository configured.
Automated VS Code Marketplace Publishing GitHub Actions workflow configured to publish to the official VS Code Marketplace on tagged releases using VSCE_PAT.
Automated Open VSX Publishing Parallel publishing workflow for the Open VSX Registry.
Comprehensive Extension README Full feature documentation, command reference, and getting-started guide included in the VSIX bundle.

Bug Fixes

Bug Fix
Cannot read properties of undefined (reading 'length') on calledBy All .length accesses on lock function fields now use optional chaining: calledBy?.length ?? 0. Extension no longer crashes on incomplete lock entries.
Extension crash on startup with no mikk.json MikkDataProvider.readJson returns null early when projectRoot is empty. No path.join call is made against undefined.
The "path" argument must be of type string. Received undefined activate passes path.dirname(editor.document.fileName) to findRoot instead of the full path, and the loop now checks next === cur before continuing.
frozen-lockfile CI failure Regenerated bun.lock without the frozen flag and committed the updated lockfile.
Blast radius classifier including non-function nodes ImpactAnalyzer.analyze filters impactedIds to only include entries prefixed with fn:, eliminating phantom nodes from the result set.
Sidebar showing all modules including empty ones Explorer provider filters modules to only show those with at least one associated function.
Dashboard not rendering when data is available DashboardPanel now exposes a public update(data) method. The refresh() cycle in activate calls this method whenever the open panel exists.
Dead code decoration crashing on functions with missing fields MikkDecoratorProvider wraps every field access in optional chaining. startLine, endLine, name, calledBy, and file are all null-guarded.
Extension logo showing as a blank square Replaced the icon in both the viewsContainers and views entries with resources/logo.svg. The PNG is retained only for the Marketplace icon field, which requires PNG format.
Extension detail panel blank in VS Code Created README.md in the extension package root. The VS Code extension detail panel renders this file as the description.
Duplicate MikkActionsProvider and ActionItem class declarations Removed the second copy introduced by a failed incremental edit. Single canonical class definition is now at the top of the module.

Breaking Changes

  • The mikkModules, mikkFunctions, mikkHealth, and mikkActions view IDs are removed. Any when clauses or keybindings referencing these IDs must be updated to mikkExplorer.
  • The mikk.showDiagram command has been removed. Diagram functionality may be reintroduced in a future release.
  • The mikk.showImpact, mikk.deadCode, mikk.stats, and mikk.watch commands have been removed. Their functionality is surfaced through the unified Dashboard and sidebar.

Verified Test Coverage

  • 211 core engine tests passing across parser, graph builder, lock compiler, and impact analyzer packages.
  • Extension builds to a clean 21 KB bundle with zero TypeScript errors.

Full Changelog: v1.9.0...v2.0.0