Skip to content

Latest commit

 

History

History
84 lines (69 loc) · 3.53 KB

File metadata and controls

84 lines (69 loc) · 3.53 KB

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.

2.1.0 - 2026-03-01

Added

  • Automatic FFmpeg detection and PATH configuration for audio file processing
  • Improved error messages for audio transcription failures
  • .gitignore file for proper version control
  • LICENSE file (MIT License)
  • ValidationErrorResponse.cs model for structured validation errors
  • Known Limitations section in README documenting audio transcription constraints

Changed

  • Moved Install.ps1 and README.md to repository root
  • Install.ps1 now includes automatic FFmpeg installation (via winget, Chocolatey, or direct download)
  • Improved start-dev.ps1 with process management and browser auto-open

Fixed

  • FFmpeg path resolution when not in system PATH
  • Audio file conversion by setting FFMPEG_BINARY environment variable
  • FileSize property now properly set in ConvertFileCommand

Removed

  • Unused MarkItDownAPI/ folder (old single-project structure)
  • Unused imports and code across all layers
  • ILogger from ConvertController (logging handled by MediatR behaviors)
  • DataAnnotations from UrlConversionRequest (using FluentValidation)

2.0.0 - 2025-02-28

Added

  • Clean Architecture project structure with separate layers:
    • MarkItDownAPI.Domain - Domain entities and enums
    • MarkItDownAPI.Application - CQRS commands, queries, handlers, and validators
    • MarkItDownAPI.Infrastructure - Python.NET integration services
    • MarkItDownAPI.Api - Controllers and API configuration
  • CQRS pattern implementation using MediatR:
    • ConvertFileCommand for file conversion
    • ConvertUrlCommand for URL conversion
    • GetSupportedFormatsQuery for retrieving supported formats
    • HealthCheckQuery for API health status
  • FluentValidation for request validation with custom validators
  • MediatR pipeline behaviors for logging and validation
  • Serilog structured logging with file and console sinks
  • Scalar API documentation (OpenAPI/Swagger alternative)
  • Unit tests with xUnit, Moq, and FluentAssertions
  • Comprehensive XML documentation in English
  • copilot-instructions.md for AI-assisted development guidelines

Changed

  • Restructured from single-project to Clean Architecture
  • All documentation converted to English
  • ConversionResult changed from class to record type
  • API now uses CQRS pattern instead of direct service calls
  • Improved error handling with global exception middleware

Breaking Changes

  • API response structure changed (use IsSuccess instead of Success)
  • Project namespace changed to MarkItDownAPI.* layers

1.0.0 - 2025-02-27

Added

  • Initial release with Python.NET integration
  • File conversion to Markdown (PDF, DOCX, PPTX, XLSX, images, audio, etc.)
  • URL conversion to Markdown (webpages, YouTube videos)
  • Auto-detection of Python installation
  • Install.ps1 script for automated setup
  • start-dev.ps1 script for development workflow
  • IIS hosting support
  • Optional LLM-based image descriptions (OpenAI integration)
  • Optional Azure Document Intelligence integration