Releases: tiny-blocks/mapper
Releases · tiny-blocks/mapper
v2.0.4
v2.0.3
- Reworked
.gitignoreto ignore common IDE/OS artifacts, Composer vendor output, and PHPUnit/coverage artifacts. - Simplified
.gitattributesand addedexport-ignorerules intended to exclude dev-only files from Packagist archives.
v2.0.2
- Update
ObjectBuilderto treat “missing key” differently from “explicit null”, preservingnullwhile still applying defaults when keys are absent. - Replace enum casting via reflection with
BackedEnum::tryFrom()for backed enums and::cases()name matching for pure enums. - Add new test fixtures and PHPUnit coverage for union-typed parameters, explicit-null vs missing-key defaults, and pure-enum case-name hydration; plus repo/tooling housekeeping (composer normalize, editorconfig, gitattributes, CI action bumps, new
.clauderule docs).
v2.0.1
- Fixed mapping for
Traversableobjects inIterableExtractor, ensuring thatiterator_to_arrayis correctly applied directly to the object when it implementsTraversable, preserving the keys and structure defined bygetIterator()instead of falling back to reflection-based property extraction.
v2.0.0
- Implement
fromIterable()for bidirectional object-array mapping. - Support private constructors via reflection-based instantiation.
- Automatic type casting with extensible
CasterHandlerarchitecture. - Recursive mapping for nested objects and collections.
- Extracted
MappabilityBehaviortrait to eliminate code duplication betweenObjectMappabilityandIterableMappability
toJson()andtoArray()implementations now shared via composition. - Improved architecture, enhanced caster layer with
instanceofguards to prevent unnecessary object reconstruction, centralized reflection logic, and eliminated code duplication across mapping strategies.
v1.4.0
- Upgraded minimum PHP requirement from 8.3 to 8.5 and updated Docker image accordingly.
- Refactored CI workflow to use artifact caching and added a help system to the Makefile.
v1.3.0
- Updates project dependencies and GitHub Actions workflows.
v1.2.0
- Updates project dependencies and GitHub Actions workflows.
v1.1.1
- Fixes
composer.json.
v1.1.0
- Fixes
composer.json.