NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #3743 most downloaded on Packagist
Data Transfer Objects with validation for Laravel applications
Last release 4 months ago
26 May 2026
Ships fairly regularly
a new release about every 2 months
Some releases are documented
notes for 22 of 58 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
58 releases · first in 2022
Update Laravel badge link style in README by @peterfox in #123
Full Changelog: v4.6.0...v4.7.0
Added package-specific publish tags: validated-dto , validated-dto-config , and validated-dto-stubs .
Updated the dto:stubs command to use the new validated-dto-stubs publish tag.
One column per quarter.
Add Laravel Validated DTO development skill by @WendellAdriel in #122
Full Changelog: v4.5.0...v4.6.0
Laravel 13 support by @WendellAdriel in #121
Add classReflections to forbidden properties in SimpleDTO by @ricazao in #119
Add new SkipOnTransform attribute by @WendellAdriel in #118
Full Changelog: v4.3.0...v4.4.0
Add Lazy, Provide and Receive attributes by @WendellAdriel in #117
Full Changelog: v4.2.2...v4.3.0
Added new Lazy attribute.
Added new Provide attribute.
Added new Receive attribute.
Fix issue when using DTOCast with Cast attribute by @WendellAdriel in #115
Full Changelog: v4.2.1...v4.2.2
Fixed issue with Serialization and removed the internal annotation from the ResourceCollection class. Full Changelog : v4.2.0...v4.2.1
Fixed issue with Serialization and removed the internal annotation from the ResourceCollection class.
Full Changelog: v4.2.0...v4.2.1
Fix issue of missing nested DTO properties when transforming DTO by @MasterFelX in #108
Full Changelog: v4.1.0...v4.2.0
Generate typescript definitions by @benbjurstrom in #102
Full Changelog: v4.0.0...v4.1.0
Removed support for Laravel 9 and 10.
Added support for Laravel 12.
Removed support for Laravel 9 and 10.
Removed support for PHP 8.1, minimum version now is 8.2.
Nothing published for this version
Nothing published for this version
Nothing published for this version
- Added Lazy Validation feature.
Renamed the $data property to $dtoData and marked it as internal to avoid issues with conflicts.
Nothing published for this version
- Added support for Arrayable.
Nothing published for this version
The buildDataForExport method is now protected, making it possible to create custom Data Transformer methods for the DTOs.
Nothing published for this version
The $data property resets to an empty array after the DTO is initialized.
Nothing published for this version
Nothing published for this version
- Laravel 11 support.
Added the dto:stubs command to publish the DTO stubs to be customized.
Added the dto:stubs command to publish the DTO stubs to be customized.
Fixed issue with file validation.
Added the after method to ValidatedDTO to be able to use the After Hook when validating data.
Nothing published for this version
Added the Cast attribute to define custom casting for DTO properties.
Nothing published for this version
Nothing published for this version
Added the Rules attribute to define custom validation rules for DTO properties.
Added the Rules attribute to define custom validation rules for DTO properties.
Added the DefaultValue attribute to define default values for DTO properties.
Added the Map attribute to define the custom mapping for DTO properties.
Added the EmptyCasts trait to be used by DTOs that don't have any casts.
Added the EmptyRules trait to be used by DTOs that don't have any validation rules or that are using the Rules attribute for validation.
Added the EmptyDefaults trait to be used by DTOs that don't have any default values or that are using the DefaultValue attribute for default values.
Nothing published for this version
Use DTO as it was a Form Request
Use DTO as it was a Form Request
Ability to customize the path/namespace of the generated DTOs.
DTO classes generated with the make command are slimmer.
Ability to cast array items when using the ArrayCast .
New EnumCast for casting values to Enums. Work with UnitEnum and BackedEnum .
mapBeforeValidation() was renamed to mapData() .
mapBeforeExport() was renamed to mapToTransform() .
->toJson() method now returns a JSON string without any formatting. Use ->toPrettyJson() instead.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →