v0.4.0
What's Changed
Added
- Added
declare(strict_types=1)to all source files for improved type safety - Added comprehensive test suite with 127+ tests covering Engine, ExtractorManager, Extractors, and Text loaders
- Added Laravel 10/11/12 integration test script (
test-laravel-install.sh) - Added file size validation in Word loader (50MB limit)
- Added proper error messages for vision model input validation
- Added justfile for simplified development commands
- Added CONTRIBUTING.md with contributor guidelines
- Added pint.json for consistent code formatting configuration
- Added support for custom OpenAI API endpoints (Ollama, Together.ai, Groq, Azure)
Changed
- Improved JSON decode error handling with
json_last_error_msg()for better debugging - Fixed
Factory::fromMime()rescue fallbacks to use lazy evaluation (closures) - Fixed loose equality operators (
==) to strict equality (===) inImageContent - Improved temp file cleanup with try-finally blocks in Word loader
- Updated temp file prefixes from legacy names to
extractor_* - Fixed
Extractor::prompt()to explicitly call->render()on View objects - Reorganized test structure into Unit/Feature/Integration directories
- Updated CLAUDE.md with comprehensive architecture documentation
Fixed
- Fixed placeholder exception message in
Engine.phpfor vision model errors - Fixed eager evaluation bug in
Factory::fromMime()fallback handling
Full Changelog: v0.3.0...v0.4.0