v1.4.2
Bug Fixes¶
- Infinite Loop in LLMProvider - Fixed recursive call in
LLMProvider::using()
method that caused infinite loops when creating LLM providers - Config Resolution Circular Dependency - Fixed circular dependency issues in
ConfigResolver
when handlingConfigResolver
instances as providers - Deferred Logic Error - Corrected inverted logic in
Deferred::isSet()
method that was causing incorrect state reporting - OpenAI Token Parameter - Updated OpenAI driver to use
max_completion_tokens
instead of deprecatedmax_tokens
for compatibility with newer models like o3-mini (thanks to @gewa24) - Dynamic Structure Deserialization - Fixed bug where
Field::structure
was not deserializable when nested in structures used as collection item types (thanks to @gewa24)
Core Changes¶
- Utils Package Reorganization - Moved core data structures to organized subdirectories:
CachedMap
→Data/CachedMap
DataMap
→Data/DataMap
FrontMatter
→Markdown/FrontMatter
- Context System - Added new
Context
andLayer
classes to utils package for improved context management - ImmutableDataMap - New immutable data structure for safer data handling
Development Tools¶
- Code Validation Enhancement - Added comprehensive code block validation system in doctor package:
ValidateCodeBlocks
command for automated validationValidationService
with event-driven metrics collection- Enhanced validation events and result tracking
- Cleanup - Removed unused clock-related classes and obsolete test files
Breaking Changes¶
- Utils Package Structure - File locations changed for
CachedMap
,DataMap
, andFrontMatter
classes. Update import statements:
Full Changelog: v1.4.1...v1.4.2