Skip to content

Kanda - 3.0.0

Compare
Choose a tag to compare
@veewee veewee released this 04 Sep 05:20
· 9 commits to next since this release
3.0.0
d68cd6b

What's Changed

  • Added support for coercing stdClass to array<TKey, TValue> by @Ocramius in #437
  • chore(ga): bump actions/cache from 3 to 4 by @dependabot in #438
  • Fix psalm 5.20 issues by @veewee in #439
  • json_encode never returns an empty string by @gsteel in #441
  • feat(option): apply closure should be able to return mixed by @devnix in #442
  • Avoid iterating over non-nullable sends by @veewee in #444
  • feat(locale): introduce 'Locale' component by @azjezz in #445
  • chore(locale): add Locale::default() function to retrieve default locale by @azjezz in #447
  • feat(default): introduce Default component by @azjezz in #449
  • chore: rename all enum cases to PascalCase instead of SHOUT_CASE by @azjezz in #450
  • feat(io): introduce ReadHandle::reachedEndOfDataSource by @azjezz in #452
  • chore: drop support for PHP 8.1 by @azjezz in #454
  • feat(async): introduce optional incremental timeout to the public API by @azjezz in #455
  • feat(types): Traceless types by @veewee in #453
  • chore: miscellaneous changes by @azjezz in #458
  • fix(type): Positive int has a broken exception path by @veewee in #459
  • feat(types): Memoize simple types without arguments by @veewee in #457
  • Fix PHP84 nullable types by @veewee in #460
  • feat(type): Introduce type constructor purity by @veewee in #461
  • feat(type): Mark type classes as readonly by @veewee in #463
  • feat: narrow return type for min(), max(), median() and mean() by @simPod in #464
  • feat(type): Notnull type optimizations by @veewee in #465
  • docs(type): Provides an initial documentation document for the Type component by @veewee in #462
  • feat: narrow ResultInterface to concrete implementation after calling isSucceeded() and isFailed() by @simPod in #466
  • Revert "feat: narrow ResultInterface to concrete implementation after calling isSucceeded() and isFailed() (#466) by @simPod in #469
  • Change Iter\apply (Closure(T): void) $function to (Closure(T): mixed) by @devnix in #471
  • Add Vec versions of the unique functions by @BackEndTea in #472
  • feat(Result): introduce Result::unwrapOr() by @simPod in #470
  • feat: introduce first_opt(), first_key_opt(), last_opt(), last_key_opt() and search_opt() by @simPod in #467
  • feat(datetime): Introduce DateTime component by @azjezz in #446
  • chore: fix static analysis by @azjezz in #474
  • Adds param-immediately-invoked-callable in Option by @klifoth in #475
  • Add missing Option::orElse method by @veewee in #476
  • feat(DateTime) Provide a human-like months substract and add system by @veewee in #477
  • Move nonnull type to public namespace by @veewee in #478
  • Use MONTHS_PER_YEAR by @veewee in #479
  • Update README.md by @mattsches in #481
  • feat(collections): introduce Set, SetInterface, MutableSet, and MutableSetInterface by @azjezz in #482
  • Fix mutation coverage by @veewee in #485
  • Add value-of type by @gsteel in #483
  • feat(collections): add fromItems and containsKey by @pfmmfp in #484

New Contributors

Full Changelog: 2.9.0...3.0.0