Skip to content

Release v0.8.2

Choose a tag to compare

@github-actions github-actions released this 02 Oct 14:01
· 38 commits to main since this release
5d48082

Eulix Release Notes

Eulix CLI v0.8.2

This release focuses on retrieval performance, parser output reduction, query improvements, and internal cleanup.

Retrieval

  • ~67% reduction in kb.json size
  • Updated the retrieval parser to produce smaller files, improving retrieval speed and reducing peak memory usage without measurable loss in accuracy.
  • Updated the hydration algorithm for improved retrieval performance and data processing.
  • Optimized callers and callees queries by skipping unnecessary semantic-search processing.
  • 60-70% faster retrieval time due to smaller files to process

Query Improvements

  • Reworked MMR and introduced anchor pinning.
  • Refactored the monolithic query package into smaller modules.
  • Added dedicated classifier and router test suites.
  • Cleaned up and reorganized query-related symbols and components.

Extra

  • Project-wide configuration constants were moved into utils/constants.
  • Improved the TUI and fixed several bugs.
  • Deprecated the glados and aspirine modules.
  • Call relationships remain available through kb_call_graph.json.
  • checksum now reads directly from eulix_parser output instead of generating checksum.json.zst[this was done cause parser already have to walk the dir might as well generate checksums, this saves first run time].

Eulix_Parser v0.7.7

  • Reduced from 2.06 GB → 0.67 GB on the Linux kernel benchmark.
  • Reduced total filesystem write volume by 48.9% (end-to-end analyze pipeline).
  • Output phase improved from ~6.89s → ~4.08s.
  • Slight reduction in total wall-clock time.
  • kb.json now uses slimmed-down structures (FileDataSimple, FunctionSimple, ClassSimple) for serialization.
  • Unnecessary downstream fields are no longer written into kb.json.

Eulix Embed v0.4.1

  • Fixed linter issues and updated lint.sh to use Ruff for most linting.
  • Expanded the compare command from checking selected entries to verifying the entirety of embeddings.bin and vectors.bin.

[BETA] VizEulize — Call Graph Visualization

VizEulize is a new local HTML-based visualization tool for exploring Eulix call graphs.

Features

  • Local JSON loading

    • Load kb_call_graph.json and optionally kb_index.json through drag-and-drop or a file selector.
    • Files are processed locally and are not uploaded externally.
  • Filtering

    • Filter nodes by category and tag.

    • Filter relationships by direction:

      • Both directions
      • Callees →
      • ← Callers
    • Limit traversal depth to 1, 2, or 3 hops.

  • Interactive graph

    • Pan and drag around the graph.
    • Scroll to zoom.
    • Click nodes to inspect their details.
    • Double-click a node to isolate and focus on its immediate neighborhood.
  • Default view

    • Automatically highlights highly connected nodes when a dataset is loaded.
  • Reset

    • Restore the default layout, zoom level, and filters with one click.

Using VizEulize

The VizEulize HTML file is installed at:

$HOME/.Eulix/bin

For now, Eulix CLI does not automatically open or interact with the visualization tool.

To use it:

  1. Manually open the VizEulize HTML file from $HOME/.Eulix/bin.
  2. Generate/analyze your project with Eulix.
  3. Load:
.eulix/kb_call_graph.json
.eulix/kb_index.json

into VizEulize using the file picker or drag-and-drop.

The visualization currently operates entirely on the locally provided JSON files.

Note: Automatic CLI integration for launching/loading the call graph visualization is not available yet.

Full Changelog: v0.8.1...v0.8.2