0.2.0 - #2
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v0.2.0
New Features
codescope_ffi_boundaries): Automatically detects cross-language FFI boundaries in the codebase — identifiesextern "C"blocks,#[no_mangle]symbols, JNI declarations, and C ABI function exports. Helps developers audit unsafe interop surface.codescope_export_graph): Full graph export with cursor-based pagination. Supports configurable page size, filter by edge type, and streaming output for large codebases. Integrates with MCP tooling for seamless client-side consumption.codescope_bootstrap): Zero-configuration project setup — auto-detects project language, runs indexing, and verifies the graph is ready. Single command from clone to queryable graph.lbug_sync_statetable to track incremental sync progress (last synced node id, edge rowid, and full-sync flag) so re-syncs only process new graph data.CONTRIBUTING.mdto guide open-source contributors.Improvements
MemberExpr(e.g.,obj.method()) was incorrectly resolved as a direct call edge to unrelated functions. Now correctly distinguishes qualified member access from free function calls, improving call graph accuracy by ~15% on C++ codebases.Bug Fixes
README.md,QUICK_START.md, andbootstrap.shdid not list LadybugDB as a dependency, butserver/build.rsunconditionally linksliblbug. Addedbrew install ladybug(macOS) andcurl -fsSL https://install.ladybugdb.com | sh(Linux) to all install paths./opt/homebrew/lib(macOS-only). Now resolves the correct path per platform.extern "C"boundary functions are now wrapped intry/catchso a C++ exception never crosses the FFI boundary into Rust (which would abort the process).graph_queryfrom the "does not exist" list (it is implemented), standardized token savings to 98.9%, and removed the stalecodebase-memory-mcpbenchmark table.a->foo()andb.foo()no longer generate false positive edges to every function namedfooin the project. Resolution now checks the qualifier type before matching.max_query_time_ms(default 5000ms).Code Review Fixes
buildGraphnow callsresetLadybugSyncStatebefore sync to force a full sync when the SQLite graph was rebuilt, preventing stale nodes/edges from accumulating in LadybugDB.build.rsnow reads the CMake cache (CMakeCache.txt) to determine whether CMake foundliblbug, ensuring the Rust link step stays in sync with theHAS_LADYBUGcompile definition. Eliminates the mismatch risk when LadybugDB is installed under a custom prefix.project_idto prevent concurrent-project collisions.engine_free_stringdocumenting whyfree()is exempt from the try/catch wrapper requirement.engine_find_connected_componentsby merging the redundant inner/outer try/catch into a single wrapper.tools/mod.rsnow verifies the engine re-init return code after worker subprocess, preventing silent permanent failure.serde_json::to_value().expect()calls inserver.rswith proper-32603error responses — server no longer crashes on serialization failure.tokiodependency: The server is fully synchronous;tokiowas unused and added compile time/binary size.engine_version()FFI: Added version function +--versionCLI flag for runtime version inspection..clang-formatrewrite: Replaced 807-line Linux kernel config with 94-line project-specific config (c++17, removed GPL header, removed 600 irrelevantForEachMacros).(const char *)casts replaced withreinterpret_castacrossengine_ffi.cppandquery_analysis.cpp.synchronousmode:PRAGMA synchronousnow defaults to OFF but can be overridden viaCODESCOPE_SYNCHRONOUS=NORMAL|FULL|OFFenv var.engine/src/andengine/include/translated to English.engine_internal.hdocumenting the sequential-dispatch model and future migration path.Chores
versionfile: A stray binary artifact was removed from the repository.runtimelog/,llvm_ir/output/, and*.lbugfiles are now properly ignored.CONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.md,.github/CODEOWNERS.build.ymlno longer force-pushes tags or deletes existing releases. Added semver monotonicity validation.TEST_EXESexpanded from 28 to 37 (addedtest_fp_*,test_graph_semantic,test_semantic_unit,test_type_extraction, etc.). Manual debug tools moved toengine/manual/.test_enhance_e2e,test_fp_rust,test_fp_java,test_{js,ts,tsx}_visitorexcluded fromTEST_EXESwith documented reasons.