Upgrade
Added
ZodiacResultaggregate DTO (fromDate(),toArray()) with year, sign, and elementZodiac::fromDate()and Carbon / CarbonImmutablezodiac()macro returningZodiacResult- Carbon macros registered on
CarbonImmutableas well asCarbon CardinalDirectionenum andDirection::cardinalDirection()Direction/YinYangenums, year yin/yang, Chinese sign symbols, and related metadata shipped since v2.0.0- Documentation under
docs/for bradietilley.dev LICENSE.mdand this changelog
Changed
- Require PHP
^8.3and declarenesbot/carbon>=2.0explicitly - Supported range floor (
Constants::MIN) moved from1645to1646 - CI matrix covers PHP 8.3–8.4; static analysis runs on PHP 8.3
Direction::toArray()includescardinal_direction- Root README slimmed to install + quick example; full docs live under
docs/
Deprecated
-
Direction::quadrant()— useDirection::cardinalDirection()instead -
Element::sequence()/Element::ordered()— prefer:- Element::sequence() + array_values(array_unique(Element::index()))
Fixed
- Docblocks that mislabeled Sign / Element / YinYang conversion helpers
- README inaccuracies around supported range and the old
NewYearsnaming
Upgrade notes
- Upgrade the host environment to PHP 8.3+.
- Update the package constraint to
^2.1. - Earliest supported lunar year is now 1646 (was 1645). Dates that resolve to 1645 throw
UnsupportedZodiacDateException. - Prefer
$direction->cardinalDirection()over$direction->quadrant(). - Prefer
array_values(array_unique(Element::index()))overElement::sequence(). - If you serialize
Sign/DirectionviatoArray(), expect a newcardinal_directionkey under direction data.