All notable changes to this project will be documented in this file.
- Fix
user_emailresolution to read from.opencode/.envinstead of project root.env - Previously fell back to system username when
.envwas not found in project root
- Add detailed token columns to CSV:
tokens_input,tokens_output,tokens_reasoning,tokens_cache_read,tokens_cache_write - Add
costcolumn to CSV tracking session cost in USD (from OpenCode SDK) - Add
CsvWriter.ensureHeader()for automatic CSV header management at plugin startup
- Fix CSV header migration: automatically upgrade old 17-column files to 23-column format
- Fix ticket extraction: skip synthetic text parts (file contents, MCP resources) to avoid false positives from example patterns in docs
- Fix empty CSV files created without headers
- CSV header is now validated and repaired at plugin startup, not on each write
- Fix
agent_defaultslookup to be tolerant of@prefix in agent names - Add
AgentMatcherutility for consistent agent name normalization across the codebase
- Add
valid_projectsconfiguration for JIRA project whitelist - Restrict ticket detection to specific projects when configured
- Default ticket pattern now requires at least 2 uppercase letters
- Matches:
PROJ-123,SOSO-1,AB-99 - Does not match:
V-1,X-9(single letter),UTF-8(false positive)
- Fix
ignored_agentsmatching to accept agent names with or without@prefix - Both
"time-tracking"and"@time-tracking"now work in configuration
- Config:
default_account_keyremoved from top-level config - Config:
global_defaultis now required (was optional) - Config:
global_default.account_keyis now required (was optional)
Update your .opencode/opencode-project.json:
Before (0.5.x):
{
"time_tracking": {
"csv_file": "...",
"default_account_key": "TD_KS_1100",
"global_default": {
"issue_key": "PROJ-123"
}
}
}After (0.6.0):
{
"time_tracking": {
"csv_file": "...",
"global_default": {
"issue_key": "PROJ-123",
"account_key": "TD_KS_1100"
}
}
}Run /time-tracking.init to automatically migrate your configuration.
- Initial release
- Automatic session tracking with ticket extraction
- CSV export for time entries
- Agent-specific default tickets
- Global fallback configuration
- Ignored agents support