webapix/dot-net-json-date-formatter
Converts .NET JSON dates (/Date(…)/ format) to and from PHP DateTime objects, with Laravel-friendly helpers for parsing and formatting legacy ASP.NET API timestamps.
The v1.1.0 release is intentionally narrow: PHP 8.1 support added. There is no prior assessment on record and no package metadata supplied, so treat this as a compatibility release and verify the following before adopting it.
composer.json first. The entire substance of this release lives in the require.php constraint. Confirm what actually changed:
^8.0 || ^8.1, >=8.0) → non-breaking, safe to upgrade.^8.1) → breaking for anyone on PHP 8.0, and should arguably have shipped as 2.0.0. If it did not, pin the previous tag.phpunit.xml to confirm 8.1 is genuinely tested rather than merely declared.composer require vendor/package:^1.1 --with-all-dependencies
php artisan about # confirm framework/PHP versions
composer check-platform-reqs
vendor/bin/phpunit --filter=PackageRelatedTest
config/package.php), and the changelog for any deprecation notes that were folded into this release.composer why-not php 8.1 and composer why-not vendor/package 1.1.0 before updating. Transitive constraints are the usual blocker, not the package itself.8.0 × 8.1 and the Laravel majors you claim (9.x, 10.x). Testing only 8.1 lets 8.1-only syntax silently break 8.0 users.config.platform.php in composer.json, bump it alongside the matrix or resolution will keep installing as if you were on 8.0.never, first-class callable syntax, array_is_list(), fibers, and pure intersection types. Adopt these in your application code freely, but do not assume the package exposes 8.1-only types in its public API..github/workflows for 8.1 and check the PHPUnit version — PHPUnit 9.5+ is required for clean 8.1 runs; older PHPUnit emits noisy failures.ArrayAccess, Iterator, Countable, JsonSerializable, IteratorAggregate implementations missing return types. If the package or your wrappers trigger these, add #[\ReturnTypeWillChange] rather than guessing signatures.strftime()/gmstrftime(), FILTER_SANITIZE_STRING, utf8_encode()/utf8_decode(), mhash*(), and $GLOBALS whole-array read/write. If the package touches any of these, expect E_DEPRECATED in logs even though nothing is broken yet.convertDeprecationsToExceptions="false" (PHPUnit 9.5) while triaging so you can separate pre-existing noise from regressions.composer update scope. Use composer update vendor/package --with-all-dependencies; a bare update may leave a transitive dependency pinned to a non-8.1-compatible version.register()/boot() (version-conditional bindings often hide here), published config defaults, and any Class::method() string callables that first-class callable syntax would change.composer diagnose → composer check-platform-reqs → php -l across src/ → run the suite with -d error_reporting=E_ALL to surface deprecations that default config hides.How can I help you explore Laravel packages today?