Skip to content

chore: release v0.4.0#461

Merged
jafreck merged 4 commits intomainfrom
release/v0.4.0
Mar 30, 2026
Merged

chore: release v0.4.0#461
jafreck merged 4 commits intomainfrom
release/v0.4.0

Conversation

@jafreck
Copy link
Copy Markdown
Owner

@jafreck jafreck commented Mar 30, 2026

Release v0.4.0

Version bump: 0.3.9 → 0.4.0
Compare: v0.3.9...release/v0.4.0

Highlights

This is a major milestone release: Lore has fully migrated from tree-sitter to a SCIP-first indexing architecture with LSP enrichment. Tree-sitter dependencies are completely removed.

Features

Fixes

Refactoring

Testing

Docs

  • README benchmark numbers updated to current results
  • architecture.md pipeline stages updated to match SCIP+LSP flow
  • scip-lsp-architecture.md marked as historical migration proposal

Validation

  • 1,664 tests pass, 0 failures
  • Type check clean
  • package.json and package-lock.json both at 0.4.0

jafreck and others added 4 commits March 29, 2026 20:56
When a C/C++ symbol has both a forward declaration (header prototype) and
a real definition (implementation), Lore now correctly resolves the
canonical definition:

- buildSymbolDefinitionMap() tracks ForwardDefinition role (SCIP bit 64)
  and allows real definitions to override forward declarations regardless
  of document processing order.

- Symbol rows for forward declarations set definition_path/definition_uri
  to the real implementation file instead of self-referencing the header.

- Refs to such symbols also resolve to the implementation via the
  corrected symbolDefinitions map.

This fixes declaration-to-definition directionality for C header/
implementation patterns (e.g. zstd public API), making graph consumers
authoritative without requiring consumer-side heuristics.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
scip-clang emits location-based identifiers for preprocessor macros
'9!', '13!' (column numbers with unstripped ! suffix).

Three fixes:
- extractNameFromScipSymbol: strip ! (macro) descriptor suffix
- inferKindFromScipSymbol: recognize ! as macro/constant kind
- scip-indexer: filter out symbols with purely numeric or
  location-based names (anonymous compiler-generated identifiers)

On the zstd corpus this removes ~1,600 garbage symbol rows and
eliminates all duplicate-name-per-file pathologies (was 107 copies
of '9!' in a single file).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Bump version to 0.4.0 in package.json and package-lock.json
- Refresh README.md benchmark numbers and remove tree-sitter references
- Update docs/architecture.md pipeline stages to match SCIP+LSP architecture
- Add historical-context banner to docs/scip-lsp-architecture.md
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.83%. Comparing base (531ce7d) to head (38e90af).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #461   +/-   ##
=======================================
  Coverage   91.83%   91.83%           
=======================================
  Files          65       65           
  Lines        6160     6160           
  Branches     1726     1726           
=======================================
  Hits         5657     5657           
  Misses        503      503           

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jafreck jafreck merged commit 534562e into main Mar 30, 2026
3 checks passed
@jafreck jafreck deleted the release/v0.4.0 branch March 30, 2026 05:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant