v2.0.0 – Major Refactor & Clean API
This release introduces a major refactor of lemonade/component_meta.
- Cleaner and more extensible API
- Unified entity interface (
MetaEntityInterface) - Simplified tag classes with
AbstractTag MetaFactoryis nowStringableand easier to extend
Changelog
[2.0.0] - 2025-09-12
Changed
- Refactored tag classes:
- Introduced
AbstractTagfor shared logic MetaTag,OpenGraphTag,TwitterTag,DcTag,LinkTagnow extendAbstractTagTitleTagremains a special case withSimpleTagTrait
- Introduced
- Added
MetaEntityInterfaceto unify all meta entities - Updated
AbstractMetaEntityto use readonlyMetaDatainjection - Simplified
MetaFactory:- Uses collection of entities instead of hardcoded calls
- Now implements
Stringable
Breaking Changes
- Direct construction of tag classes may differ (all now require
key, content) MetaFactoryinternals refactored; behavior is the same but extending it requires changesMetaData::getTitle()replacessetDynamicTitle()
[1.0.0] - 2025-09-12
- Initial stable release of
lemonade/component_meta
[0.1.0] - 2018-05-01
- First experimental attempt at OOP meta handling
- Based on large associative arrays with many setters
- Entities used magic key names (
_appAuthor,_appKeywords, …) - Verbose and hard to extend
- Prototype version, never intended for production