Features

Devlog offers a comprehensive set of features designed for modern software development workflows while prioritizing privacy and security.


Core Features

Smart Commit Parsing

Conventional Commits Support

  • Fully compliant with Conventional Commits specification
  • Automatic detection of commit types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
  • Breaking change detection via ! suffix or BREAKING CHANGE: footer
  • Scope extraction and categorization

Heuristic Fallback

  • Intelligently parses non-standard commits
  • Extracts meaningful information from freeform commit messages
  • No strict format requirements - works with any Git repository

Unit-Based Processing

Devlog introduces a revolutionary approach by organizing commits into logical "units":

Unit Types:

  1. [PR] Pull Request Commits

    • Groups consecutive commits with same PR reference
    • Consolidates squash commits
    • Shows PR links and numbers
    • Example: Multiple commits in PR#123 → Single unit with combined analysis
  2. [Merge] Merge Commits

    • Analyzes incoming branch using M^1..M^2 range
    • Consolidates all commits from feature branch
    • Rolls up statistics and summaries
    • Treats merge as atomic unit of work
  3. [Direct] Direct Commits

    • Groups related direct commits to main branch
    • Uses temporal proximity and file overlap heuristics
    • Segments by author and timeframe
    • Filters noise while preserving context
  4. [Tag] Tag Milestones

    • Detects both annotated and lightweight tags
    • Distinguishes release tags (v1.2.3) from general tags
    • Generates release summaries
    • Interleaves chronologically with commits

Multiple Output Formats

Markdown (Default)

  • Human-readable changelog format
  • Grouped by commit type or chronological order
  • Breaking changes prominently displayed
  • Author attribution optional

JSON

  • Structured data for programmatic access
  • Complete commit metadata
  • Integration-friendly format
  • Schema-based validation

Flexible Filtering Options

By Version Range

# Between two tags
devlog --from v1.0.0 --to v2.0.0

# From tag to HEAD
devlog --from v1.0.0 --to HEAD

By Commit Range

# Last N commits
devlog --limit 50

# Specific commit range
devlog --from abc1234 --to def5678

By Date Range

# Coming soon: date-based filtering

Minor Commit Filtering

  • Automatic detection of whitespace-only changes
  • Filters documentation-only commits
  • Identifies typo fixes and formatting changes
  • Configurable thresholds

AI-Powered Features

Multiple LLM Providers

Local LLMs (Recommended)

  1. Ollama

    • Easy installation and setup
    • Multiple model support (llama3.2, mistral, etc.)
    • Automatic model download
    • No API keys required
  2. llama.cpp

    • Maximum performance
    • Custom model support
    • GGUF format compatibility
    • Complete offline operation

Cloud LLMs (Optional)

  1. OpenAI (GPT-4)

    • Highest quality summaries
    • Fast processing
    • Requires API key
    • Cost per request
  2. Anthropic (Claude)

    • Excellent code understanding
    • Long context support
    • Requires API key
    • Cost per request

Privacy-First Architecture

Three Privacy Levels:

  1. Strict Mode (Default for cloud)

    • Removes all PII (emails, URLs, paths)
    • Sanitizes ticket IDs
    • Redacts sensitive patterns
    • Maximum privacy protection
  2. Moderate Mode

    • Keeps file paths intact
    • Removes emails and URLs
    • Balances utility and privacy
    • Suitable for internal tools
  3. Relaxed Mode (Local only)

    • No sanitization
    • Full context for AI
    • Only available with local LLMs
    • Best analysis quality

Privacy Guarantees:

  • Local LLMs never send data over network
  • Cloud providers require explicit opt-in
  • Dry-run mode shows exactly what would be sent
  • Cost estimation before any API calls
  • Transparent data handling
  • Zero telemetry or tracking

Diff Analysis Mode

What It Does:

  • Analyzes actual code changes, not just commit messages
  • Extracts file changes, insertions, deletions
  • Identifies affected code areas
  • Assesses change impact (Major, Moderate, Patch, Minor)
  • Generates detailed summaries of modifications

How It Works:

  1. Extracts diff for each commit vs. parent
  2. Analyzes diff content with local LLM
  3. Categorizes changes by area and impact
  4. Consolidates unit-level summaries
  5. Filters noise and minor changes

Output Structure:

- [PR] Feature name (date)
  PR: #123
  • What changed: High-level description
  • Summary:
    - Detailed bullet point 1
    - Detailed bullet point 2
    - Detailed bullet point 3
  • Impact: Moderate
  • Files: 5 files, +234/-67 lines

Requirements:

  • Only works with local LLMs (Ollama, llama.cpp)
  • No network access required
  • Analyzes full git history
  • Works with any repository

Feature Grouping

Automatic Feature Detection:

  • Groups related units by logical features
  • Identifies common themes across commits
  • Separates PRs from direct commits
  • Generates feature-level summaries

Output Format:

======================================================================
Feature Change Log: v1.0.0 → v1.1.0
======================================================================

### User Authentication
**Summary:**
- Implemented JWT-based authentication
- Added login and logout endpoints
- Middleware for protected routes

**PRs:**
- [#123](url) Add user authentication system

**Commits:**
- [abc1234](url) Refactor authentication middleware

### Dashboard Feature
**Summary:**
- Created dashboard layout components
- Integrated analytics API

**PRs:**
- [#125](url), [#126](url) Feature/dashboard integration
======================================================================

Use Cases:

  • Release notes generation
  • Feature tracking
  • High-level project overview
  • Stakeholder communication

Developer Experience

Progress Indicators

8-Stage Processing Pipeline:

  1. Stage 0: Preflight - Privacy checks, LLM availability
  2. Stage 1: Collection - Gathering commits and tags
  3. Stage 2: Unit Formation - Classifying and grouping
  4. Stage 3: Diff Extraction - Extracting code changes
  5. Stage 4: Analysis - AI analyzing each unit
  6. Stage 5: Feature Grouping - Organizing by features
  7. Stage 6: Filtering - Applying noise filters
  8. Stage 7: Rendering - Generating output

Visual Feedback:

  • Spinners for indeterminate operations
  • Progress bars with counters for analysis
  • Stage completion checkmarks
  • Clear error messages with remediation steps

Conventional Commits Integration

Supported Types:

  • feat - New features
  • fix - Bug fixes
  • docs - Documentation changes
  • style - Code style changes (formatting, etc.)
  • refactor - Code refactoring
  • perf - Performance improvements
  • test - Test changes
  • build - Build system changes
  • ci - CI/CD configuration changes
  • chore - Maintenance tasks
  • revert - Reverted changes

Breaking Changes:

feat!: remove deprecated API endpoint
feat(api)!: change response format

fix: correct token validation

BREAKING CHANGE: API v1 endpoints removed

Grouping & Organization

By Commit Type:

devlog --group

Groups commits into sections: Features, Bug Fixes, Documentation, etc.

Chronological:

devlog

Lists commits in time order with unit badges.

By Feature:

devlog --diff-analysis --group-features --llm ollama

Groups related work into logical features.

Author Attribution

devlog --authors

Includes commit author information in output:

- feat(auth): add JWT support [abc1234] (John Doe)

Security Features

Secret Detection Prevention

  • Never logs API keys or tokens
  • Sanitizes sensitive environment variables
  • Redacts credentials from output
  • Secure token handling

Data Sanitization

Automatic Redaction:

  • Email addresses → [EMAIL]
  • URLs → [URL]
  • File paths → [PATH] (strict mode)
  • Ticket IDs → [TICKET] (strict mode)

Pattern Detection:

  • API keys and tokens
  • Credit card numbers
  • Social security numbers
  • Private keys

Audit Trail

  • Transparent operation logging
  • No hidden network calls
  • Dry-run mode for verification
  • Cost estimation before spending

Integration Features

Git Hosting Support

GitHub Integration:

  • Pull request link generation
  • Issue reference resolution
  • GitHub-flavored markdown
  • Actions workflow compatible

GitLab Integration:

  • Merge request links
  • Issue tracking integration
  • GitLab CI/CD compatible
  • GitLab Pages deployment

CI/CD Compatibility

Automated Changelog Generation:

# In GitHub Actions or GitLab CI
- name: Generate changelog
  run: |
    devlog --from ${{ env.LAST_TAG }} --to HEAD \
           --output CHANGELOG.md \
           --no-consent-prompt

No Interactive Prompts:

devlog --no-consent-prompt

Skip user confirmation for CI/CD environments.

Exit Codes:

  • 0 - Success
  • 1 - General error
  • 2 - Configuration error
  • 3 - Git repository error

Configuration

Environment Variables

# LLM API Keys
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."

# Logging
export DEVLOG_LOG_LEVEL="info"  # trace, debug, info, warn, error
export RUST_LOG="devlog=debug"

# Privacy enforcement
export DEVLOG_PRIVACY_MODE="strict"

Configuration File Support

Coming soon: .devlogrc or devlog.toml for project-specific settings.


Performance

Optimization Features

  • Parallel commit processing
  • Efficient git operations via libgit2
  • Streaming diff analysis
  • Memory-efficient large repository handling

Benchmarks

  • 1000 commits: ~30 seconds (local LLM)
  • 100 commits with diff analysis: ~2-3 minutes (Ollama)
  • Feature grouping: +10-15 seconds overhead

Roadmap

Planned features (see GitLab Issues):

  • Configuration file support (.devlogrc.toml)
  • Date-based filtering
  • Interactive mode for commit selection
  • Plugin system for custom formatters
  • Web UI for repository visualization
  • Git hosting API integration (automatic PR/MR fetching)
  • Multi-repository changelog aggregation
  • Custom LLM provider support
  • Template-based output generation

← Back to Home | Next: Getting Started →