# 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