# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

See roadmap/YYMMDD-ROADMAPTOPIC/ directories for planning information like concepts, workplans, etc...
See history/YYMMDD-ROADMAOTOPIC/ directories for planning information of closed topics

## [Unreleased]

## [0.11.0] - 2026-01-06

### Added
- Release management optimizations: CHANGELOG validation, version-tag consistency checks
- Automated tag pushing with --push/--no-push flag
- Unpushed tags detection in release status

### Changed
- Improved release validation workflow with CHANGELOG schema validation


## [0.10.0] - 2026-01-06

### Added
- **Schema Management System**: Comprehensive schema management infrastructure with naming conventions and versioning
  - Naming convention: `{domain}-schema-v{major}.{minor}.md` for all schemas
  - Markdown-first schema format with embedded JSON (documentation + schema in one file)
  - Schema catalog (`markitect/schemas/schema-catalog.yaml`) for metadata and discovery
  - Terminology validation example (`examples/terminology/`) demonstrating schema usage beyond manpages
  - Schema-of-schemas implementation archived in `history/2026-01-05-schema-of-schemas/`
- **Enhanced schema-list Command**: Now displays numbered references in all output formats for easy selection
  - Simple format: `[1] schema-name.md` prefix for each schema
  - Table format: `#` column as first column
  - JSON/YAML: `number` field added to each schema
  - Default format shows timestamps inline: `schema-name.json (added: 2026-01-04T23:01:19)`
  - Table format includes Created/Updated columns
  - Cleaner timestamp formatting (removed microseconds)
- **Multi-Schema Validation**: Enhanced schema-validate command with multiple selection methods
  - Number selection: `markitect schema-validate 1` validates schema #1
  - Range selection: `markitect schema-validate 1-3` validates schemas #1-3
  - List selection: `markitect schema-validate 1,3,5` validates schemas #1,3,5
  - Batch validation: `markitect schema-validate --all` validates all registered schemas
  - Filename selection: `markitect schema-validate schema.md` from registry
  - Filesystem path: `markitect schema-validate ./schema.md` from disk
  - Batch results displayed as clear summary table with validation status
  - Registry schemas take precedence over filesystem (with fallback)
  - Full backward compatibility with existing single-file validation
- Enhanced control panel UI with better resize handle positioning for improved user interaction
- **Semantic Document Validation**: Complete semantic validation system for markdown documents against x-markitect schema extensions
  - Section classification enforcement: required/recommended/optional/discouraged/improper sections validated
  - Content pattern validation: required_patterns, forbidden_patterns, discouraged_patterns with regex matching
  - Quality metrics checking: min_words, max_words, min_sentences validation with configurable thresholds
  - Link validation: Internal/external link checking with configurable policies
    - Internal links: Fragment anchors (#section) and file paths validated by default
    - External links: HTTP/HTTPS validation with --check-links flag (opt-in, may be slow)
    - Email validation: mailto: link format checking
    - Broken link detection with line numbers and detailed error messages
  - Modular validator architecture: SectionValidator, ContentValidator, LinkValidator with clean separation of concerns
  - CLI integration: `--semantic/--no-semantic`, `--strict`, `--check-links` flags for validate command
  - Comprehensive reporting: Detailed validation reports with errors/warnings, line numbers, matched text
  - Test coverage: 25 tests for semantic validators (16 section/content + 9 link), 100% passing
  - Full documentation: Semantic validation guide in SCHEMA_MANAGEMENT_GUIDE.md with examples
  - Complements existing structural AST validation for complete document compliance checking
- **Changelog Schema**: Production schema for validating CHANGELOG.md files following Keep a Changelog format
  - Schema file: `changelog-schema-v1.0.md` validates version history structure and formatting
  - Enforces Unreleased section presence (required)
  - Validates version format: `[X.Y.Z] - YYYY-MM-DD` with semantic versioning
  - Validates change type subsections: Added, Changed, Deprecated, Removed, Fixed, Security
  - Content pattern validation for version sections, date formats (ISO 8601), and change types
  - Demonstrates real-world schema system usage: "The release that validates itself"
  - Successfully validates project CHANGELOG.md with all semantic checks passing

### Changed
- **Directory Reorganization**:
  - Renamed `todo/` → `roadmap/` for better organization of planning documents
  - Completed schema-of-schemas implementation archived to `history/2026-01-05-schema-of-schemas/`
  - Moved completed planning artifacts to history for reference
- Refactored contents control architecture to use base class pattern properly for better code organization
- Updated all file references and paths to point to single source of truth in capabilities/testdrive-jsui/js/controls/ directory

### Fixed
- **Version Detection Issue**: Fixed `markitect --version` returning "unknown" instead of actual version
  - Added `git_describe_command` to setuptools-scm configuration to filter version tags correctly
  - Configured git describe to use `--match 'v*'` pattern to ignore non-version tags
  - Version detection now works correctly with development versions (e.g., 0.9.1.dev76)
- **Missing v0.9.0 Git Tag**: Retroactively created v0.9.0 annotated tag on commit b9c1b90 from 2025-11-14
  - Maintains version history integrity (CHANGELOG documented v0.9.0 but tag was missing)
  - Enables proper version progression to v0.10.0
- Duplicate file structure issue by eliminating duplicate control files and consolidating to capabilities/ directory
- Contents panel scrollbar behavior - moved overflow-y: auto to correct container level so scrollbar only spans content area when panel reaches max-height

### Removed
- **BREAKING**: Legacy DocumentControls component from TestDrive JSUI plugin system - all control panel functionality now provided by enhanced control panels (ContentsControl, StatusControl, DebugControl, EditControl) with Reset All button functionality moved to EditControl for better maintainability and elimination of code duplication

### Completed Features
- **Schema-of-Schemas Implementation** (All 6 Phases Complete ✅)
  - ✅ Phase 1: Filename validation for schema naming convention (`markitect/schema_naming.py`, 50 tests)
  - ✅ Phase 2: Markdown schema loader to parse `.md` schema files (`markitect/schema_loader.py`, 35 tests)
  - ✅ Phase 3: Schema-for-schemas metaschema for schema validation (`schema-schema-v1.0.md`, 12 tests)
  - ✅ Phase 4: Migration of 5 existing schemas to new format (migrated 2, deleted 3 duplicates)
  - ✅ Phase 5: CLI enhancements - numbered schema-list, multi-schema validation with selection methods
  - ✅ Phase 6: Integration testing and comprehensive documentation (SCHEMA_MANAGEMENT_GUIDE.md)
  - **Total Test Coverage**: 97 tests, 100% passing
  - **Complete Documentation**: Usage guide, naming spec, loader guide, metaschema reference

## [0.9.0] - 2025-11-14

### Added
- **Plugin Infrastructure Foundation**: Extended existing MarkiTect plugin system with RenderingEnginePlugin base class and RENDERING plugin type
- **RenderingEngineManager**: Complete plugin discovery and lifecycle management system for UI rendering engines
- **RenderingConfig System**: Asset management and deployment configuration for plugin engines
- **TestDrive JSUI Plugin**: Complete independent JavaScript UI plugin extracted from core system with standalone development environment
- **Modular Component Architecture**: Compass-positioned controls with clean JSON configuration interface for Python-JavaScript data transfer
- **CLI Engine Parameter**: Added --engine parameter to markitect md-render command with engine validation and mode compatibility checking
- **Automatic Asset Deployment**: Production-ready asset deployment to _markitect/plugins/ structure with 18 total assets (12 JS, 3 CSS, 3 images)
- **ChatGPT Document Theme**: New document theme with Inter font, 580px width, and #10a37f accent color with full CLI support (`markitect md-render --theme chatgpt`)
- **Modular Theme System Architecture**: File-based theme loading with YAML configuration and dynamic theme discovery
- **Theme Directory Structure**: Organized theme components (mode/, ui/, document/, branding/) for better maintainability
- **Database Architecture Documentation**: Comprehensive WORKSPACE_AND_DATABASES.md documenting workspace concepts and database purposes

### Changed
- **BREAKING**: Edit mode now defaults to testdrive-jsui plugin instead of legacy edit mode
- **Default Rendering Behavior**: testdrive-jsui for edit/insert modes, standard for view mode with graceful fallback
- **Asset Management Strategy**: Automatic plugin asset deployment eliminates need for manual --ship-assets flag
- **JavaScript Architecture**: Clean separation between Python backend and JavaScript frontend with modular design
- **Theme Loading System**: Implemented dynamic theme discovery and loading with metadata preservation
- **Test Suite Organization**: Removed obsolete configuration CLI tests (490 lines) for cleaner codebase

### Fixed
- **JavaScript Loading Conflicts**: Resolved const redeclaration errors with MARKITECT_STRICT_MODE implementation
- **MarkitectMain Availability**: Fixed proper main-updated.js loading and JavaScript syntax errors
- **Plugin Asset Deployment**: Directory structure preservation with development vs production deployment strategies
- **Issue-facade Click Framework Bug**: Resolved Sentinel bug in list command that was causing CLI failures
- **Issue-facade Version Command**: Fixed installation error preventing version command from working
- **Test Isolation Issues**: Improved test isolation with proper mocking to prevent cross-test interference
- **Theme Color Assertions**: Updated test assertions to work with new modular theme system

### Migration Guide
- **Existing Users**: Edit mode will automatically use new testdrive-jsui plugin for enhanced experience
- **Legacy Behavior**: Use `markitect md-render --engine standard --edit` to access previous edit mode
- **Asset Deployment**: Plugin assets now deploy automatically - no manual --ship-assets flag required

## [0.8.0] - 2025-11-08

### Added
- **Setuptools-SCM Integration**: Automatic version management system replacing manual version tracking
- **Gitea Package Publishing**: Complete CI/CD pipeline for automated package publishing to Gitea
- **Enhanced Release Documentation**: Comprehensive documentation for package building and release process

### Changed
- **Release Script Architecture**: Modernized release workflow with setuptools-scm integration
- **Makefile Release Targets**: Updated release targets to support automated version management
- **Package Building Process**: Streamlined package creation with enhanced build targets

### Removed
- **Legacy Release Scripts**: Removed obsolete release_simplified.py in favor of unified release.py

## [0.7.0] - 2025-11-08

### Added
- **Complete JavaScript Architecture Refactoring**: Full TDD-driven modular architecture with SectionManager and DOMRenderer components
- **Advanced Image Editor**: Rebuilt with full drag-n-drop functionality and staging workflow
- **Modular Component System**: Extracted comprehensive JavaScript components for better maintainability
- **Enhanced Edit Mode**: Improved robustness and user experience with better reset functionality
- **Insert Mode Protection**: Implemented insert mode with heading protection and content display fixes
- **Scroll Indicators**: Added scroll indicators with disabled state styling
- **Asset Shipping**: Comprehensive asset shipping for md-render command

### Fixed
- **Reset Button Functionality**: Implemented fully functional reset buttons for text and image sections
- **Image Rendering**: Fixed proper image rendering in modular architecture
- **DOM Content Updates**: Resolved DOM content updates and reset functionality
- **Section Click Functionality**: Enabled proper section click functionality for edit UI
- **Modular Integration**: Fixed integration of modular JavaScript architecture into application
- **Button Functionality**: Resolved accept, cancel, and reset button functionality issues
- **Critical JavaScript Errors**: Fixed errors preventing content rendering

### Changed
- **Edit Mode Organization**: Continued efforts to reorganize edit mode for better robustness
- **Example Directory Structure**: Reorganized examples directory with topic-based subdirectories
- **UI Panel Structure**: Eliminated floating status panel above editor menu for cleaner interface

### Maintenance
- **TODO Cleanup**: Cleaned up completed theme system refactor tasks

## [0.6.0] - 2025-10-28

### Added
- **Custom Status Modal System**: Professional theme-consistent status dialogs replacing browser alerts with proper branding and accessibility
- **HTML Generation Dogtag**: Automatic attribution with timestamp and username linking for generated HTML documents
- **Enhanced Link Navigation**: All document links now open in new tabs without triggering edit mode for improved user experience
- **Comprehensive UI Framework Documentation**: Complete guide (UserInterfaceFramework.md) for consistent UI development patterns
- **Database Integration**: Added store_document method to CleanDocumentManager with proper front matter parsing
- **Enhanced AST Processing**: Improved title extraction from front matter and heading detection with cache file generation

### Changed
- **Complete Document Manager Cleanup**: Removed 2000+ lines of legacy code while maintaining full backward compatibility
- **Clean Architecture Implementation**: DocumentManager now extends CleanDocumentManager with clean wrapper pattern
- **Improved Error Handling**: Enhanced validation and graceful error recovery throughout the system
- **Standardized CSS Naming**: Consistent class naming conventions across all UI components

### Fixed
- **Test Suite Compatibility**: Updated all tests to work with clean implementation architecture
- **JavaScript Syntax Issues**: Resolved template literal and string escaping problems in generated HTML
- **Link Behavior**: Fixed issue where document links were incorrectly triggering edit mode
- **Front Matter Parsing**: Proper integration with FrontMatterParser for metadata extraction

### Technical
- Added --nodogtag CLI option for clean output when attribution is not desired
- Enhanced ingest_file method with proper title extraction from front matter and headings
- Implemented theme-aware modal overlay patterns with proper CSS styling
- Fixed CSS escape sequences and JavaScript syntax validation issues

## [0.5.0] - 2025-10-26

### Added
- **Clean TDD-Driven Editor Architecture**: Complete rewrite with object-oriented JavaScript architecture featuring Section, SectionManager, and DOMRenderer classes
- **Enhanced Test Framework**: Comprehensive testing framework with clean separation of concerns for robust development
- **Multiple Concurrent Section Editing**: Support for editing multiple sections simultaneously with intelligent management
- **Intelligent Section Splitting**: Advanced heading detection and section management capabilities
- **Four-Layer Content Management**: Sophisticated content state management (original, current, pending, editing layers)
- **Enhanced Status Dialog**: Repository info display showing version, git commit status, and actual save filename
- **Elegant Slide-in Control Panel**: Floating control panel for edit mode with improved UX
- **Intelligent Auto-sizing Textarea**: Optimal editing experience with smart textarea resizing
- **Enhanced Empty Line Preservation**: Better markdown structure preservation with automatic paragraph separation

### Fixed
- **Textarea Sizing and Font Preservation**: Resolved sizing issues and maintained consistent font rendering
- **Markdown Structure Preservation**: Fixed roundtrip formatting issues in save functionality
- **Section Duplication Prevention**: Eliminated duplicate sections when saving edited content
- **Section Position Preservation**: Prevented unwanted section jumping during editing
- **CSS Embedding Issues**: Resolved import errors in HTML template generation
- **Control Panel UX**: Hidden control ribbon when panel is expanded for cleaner interface

### Changed
- **Action Semantics**: Proper implementation of Accept, Cancel, and Reset operations
- **Global Reset Functionality**: Enhanced reset capabilities across the editor
- **Makefile Organization**: Reorganized installation targets for better user experience

### Technical Improvements
- Complete legacy editor system replacement
- Test-driven development approach implementation
- Enhanced UI/UX with better section positioning
- Improved content management workflow

## [0.4.0] - 2025-10-25

### Added
- feat: add comprehensive testing and error tracking for edit mode

### Fixed
- fix: resolve md-render --edit functionality and add enhanced version tracking
- fix: resolve critical JavaScript syntax errors in md-render --edit
- fix: resolve md-ingest Path object conversion error

### Other
- chore: clean up repository documentation files for release

## [0.3.0] - 2025-10-25

### Added
- **Kaizen-agentic Framework Integration**: Integrated capability submodule for enhanced development workflow
- **Test Reorganization System**: Reorganized tests by capability with improved modularity
- **Capability Inclusion Management**: Comprehensive system for managing capability inclusions
- **Todofile System**: Implemented todofile system to replace NEXT.md for better task tracking

### Changed
- **Directory Organization**: Logical separation and reorganization of project structure
- **Historical File Organization**: Cleaner structure with better file organization

## [0.2.0] - 2025-10-20

### Added
- **GraphQL Interface**: Advanced querying capabilities with full GraphQL implementation
- **Full-text Search**: FTS5 backend integration for powerful search functionality
- **Plugin Architecture**: Extensible framework with comprehensive plugin support
- **Query Paradigms**: 14 different query paradigms for flexible data access
- **Cost Management**: Activity tracking and resource cost management
- **Template Rendering**: Template system with validation capabilities
- **CLI Consolidation**: Unified command-line interface
- **Production Asset Management**: Content-addressable storage system
- **17 Kaizen-agentic Agents**: Integrated development agent ecosystem

### Changed
- **Performance Optimization**: 60-85% performance improvement through system optimization
- **Error Handling**: Enterprise-grade error handling and recovery mechanisms
- **Resource Management**: Memory-efficient and scalable architecture

### Fixed
- **Cross-platform Validation**: Comprehensive validation for Unix/Windows/macOS
- **Type Safety**: Enhanced type safety and security validation
- **Test Coverage**: 1983/1983 tests passing (100% success rate)

## [0.1.0] - 2025-10-15

### Added
- **Development Infrastructure**: Comprehensive Makefile for development workflow
- **Project Documentation**: ProjectStatusDigest.md and ProjectDiary.md for tracking
- **TDD Workspace System**: Structured Test-Driven Development workflow implementation
- **Issue Management**: Gitea integration for issue tracking and management
- **Virtual Environment Management**: Enhanced venv detection and shell activation
- **Wiki Integration**: Submodule tracking for project documentation
- **Core Repository Setup**: Initial project structure and configuration

### Changed
- **Build System**: Enhanced build targets with venv Python and PYTHONPATH support
- **Target Naming**: Renamed workspace targets to TDD Workspace with tdd- prefix

[Unreleased]: https://github.com/worsch/markitect/compare/v0.9.0...HEAD
[0.9.0]: https://github.com/worsch/markitect/compare/v0.8.0...v0.9.0
[0.8.0]: https://github.com/worsch/markitect/compare/v0.7.0...v0.8.0
[0.7.0]: https://github.com/worsch/markitect/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/worsch/markitect/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/worsch/markitect/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/worsch/markitect/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/worsch/markitect/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/worsch/markitect/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/worsch/markitect/releases/tag/v0.1.0
