Changelog ========= All notable changes to IssueDB are documented here. The format is based on `Keep a Changelog `_, and this project adheres to `Semantic Versioning `_. [2.5.0] - 2025-11-29 -------------------- Added ~~~~~ - **Memory System**: Persistent storage for AI agents and general knowledge - ``memory`` command to add, list, update, and delete memory items - ``Memory`` model and database table - Web UI integration at ``/memory`` - **Lessons Learned**: Track knowledge gained from resolved issues - ``lesson`` command to add and list lessons - ``LessonLearned`` model and database table - Web UI integration at ``/lessons`` - **Tagging**: Flexible categorization for issues - ``tag`` command to add, remove, and list tags - ``--tag`` flag in ``create`` and ``list`` commands - Tag filtering in CLI and Web UI - **Due Dates**: Set deadlines for issues - ``--due-date`` flag in ``create`` and ``update`` commands - Due date display in CLI and Web UI - **Linked Issues**: Connect related issues - ``link`` and ``unlink`` commands to manage relationships - Relationship types (e.g., "related", "blocks") - Web UI support for linking issues - **Web UI Enhancements**: - New Memory and Lessons pages - Linked Issues section in Issue Detail - Improved sidebar layout [2.4.0] - 2025-11-26 -------------------- Added ~~~~~ - **Issue Dependencies**: Track blocking relationships between issues - ``block`` command to mark issues as blocked by others - ``unblock`` command to remove blockers - ``deps`` command to view dependency graph - ``blocked`` command to list all blocked issues - **Code References**: Link issues to specific code locations - ``attach`` command to link files/lines to issues - ``detach`` command to remove code references - ``refs`` command to list references for an issue - ``affected`` command to find issues referencing a file - **Time Tracking**: Track time spent on issues - ``timer-start`` and ``timer-stop`` commands - ``timer-status`` to check active timers - ``set-estimate`` to set estimated hours - ``time-log`` to view time entries - ``time-report`` for time summaries (all/week/month) - **Workspace Awareness**: Track current working context - ``workspace`` command for status overview - ``start`` command to begin working (sets active + starts timer) - ``stop`` command to finish working (with optional --close) - ``active`` command to show current issue - **Issue Context**: Comprehensive context for LLM agents - ``context`` command returns issue + comments + history + related + suggestions - ``--compact`` flag for minimal context - **Duplicate Detection**: Find similar issues - ``find-similar`` command with configurable threshold - ``find-duplicates`` to find duplicate groups - ``--check-duplicates`` flag for create command - Similarity algorithms: Levenshtein and Jaccard - **Issue Templates**: Predefined issue templates - ``templates`` command to list available templates - ``--template`` flag for create command - Built-in templates: bug, feature, task - **Bulk Pattern Operations**: Pattern-based bulk operations - ``bulk-close-pattern`` for closing by pattern - ``bulk-update-pattern`` for updating by pattern - ``bulk-delete-pattern`` for deleting by pattern - Support for glob and regex patterns - ``--dry-run`` flag for preview - **Database schema**: New tables for dependencies, code_references, time_entries, workspace_state, issue_templates - **Tests**: 501 tests covering all new functionality Changed ~~~~~~~ - Updated LLM agent prompt (PROMPT.txt) with all new commands - Updated README.md with new features - Updated CLI reference documentation - Improved type annotations (mypy clean) - Code style improvements (ruff clean) [2.3.1] - 2025-11-25 -------------------- Fixed ~~~~~ - **--ollama flag now accepts unquoted multi-word requests** - Before: ``issuedb-cli --ollama "create a high priority bug"`` - After: ``issuedb-cli --ollama create a high priority bug`` - Note: ``--ollama-model``, ``--ollama-host``, ``--ollama-port`` must come BEFORE ``--ollama`` - 4 new tests for argparse behavior (now 136 total) [2.3.0] - 2025-11-25 -------------------- Added ~~~~~ - **Fetch History Tracking**: Track which issues were fetched via ``get-next`` - ``get-next`` now logs a ``FETCH`` action in the audit trail - ``get-last`` command to view last fetched issue(s) - ``-n/--number`` flag to get last N fetched issues (default: 1) - Shows current state of existing issues or reconstructs deleted issues from audit log - Example: ``issuedb-cli get-last -n 5`` to see last 5 fetched issues - **Repository methods**: ``get_last_fetched(limit)`` - **API parameter**: ``log_fetch`` in ``get_next_issue()`` to control logging - **Tests**: 16 new tests for get-last functionality (now 132 total) Changed ~~~~~~~ - Updated LLM agent prompt with get-last examples - Full documentation update [2.2.0] - 2025-11-24 -------------------- Added ~~~~~ - **Comment system**: Add comments to issues for tracking notes, progress, and resolutions - ``comment`` command to add comments to issues - ``list-comments`` command to view all comments on an issue - ``delete-comment`` command to remove comments - Comments are automatically deleted when their parent issue is deleted (CASCADE) - **CLI methods**: ``add_comment()``, ``list_comments()``, ``delete_comment()`` - **Repository methods**: ``add_comment()``, ``get_comments()``, ``delete_comment()`` - **Comment model**: New ``Comment`` dataclass with ``to_dict()`` method - **Database schema**: New ``comments`` table with foreign key to issues - **Tests**: 19 new tests for comment functionality Changed ~~~~~~~ - Enabled SQLite foreign key constraints for data integrity - Updated documentation with comment examples [2.1.0] - 2025-01-XX -------------------- Added ~~~~~ - **Bulk operations**: Efficiently manage multiple issues at once - ``bulk-create`` command: Create multiple issues from JSON - ``bulk-update-json`` command: Update multiple issues from JSON - ``bulk-close`` command: Close multiple issues by ID - **Input options**: Both file (``-f``) and direct data (``-d``) input for bulk operations - **Repository methods**: - ``bulk_create_issues()`` - ``bulk_update_issues_from_json()`` - ``bulk_close_issues()`` - **Audit logging**: Bulk operations logged with BULK_CREATE and BULK_UPDATE actions - **Tests**: Comprehensive tests for all bulk operations Changed ~~~~~~~ - Fixed datetime handling for Python 3.12+ compatibility (no more deprecation warnings) - Improved type annotations throughout codebase [2.0.0] - 2025-01-XX -------------------- Added ~~~~~ - **Audit logging**: Full transactional audit trail - All issue changes logged immutably - Audit logs preserved even after issue deletion - ``audit`` command to view audit history - **Reporting**: New summary and report commands - ``summary`` command for aggregate statistics - ``report`` command for grouped issue lists - **Search**: ``search`` command for keyword-based issue lookup - **Database info**: ``info`` command showing database statistics Changed ~~~~~~~ - Enhanced JSON output format - Improved error messages - Better validation for all inputs [1.1.0] - 2025-01-XX -------------------- Added ~~~~~ - **Filtering**: Filter issues by status and priority - **Pagination**: ``--limit`` option for list commands - **Next issue**: ``next`` command for FIFO queue processing Changed ~~~~~~~ - Improved table formatting for human-readable output - Better handling of empty results [1.0.0] - 2025-01-XX -------------------- Initial release. Added ~~~~~ - **Core functionality**: - Create issues with title, description, priority, status - List all issues - Get issue details by ID - Update issue fields - Delete issues - **CLI**: Full command-line interface via ``issuedb-cli`` - **JSON output**: ``--json`` flag for all commands - **SQLite storage**: Local database at ``~/.issuedb/issuedb.sqlite`` - **Priority levels**: low, medium, high, critical - **Status values**: open, in-progress, closed - **Python API**: Programmatic access via ``IssueRepository`` class Migration Notes --------------- From 1.x to 2.x ~~~~~~~~~~~~~~~ Version 2.0 added the audit_log table. When upgrading: 1. The database schema will be updated automatically on first run 2. Existing issues are preserved 3. Historical audit logs are not retroactively created From 2.0 to 2.1 ~~~~~~~~~~~~~~~ No migration needed. New bulk operation features are additive. From 2.1 to 2.2 ~~~~~~~~~~~~~~~ Version 2.2 adds the comments table: 1. Schema updates automatically on first run 2. Foreign key constraints are now enabled 3. Existing data is preserved From 2.2 to 2.3 ~~~~~~~~~~~~~~~ No migration needed. New fetch history tracking is additive: 1. ``get-next`` will start logging ``FETCH`` actions automatically 2. ``get-last`` command will return results after issues are fetched 3. Historical fetches are not retroactively logged