Skip to content

v0.2

Compare
Choose a tag to compare
@paranoiq paranoiq released this 24 May 17:57
· 114 commits to master since this release

Buttload of BC Breaks πŸŽ‰

New things:

  • Enum and Set inheritance (you can remove values in descendant classes; LSP is ok with that)
  • Add set operators (intersect, subtract...) on Sets
  • All interval sets are now iterable
  • Added getStartEnd() to all interval types
  • Added faster modifyDataByStream() method for Date/NightIntervalDataSets
  • Call::with() and withArgs() for group calls (moved from Arr)
  • IntersectComparable interface for comparing how intervals intersect
  • Arr::sortComparable() for sorting arrays of objects implementing Comparable interface
  • More options on encoding conversion
  • Many classes implement Dumpable interface for more readable debug dumps

Fixes:

  • Fixed comparison of FloatInterval
  • Fixed intersections in TimeInterval and DayOfYearInterval
  • Fix uneven mode for RoundRobinIterator

BC Breaks:

  • Minimum PHP version is now 7.2
  • Enums and Sets are no longer singleton values (no longer comparable with ===)
  • TimeInterval and DayOfYearInterval no longer implement Interval interface, but rather new ModuloInterval interface
  • TimeInterval and DateTimeInterval no longer implements OpenClosedInterval. Time intervals are always closed start and open end
  • Sequences refactored; methods from Sequence moved to IntCalc
  • Removed doForEach() from Arr and ImmutableArray; use Call::with()
  • Environment deprecated; use Os
  • PowersOfTwo moved to Math namespace
  • HttpResponseStatus now does not include Curl error codes; Added HttpOrCurlResponseStatus
  • All constructors called as new static() now are final
  • Experimantal SimplePdo is now deprecated and will be removed later

Removed old things and stuffs:

  • Removed NonIterable interface (use PHPStan checks)
  • Removed Mail/*
  • Removed Collection
  • Removed Regexp
  • Removed Inflector (method underscore moved to Str)