Period v5.0.0 Release Notes
Release Date: 2022-02-22 // over 2 years ago-
โ Added
IntervalError
used as the error interface marker.- ๐ป
InvalidInterval
exception for anything regarding creating an object. Duration::fromSeconds
uses a dedicated fraction parameter and the seconds are no longer expressed using afloat
value.Period::fromTimestamp
to instantiate a time range object from two timestamps.Period::fromIso80000
to instantiate a time range object from a mathematical representation and a date format.Period::fromBourbaki
to instantiate a time range object from a mathematical representation and a date format.Period
duration comparison methods accepts alsoDuration
andDateInterval
in addition toPeriod
objects.Period::union
Period::snapTo*
methods to ease period expansion.Period::meets
Period::meetsOnStart
Period::meetsOnEnd
Period::toBourbaki
Period::toIso80000
Period::toBourbaki
Bounds
Enumeration.InitialDatePresence
Enumeration.Sequence::toList
Chart\LetterCase
Enumeration.Chart\Alignment
Enumeration.Chart\StreamOutput
class to replaceChart\ConsoleOutput
class.Chart\Terminal
Enumeration.Chart\ChartError
used as the chart error interface marker.- ๐ป
Chart\UnableToDrawChart
exception for anything regarding drawing a chart out ofPeriod
and/orSequence
objects.
๐ Fixed
- Switch from using
Closure
object instead of thecallable
pseudo type with theSequence
methods. Period::diff
returns aSequence
instance instead of an array.Period::__construct
is private.Period
named constructors, all parameters are required except for the boundaries.Period::timeDuration
now returns anint
instead of afloat
value.Period::intersect
now can take multiplePeriod
instances as parameters.Period::subtract
now can take multiplePeriod
instances as parameters.Duration
no longer extends aDateInterval
object.- ๐
Duration::fromIsoString
supports 3 versions of dealing with fractions with ISO valid string. Datepoint
class renamedDatePoint
.DatePoint
no longer extends aDateTimeImmutable
object.- ๐ฆ Argument names are normalized throughout the package. (PHP8 BC break)
Chart\LatinLetter
in case of wrong value will fall back toA
instead of0
which is not a letter.Chart\LatinLetter
the starting label must be explicit on instantiation.Chart\RomanNumber
requires its two arguments to be explicitly set.
๐ Deprecated
- None
โ Removed
- ๐ Support for PHP7 and PHP8.0
Period::fromDatepoint
replaced byPeriod::fromDate
Period::getStartDate
replaced by accessing readonly propertyPeriod::startDate
Period::getEndDate
replaced by accessing readonly propertyPeriod::endDate
Period::getBoundaryType
replaced by accessing readonly propertyPeriod::bounds
Period::getDateInterval
replaced byPeriod::dateInterval
Period::getTimestampInterval
replaced byPeriod::timeDuration
Period::withBoundaryType
replaced byPeriod::boundedBy
Period::isStartIncluded
with no replacement useBounds::isStartIncluded
Period::isStartExcluded
with no replacement useBounds::isStartIncluded
insteadPeriod::isEndIncluded
with no replacement useBounds::isEndIncluded
Period::isEndExcluded
with no replacement useBounds::isEndIncluded
insteadPeriod::fromDatePeriod
replaced byPeriod::fromDateRange
Period::getDatePeriod
replaced byPeriod::dateRange
Period::getDatePeriodBackwards
replaced byPeriod::dateRangeBackwards
Period::__string
replaced byPeriod::toIso8601
Period::format
replaced byPeriod::toIso80000
Period::split
replaced byPeriod::splitForward
Period::substract
usePeriod::subtract
insteadSequence::substract
useSequence::subtract
insteadSequence::getIntersections
useSequence::intersections
insteadSequence::getGaps
useSequence::gaps
insteadSequence::getBoundaries
useSequence::length
insteadSequence::getTotalTimestampInterval
useSequence::totalTimeDuration
insteadSequence::toArray
useSequence::toList
insteadDuration::__toString
andDuration::format
with no replacement- ๐
Duration::create
is removed with no replacement - ๐
Datepoint::create
is removed with no replacement - ๐ The
create
prefix is removed from theDuration
andDatepoint
named constructors. - ๐ All charts related classes have their properties exposed as public readonly. All their getters are removed except if they are part of an interface.
Chart\ConsoleOutput
replaced byChart\StreamOutput
class.Chart\RomanNumber::isLower
useChart\LetterCase::isUpper
instead.Chart\RomanNumber::startingAt
useChart\DecimalNumber::startLabel
public readonly property- ๐
Chart\RomanNumber::startsWith
is removed with no replacement - ๐
Chart\RomanNumber::withLetterCase
is removed with no replacement - ๐
Chart\DecimalNumber::startsWith
is removed with no replacement - ๐
Chart\LatinNumber::startsWith
is removed with no replacement Chart\LatinNumber::startingAt
useChart\LatinNumber::startLabel
public readonly property- ๐
Chart\AffixLabel::withPrefix
is removed with no replacement - ๐
Chart\AffixLabel::withSuffix
is removed with no replacement Chart\AffixLabel::prefix
method useChart\AffixLabel::labelPrefix
public readonly propertyChart\AffixLabel::suffix
method useChart\AffixLabel::labelSuffix
public readonly property
โ Removed all the following namespaced functions from the package:
League\Period\datepoint
League\Period\duration
League\Period\year
League\Period\semester
League\Period\quarter
League\Period\month
League\Period\day
League\Period\hour
League\Period\minute
League\Period\second
League\Period\instant
League\Period\iso_year
League\Period\iso_week
League\Period\interval_after
League\Period\interval_before
League\Period\interval_around
League\Period\interval_from_dateperiod