Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
244 changes: 152 additions & 92 deletions docs/changelog/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,117 @@ Subscribe to updates via RSS at `/rss.xml` or follow the [GitHub releases](https
This changelog is auto-generated from [CHANGELOG.md](https://github.com/kryptobaseddev/cleo/blob/main/CHANGELOG.md). Run `./scripts/generate-changelog.sh` to update.
</Tip>

<Update label="January 2026" description="v0.67.0" tags={["Fix", "Feature", "Skills"]}>
## v0.67.0 Release
<Update label="January 2026" description="v0.69.2" tags={["Fix", "Feature"]}>
## Epic T2264 Complete


**Fixed**
- **BATS Test Registry Cleanup** (T2265): Tests now clean up project registry entries on teardown
- Added `_cleanup_test_registry_entries()` helper to `tests/test_helper/common_setup.bash`
- Updated `common_teardown()`, `common_teardown_per_test()`, `common_teardown_file()` to call cleanup
- Prevents orphaned test project entries in `~/.cleo/projects-registry.json`
- **Manifest Validation Count Bug** (T2266): Fixed incorrect "1350" invalid entries display
- Was actually 135 entries; bug caused by jq output concatenation in `scripts/validate.sh`
- Fixed by extracting only first JSON line and using `|| true` instead of fallback JSON
- Cleaned up 135 legacy manifest entries missing required fields

**Changed**
- **Epic T2264 Complete**: Cross-project repair foundation work complete
- Future `--fix-all` feature deferred to separate epic


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.69.2)
</Update>

<Update label="January 2026" description="v0.69.1" tags={["Feature", "Orchestrator", "Research"]}>
## v0.69.1 Release


**Added**
- **Agent Contract Specification** (T2267): Comprehensive RFC 2119 conformant specification for orchestrator-subagent contracts
- Defines deterministic agent behavior rules
- Output requirements and handoff protocols
- Located at `docs/specs/AGENT-CONTRACT-SPEC.md`

**Documentation**
- **Cross-project repair backlog** (T2264): Created epic with subtasks for future improvements:
- T2265: BATS test registry cleanup
- T2266: Research manifest invalid entries cleanup


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.69.1)
</Update>

<Update label="January 2026" description="v0.69.0" tags={["Fix", "Feature", "Sessions"]}>
## Feature Consistency Health Check


**Added**
- **Feature Consistency Health Check**: Doctor now validates that `project-info.json` features match `config.json` settings
- **Features Schema Definition**: Added `features` field to `project-info.schema.json` with `multiSession`, `verification`, and `contextAlerts` properties

**Fixed**
- **Doctor Validation Details** (T2224): Doctor now shows actual validation error messages instead of generic "Validation failed"
- `--detail` flag shows full validation output for failed projects
- Issues column shows first error line (e.g., "Validation: [ERROR] Found 26 orphaned tasks...")
- **cleoVersion in dev mode** (T2217): Fixed VERSION file reading to use `head -n 1` instead of `cat`, preventing multiline version values
- Affected files: `upgrade.sh`, `session.sh`, `sync-todowrite.sh`, `version-check.sh`
- **Global Registry Format** (T2216, T2218, T2222): Cleaned up hybrid registry architecture
- Removed `injection`, `cleoVersion`, `schemas`, `health` nested objects from global registry
- Global registry now uses flat `healthStatus` and `healthLastCheck` fields only
- Doctor updates global registry with correct flat field names
- **Injection Version Field** (T2225, T2226): Removed unused `version` field from injection objects
- Injection checks are marker-based, not version-based
- `project-info.json` injection entries now only have `status` and `lastUpdated`
- **Feature Sync** (T2229): `cleo upgrade` now syncs features from `config.json` to `project-info.json`
- Eliminates hardcoded feature defaults
- Reads actual config settings: `multiSession.enabled`, `verification.enabled`, `contextAlerts.enabled`

**Removed**
- **Dead Code Cleanup** (T2227): Deleted unused `injection_extract_version()` function from `lib/injection-config.sh`
- Removed legacy version extraction tests from `tests/unit/injection.bats`
- Updated documentation to reflect versionless injection system

**Changed**
- **Migration Script Location**: Moved `migrate-registry-cleanup.sh` to `dev/migrations/` per architecture guidelines


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.69.0)
</Update>

<Update label="January 2026" description="v0.68.2" tags={["Feature", "Documentation", "CLI"]}>
## Agent Injection Template


**Changed**
- **Agent Injection Template**: Added Claude CLI aliases documentation to `AGENT-INJECTION.md`
- Documents `setup-claude-aliases` command in injected content
- Lists all 7 aliases: `cc`, `ccy`, `ccr`, `ccry`, `cc-headless`, `cc-headfull`, `cc-headfull-stream`
- Includes doctor integration note
- Affects `cleo init` and `cleo upgrade` output

**Documentation**
- **TODO_Task_Management.md**: Full Claude CLI aliases section with alias table, doctor integration, and collision detection info


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.68.2)
</Update>

<Update label="January 2026" description="v0.68.1" tags={["Fix", "Feature", "Installer"]}>
## COMMANDS-INDEX.json


**Fixed**
- **Wrapper Template Sync** (Epic T2209): Fresh installations now include `setup-claude-aliases` and `compliance` commands
- **COMMANDS-INDEX.json**: Added missing `relates` command entry
- **Drift Detection**: Added wrapper template sync validation to prevent future mismatches


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.68.1)
</Update>

<Update label="January 2026" description="v0.68.0" tags={["Fix", "Feature", "Skills"]}>
## Enhanced deps Command


**Added**
Expand All @@ -43,6 +152,46 @@ This changelog is auto-generated from [CHANGELOG.md](https://github.com/kryptoba
- Prevents epics from auto-completing
- Used for persistent tracking epics

- **Dependency Graph System** (Epic T2122):
- **Graph Cache** (`lib/graph-cache.sh`):
- 90x performance improvement for dependency queries (18s → <200ms for 789 tasks)
- O(1) lookups via pre-computed forward/reverse adjacency lists
- Checksum-based automatic cache invalidation
- Single-pass jq construction for O(n) cache building
- Cache location: `.cleo/.deps-cache/`
- **Semantic Relationship Discovery** (`lib/graph-rag.sh`):
- `discover_related_tasks()` - Find related tasks by labels, description, files
- `suggest_relates()` - Threshold-filtered suggestions with scoring
- `add_relates_entry()` - Add non-blocking relationships
- Jaccard similarity for label and description matching
- Stopword removal for text tokenization
- **Enhanced deps Command**:
- `--rebuild-cache` flag to force cache rebuild
- Improved tree visualization
- Cache status in JSON output
- **relates Command** (`cleo relates`):
- `suggest` - Get AI-powered relationship suggestions
- `add` - Add relationships between tasks
- `discover` - Find related tasks by method
- `list` - List relationships for a task
- **Documentation**:
- Updated `docs/commands/deps.md` with cache documentation
- New `docs/commands/relates.md` for relationship management
- New `docs/guides/DEPENDENCY-GRAPHS.md` architecture guide
- **Performance Benchmarks**:
- Cold cache build: <100ms for 500 tasks
- Warm cache lookup: <80ms
- 250x improvement over previous O(n²) implementation
- **Edge Case Behavior**:
- Empty dependency graphs return valid JSON with empty arrays
- Tasks with no dependencies show appropriate message
- Cache gracefully handles concurrent access

**Migration Notes**
- **Cache Directory**: Graph cache now stored in `.cleo/.cache/` (was `.cleo/.deps-cache/`)
- **Automatic Migration**: Cache auto-rebuilds on first use, no manual action required
- **Force Rebuild**: Use `cleo deps --rebuild-cache` if issues occur

**Fixed**
- **Epic T1342: CI Test Failure Resolution** (195 → 0 failures):
- `lib/config.sh`: Boolean false values now handled correctly in `read_config_file` (T2079)
Expand All @@ -67,7 +216,7 @@ This changelog is auto-generated from [CHANGELOG.md](https://github.com/kryptoba
- Session start captures initial metrics


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.67.0)
[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.68.0)
</Update>

<Update label="January 2026" description="v0.66.0" tags={["Fix", "Feature", "Installer"]}>
Expand Down Expand Up @@ -502,95 +651,6 @@ This changelog is auto-generated from [CHANGELOG.md](https://github.com/kryptoba
[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.58.3)
</Update>

<Update label="January 2026" description="v0.58.2" tags={["Fix", "Feature", "Installer"]}>
## Release Workflow


**Fixed**
- **Release Workflow**: Set execute permissions on shell scripts in tarball
- `cleo self-update --to-release` was failing with "Permission denied"
- Added `chmod +x` for all `.sh` files before creating tarball
- Ensures installer and scripts are executable after extraction


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.58.2)
</Update>

<Update label="January 2026" description="v0.58.1" tags={["Fix", "Installer", "Skills"]}>
## Skills Installation


**Fixed**
- **Skills Installation**: Clean up stale individual `ct-*` symlinks during installation
- Installer now removes old `ct-*` symlinks before creating umbrella `cleo` symlink
- Prevents conflicts between old individual symlinks and new umbrella approach
- Logs cleanup progress: "Cleaned up N old ct-* skill symlinks"
- **Mode Switching**: Update skills symlinks during `--to-release` and `--to-dev` operations
- Self-update now calls `update_skills_for_mode_switch()` after mode transitions
- Removes stale symlinks pointing to old dev locations
- Ensures `~/.claude/skills/cleo` umbrella symlink is always valid


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.58.1)
</Update>

<Update label="January 2026" description="v0.58.0" tags={["Feature", "Installer", "Documentation"]}>
## Installer


**Added**
- **Installer**: Add `--release` flag for explicit release mode installation
- Symmetric with existing `--dev` flag
- `./install.sh --release --force` downloads latest release and copies files
- Conflict detection: `--dev` and `--release` together produces clear error
- **Self-update**: Add mode switching capabilities
- `--to-release` switches from dev mode to release mode
- `--to-dev PATH` switches from release mode to dev mode
- Dev mode now shows helpful suggestions including switch option
- **Documentation**: New Installation Modes guide (`docs/guides/INSTALLATION-MODES.md`)
- Comprehensive explanation of dev vs release modes
- Step-by-step switching instructions
- Use cases for each mode

**Changed**
- **Self-update**: Improved dev mode output with actionable suggestions
- JSON output includes `suggestions.switch_to_release` field
- Human output shows both `git pull` and `--to-release` options


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.58.0)
</Update>

<Update label="January 2026" description="v0.57.11" tags={["Fix", "Feature", "Installer"]}>
## Installer


**Fixed**
- **Installer**: Add user-friendly progress output for all installation scenarios
- Added `[INFO]` and `[STEP]` prefixes for progress visibility
- Added informative message when installation already complete (no longer silent)
- `--force` flag now shows "Clearing previous installation state" message
- **Self-update**: Improve dev mode feedback and progress indicators
- Clear `[INFO]` message explaining dev mode behavior
- Added `[STEP N/4]` progress indicators for update process
- Improved both JSON and human-readable output formats


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.57.11)
</Update>

<Update label="January 2026" description="v0.57.10" tags={["Fix", "Documentation"]}>
## GitHub Release


**Fixed**
- **GitHub Release**: Actually commit the release.yml fix (was uncommitted in v0.57.8-v0.57.9)
- Release tarball now includes `completions/` and `docs/` directories


[View full release notes](https://github.com/kryptobaseddev/cleo/releases/tag/v0.57.10)
</Update>

## Earlier Releases

For the complete release history, see:
Expand Down