> ## Documentation Index
> Fetch the complete documentation index at: https://docs.instructorphp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# V1.4.0

### Core Changes

* **Migration to `Pipeline`** - Library code migrated to use new `Pipeline` replacing legacy `RawChain` and `ResultChain`
* **Response Generation** - Enhanced `ResponseGenerator` with improved error handling using `CanCarryState` interface
* **Partial Response Validation** - Updated validation flow to use new state interface
* **Type Safety Improvements** - Better type annotations and interface compliance across pipeline components

### Breaking Changes

* **JsonSchema factory methods** - Parameter order changed in factory methods:
  * **Old**: `JsonSchema::string($name, $nullable, $description)`
  * **New**: `JsonSchema::string($name, $description, $title, $nullable)`
* **Pipeline interfaces** - Introduction of `CanCarryState` interface may affect custom pipeline processors (update type hints from `ProcessingState` to `CanCarryState`)

### JsonSchema Package

* **Fixed parameter ordering** - Corrected `JsonSchema` factory method parameter order for consistent API across `string()`, `integer()`, `number()`, `boolean()`, `enum()`, `array()`, and `collection()` methods
* **Enhanced nullable handling** - Fixed bug where nullable property was incorrectly set when description was passed as second parameter

### Pipeline Package

* **CanCarryState Interface** - Introduced new `CanCarryState` interface for improved state management abstraction
* **ProcessingState Optimizations** - Slimmed down `ProcessingState` class for cleaner API
* **Enhanced Error Handling** - Improved error extraction and processing with better type safety

### Bug Fixes

* **JsonSchema nullable property** - Fixed critical bug where `nullable: true` was incorrectly set in JSON schema output when description was passed as nullable parameter
* **Parameter type coercion** - Resolved issue where string descriptions were being cast to boolean for nullable property

### Documentation

* **Pipeline Documentation** - New `CHEATSHEET.md` and `OVERVIEW.md` with current API patterns

***

**Full Changelog**: [v1.3.0...v1.4.0](https://github.com/cognesy/instructor-php/compare/v1.3.0...v1.4.0)
