v4.0.0
What's Changed
- ref: use attributes instead of abandoned package & include original named fields in generator by @kauffinger in #6
🚀 v4.0
⚠️ Breaking Changes
JMS Serializer: Docblock Annotations → PHP 8 Attributes
All ~115 DTOs have been migrated from docblock annotations to native PHP 8 attributes. This requires jms/serializer ^3.14 (previously ^2.1 || ^3.5).
See migration example
Before:
/**
* @XmlRoot("aktion")
*/
class Action
{
/**
* @Type("string")
* @XmlAttribute
* @SerializedName("aktionart")
*/
protected string $actionType = '';
}After:
#[XmlRoot(name: 'aktion')]
class Action
{
#[Type('string')]
#[XmlAttribute]
#[SerializedName('aktionart')]
protected string $actionType = '';
}doctrine/annotations Removed
The doctrine/annotations package is no longer required and has been dropped as a dependency. If your application relied on it being pulled in transitively, add it to your own composer.json.
Minimum jms/serializer Version Bumped
The constraint changed from ^2.1 || ^3.5 to ^3.14. JMS Serializer v2.x is no longer supported. Version 3.14+ is required for PHP 8 attribute support.
Helper Functions Are Now Namespaced
All helper functions moved from the global namespace to Innobrain\OpenImmo\Helpers. A Rector rule is provided for automated migration:
vendor/bin/rector process app/ --config vendor/innobrain/laravel-openimmo/rector-migrate-helpers.phpSee UPGRADE.md for details.
License Changed
The license changed from MIT to GPL-3.0-or-later.
✨ New Features
Original (German) DTOs
A parallel set of DTOs under Innobrain\OpenImmo\Dtos\Original preserves the original German XSD names. German helper functions are available under Innobrain\OpenImmo\Helpers\Original.
Full Changelog: v3.3.3...v4.0.0