What's new in Calyntro

Every release, documented. New features, improvements, and the reasoning behind them.

Subscribe via RSS: calyntro.com/blog/categories/changelog/index.xml

Released
2026-10-27
v1.21

Change Coupling — Relative Score & Noise Filters

The coupling score now measures structural dependency relative to module size — so a small module that changes almost exclusively with another scores higher than two large modules that occasionally share a commit.

Improvement

Relative coupling score

Score is now shared_commits / min(m1_commits, m2_commits) × 100, capped at 100. A score below 20 is incidental; 60 or above indicates structural coupling worth addressing. Pairs are ranked by score, not raw co-change volume.

Improvement

Noise and incidental filters

Two default-on filters clean up the list automatically: Exclude noise removes test and third-party modules that inflate co-change counts; Hide incidental removes pairs with score below 20. Both can be toggled off when auditing the full picture.

Improvement

Honest coordination events KPI

Cross-Team Co-Changes now counts distinct commits that touched files from two different teams — not the file-pair multiplied figure that inflated the number. Each counted event is a real synchronisation moment between teams.

Update

./manage.sh pull-latest
./manage.sh up
Released
2026-10-27
v1.20

Tracker Confidence Metadata

Tracker-dependent results now report how much of the commit history is backed by resolved ticket data — so engineering teams can judge how reliable the signal is before acting on it.

Improvement

Confidence field on tracker-dependent endpoints

The bug-magnets endpoint, file detail bug_recency, and the defect_attractor / bug_magnet warning types now each include a confidence object with tracker_coverage_pct (0–100). Git-only warning types are unaffected. No re-import required.

New

Videos page

A dedicated /videos/ page now lists the feature episode series. Linked from the main navigation.

Update

./manage.sh pull-latest
./manage.sh up
Released
2026-10-25
v1.19

Bug Magnet Detection

Files that repeatedly attract bug-fix commits are now surfaced with a decay-weighted Fix-Recency Score. The score weights recent fixes more than older ones, giving teams a ranked list of structurally fragile files — before the next incident.

New Feature

Bug Magnets view

A dedicated list view ranks all files by Fix-Recency Score — sortable by score, last fix date, recent bug count, and hotspot score. Paginated, filterable by module and date range. Requires Jira or compatible ticket provider configured in config.yaml.

Enhancement

Fix Activity KPI in File Details

The file detail drawer now shows a fifth KPI card — Fix Activity — when tracker data is available. Displays the Fix-Recency Score, days since last bug fix, and recent bug count (90-day window).

Enhancement

Bug Magnet dashboard warning

Files with a Fix-Recency Score ≥ 1.5 now appear in the dashboard warnings panel as bug_magnet warnings, ranked alongside existing hotspot, silo, and complexity alerts.

Update

./manage.sh pull-latest
./manage.sh up
Released
2026-10-24
v1.18

Validation study extended to four codebases

Apache Flink added as the fourth repository in the prospective validation study. T1–T4 finding tests now cover MongoDB, uv, Qt Base, and Apache Flink with reproducible, version-controlled results.

Validation

Apache Flink — T1–T4 results

AUC 0.682 (T+3M) / 0.710 (T+6M). 50% of bug-affected files ranked in the top quartile of a churn-based risk ranking (25% of codebase). The signal holds across all four codebases.

Improvement

Reproducible finding tests (T1–T4)

Statistical validation tests for all four hypotheses are now part of the test suite with versioned JSON reports and data provenance tracking.

Update

./manage.sh pull-latest
./manage.sh up
Released
2026-10-19
v1.17

API parameter naming standardised

Consistent parameter vocabulary and URL prefix across all analysis endpoints. Breaking change for clients using the old parameter names.

Improvement

Uniform request parameters across all endpoints

All analysis endpoints now use start_date / end_date, module_name, and limit — replacing the previous mix of from/to, module/component_name, and nbr_items. The URL prefix /v1/analysis/ is now uniform (previously some routes used /v1/analyze/). The tracker coverage endpoint switched from GET to POST, consistent with all other filter endpoints.

Update

./manage.sh pull-latest
./manage.sh up

Clients using the old parameter names must update their requests. See the API Reference for current parameter names.

Released
2026-10-06
v1.16
Full release notes →

AI Briefing ready for shared instances

Navigation restructured, AI Briefing redesigned and renamed, monthly request cap for shared instances, and OpenAI as an alternative provider.

New Feature

Monthly request cap for shared instances

Set a monthly limit for AI Briefing requests per instance — intended for demo and shared deployments where open-ended LLM usage would be impractical. Counter resets automatically on the first of the following month.

ai_brief:
  max_requests_per_month: 50   # 0 = unlimited
New Feature

OpenAI as an alternative provider

AI Briefing now works with OpenAI models in addition to Anthropic and Ollama. Switch provider in config with no code changes required. Based on testing, gpt-4o produces meaningfully better risk synthesis than gpt-4o-mini for this use case.

ai_brief:
  provider: openai
  model: gpt-4o
  api_key: ${AI_BRIEF_API_KEY}
Improvement

Navigation restructured

The sidebar now groups related views under labelled sections — Code Analysis (Risk Matrix, Change Coupling, Team Architecture) and Reporting (Review Briefing, AI Briefing). Replaces a flat list with no visible context. All routes and functionality unchanged.

Improvement

AI Briefing — consistent layout and new name

The AI Briefing view is now aligned with the Review Briefing layout. The feature was previously called "AI Brief" and is now called AI Briefing across the interface and navigation.

Patch Releases

v1.16.7 Release tarball is now self-contained — includes manage.sh, docker-compose.yml, and nginx.conf. No registry access required for installation.
v1.16.6 Config generator no longer produces duplicate user entries when a developer commits from multiple email addresses.
v1.16.5 File Detail trend no longer shows a misleading ±100% for files that were bulk-imported and not subsequently modified.

Update

./manage.sh pull-latest
./manage.sh up

No database migrations required unless you want the new max_requests_per_month or provider options.