v0.9.63

OpenMOSS/MOSS-Transcribe-Diarizev0.9.63Sep 16, 2026by safishamsi

Upgrading?

AI Summary

The update improves module dependency resolution for Elixir and adds support for Ruby member calls and Rust self.method() resolution across files. It also standardizes external module references by minting typed stub nodes for dependencies.

Key Highlights

  • Elixir alias/import/require/use targets now resolve across files.
  • Ruby member calls now resolve to superclass methods.
  • Rust self.method() resolution works for split-impl blocks.
  • External modules now mint typed stub nodes instead of dangling endpoints.

New Features

  • Elixir module dependency graph resolution
  • Ruby member call resolution using superclass promotion
  • External stub node creation for stdlib/third-party
  • Fix for external references appearing as dangling
  • Fix for Markdown code-span mention pruning

Full Release Notes


- Feature: Elixir `alias`/`import`/`require`/`use` targets now resolve onto the module's `defmodule` node across files, so the internal module dependency graph is no longer dropped as dangling. Only top-level modules are indexed (a nested `defmodule`, labeled with its bare inner name, cannot capture an unrelated `use <Name>` from another file), and a same-file reference is left unresolved so it cannot clobber the structural `contains` edge (#3603, thanks @ayushcodes10).
- Feature: a Rust `self.method()` call now resolves to a method defined on the same type in another file (the common split-`impl`-block layout), pooling methods across every `impl` of one type and refusing to link when two unrelated types share a bare name (#3602, thanks @ayushcodes10).
- Feature: a Ruby member call `obj.foo` on a known-type receiver now resolves to a method `foo` inherited from a superclass, including across files, using the same conservative promotion as the implicit-self resolver — a single owning class, matching method kind, and one unambiguous ancestry chain, or it stays dangling (#3585, thanks @oleksii-tumanov).
- Fix: every edge endpoint written to `graph.json` is now a declared node. An `imports`/`imports_from`/`re_exports` edge to an external module (stdlib, a third-party dependency) mints a typed external stub node instead of leaving a dangling endpoint that loaders materialise as an attribute-less phantom, and a cross-repo merge unifies the same external module into one global node instead of fragmenting it per repo; sourceless external call targets stay suppressed (#2873, #2878, thanks @AromalBiju1).
- Fix: a Markdown code-span mention edge now survives an incremental rebuild instead of being pruned as an unauthored link, and a dotted span (`Foo.bar`) resolves using its qualifiers as evidence, rejecting misleading matches such as `time.sleep` or `pyproject.toml` (#3587, thanks @AstroMined).

Related Repositories