Created comprehensive changelog-schema-v1.0.md to validate CHANGELOG.md files following the Keep a Changelog format. This schema demonstrates the practical application of the schema evolution system. **Schema Features**: - Section validation: Enforces [Unreleased] section presence - Version format validation: [X.Y.Z] - YYYY-MM-DD pattern - Semantic versioning compliance - ISO 8601 date format checking - Change type subsections: Added, Changed, Deprecated, Removed, Fixed, Security - Content pattern matching via x-markitect-content-control extensions - Structural validation via JSON Schema properties **Validation Results**: ✅ Successfully validates project CHANGELOG.md ✅ All section requirements met (7 sections checked, 11 found) ✅ All content requirements met ✅ All semantic checks passing **Implementation Notes**: - H1 "Changelog" title validated via JSON Schema structural checks - H2 sections validated via x-markitect-sections classifications - SectionValidator limitation: Only checks H2+ headings, not H1 - Workaround: Structural validation covers H1 title requirement **Philosophy**: "The release that validates itself" - v0.10.0 uses its own schema system to validate its CHANGELOG - Perfect showcase of schema evolution practical value - Demonstrates x-markitect extensions in real-world use case **Stage 2 Complete** per release-management-optimization workplan. Files: - markitect/schemas/changelog-schema-v1.0.md (new) - CHANGELOG.md (documented new schema)
20 KiB
20 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
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.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}.mdfor 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/
- Naming convention:
- Enhanced schema-list Command: Now displays numbered references in all output formats for easy selection
- Simple format:
[1] schema-name.mdprefix for each schema - Table format:
#column as first column - JSON/YAML:
numberfield 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)
- Simple format:
- Multi-Schema Validation: Enhanced schema-validate command with multiple selection methods
- Number selection:
markitect schema-validate 1validates schema #1 - Range selection:
markitect schema-validate 1-3validates schemas #1-3 - List selection:
markitect schema-validate 1,3,5validates schemas #1,3,5 - Batch validation:
markitect schema-validate --allvalidates all registered schemas - Filename selection:
markitect schema-validate schema.mdfrom registry - Filesystem path:
markitect schema-validate ./schema.mdfrom 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
- Number selection:
- 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-linksflags 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.mdvalidates version history structure and formatting - Enforces Unreleased section presence (required)
- Validates version format:
[X.Y.Z] - YYYY-MM-DDwith 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
- Schema file:
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
- Renamed
- 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 --versionreturning "unknown" instead of actual version- Added
git_describe_commandto 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)
- Added
- Missing v0.9.0 Git Tag: Retroactively created v0.9.0 annotated tag on commit
b9c1b90from 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
.mdschema 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
- ✅ Phase 1: Filename validation for schema naming convention (
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 --editto 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