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
ConfigResolverwhen handlingConfigResolverinstances 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_tokensinstead of deprecatedmax_tokensfor compatibility with newer models like o3-mini (thanks to @gewa24) - Dynamic Structure Deserialization - Fixed bug where
Field::structurewas 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/CachedMapDataMap→Data/DataMapFrontMatter→Markdown/FrontMatter
- Context System - Added new
ContextandLayerclasses 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:
ValidateCodeBlockscommand for automated validationValidationServicewith 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, andFrontMatterclasses. Update import statements:
Full Changelog: v1.4.1…v1.4.2