MergeLens
Introduction
MergeLens checks a dependency update against the code that uses it. Give it a package and two versions, and it should tell you which lines of your project use something that changed.
Where it stands
MergeLens is a working prototype, not a finished product. An audit of the first design found that its answers were not reliable enough to trust, so it is being rebuilt as a small command-line tool instead of a hosted GitHub App.
The prototype can index a Python repository with tree-sitter, look up a package on PyPI and its advisories on OSV, and format a review. It does not yet do the main job well, and it should not be installed on a real repository.
What is being changed
The first version guessed at breaking changes by scanning a package's README text. The rework compares the real public API of the two package versions, then matches the difference against how your code actually uses the package.
When it cannot check something, it will say it is unknown instead of calling the update safe. AI stays optional and is limited to summarizing the findings.
Planned in the rework
- Real API comparison: Downloads both versions of a package and lists removed names, renamed names and changed parameters.
- Complete usage matching: Understands every import style, and maps package names to import names, for example Pillow to PIL.
- Exact lines: Lists the files and lines in your project that use something that changed.
- Honest unknowns: Reports what it could not analyze instead of guessing.
- Optional summary: An AI-written summary of the findings, never the source of the risk level.
Read the details
The full audit, the list of known problems and the redesign plan are in the project README on GitHub.