Skip to content

Changelog

Changelog

All notable changes to Kit will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.8.0] - 2025-07-26

Major Features

  • Enhanced Local Diff Reviews
    • Clear documentation on output modes and piping workflows
    • Default behavior now properly documented: outputs to stdout with formatting
    • --plain mode for clean piping to other tools (e.g., kit review --plain HEAD~1 | claude)
    • Reviews are NOT saved by default (requires save_reviews: true in config)

New Features

  • Comprehensive CLI Test Suite
    • Added 72 new tests covering CLI argument parsing and validation
    • Security-focused validation tests for local diff patterns
    • Edge case handling for special characters and malicious inputs
    • CI-friendly test assertions that handle different terminal environments

Bug Fixes

  • CI Test Failures: Fixed 9 failing tests related to help output formatting in CI environments
    • Made help text assertions more robust to handle truncated or ANSI-formatted output
    • Tests now verify functionality rather than exact help text matches

Documentation

  • PR Reviewer Docs: Updated local diff documentation to clarify:
    • Default output behavior (stdout with formatting)
    • Output modes (standard vs plain)
    • File saving is opt-in, not default
    • Better examples showing piping workflows

[1.7.3] - 2025-07-26

New Features

  • Local Diff Review Support with MCP (#118)
    • Added ability to review local diffs through the MCP server
    • Enables PR-style reviews for uncommitted changes in development environments
    • Integrates seamlessly with Claude Desktop and other MCP clients

Bug Fixes

  • MCP Server Tests: Fixed test failures in MCP server test suite (#121)
  • Local Review Tests: Resolved issues with local review functionality tests (#121)

[1.7.2] - 2025-07-25

Bug Fixes

  • Symbol Extractor: Improved defensive query checking to prevent crashes with invalid tree-sitter queries (#119)
    • Enhanced tree-sitter compatibility handling
    • More robust error handling for malformed queries

Improvements

  • Documentation: Added reviewer link in README for better visibility
  • Dependencies: Updated TypeScript dependencies

[1.7.1] - 2025-07-17

New Features

  • Dynamic Model Pricing via Helicone API
    • Replaced hard-coded model pricing with real-time data from Helicone’s API (300+ models)
    • Automatic hourly updates ensure pricing is always current
    • Graceful fallback to minimal defaults if API is unavailable
    • Zero configuration needed - pricing updates automatically

Bug Fixes

  • CI Workflow: Fixed GitHub Actions parsing issue where setup-uv was incorrectly reading dependencies
  • Test Suite: Updated model validation tests to work with dynamic pricing API

[1.7.0] - 2025-07-16

Major Features

  • TypeScript / Node.js Client
    • New published package @runcased/kit provides a type-safe wrapper around the Kit CLI for JS/TS projects.
    • Repository helper, semantic search, PR review and every CLI command exposed via the same API shape.
    • Added build, lint, type-check and Prettier integration; full Jest test-suite + integration test.

Tooling & CI

  • Unified scripts/format.sh now formats both Python (Ruff) and TypeScript (Prettier, ESLint, tsc).
  • GitHub Actions workflow upgraded:
    • Node setup, JS deps install, shared formatter, and TS test jobs.
    • Release script publishes Python package to PyPI and TS client to npm in one shot (scripts/release.sh).

[1.6.0] - 2025-07-02

Improvements

  • Documentation Overhaul
    • Added advanced dependency-analysis tutorial, PR reviewer CI guides, and detailed changelog pages.
    • Improved quick-start sections and clarified token/env-var usage.
  • Quality & Testing
    • Large expansion of unit/integration test suite (‐80 → 120 tests).
    • Better line-number validation tests for PR reviewer and diff parser.

[1.5.0] - 2025-07-01

New Features

  • Semantic Search CLI
    • kit search-semantic command delivers vector-based natural-language code search.
    • Supports on-the-fly or persisted embedding indexes, chunking by symbols or lines, configurable models.
    • Python API surface Repository.search_semantic() added.

Enhancements

  • Faster vector-index build via batched embedding calls.
  • Early incremental support helpers for Chroma backend.

[1.4.0] - 2025-06-27

New Features

  • Dependency Analysis CLI Command: Complete command-line interface for code dependency analysis
    • New kit dependencies command supporting Python and Terraform projects
    • Dependency graph generation with multiple output formats (JSON, DOT, GraphML, adjacency)
    • Circular dependency detection with detailed cycle visualization
    • Module-specific analysis with direct and indirect dependency tracking
    • LLM-friendly context generation for AI-powered dependency analysis
    • Graphviz integration for dependency visualization (PNG, SVG, PDF output)

[1.3.3] - 2025-06-26

Security / Bug Fixes

  • Private-repo cloning with installation tokens: Repository now uses an improved GIT_ASKPASS helper that supplies x-access-token as the username and the token as the password.
    • Fixes 404 “repository not found” errors when using GitHub App installation tokens.
    • Backwards-compatible: personal-access tokens (PATs) continue to work unchanged.

[1.3.2] - 2025-06-25

Improvements

  • More actionable API errors: REST endpoints now return precise HTTP status codes and JSON bodies.
    • /repository returns 404 {"detail": "Repository not found: <url>"} instead of a generic 500.
    • Dependency and search endpoints propagate upstream errors for easier debugging.
  • Verbose logging: Repository creation and search endpoints log request URLs, headers, and truncated bodies for better traceability.

[1.3.1] - 2025-06-24

Improvements

  • Better grep
    • Sensible ignore directories
    • More grep options

[1.3.0]

New Features

  • Grep Command: Fast literal text search across repository files

    • New kit grep command with system grep integration
    • Case-sensitive and case-insensitive search options
    • File inclusion/exclusion patterns with glob support
    • Configurable result limits and automatic .git directory exclusion
    • 30-second timeout protection for large repositories
  • File Tree Subpath Support: Analyze specific directories within repositories

    • New --path option for kit file-tree command enables directory-specific analysis
    • Supports relative paths from repository root (e.g., --path src/components)
    • Compatible with existing output formats and export functionality
    • Enables focused analysis of large repository subdirectories

Improvements

  • Path Validation: Centralized path checking across all file operations
    • Unified validation utility prevents path traversal in user-provided file paths
    • Maintains compatibility with existing symlink handling on macOS

[1.2.3]

Bug Fixes

  • Duplicate TypeScript / TSX Symbols: Resolved an issue where some symbols could be recorded twice in symbols.json depending on tree-sitter queries
    • The TreeSitterSymbolExtractor now removes duplicate symbols based on (name, type, start_line, end_line)
    • Added dedicated regression test suite covering TypeScript and TSX symbol deduplication

Improvements

  • Optional Dependencies: Made tiktoken dependency optional in summaries.py to reduce installation requirements
  • Dependency Management: Relaxed FastAPI version constraints for better compatibility
  • Development Dependencies: Moved linters and type checking dependencies to development group

[1.2.2]

Enhanced Features

  • C++ Language Support: Added comprehensive C++ symbol extraction with tree-sitter

    • Support for classes, functions, structs, enums, namespaces, and templates
    • Dedicated tree-sitter query patterns for C++ language constructs
    • Full integration with existing symbol extraction pipeline
  • Kotlin Language Support: Initial Kotlin language integration with tree-sitter

    • Classes, functions, objects, interfaces, and enum support
    • Kotlin-specific language patterns and symbol detection
    • Comprehensive test coverage for Kotlin symbol extraction

[1.2.0]

Enhanced Repository Cache Management

  • Automatic Cache Cleanup: Repository now accepts optional cache_ttl_hours argument for automatic cleanup
    • Environment variable support via KIT_TMP_REPO_TTL_HOURS
    • Automatically deletes cached repository clones older than TTL
    • One-shot purge per Python process using functools.lru_cache
    • Fallback to previous behavior when TTL is unset

Improvements

  • Enhanced Logging: Debug logging for invalid TTL values and cleanup warnings
  • Cache Management: Improved error handling for cache cleanup operations
  • Documentation: Updated API documentation and README with cache management details

Tests

  • Added comprehensive test coverage in tests/test_cache_cleanup.py
  • TTL parsing validation and error handling tests
  • Cache cleanup logic verification

[1.1.0]

Major Features

  • Incremental Analysis System: High-performance caching for symbol extraction
    • 25x performance improvements for warm cache scenarios
    • Multi-strategy cache invalidation (mtime, size, content hash, git state detection)
    • Automatic cache invalidation on git operations (checkout, commit, merge, rebase)
    • LRU eviction with configurable cache size limits
    • New CLI commands: kit cache status, kit cache clear, kit cache cleanup, kit cache stats

Enhanced Features

  • Dart Language Support: Initial anguage integration with tree-sitter
    • Classes, functions, constructors, getters, setters, enums, extensions, mixins
    • Flutter widget detection patterns for StatelessWidget and StatefulWidget
    • Comprehensive symbol extraction with inheritance relationships
    • Plugin system support for custom Dart patterns

Bug Fixes

  • Cache Invalidation Fix: Resolved stale data issues causing incorrect line numbers

    • Repository objects now properly detect git state changes (branch switches, commits, merges)
    • Automatic cache invalidation prevents serving outdated symbol data from previous git states
    • Comprehensive git SHA tracking ensures data consistency across git operations
  • TSX Language Support: Fixed missing TypeScript JSX support

    • Proper fallback to TypeScript queries when tsx directory doesn’t exist
    • Ensures consistent symbol extraction for React TypeScript projects

[1.0.3]

New Features

  • Batch File Retrieval: Repository.get_file_content now accepts a list of paths and returns a mapping of path → content, eliminating the need for multiple calls when bulk loading files.
    • Backwards-compatible: single-path calls still return a plain string.

[1.0.2]

Improvements

  • Automatic GitHub Token Pickup: Repository class and MCP server now automatically detect GitHub tokens from environment variables

    • Checks KIT_GITHUB_TOKEN first, then falls back to GITHUB_TOKEN
    • Simplifies private repository access - no need to pass tokens explicitly
    • Consistent behavior across Python API and MCP server interfaces
    • Explicit token parameters still override environment variables
  • macOS Symlink Compatibility: Fixed path validation issues on macOS for MCP server

    • Resolves /tmp/private/tmp symlink conflicts that caused path validation errors
    • Maintains security while ensuring compatibility with macOS filesystem structure
    • Fixes “not in subpath” errors when using Claude Desktop and other MCP clients

[1.0.0]

Major Release

Kit 1.0.0 represents the first stable release of the code intelligence toolkit, marking a significant milestone in providing production-ready code analysis capabilities.

Major Features

  • Production-Ready Core: Stable API for code intelligence operations

    • Comprehensive symbol extraction across multiple programming languages
    • Advanced code search with regex and semantic capabilities
    • Repository analysis with git metadata integration
    • Cross-platform compatibility (Windows, macOS, Linux)
  • Multi-Access Architecture: Four distinct ways to interact with Kit

    • Python API: Direct integration for applications and scripts
    • Command Line Interface: 15+ commands for shell scripting and automation
    • REST API: HTTP endpoints for web applications and microservices
    • MCP Server: Model Context Protocol integration for AI agents and development tools
  • AI-Powered PR Intelligence: Complete PR review and analysis system

    • Smart PR reviews with configurable depth (quick, standard, thorough)
    • Cost-effective PR summaries for rapid triage
    • Intelligent commit message generation from staged changes
    • Support for multiple LLM providers (OpenAI, Anthropic, Google, Ollama)
    • Repository-aware analysis with symbol and dependency context
  • Advanced Code Understanding: Deep codebase intelligence capabilities

    • Multi-language symbol extraction (Python, JavaScript, TypeScript, Go, etc.)
    • Dependency analysis for Python and Terraform projects
    • Semantic search with vector embeddings
    • Context-aware code chunking for LLM consumption

Enhanced Features

  • Repository Versioning: Analyze code at specific commits, tags, or branches
  • Caching System: Intelligent repository caching for improved performance
  • Security: Path traversal protection and input validation
  • Cost Tracking: Real-time LLM usage monitoring and pricing transparency
  • Custom Profiles: Organization-specific coding standards and review guidelines

Architecture Highlights

  • Extensible Design: Plugin architecture for adding new languages and analyzers
  • Memory Efficient: Streaming operations for large codebases
  • Git Integration: Native git operations with branch and commit support
  • Type Safety: Comprehensive type annotations and validation

Supported Languages

  • Primary: Python, JavaScript, TypeScript, Go
  • Additional: Java, C/C++, Rust, Ruby, PHP, and more via tree-sitter
  • Configuration: JSON, YAML, TOML, Dockerfile
  • Infrastructure: Terraform, Kubernetes YAML

LLM Provider Support

  • Cloud Providers: OpenAI GPT models, Anthropic Claude, Google Gemini
  • Alternative Providers: OpenRouter, Together AI, Groq, Fireworks
  • Local Providers: Ollama with free local models (DeepSeek R1, Qwen2.5-coder, CodeLlama)
  • Cost Optimization: Hybrid workflows combining free local and premium cloud analysis

Developer Experience

  • Comprehensive Documentation: Full API reference and usage guides
  • Example Applications: Real-world usage patterns and integrations
  • Community Support: Discord server and GitHub discussions
  • Testing: Extensive test suite with CI/CD integration

[0.7.0]

Major Features

  • Custom Context Profiles: Store and apply organization-specific coding standards and guidelines

    • Create reusable profiles: kit review-profile create --name company-standards
    • Apply to any PR: kit review --profile company-standards <pr-url>
    • Export/import for team collaboration
  • Priority Filtering: Focus reviews on what matters most

    • Filter by priority levels: kit review --priority=high,medium <pr-url>
    • Reduce noise and costs by focusing on critical issues
    • Combine with other modes for targeted workflows

[0.6.4]

Major Features

  • OpenRouter & LiteLLM Provider Support: Complete integration with OpenAI-compatible providers

    • Access to 100+ models through OpenRouter at competitive prices
    • Support for Together AI, Groq, Perplexity, Replicate, and other popular providers
    • Additional cost tracking with accurate model name handling
    • Thanks to @AlanVerbner for this contribution
  • Google Gemini Support for PR Reviews: Complete integration of Google’s Gemini models

    • Support for latest models: gemini-2.5-flash, gemini-2.5-pro, gemini-1.5-flash-8b
    • Ultra-budget option with Gemini 1.5 Flash 8B at ~$0.003 per large PR
    • Automatic provider detection and accurate token-based cost tracking for Gemini

Bug Fixes

  • Better fork PR Support: Fixed issue preventing reviews of PRs from certain outside forks
    • Now uses base repository coordinates instead of head repository for diff fetching
    • Resolves 404 errors when reviewing external contributor PRs
    • Thanks to @redvelvets for this contribution

Enhanced Features

  • Expanded Provider Ecosystem: Three major categories now supported

    • Cloud Providers: Anthropic Claude, OpenAI GPT, Google Gemini
    • Alternative Providers: OpenRouter, Together AI, Groq, Fireworks
    • Local Providers: Ollama with free local models
  • Smart Model Detection: Intelligent routing based on model names

    • Handles complex model naming like openrouter/anthropic/claude-3.5-sonnet
    • Automatically strips provider prefixes for accurate cost calculation
    • Maintains compatibility with all existing configurations

[0.6.3]

Bug Fixes

  • Symbol Type Extraction Fix: Fixed bug where some symbol types were incorrectly processed
    • Classes and other symbol types no longer have characters incorrectly stripped
    • Added comprehensive test coverage for symbol type processing edge cases

[0.6.2]

Major Features

  • Ollama Support: Complete local LLM inference support with Ollama

    • Zero-cost PR reviews with local models
    • Support for popular models like DeepSeek R1, Qwen2.5-coder, CodeLlama
    • Automatic provider detection from model names (e.g., deepseek-r1:latest)
    • First-class integration with kit’s repository intelligence
  • DeepSeek R1 Reasoning Model Support

    • Thinking Token Stripping: Automatically removes <think>...</think> tags from reasoning models
    • Clean, professional output without internal reasoning clutter
    • Preserves the analytical capabilities while improving output quality
    • Works in both summarization and PR review workflows
  • Plain Output Mode: New --plain / -p flag for pipe-friendly output

    • Removes all formatting and status messages
    • Perfect for piping to Claude Code or other AI tools
    • Enables powerful multi-stage AI workflows (e.g., kit review -p | claude)
    • Quiet mode suppresses all progress/status output

Enhanced Features

  • CLI Improvements

    • Added --version flag to display current kit version
    • Model override support: --model / -m flag for per-review model selection
    • Better error messages and help text
  • Documentation

    • Comprehensive Ollama integration guides
    • Claude Code workflow examples
    • Multi-stage AI analysis patterns
    • Updated CLI reference with new flags

Developer Experience

  • Community

    • Added Discord community server for support and discussions
    • Improved README with better getting started instructions
  • Testing

    • Comprehensive test suite for thinking token stripping
    • Ollama integration tests with mock scenarios
    • PR reviewer test coverage for new features

Cost Optimization

  • Free Local Analysis: Use Ollama for zero-cost code analysis
  • Hybrid Workflows: Combine free local analysis with premium cloud implementation
  • Provider Switching: Automatic provider detection and switching

[0.6.1]

Improvements

  • Enhanced line number accuracy in PR reviews
  • Improved debug output for troubleshooting
  • Better test coverage for core functionality
  • Performance optimizations for large repositories

Bug Fixes

  • Fixed edge cases in symbol extraction
  • Improved error handling for malformed diffs
  • Better validation for GitHub URLs

[0.6.0]

Major Features

  • Advanced PR reviews
  • Enhanced line number context and accuracy fore reviews
  • Comprehensive cost tracking and pricing updates for reviews
  • Improved repository intelligence with better symbol analysis

Enhanced Features

  • Better diff parsing and analysis
  • Enhanced file prioritization algorithms for reviews
  • Improved cost breakdown reporting