Changelog

This folder contains detailed changelog entries for Eko releases.

Structure

docs/changelog/
  README.md              # This file
  MM-YYYY.md             # Monthly changelog (e.g. 02-2026.md)
  YYYY-MM-DD-vX.Y.Z.md  # Release notes by version

Generating Changelog

The changelog generation script creates human-readable changelog entries from git commits.

# Generate changelog for unreleased changes (since last tag or recent commits)
bun run changelog:generate

# Generate changelog for a specific date range
bun run changelog:generate --since 2026-01-01 --until 2026-01-04

# Generate changelog between two commits/refs
bun run changelog:generate --from v1.0.0 --to HEAD

# Preview without writing files
bun run changelog:generate --dry-run

# Generate and update root CHANGELOG.md
bun run changelog:generate --update-root

Commit Convention

This project uses Conventional Commits. The changelog generator parses these to create meaningful entries:

PrefixCategoryExample
featFeaturesfeat(ui): add dark mode toggle
fixBug Fixesfix(auth): resolve session timeout
docsDocumentationdocs: update API reference
refactorRefactoringrefactor(db): simplify query builder
perfPerformanceperf: optimize image loading
testTestingtest: add e2e for checkout flow
choreMaintenancechore: update dependencies
ciCI/CDci: add deployment workflow

Scope Convention

Scopes in parentheses indicate the affected area:

  • feat(ui) - UI components
  • fix(db) - Database layer
  • feat(worker-ingest) - Ingest worker
  • feat(worker-facts) - Facts worker
  • feat(worker-validate) - Validate worker
  • fix(ai) - AI/summarization

Auto-Generation

The current month's changelog file (e.g. 02-2026.md) is automatically regenerated:

  • During development via bun run changelog:generate
  • At month boundaries, the previous month's file is auto-locked (status: locked)
  • CI pipeline before releases