Canary v1.0.0 — Initial Stable Release
Canary v1.0.0 🐤
Catch risky API changes before they merge.
Canary is a deterministic behavioral regression detector for GitHub pull requests. It analyzes Python code changes, identifies potentially breaking function-interface changes, and surfaces the results directly through GitHub Checks or from the terminal.
This release establishes Canary's first stable analysis pipeline and the foundation for deeper repository-aware regression analysis in v2.0.
✦ Highlights
- GitHub App integration — automatically analyzes pull request events
- Python diff analysis — inspects changed Python code
- Function signature regression detection
- HIGH / MEDIUM / LOW risk classification
- GitHub Check output with inline annotations
- Terminal PR inspection
- Installable
canaryCLI - Unit and integration test coverage
Deterministic regression detection
Canary v1 focuses on changes to Python callable interfaces, including:
- Function signature changes
- Parameter changes
- Default-value changes
- Type annotation changes
- Return annotation changes
- Sync / async declaration changes
Public API changes receive higher severity than private implementation changes.
Example
Before
def create_user(name: str) -> User:
After
def create_user(name: str, organization_id: int) -> User:
Canary identifies changes like this as potentially breaking public API changes and surfaces them during code review, before merge.
CLI
Inspect a pull request directly from the terminal:
canary inspect https://github.com/owner/repository/pull/123
The CLI uses the same analysis pipeline as the GitHub App.
Design philosophy
Canary v1.0 deliberately uses deterministic, explainable regression rules rather than opaque scoring or LLM-based review.
What behavior or interface might this change break?
The goal is not simply to describe a diff. It is to surface changes that may alter the contract other code depends on.
→ What's next: Canary v2.0
Canary v2.0 expands the engine into repository-aware semantic regression analysis, including:
- AST-based compatibility detection
- Repository-wide symbol analysis
- Cross-file call-site resolution
- Dependency and blast-radius analysis
- Argument-aware call validation
- Richer GitHub Check explanations
- Richer terminal analysis
v1.0 establishes the baseline: catch risky API changes before they merge.