Skip to content

Release 0.2.5847 - #727

Merged
justrach merged 21 commits into
mainfrom
release/0.2.5847
Aug 28, 2026
Merged

Release 0.2.5847#727
justrach merged 21 commits into
mainfrom
release/0.2.5847

Conversation

@justrach

Copy link
Copy Markdown
Owner

Summary

  • deterministic common-name navigation, scoped callpaths, callback and Zig re-export resolution
  • durable reindex snapshots and stale daemon replacement
  • managed semantic implementation privacy and explicit reindex CLI
  • vendored OpenPuffer update through upstream PR O(n²) trigram dedup in readFromDiskInner #31 with bounded RSS accounting
  • version metadata and changelog for 0.2.5847

Validation

After merge, the v0.2.5847 release will use the existing Developer ID signing and Apple notarization path.

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:b2e6afdbfc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadsrc/mcp.zig
fn isCallSyntaxAfter(line: []const u8, start: usize, after_name: usize, language: explore_mod.Language) bool {
var cursor = after_name;
while (cursor < line.len and (line[cursor] == ' ' or line[cursor] == '\t')) cursor += 1;
if (cursor < line.len and line[cursor] == '(') return true;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Handle non-parenthesized invocation syntax

When a symbol is invoked using valid language syntax without an immediate (—for example a Rust macro call render!() or a Kotlin trailing-lambda call render { ... }—this predicate returns false and codedb_callers drops the call site. These usages survived the previous whole-word filter, so the new invocation filter needs language-specific handling for these common forms rather than restricting all non-Swift languages to parenthesized calls.

Useful? React with 👍 / 👎.

Comment threadsrc/explore.zig
Comment on lines +4296 to +4297
for (callees) |callee| {
const name = callee.name;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Deduplicate qualified calls before applying the callee cap

When a function contains qualified calls such as a.render() and b.render() and there is one resolvable render definition, extractCallees now returns separate entries keyed by each qualifier, but this loop appends the same resolved callee for both. The duplicated rows can consume the max budget—six in context generation—and hide distinct callees that occur later, contradicting this method's name-deduplication contract; deduplicate by resolved target or callee name before appending.

Useful? React with 👍 / 👎.

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:58ed8e1f99

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadsrc/explore.zig
Comment on lines +6043 to +6045
if (exact) {
if (self.call_graph) |*cg| cg.deinit(self.allocator);
self.call_graph = null;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Upgrade the call graph under exclusive synchronization

When an approximate graph already exists, the first codedb_callpath request deinitializes it while holding only self.mu's shared lock. The MCP/serve process also runs cliDaemonListen on a separate thread, and a concurrent ranked CLI query can hold the same shared lock while reading self.call_graph in searchContentRankedUncached/queryGraphDistances; this upgrade can therefore free its adjacency and metadata out from under that reader, causing use-after-free or a process crash. The graph replacement needs exclusive synchronization, or readers and upgrades need a dedicated graph lifetime lock.

Useful? React with 👍 / 👎.

Comment threadsrc/explore.zig
outline.language == .go_lang or outline.language == .php or
outline.language == .dart or outline.language == .java or
outline.language == .kotlin or outline.language == .svelte or
outline.language == .kotlin or outline.language == .swift or

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Parse Swift multiline strings before counting braces

Adding Swift to the brace scanner makes findBraceEnd determine every Swift function's body, but that scanner recognizes triple-quoted strings only for Dart. A valid Swift multiline literal containing an ordinary quote followed by } can therefore toggle in_string off and count the literal brace as the function close, truncating line_end, symbol bodies, and call-graph extraction. Handle Swift """ literals explicitly before enabling brace-based ends for the language.

AGENTS.md reference: AGENTS.md:L14-L22

Useful? React with 👍 / 👎.

@justrach
justrach merged commit de042db into mainAug 28, 2026
2 checks passed
Sign up for freeto 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

@justrach