// RELEASES

What's new in VibeDrift.

A public log of VibeDrift releases — the features, fixes, and calibration changes that shape how drift is measured. Updated on every publish to @vibedrift/cli.

Early-stage project. Detectors and calibration change fast. The latest version is always the one with the most accurate drift detection — keep your CLI current with vibedrift update.
// Highlights — the six capabilities in 60 seconds
Click any highlight to jump to the release notes below.
April 29, 2026·v0.7.0

Score out of 100 + scans that actually upload

The Vibe Drift Score is now displayed out of 100, matching what every code-quality tool you've ever used does. Same math, same grades, conventional denominator. Plus a series of fixes so deep scans on large repos actually land on your dashboard.

  • BREAKINGScore out of 100

    Drift composite is now /100 instead of /80. The internal math is unchanged (4 applicable categories × 20 = 80 raw); the engine normalizes at the boundary so the headline matches user expectations from SonarQube, Lighthouse, etc. Hygiene was already /100. Grades come from the percentage so they're identical to prior versions.

  • FIXLarge-repo uploads finally land

    Deep scans on monorepos like shadcn-ui (3,500+ files) used to silently fail to upload because the result blob exceeded the API's body-size cap. The CLI now compacts the payload progressively before uploading — stripping heavy bookkeeping fields in priority order until it fits — and surfaces any remaining failure with a visible warning instead of swallowing it.

  • FIXVisible upload status

    Previously you had to run with `--verbose` to see if your scan made it to the dashboard. Now any upload failure shows a clear `⚠ Couldn't upload to dashboard` line at the end of the scan, with the reason and payload size. Successful uploads with trimming print a `ⓘ Result trimmed for upload: 39MB → 8MB` note so you know what happened.

  • FIXDuplicate-group findings stay readable

    A semantic-duplicate group spanning 60+ files (common in registry-style codebases with theme variants) used to produce a single 30–40 KB finding with the entire member list inline. The finding now caps the displayed names and locations and surfaces the total count separately, keeping the report scannable while preserving every piece of scoring signal.

MIGRATION NOTES
  • CI users with `--fail-on-score`: multiply your threshold by 1.25 (e.g. 60 → 75) to keep the same gate after the /80 → /100 normalization.
Full changelog
April 20, 2026·v0.6.4

Catches stubs before they ship

New detector for a class of bug VibeDrift was missing: functions that return hardcoded placeholder strings instead of real computed values. The same class of bug that let a stub slip into production for months undetected.

  • FEATUREImplementation-gap detector

    VibeDrift now flags functions whose bodies are placeholder returns: `return "unvalidated"`, `return "not implemented"`, `raise NotImplementedError`, `panic("not implemented")`, `unimplemented!()`. Works across JavaScript, TypeScript, Python, Go, and Rust. Catches half-finished code that ships to production.

  • FEATURETODO severity escalation

    A TODO within five lines of a placeholder return or NotImplementedError is now a warning, not a buried info line. One TODO sitting next to a stub is orders of magnitude more actionable than ten scattered TODOs in a messy module.

  • POLISHDogfood in CI

    VibeDrift now runs on every PR to the VibeDrift API repo itself. If a stub ever slips into review again, the drift detector will point at it before merge. Same GitHub Action any team can add in two minutes.

Full changelog
April 19, 2026·v0.6.3

AI agent context, properly gated

The .vibedrift/ context pipeline — the feature that turns VibeDrift into a live participant in your AI coding sessions instead of a one-shot scanner — is now a first-class, clearly-gated offering. Free to use with a one-time sign-in.

  • FEATUREAI agent context pipeline

    Run `vibedrift . --write-context` and VibeDrift writes a .vibedrift/ folder with context.md, fix-plan.md, fix-prompts.md, and patterns.json. Commit it alongside your CLAUDE.md. Your AI coding agent reads it on every new turn and knows which pattern to match — no more cold starts, no more drift across sessions.

  • FEATUREWatch mode keeps it fresh

    `vibedrift watch` runs alongside your Cursor or Claude Code session and refreshes the context files on every file save. Zero network calls. The next AI turn always sees up-to-date peer patterns — even mid-refactor.

  • FIXConsistent sign-in gate on both

    --write-context and watch mode both now require a free vibedrift login. The .vibedrift/ files carry the full finding surface — same gate as the one-shot HTML report. Sign up once (no card, 30 seconds), and both work everywhere.

Full changelog
April 19, 2026·v0.6.1 – 0.6.2

Update nudges, watch-mode gate

Two small but important fixes between the 0.6.0 and 0.6.3 ships.

  • FEATUREPassive update notice

    When a newer @vibedrift/cli is available, the scan output now shows a dim one-liner at the end pointing at `vibedrift update`. Cached for 24 hours so it never slows a scan. Respects --local-only and telemetry opt-out.

  • FIXWatch mode now requires sign-in

    vibedrift watch now checks for a local auth token before starting. This closes a gate that let an unsigned user get continuous full-finding output, which the one-shot scan gates behind a free account.

April 19, 2026·v0.6.0

Drift-only score, watch mode, scan-over-scan diff

The headline score now measures drift — and only drift. Generic quality findings (complexity, dead code, TODOs, outdated deps, empty catches) live in a separate Hygiene Score that renders alongside but does not affect the Vibe Drift Score. Plus a new watch mode for AI coding sessions, a scan-over-scan diff banner, and a detector that catches AI-generated files by their git-history shape.

  • FEATUREDrift-only Vibe Drift Score

    The headline score now measures cross-file pattern consistency — the thing VibeDrift was built to detect — and nothing else. Generic hygiene signals still render in a clearly labeled separate pane and get their own score, so nothing is hidden. If you gate CI on --fail-on-score, recalibrate after upgrading: the drift composite's max shifted from 100 to 80.

  • FEATUREWatch mode for AI sessions

    New vibedrift watch subcommand rescans on every file change and refreshes .vibedrift/context.md, fix-plan.md, and patterns.json. Point it at your project while your AI agent is working — every new turn, the agent sees up-to-date peer patterns and fix prompts. Local only, zero network calls, debounced so a burst of edits triggers one scan.

  • FEATUREScan-over-scan diff

    Every scan now compares to the previous one: ✓ Resolved, ✗ New, and score delta — right in the header. Finding identity survives small line shifts so moving code doesn't produce phantom 'new' findings. Use --since <scanId> to compare against any earlier saved scan.

  • FEATURECommit archaeology

    New drift signal that reads your git history. Flags files written in a single burst by a single author when the rest of the directory was cultivated across time and contributors. It's a shape-of-authorship signal no linter has access to — useful for catching AI-generated files that shipped without human review.

  • FEATUREDeep-scan preview now names specific files

    When you run a free local scan, the upsell for deep scan used to be generic marketing copy. Now it names the exact near-duplicate function pairs, opaque function names, and mixed-pattern files that deep scan would confirm. You see what you're missing, not a banner.

  • FEATURETeam conventions, enforced across more detectors

    When your repo root has a CLAUDE.md, AGENTS.md, or .cursorrules that declares 'use the repository pattern,' 'named exports only,' 'structured logging with winston,' or similar, VibeDrift now uses those declarations to bias the dominance vote across nine drift detectors. If your docs say one thing and your code does another, the divergence is flagged with a citation back to the source line.

Full changelog
April 17, 2026·vAction v1

GitHub Action — catch drift before merge

VibeDrift now runs on every PR via a reusable GitHub Action. Posts a comment with the score delta, new drifts introduced, and a link to the full report. Optionally fails the check if the score drops below your threshold.

  • FEATUREPR drift report

    Every PR gets an auto-updating comment showing the score delta vs main, new drifts introduced, and a consequence line for each. Updates on each push — no comment spam.

  • FEATUREMerge gate

    Set fail-on-score to block merges when the drift score drops below your threshold. Keeps the codebase consistent without manual review overhead.

  • FEATURETwo-minute setup

    Add a 10-line workflow file + your VIBEDRIFT_TOKEN secret. Free scans are unlimited in CI — deep scans use your monthly budget.

Setup guide
April 17, 2026·v0.5.34

AI fix prompts + smarter Fix Plan

The AI-synthesized 'How the peers do this' prose now works reliably on every logged-in scan. The Fix Plan prioritizes security and architectural drift over linter-grade noise, and every finding explains why it matters.

  • FIXAI fix-prompt synthesis fixed

    The premium feature — AI-authored prose describing how peer files implement the dominant pattern — was silently broken since launch. Now works on every logged-in scan. The 'How the peers do this' section appears in Copy AI Prompt blocks for findings with reference files.

  • FEATURE"Why it matters" consequence lines

    Every finding in the Fix Plan shows a one-line consequence: what happens if you don't fix it. Security flaws, architectural drift, duplicates, missing deps — each has a concrete 'why this matters' annotation.

  • FEATUREPriority-sorted Fix Plan

    Security findings surface first, architectural contradictions second, semantic duplicates third. The Fix Plan shows the highest-stakes cross-file drift, not linter-grade complexity warnings.

April 16, 2026·v0.5.27

Telemetry + local-only mode

New anonymous scan beacon for logged-in users (language, file count, scan time — no code, no PII). New --local-only flag skips ALL network calls for air-gapped environments.

  • FEATUREAnonymous scan beacon

    When logged in, VibeDrift sends a lightweight anonymous ping per scan (language, file count, scan time, CLI version). No code, no file paths. Opt out anytime with `vibedrift telemetry disable`. Not-logged-in scans still make zero network calls.

  • FEATURE--local-only flag

    Skip ALL network calls even when logged in — no scan log, no beacon, no deep analysis. Use this in air-gapped environments, on sensitive codebases, or when you want a pure offline scan.

  • FEATUREvibedrift telemetry enable/disable

    New subcommand to manage telemetry preferences. Persisted in config. First-run notice shown once on first scan explaining what's collected and how to opt out.

April 15, 2026·v0.5.26

Temporal awareness

VibeDrift now reads your git history. Recent code carries more weight in the dominance vote, so migrating to a new pattern is rewarded instead of punished. Built in response to feedback on Hacker News.

  • FEATURERecency-weighted voting

    Every file's vote is now multiplied by a recency factor — newer code outvotes older code with a 90-day half-life. Three fresh handlers adopting the repository pattern can now correctly outweigh ten old raw-SQL handlers the team is migrating away from.

  • FEATUREPivot detection

    When recent files lean toward a new pattern while legacy files hold the old one, VibeDrift now recognizes the migration and reclassifies old files as legacy (not drift). Old code you're planning to migrate is no longer treated as urgent drift.

  • FEATUREThree-state classification

    Each deviating file is now aligned, legacy, or drift — with different copy-paste fix prompts for each. Legacy files get 'consider migrating' framing; true drift gets 'fix now.'

  • FEATURETeam-declared intent

    VibeDrift parses CLAUDE.md, AGENTS.md, .cursorrules, and AGENT.md in your repo root. When your declared convention disagrees with your actual code, that divergence is surfaced prominently in findings with a direct citation to the source file and line.

  • FIXSecurity analyzer skips test files

    The secret-detection scanner no longer flags deliberate test strings (e.g. hardcoded 'AKIA...' in security.test.ts) as real credential leaks. Test paths and *.test.* / *.spec.* files are now excluded from secret scanning, eliminating a common source of false-positive findings.

April 14, 2026·v0.5.24 – 0.5.25

Scale plan + fair scoring

Renamed the Team plan to Scale (we weren't actually doing per-seat billing, so the name was misleading) and re-calibrated the scoring formula so large codebases score fairly.

  • FEATUREPlan rename: Team → Scale

    Scale is $30/mo for 100 deep scans — a honest single-user power tier. Real multi-seat team billing is reserved for Enterprise where we can actually build it right (SSO, per-seat invoicing, admin dashboard).

  • FIXFairer scoring on large codebases

    Re-calibrated the scoring formula so one noisy category can't single-handedly tank your overall score. Projects with 100+ files now receive proportionally fair weighting instead of being over-penalized.

April 14, 2026·v0.5.19 – 0.5.23

Actionable reports

The scan report used to be a one-shot diagnosis. Now every finding comes with a one-click prompt you can paste into Cursor or Claude Code, and the report opens with a scannable summary instead of a wall of text.

  • FEATUREGlanceable summary

    New hero section at the top of every report: score + grade, 5-category mini-cards, and quick links to the Fix Plan and detailed report. What used to take 10 minutes to read now takes 30 seconds to scan.

  • FEATURECopy AI Prompt on every finding

    Every finding has a button that copies a drift-first Markdown block ready to paste into any AI coding assistant. The prompt names the peer baseline, lists reference files, and asks for a re-alignment refactor.

  • FEATUREFix Plan widget

    A top-of-report checklist of the 3–5 highest-impact drifts, with projected score gain if all are fixed. Includes a 'Copy full fix plan as AI context' bundler for one-shot multi-finding refactors.

  • FEATUREVisual finding cards

    Per-type visualizations — pattern-consensus bars for architectural drift, route-matrix grids for security, similarity bars for duplicates. Each card communicates its finding in under two seconds.

  • FEATURE.vibedrift/context.md generation

    New --write-context flag emits a living context file (plus fix-plan.md, fix-prompts.md, patterns.json) into your repo that AI agents can read alongside CLAUDE.md. Safe to commit.

  • POLISHDetailed report opens in a new tab

    The full 2000-line lab report is preserved, but now lives behind a clear CTA rather than scrolling below the summary. Keeps the default view fast without hiding anything.

April 1, 2026·v0.5.18 and earlier

Drift detection foundation

Earlier releases established the drift-detection engine — 13 cross-file detectors, dominance voting, Code DNA (semantic fingerprinting), and the paid deep-scan tier.

  • FEATURE13 drift detectors

    Architectural consistency, naming conventions, security posture, semantic duplication, phantom scaffolding, import/export style, async patterns, return shapes, logging, comments, state management, and test structure.

  • FEATURECode DNA engine

    Semantic fingerprinting via MinHash + LSH, operation-sequence hashing, and taint-flow analysis. Catches near-duplicate functions that look completely different but behave identically.

  • FEATUREAI-synthesized fix prompts (deep tier)

    On --deep scans, Claude Haiku synthesizes 'How the peers do this' prose from actual peer-file snippets. The AI prompt embeds real code from the files that follow the dominant pattern — grounded context instead of guesses.

Notes are public-facing — they describe user-visible changes, not internal implementation details. For the complete git log, see the npm release history.