Skip to content

feat!: move to Laravel 12 and core-api 2.0 - #12

Open
roncodes wants to merge 4 commits into
release/v0.1.0from
chore/laravel-12
Open

roncodes wants to merge 4 commits into
release/v0.1.0from
chore/laravel-12

Conversation

@roncodes

@roncodes roncodes commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Moves the server package to Laravel 12 for the next minor release, v0.1.0, into release/v0.1.0. It goes with fleetbase/fleetbase release/v0.8.0.

What changed

  • fleetbase/core-api ^2.0, replacing the old range. Also fleetbase/fleetops-api ^0.7.0.
  • illuminate/* and laravel/framework ^12.69, PHP ^8.2, plus the dependency majors that go with core-api 2.0 where this package uses them: fcm ^5.1, apn ^5.5, twilio channel ^4.1, milon/barcode ^13, geocoder-laravel ^13, cknow/laravel-money ^8, Sanctum ^4.
  • Dev: Pest ^3 (PHPUnit 11), Testbench ^10, collision ^8, var-dumper ^7, PHPStan ^2 / Larastan ^3 where used.
  • No security advisory exceptions. composer audit on this branch reports no advisories, and there is no policy.advisories or audit.ignore. The one remaining audit note is the abandoned hammerstone/fast-paginate, which core-api requires.
  • PHPStan 2: checkMissingIterableValueType is gone (always on now), and checkGenericClassInNonGenericObjectType: false becomes an ignore for missingType.generics. The PHPStan 1 baseline no longer matched PHPStan 2's messages, so it is regenerated: 542 entries, all in code that predates this branch. composer test:types passes.

Prep work merged in

The branch head is the complete Laravel 12 state, ready to link locally.

Depends on, in merge order

  1. feat!: move to Laravel 12 and Sanctum 4 core-api#333, tagged v2.0.0
  2. fleetbase/fleetops-api tagged v0.7.0
  3. This PR, then the release PR release/v0.1.0 → main.

CI stays red until those are tagged, because Composer can't resolve fleetbase/core-api ^2.0 or the extension versions above from Packagist yet. The fork packages core-api needs are released: laravel-mysql-spatial 2.0.0, twilio 6.0.0 and countries 0.9.0.

Tested locally

Against core-api#333 (feat/laravel-12) through a Composer path repository, with the sibling extension branches linked the same way, on PHP 8.2 and Laravel 12.71.

  • 108 tests pass, and the coverage baseline step CI runs passes.
  • composer audit: no advisories.

Not run

  • Nothing against live Stripe, Twilio, Firebase/FCM, APNs or other third-party APIs. Package majors used at runtime but not exercised live: twilio channel, barcode, geocoder, money.
  • No MySQL migration run here; the tests use SQLite.
  • Not tested on Laravel 13, although core-api allows it.

Do not merge before core-api v2.0.0 is tagged.

Laravel 11+ ships a native Request::array(), which wins over core-api's macro of that
name and stops it splitting comma-separated values. Needs core-api with inputArray.
@roncodes roncodes mentioned this pull request Nov 6, 2026
PHPStan 2 removed checkMissingIterableValueType (now always on) and
checkGenericClassInNonGenericObjectType; the missingType.generics identifier
keeps the old behaviour. The old baseline no longer matched PHPStan 2's
messages, so it is regenerated: 542 pre-existing errors, all in code that
predates this branch. New code is still held to level max.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant