Skip to content

Canary v1.0.0 — Initial Stable Release

Choose a tag to compare

@cybr-wisp cybr-wisp released this 24 Aug 14:18
· 20 commits to main since this release
cd009a9

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 canary CLI
  • 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.