Bump larastan/larastan from 3.10.0 to 3.13.2 #993

Merged
jimmyb merged 1 commit from renovate/phpstan-packages into master 2026-10-27 10:56:28 -05:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
larastan/larastan 3.10.0 → 3.13.2 age confidence

Release Notes

larastan/larastan

v3.13.2: 3.13.2

Compare Source

What's Changed

Added

  • Read CREATE TABLE statements passed as string literals to DB::statement() and DB::unprepared() in migrations, using the same SQL parsers as schema dumps, by @​tiagoabsantos in #​2564. Read more about it here.
  • Infer Arr::map() callback parameter types and the mapped array type by @​Gabrieljr42 in #​2587.

Fixed

  • Check model properties in fill() and forceFill() by @​uchimaki-vensley in #​2618.
  • Check model properties in withAttributes() by @​uchimaki-vensley in #​2599.
  • Check model properties in forceCreateMany() and forceCreateManyQuietly() by @​uchimaki-vensley in #​2600.
  • Apply model casts to date columns such as created_at instead of always reading them as dates by @​canvural in 453bff0.
  • Resolve the enum type of AsEnumCollection and AsEnumArrayObject casts by @​lazerg in #​2590.
  • Return int|false from model increment() and decrement(), since an updating listener can cancel the update, by @​canvural in 0293dbc.
  • Resolve factory() from the HasFactory generic, including models that set their factory with the $factory property or #[UseFactory], by @​mkantautas in #​2615 and @​canvural in 6dfe581.
  • Keep the model template type in forwarded static calls on a class-string<T>, such as $class::findOrFail($id), by @​mkantautas in #​2616.
  • Read #[CollectedBy] from parent models on Laravel 13.4 and newer by @​APX403 in #​2586. Read more about it here.
  • Keep the relation type after calling when() and unless() on a relation by @​APX403 in #​2603.
  • Accept deeper nesting and closures in nested eager-load arrays passed to with(), withOnly(), load(), and loadMissing() by @​lazerg in #​2583.
  • Read columns from ulidMorphs(), numericMorphs(), and their nullable variants in migrations by @​mkantautas in #​2614.
  • Treat rememberToken() columns as nullable by @​lazerg in #​2611.
  • Fall back to the bundled SQL parser when phpmyadmin/sql-parser can't parse a schema dump, instead of losing every table in it, by @​Cayan in #​2588.
  • Resolve EventFake methods such as dispatched() and hasDispatched() on the Event facade by @​lazerg in #​2574.
  • Resolve QueueFake methods such as pushed() and hasPushed() on the Queue facade by @​canvural in 9c1d4f4.
  • Detect container, request, and config injection in OctaneCompatibilityRule through any constructor argument, make(), get(), and makeWith() calls, and class-string references by @​Gabrieljr42 in #​2609.
  • Avoid NoEnvCallsOutsideOfConfigRule false positives when a config file is analysed in editor mode by @​billypoke in #​2482.
  • Only count Laravel's view() helper when detecting unused views, and report static::make(), self::make(), and parent::make() in NoModelMakeRule, by @​GTS-MEGHNI in #​2598.

New Contributors

Full Changelog: v3.13.1...v3.13.2

v3.13.1: 3.13.1

Compare Source

What's Changed

Fixed

New Contributors

Full Changelog: v3.13.0...v3.13.1

v3.13.0: 3.13.0

Compare Source

What's Changed

Larastan 3.13.0 requires PHPStan 2.3.0 or newer within the 2.x series. Update PHPStan alongside Larastan when upgrading. The PHP and Laravel requirements are unchanged.

Added

Fixed

  • Correct collection key types for methods that append or renumber keys, including concat(), merge(), shift(), and splice(), by @​canvural in #​2562.
  • Report invalid eager-loading column selections paired with callbacks, such as with(['posts:id' => $callback]), by @​canvural in #​2562.
  • Handle a null package manifest path when bootstrapping the application by @​canvural in #​2562.
  • Resolve forwarded Eloquent builder calls using the custom query builder returned by toBase(), including passthru return types, by @​Wirone in #​2575.

New Contributors

Full Changelog: v3.12.3...v3.13.0

v3.12.3: 3.12.3

Compare Source

What's Changed

Fixed

  • Preserve collection key types in Eloquent queries and paginators, with an optional key type in collection-of, by @​canvural in 397c6df. Read more about it here.
  • Infer chunk() and each() callback types on BelongsToMany and through relations, including pivot types, by @​canvural in 726e7a8
  • Check model properties in forceCreateQuietly() by @​midhunmonachan in #​2558
  • Check model properties in quiet and force relation create methods by @​Cayan in #​2560
  • Accept save() options such as touch instead of model properties by @​Cayan in #​2561
  • Resolve config keys using paths relative to their config directory and expand glob patterns in configDirectories by @​canvural in f9b491b, fe7154b
  • Preserve the config value type when a default is passed to config() by @​canvural in f2a79f7
  • Preserve $this in where() and global scope methods on Eloquent builders by @​SanderMuller in #​2567
  • Prevent index methods from overwriting or creating migration columns by @​Cayan in #​2566
  • Refine Laravel API types for events, query logs, migrations, mail, notifications, routing, and reflection by @​canvural in 8fc1821
  • Resolve class constants used as migration column names by @​Cayan in #​2565
  • Accept numeric strings, integers, and floats when writing decimal casts by @​matical in #​2570
  • Infer named guard types from their configured driver by @​antoinelame in #​2571

Performance

New Contributors

Full Changelog: v3.12.2...v3.12.3

v3.12.2: 3.12.2

Compare Source

What's Changed

Fixed

  • Improve unused view detection for mail content, Mail::send(), concatenated view names, and slash-separated Blade view names by @​FeBe95 in #​2479
  • Preserve unsigned column types when an integer cast is applied and support them in higher-order collection sum() calls by @​canvural in 6f44183
  • Recognize quiet increment and decrement methods forwarded by models by @​canvural in 0196dee
  • Treat schema dump columns without NOT NULL as nullable by @​canvural in 29c3d08
  • Use Builder<Model> when a relationship path cannot be followed through an unknown model by @​MizouziE in #​2549
  • Detect Octane container injection in arrow functions by @​arpitjain099 in #​2551

Performance

Internal

New Contributors

Full Changelog: v3.12.1...v3.12.2

v3.12.1: 3.12.1

Compare Source

What's Changed

Fixed

  • Preserve custom builder types in relation count queries and BelongsToMany::firstWhere() callbacks by @​canvural in 2e561c8
  • Allow null and object HTTP request body data by @​lazerg in #​2507

Changed

Internal

Full Changelog: v3.12.0...v3.12.1

v3.12.0: 3.12.0

Compare Source

What's Changed

Added

Fixed

Changed

  • Expand relation existence checking to more query and loading methods, Eloquent collections, and model $with and $withCount defaults by @​canvural in 99a3b0e. Read more about it here.

Internal

New Contributors

Full Changelog: v3.11.0...v3.12.0

v3.11.0: 3.11.0

Compare Source

What's Changed

[!IMPORTANT]
Migration caching is now enabled by default. This should not affect analysis results and should make subsequent runs faster. If you notice unexpected behavior, you can disable it:

parameters:
    enableMigrationCache: false

Added

Fixed

Performance

Internal

New Contributors

Full Changelog: https://github.com/larastan/larastan/compare/v3.10.0...v3.11.0


Configuration

📅 Schedule: (in timezone America/Chicago)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [larastan/larastan](https://github.com/larastan/larastan) | `3.10.0` → `3.13.2` | ![age](https://developer.mend.io/api/mc/badges/age/packagist/larastan%2flarastan/3.13.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/larastan%2flarastan/3.10.0/3.13.2?slim=true) | --- ### Release Notes <details> <summary>larastan/larastan</summary> ### [`v3.13.2`](https://github.com/larastan/larastan/releases/tag/v3.13.2): 3.13.2 [Compare Source](https://github.com/larastan/larastan/compare/v3.13.1...v3.13.2) ### What's Changed #### Added - Read `CREATE TABLE` statements passed as string literals to `DB::statement()` and `DB::unprepared()` in migrations, using the same SQL parsers as schema dumps, by [@&#8203;tiagoabsantos](https://github.com/tiagoabsantos) in [#&#8203;2564](https://github.com/larastan/larastan/pull/2564). **Read more about it [here](https://github.com/larastan/larastan/blob/v3.13.2/docs/features.md#model-properties).** - Infer `Arr::map()` callback parameter types and the mapped array type by [@&#8203;Gabrieljr42](https://github.com/Gabrieljr42) in [#&#8203;2587](https://github.com/larastan/larastan/pull/2587). #### Fixed - Check model properties in `fill()` and `forceFill()` by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2618](https://github.com/larastan/larastan/pull/2618). - Check model properties in `withAttributes()` by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2599](https://github.com/larastan/larastan/pull/2599). - Check model properties in `forceCreateMany()` and `forceCreateManyQuietly()` by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2600](https://github.com/larastan/larastan/pull/2600). - Apply model casts to date columns such as `created_at` instead of always reading them as dates by [@&#8203;canvural](https://github.com/canvural) in [453bff0](https://github.com/larastan/larastan/commit/453bff00101a0a86dfa1573efa79ffcfd429d294). - Resolve the enum type of `AsEnumCollection` and `AsEnumArrayObject` casts by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2590](https://github.com/larastan/larastan/pull/2590). - Return `int|false` from model `increment()` and `decrement()`, since an `updating` listener can cancel the update, by [@&#8203;canvural](https://github.com/canvural) in [0293dbc](https://github.com/larastan/larastan/commit/0293dbc103c7b3a94ca0289ddfd764a8732fe995). - Resolve `factory()` from the `HasFactory` generic, including models that set their factory with the `$factory` property or `#[UseFactory]`, by [@&#8203;mkantautas](https://github.com/mkantautas) in [#&#8203;2615](https://github.com/larastan/larastan/pull/2615) and [@&#8203;canvural](https://github.com/canvural) in [6dfe581](https://github.com/larastan/larastan/commit/6dfe5811f8a3c0d8bf73105fe6dae89653a92f72). - Keep the model template type in forwarded static calls on a `class-string<T>`, such as `$class::findOrFail($id)`, by [@&#8203;mkantautas](https://github.com/mkantautas) in [#&#8203;2616](https://github.com/larastan/larastan/pull/2616). - Read `#[CollectedBy]` from parent models on Laravel 13.4 and newer by [@&#8203;APX403](https://github.com/APX403) in [#&#8203;2586](https://github.com/larastan/larastan/pull/2586). **Read more about it [here](https://github.com/larastan/larastan/blob/v3.13.2/docs/features.md#custom-model-collections).** - Keep the relation type after calling `when()` and `unless()` on a relation by [@&#8203;APX403](https://github.com/APX403) in [#&#8203;2603](https://github.com/larastan/larastan/pull/2603). - Accept deeper nesting and closures in nested eager-load arrays passed to `with()`, `withOnly()`, `load()`, and `loadMissing()` by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2583](https://github.com/larastan/larastan/pull/2583). - Read columns from `ulidMorphs()`, `numericMorphs()`, and their nullable variants in migrations by [@&#8203;mkantautas](https://github.com/mkantautas) in [#&#8203;2614](https://github.com/larastan/larastan/pull/2614). - Treat `rememberToken()` columns as nullable by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2611](https://github.com/larastan/larastan/pull/2611). - Fall back to the bundled SQL parser when phpmyadmin/sql-parser can't parse a schema dump, instead of losing every table in it, by [@&#8203;Cayan](https://github.com/Cayan) in [#&#8203;2588](https://github.com/larastan/larastan/pull/2588). - Resolve `EventFake` methods such as `dispatched()` and `hasDispatched()` on the `Event` facade by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2574](https://github.com/larastan/larastan/pull/2574). - Resolve `QueueFake` methods such as `pushed()` and `hasPushed()` on the `Queue` facade by [@&#8203;canvural](https://github.com/canvural) in [9c1d4f4](https://github.com/larastan/larastan/commit/9c1d4f4e8b49d266082637ba78c26d3e0f4c5260). - Detect container, `request`, and `config` injection in `OctaneCompatibilityRule` through any constructor argument, `make()`, `get()`, and `makeWith()` calls, and class-string references by [@&#8203;Gabrieljr42](https://github.com/Gabrieljr42) in [#&#8203;2609](https://github.com/larastan/larastan/pull/2609). - Avoid `NoEnvCallsOutsideOfConfigRule` false positives when a config file is analysed in editor mode by [@&#8203;billypoke](https://github.com/billypoke) in [#&#8203;2482](https://github.com/larastan/larastan/pull/2482). - Only count Laravel's `view()` helper when detecting unused views, and report `static::make()`, `self::make()`, and `parent::make()` in `NoModelMakeRule`, by [@&#8203;GTS-MEGHNI](https://github.com/GTS-MEGHNI) in [#&#8203;2598](https://github.com/larastan/larastan/pull/2598). #### New Contributors - [@&#8203;billypoke](https://github.com/billypoke) made their first contribution in [#&#8203;2482](https://github.com/larastan/larastan/pull/2482). - [@&#8203;tiagoabsantos](https://github.com/tiagoabsantos) made their first contribution in [#&#8203;2564](https://github.com/larastan/larastan/pull/2564). - [@&#8203;APX403](https://github.com/APX403) made their first contribution in [#&#8203;2586](https://github.com/larastan/larastan/pull/2586). - [@&#8203;Gabrieljr42](https://github.com/Gabrieljr42) made their first contribution in [#&#8203;2587](https://github.com/larastan/larastan/pull/2587). - [@&#8203;GTS-MEGHNI](https://github.com/GTS-MEGHNI) made their first contribution in [#&#8203;2598](https://github.com/larastan/larastan/pull/2598). - [@&#8203;mkantautas](https://github.com/mkantautas) made their first contribution in [#&#8203;2614](https://github.com/larastan/larastan/pull/2614). **Full Changelog**: [v3.13.1...v3.13.2](https://github.com/larastan/larastan/compare/v3.13.1...v3.13.2) ### [`v3.13.1`](https://github.com/larastan/larastan/releases/tag/v3.13.1): 3.13.1 [Compare Source](https://github.com/larastan/larastan/compare/v3.13.0...v3.13.1) ### What's Changed #### Fixed - Type `argument()` and `option()` calls and check argument and option names in commands registered through the console kernel, including the kernel's `$commands` property, `withCommands()`, and `app/Console/Commands` on Laravel 13.36 and newer, by [@&#8203;robsonek](https://github.com/robsonek) in [#&#8203;2585](https://github.com/larastan/larastan/pull/2585). - Infer callback parameter types in `map()` and `mapWithKeys()` on Eloquent collections again, so mapped values are no longer `mixed`, by [@&#8203;canvural](https://github.com/canvural) in [dea9faf](https://github.com/larastan/larastan/commit/dea9faffd2f9e247b8c5d6ce5f12d4a89ecd3fe0). - Check model properties in `incrementEach()` and `decrementEach()` by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2573](https://github.com/larastan/larastan/pull/2573). - Check model properties in `incrementOrCreate()` by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2581](https://github.com/larastan/larastan/pull/2581). - Check model properties in relation `incrementOrCreate()` on Laravel 13.35 and newer by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2593](https://github.com/larastan/larastan/pull/2593). - Check model properties in `findSole()` and `findOr()` by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2591](https://github.com/larastan/larastan/pull/2591). - Check model properties in `upsert()` by [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) in [#&#8203;2592](https://github.com/larastan/larastan/pull/2592). - Narrow `filter()`, `reject()`, and `whereNotNull()` inside a nullsafe chain by [@&#8203;SanderMuller](https://github.com/SanderMuller) in [#&#8203;2584](https://github.com/larastan/larastan/pull/2584). #### New Contributors - [@&#8203;uchimaki-vensley](https://github.com/uchimaki-vensley) made their first contribution in [#&#8203;2573](https://github.com/larastan/larastan/pull/2573). - [@&#8203;robsonek](https://github.com/robsonek) made their first contribution in [#&#8203;2585](https://github.com/larastan/larastan/pull/2585). **Full Changelog**: [v3.13.0...v3.13.1](https://github.com/larastan/larastan/compare/v3.13.0...v3.13.1) ### [`v3.13.0`](https://github.com/larastan/larastan/releases/tag/v3.13.0): 3.13.0 [Compare Source](https://github.com/larastan/larastan/compare/v3.12.3...v3.13.0) ### What's Changed **Larastan 3.13.0 requires PHPStan 2.3.0 or newer within the 2.x series.** Update PHPStan alongside Larastan when upgrading. The PHP and Laravel requirements are unchanged. #### Added - Add [`relation-of<Model, Relationship>`](https://github.com/larastan/larastan/blob/v3.13.0/docs/custom-types.md#relation-of) and infer concrete relationship types in eager-loading arrays passed to `with()`, `withOnly()`, `load()`, and `loadMissing()` by [@&#8203;canvural](https://github.com/canvural) in [#&#8203;2562](https://github.com/larastan/larastan/pull/2562). - Support PHPStan 2.3's opt-in bleeding-edge inference for empty collections and closures from their usage by [@&#8203;canvural](https://github.com/canvural) in [#&#8203;2562](https://github.com/larastan/larastan/pull/2562). #### Fixed - Correct collection key types for methods that append or renumber keys, including `concat()`, `merge()`, `shift()`, and `splice()`, by [@&#8203;canvural](https://github.com/canvural) in [#&#8203;2562](https://github.com/larastan/larastan/pull/2562). - Report invalid eager-loading column selections paired with callbacks, such as `with(['posts:id' => $callback])`, by [@&#8203;canvural](https://github.com/canvural) in [#&#8203;2562](https://github.com/larastan/larastan/pull/2562). - Handle a null package manifest path when bootstrapping the application by [@&#8203;canvural](https://github.com/canvural) in [#&#8203;2562](https://github.com/larastan/larastan/pull/2562). - Resolve forwarded Eloquent builder calls using the custom query builder returned by `toBase()`, including passthru return types, by [@&#8203;Wirone](https://github.com/Wirone) in [#&#8203;2575](https://github.com/larastan/larastan/pull/2575). #### New Contributors - [@&#8203;Wirone](https://github.com/Wirone) made their first contribution in [#&#8203;2575](https://github.com/larastan/larastan/pull/2575). **Full Changelog**: [v3.12.3...v3.13.0](https://github.com/larastan/larastan/compare/v3.12.3...v3.13.0) ### [`v3.12.3`](https://github.com/larastan/larastan/releases/tag/v3.12.3): 3.12.3 [Compare Source](https://github.com/larastan/larastan/compare/v3.12.2...v3.12.3) ### What's Changed #### Fixed - Preserve collection key types in Eloquent queries and paginators, with an optional key type in `collection-of`, by [@&#8203;canvural](https://github.com/canvural) in [397c6df](https://github.com/larastan/larastan/commit/397c6df2747f60e3b6b54da10160bca07552207f). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/custom-types.md#collection-of).** - Infer `chunk()` and `each()` callback types on `BelongsToMany` and through relations, including pivot types, by [@&#8203;canvural](https://github.com/canvural) in [726e7a8](https://github.com/larastan/larastan/commit/726e7a8136e07d1f75ebe7f96415a2a6ab1152c9) - Check model properties in `forceCreateQuietly()` by [@&#8203;midhunmonachan](https://github.com/midhunmonachan) in [#&#8203;2558](https://github.com/larastan/larastan/pull/2558) - Check model properties in quiet and force relation create methods by [@&#8203;Cayan](https://github.com/Cayan) in [#&#8203;2560](https://github.com/larastan/larastan/pull/2560) - Accept `save()` options such as `touch` instead of model properties by [@&#8203;Cayan](https://github.com/Cayan) in [#&#8203;2561](https://github.com/larastan/larastan/pull/2561) - Resolve config keys using paths relative to their config directory and expand glob patterns in `configDirectories` by [@&#8203;canvural](https://github.com/canvural) in [f9b491b](https://github.com/larastan/larastan/commit/f9b491b3edc36acd112d8b3a8e84f5d0480c96da), [fe7154b](https://github.com/larastan/larastan/commit/fe7154b8e8cabb30386576c02ca84762d9001dee) - Preserve the config value type when a default is passed to `config()` by [@&#8203;canvural](https://github.com/canvural) in [f2a79f7](https://github.com/larastan/larastan/commit/f2a79f7ac466244cec5e5c5362ed60fe447d189c) - Preserve `$this` in `where()` and global scope methods on Eloquent builders by [@&#8203;SanderMuller](https://github.com/SanderMuller) in [#&#8203;2567](https://github.com/larastan/larastan/pull/2567) - Prevent index methods from overwriting or creating migration columns by [@&#8203;Cayan](https://github.com/Cayan) in [#&#8203;2566](https://github.com/larastan/larastan/pull/2566) - Refine Laravel API types for events, query logs, migrations, mail, notifications, routing, and reflection by [@&#8203;canvural](https://github.com/canvural) in [8fc1821](https://github.com/larastan/larastan/commit/8fc1821c1f54d5583544207e136f3462c9b21e52) - Resolve class constants used as migration column names by [@&#8203;Cayan](https://github.com/Cayan) in [#&#8203;2565](https://github.com/larastan/larastan/pull/2565) - Accept numeric strings, integers, and floats when writing decimal casts by [@&#8203;matical](https://github.com/matical) in [#&#8203;2570](https://github.com/larastan/larastan/pull/2570) - Infer named guard types from their configured driver by [@&#8203;antoinelame](https://github.com/antoinelame) in [#&#8203;2571](https://github.com/larastan/larastan/pull/2571) #### Performance - Cache object types in helper extensions and builder names in `BuilderHelper` by [@&#8203;haratake22](https://github.com/haratake22) in [#&#8203;2553](https://github.com/larastan/larastan/pull/2553) - Load migrations only once when no tables are found by [@&#8203;ryanshepherd](https://github.com/ryanshepherd) in [#&#8203;2569](https://github.com/larastan/larastan/pull/2569) #### New Contributors - [@&#8203;midhunmonachan](https://github.com/midhunmonachan) made their first contribution in [#&#8203;2558](https://github.com/larastan/larastan/pull/2558) - [@&#8203;Cayan](https://github.com/Cayan) made their first contribution in [#&#8203;2560](https://github.com/larastan/larastan/pull/2560) - [@&#8203;ryanshepherd](https://github.com/ryanshepherd) made their first contribution in [#&#8203;2569](https://github.com/larastan/larastan/pull/2569) - [@&#8203;SanderMuller](https://github.com/SanderMuller) made their first contribution in [#&#8203;2567](https://github.com/larastan/larastan/pull/2567) - [@&#8203;matical](https://github.com/matical) made their first contribution in [#&#8203;2570](https://github.com/larastan/larastan/pull/2570) - [@&#8203;antoinelame](https://github.com/antoinelame) made their first contribution in [#&#8203;2571](https://github.com/larastan/larastan/pull/2571) **Full Changelog**: [v3.12.2...v3.12.3](https://github.com/larastan/larastan/compare/v3.12.2...v3.12.3) ### [`v3.12.2`](https://github.com/larastan/larastan/releases/tag/v3.12.2): 3.12.2 [Compare Source](https://github.com/larastan/larastan/compare/v3.12.1...v3.12.2) ### What's Changed #### Fixed - Improve unused view detection for mail content, `Mail::send()`, concatenated view names, and slash-separated Blade view names by [@&#8203;FeBe95](https://github.com/FeBe95) in [#&#8203;2479](https://github.com/larastan/larastan/pull/2479) - Preserve unsigned column types when an integer cast is applied and support them in higher-order collection `sum()` calls by [@&#8203;canvural](https://github.com/canvural) in [6f44183](https://github.com/larastan/larastan/commit/6f44183f231acc1dc5a0ae741715e3e459277f13) - Recognize quiet increment and decrement methods forwarded by models by [@&#8203;canvural](https://github.com/canvural) in [0196dee](https://github.com/larastan/larastan/commit/0196dee777e4766c304a1935bb61286575882863) - Treat schema dump columns without `NOT NULL` as nullable by [@&#8203;canvural](https://github.com/canvural) in [29c3d08](https://github.com/larastan/larastan/commit/29c3d088fc1e275e0c9ab909388db7e6de5e9180) - Use `Builder<Model>` when a relationship path cannot be followed through an unknown model by [@&#8203;MizouziE](https://github.com/MizouziE) in [#&#8203;2549](https://github.com/larastan/larastan/pull/2549) - Detect Octane container injection in arrow functions by [@&#8203;arpitjain099](https://github.com/arpitjain099) in [#&#8203;2551](https://github.com/larastan/larastan/pull/2551) #### Performance - Cache attribute type instances during model property analysis by [@&#8203;haratake22](https://github.com/haratake22) in [#&#8203;2552](https://github.com/larastan/larastan/pull/2552) #### Internal - Optimize GitHub Actions workflows by [@&#8203;canvural](https://github.com/canvural) in [6b93c1f](https://github.com/larastan/larastan/commit/6b93c1f3bbf22bb36840c80e33d9d5bfe74ab969) - Gate model `incrementEach()` assertions by Laravel version by [@&#8203;canvural](https://github.com/canvural) in [79091ad](https://github.com/larastan/larastan/commit/79091ad281b47871ec2c0f7d1aa61b042a1e15fc) #### New Contributors - [@&#8203;MizouziE](https://github.com/MizouziE) made their first contribution in [#&#8203;2549](https://github.com/larastan/larastan/pull/2549) - [@&#8203;arpitjain099](https://github.com/arpitjain099) made their first contribution in [#&#8203;2551](https://github.com/larastan/larastan/pull/2551) **Full Changelog**: [v3.12.1...v3.12.2](https://github.com/larastan/larastan/compare/v3.12.1...v3.12.2) ### [`v3.12.1`](https://github.com/larastan/larastan/releases/tag/v3.12.1): 3.12.1 [Compare Source](https://github.com/larastan/larastan/compare/v3.12.0...v3.12.1) ### What's Changed #### Fixed - Preserve custom builder types in relation count queries and `BelongsToMany::firstWhere()` callbacks by [@&#8203;canvural](https://github.com/canvural) in [2e561c8](https://github.com/larastan/larastan/commit/2e561c843ba44437467061a5293955665108f3b7) - Allow null and object HTTP request body data by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2507](https://github.com/larastan/larastan/pull/2507) #### Changed - Require PHPStan 2.2.14 or newer by [@&#8203;canvural](https://github.com/canvural) in [7cf994b](https://github.com/larastan/larastan/commit/7cf994b879d5802219ecab7ae2f1cd92c886979d) #### Internal - Correct the collection `concat()` key type expectation by [@&#8203;canvural](https://github.com/canvural) in [7cf994b](https://github.com/larastan/larastan/commit/7cf994b879d5802219ecab7ae2f1cd92c886979d) - Update agent contributor guidelines by [@&#8203;canvural](https://github.com/canvural) in [168fd3b](https://github.com/larastan/larastan/commit/168fd3b955e723c51dbf81709849b0c3ac4ac5f6) **Full Changelog**: [v3.12.0...v3.12.1](https://github.com/larastan/larastan/compare/v3.12.0...v3.12.1) ### [`v3.12.0`](https://github.com/larastan/larastan/releases/tag/v3.12.0): 3.12.0 [Compare Source](https://github.com/larastan/larastan/compare/v3.11.0...v3.12.0) ### What's Changed #### Added - Extend `view-string` coverage to more view-name signatures by [@&#8203;maks-oleksyuk](https://github.com/maks-oleksyuk) in [#&#8203;2513](https://github.com/larastan/larastan/pull/2513). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/custom-types.md#view-string).** - Add seven opt-in rules for queued jobs by [@&#8203;laravel-o11y](https://github.com/laravel-o11y) in [#&#8203;2522](https://github.com/larastan/larastan/pull/2522). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/rules.md#uniquejobdeclaresuniqueforrule).** - Detect anonymous Blade component views in `checkUnusedViews` by [@&#8203;G4Zz0L1](https://github.com/G4Zz0L1) in [#&#8203;2519](https://github.com/larastan/larastan/pull/2519). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/rules.md#unusedviewsrule).** - Add `ResponseInterface` mixin to the HTTP client `Response` stub by [@&#8203;ramonrietdijk](https://github.com/ramonrietdijk) in [#&#8203;2428](https://github.com/larastan/larastan/pull/2428) - Add `builder-of<Model>` custom PHPDoc type by [@&#8203;canvural](https://github.com/canvural) in [#&#8203;2374](https://github.com/larastan/larastan/pull/2374). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/custom-types.md#builder-of).** - Infer array shapes for model `toArray()` and `attributesToArray()` calls by [@&#8203;canvural](https://github.com/canvural) in [75ea2fd](https://github.com/larastan/larastan/commit/75ea2fd24699e65d68c868f25d21425ccf5a1cff). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/features.md#model-serialization).** - Check view names passed to mailable `Content` constructors by [@&#8203;canvural](https://github.com/canvural) in [43f9cae](https://github.com/larastan/larastan/commit/43f9cae43c19721409c4203291240176da4212e0). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/custom-types.md#view-string).** - Add an opt-in rule requiring explicit model query builder calls, with automatic fixes, by [@&#8203;canvural](https://github.com/canvural) in [59fa341](https://github.com/larastan/larastan/commit/59fa341e0e028e15fadf7f6078b83f705960d868). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/rules.md#noimplicitquerybuildercall).** - Infer relationship query callback types and support relationship paths in `builder-of` by [@&#8203;canvural](https://github.com/canvural) in [62342c8](https://github.com/larastan/larastan/commit/62342c86884409faf3d3d46ce91feec0f0e0c072). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/features.md#model-relationships).** #### Fixed - Refine queue rule checks and diagnostics by [@&#8203;canvural](https://github.com/canvural) in [80838e1](https://github.com/larastan/larastan/commit/80838e123ca9c0c9549a31d30d7c5e0e19922b43) - Resolve typed migration table constants by [@&#8203;riasvdv](https://github.com/riasvdv) in [#&#8203;2520](https://github.com/larastan/larastan/pull/2520) - Preserve `static` in the `newQuery()` method family on non-final models by [@&#8203;yeapea](https://github.com/yeapea) in [#&#8203;2544](https://github.com/larastan/larastan/pull/2544) - Preserve model types and custom builders with `builder-of` by [@&#8203;canvural](https://github.com/canvural) in [a23d0c9](https://github.com/larastan/larastan/commit/a23d0c923bcd756d788d78d004f580146d69159e) - Preserve custom paginator collection types and track key and value types through `setCollection()` by [@&#8203;canvural](https://github.com/canvural) in [f336303](https://github.com/larastan/larastan/commit/f3363031edb0d3aa81a93b72be246cebef66993e). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/features.md#custom-model-collections).** - Avoid crashes when models implement missing interfaces by [@&#8203;canvural](https://github.com/canvural) in [bce4756](https://github.com/larastan/larastan/commit/bce4756edbbb81d377ac430ea79ce51e1e7f91b4) - Fix callback types for Eloquent where subqueries by [@&#8203;canvural](https://github.com/canvural) in [eb73731](https://github.com/larastan/larastan/commit/eb7373167f3273398b6afd1234e5804af98d8e83) #### Changed - Expand relation existence checking to more query and loading methods, Eloquent collections, and model `$with` and `$withCount` defaults by [@&#8203;canvural](https://github.com/canvural) in [99a3b0e](https://github.com/larastan/larastan/commit/99a3b0e72868514e2dbb3ba234e1fbedd2072c0a). **Read more about it [here](https://github.com/larastan/larastan/blob/3.x/docs/rules.md#relationexistencerule).** #### Internal - Add agent contributor guidelines by [@&#8203;canvural](https://github.com/canvural) in [7eec466](https://github.com/larastan/larastan/commit/7eec466bc38015dfd6f787630ef47a61c96112cf), [a63e66c](https://github.com/larastan/larastan/commit/a63e66ce08137f70ab9e6a77c440db2b7651bc74), [d8987c5](https://github.com/larastan/larastan/commit/d8987c507c5f21827aaf12ba0910cbc171108ee1), [dcfa93b](https://github.com/larastan/larastan/commit/dcfa93bda6d41fcfbcdc287b104e47f6de03d6fb) - Fix where callback test compatibility with older PHPStan versions by [@&#8203;canvural](https://github.com/canvural) in [ab26fdf](https://github.com/larastan/larastan/commit/ab26fdf90d84877061388109e1e251f67ca3ff7a) #### New Contributors - [@&#8203;laravel-o11y](https://github.com/laravel-o11y) made their first contribution in [#&#8203;2522](https://github.com/larastan/larastan/pull/2522) - [@&#8203;yeapea](https://github.com/yeapea) made their first contribution in [#&#8203;2544](https://github.com/larastan/larastan/pull/2544) - [@&#8203;G4Zz0L1](https://github.com/G4Zz0L1) made their first contribution in [#&#8203;2519](https://github.com/larastan/larastan/pull/2519) **Full Changelog**: [v3.11.0...v3.12.0](https://github.com/larastan/larastan/compare/v3.11.0...v3.12.0) ### [`v3.11.0`](https://github.com/larastan/larastan/releases/tag/v3.11.0): 3.11.0 [Compare Source](https://github.com/larastan/larastan/compare/v3.10.0...v3.11.0) ### What's Changed > \[!IMPORTANT] > Migration caching is now enabled by default. This should not affect analysis results and should make subsequent runs faster. If you notice unexpected behavior, you can disable it: > > ```neon > parameters: > enableMigrationCache: false > ``` #### Added - Add `HasParameters` stub by [@&#8203;canvural](https://github.com/canvural) in [`ef28a38`](https://github.com/larastan/larastan/commit/ef28a38804063c0e26deb18680d964e723048f3d) - Narrow `getCasts` and `getTouchedRelations` return types by [@&#8203;dfinchenko](https://github.com/dfinchenko) in [#&#8203;2497](https://github.com/larastan/larastan/pull/2497) - Type `AbstractPaginator::getCollection()` as an Eloquent collection for model values by [@&#8203;szepeviktor](https://github.com/szepeviktor) in [#&#8203;2528](https://github.com/larastan/larastan/pull/2528) - Add `createQuietly()` to `EloquentBuilder.stub` by [@&#8203;Mr-Offline](https://github.com/Mr-Offline) in [#&#8203;2523](https://github.com/larastan/larastan/pull/2523) - Narrow `getAppends` and `getMutatedAttributes` return types by [@&#8203;dfinchenko](https://github.com/dfinchenko) in [#&#8203;2499](https://github.com/larastan/larastan/pull/2499) - Add mixin to the `View` facade by [@&#8203;canvural](https://github.com/canvural) in [`9baa740`](https://github.com/larastan/larastan/commit/9baa74074f17cc70feaef31616a06ea0faeebba5) #### Fixed - Build on the latest PHPStan by [@&#8203;staabm](https://github.com/staabm) in [#&#8203;2496](https://github.com/larastan/larastan/pull/2496) - Use FQCN in stub by [@&#8203;canvural](https://github.com/canvural) in [`846a314`](https://github.com/larastan/larastan/commit/846a314912f6367e18f2fac2aed9ebfb06eb274b) - Allow closures in translation replacements by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2526](https://github.com/larastan/larastan/pull/2526) - Resolve `getCountForPagination` passthru at call time by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2535](https://github.com/larastan/larastan/pull/2535) - Handle `nullableTimestampsTz` in the schema aggregator by [@&#8203;lazerg](https://github.com/lazerg) in [#&#8203;2506](https://github.com/larastan/larastan/pull/2506) - Skip redundant initial rewind when scanning directories by [@&#8203;denkfabrik-li](https://github.com/denkfabrik-li) in [#&#8203;2539](https://github.com/larastan/larastan/pull/2539) - Sync `BuilderHelper::$passthru` with Eloquent Builder by [@&#8203;alexkart](https://github.com/alexkart) in [#&#8203;2533](https://github.com/larastan/larastan/pull/2533) - Apply Eloquent PHP attributes when resolving model metadata by [@&#8203;NikitaKirin](https://github.com/NikitaKirin) in [#&#8203;2500](https://github.com/larastan/larastan/pull/2500) - Handle named scopes colliding with passthru methods by [@&#8203;canvural](https://github.com/canvural) in [`c535450`](https://github.com/larastan/larastan/commit/c53545055e89694df49534cfe8e1b76bb7a98709) - Preserve builder types for forwarded query methods by [@&#8203;canvural](https://github.com/canvural) in [`9c81945`](https://github.com/larastan/larastan/commit/9c81945a7c0562af6060b8c94c6dec61d66feed2) - Compare generic model property types correctly by [@&#8203;canvural](https://github.com/canvural) in [`34f6cc1`](https://github.com/larastan/larastan/commit/34f6cc1ae61da441930e8013df50f3feaa429179) - Support model helper analysis on older Laravel versions by [@&#8203;canvural](https://github.com/canvural) in [`8033d9f`](https://github.com/larastan/larastan/commit/8033d9f459513fb69041ac17eb0fb81bae70303a) - Suppress missing model initializers on older Laravel versions by [@&#8203;canvural](https://github.com/canvural) in [`577e0df`](https://github.com/larastan/larastan/commit/577e0df2232e51b3fa6a8ce4deb8cb575b1db702) #### Performance - Improve analysis performance on large projects by [@&#8203;canvural](https://github.com/canvural) in [#&#8203;2543](https://github.com/larastan/larastan/pull/2543) #### Internal - Remove the `ext-json` Composer dependency by [@&#8203;maks-oleksyuk](https://github.com/maks-oleksyuk) in [#&#8203;2514](https://github.com/larastan/larastan/pull/2514) - Update model type inference documentation by [@&#8203;dantleech](https://github.com/dantleech) in [#&#8203;2527](https://github.com/larastan/larastan/pull/2527) - Bump GitHub Actions to their latest major versions by [@&#8203;maks-oleksyuk](https://github.com/maks-oleksyuk) in [#&#8203;2515](https://github.com/larastan/larastan/pull/2515) - Refresh the Monica E2E baseline by [@&#8203;maks-oleksyuk](https://github.com/maks-oleksyuk) in [#&#8203;2542](https://github.com/larastan/larastan/pull/2542) #### New Contributors - [@&#8203;dfinchenko](https://github.com/dfinchenko) made their first contribution in [#&#8203;2497](https://github.com/larastan/larastan/pull/2497) - [@&#8203;maks-oleksyuk](https://github.com/maks-oleksyuk) made their first contribution in [#&#8203;2514](https://github.com/larastan/larastan/pull/2514) - [@&#8203;dantleech](https://github.com/dantleech) made their first contribution in [#&#8203;2527](https://github.com/larastan/larastan/pull/2527) - [@&#8203;Mr-Offline](https://github.com/Mr-Offline) made their first contribution in [#&#8203;2523](https://github.com/larastan/larastan/pull/2523) - [@&#8203;lazerg](https://github.com/lazerg) made their first contribution in [#&#8203;2526](https://github.com/larastan/larastan/pull/2526) - [@&#8203;denkfabrik-li](https://github.com/denkfabrik-li) made their first contribution in [#&#8203;2539](https://github.com/larastan/larastan/pull/2539) - [@&#8203;alexkart](https://github.com/alexkart) made their first contribution in [#&#8203;2533](https://github.com/larastan/larastan/pull/2533) - [@&#8203;NikitaKirin](https://github.com/NikitaKirin) made their first contribution in [#&#8203;2500](https://github.com/larastan/larastan/pull/2500) **Full Changelog**: <https://github.com/larastan/larastan/compare/v3.10.0...v3.11.0> </details> --- ### Configuration 📅 **Schedule**: (in timezone America/Chicago) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODEuNCIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tYXRlZCIsImRlcGVuZGVuY2llcyIsInBocCJdfQ==-->
jimmyb force-pushed renovate/phpstan-packages from 0c87db557a
Some checks failed
linter / quality (pull_request) Successful in 4m3s
tests / ci (pull_request) Failing after 4m13s
to 8a345a53fc
All checks were successful
linter / quality (pull_request) Successful in 3m50s
tests / ci (pull_request) Successful in 11m51s
2026-10-27 10:41:33 -05:00
Compare
jimmyb merged commit 2978b137ca into master 2026-10-27 10:56:28 -05:00
jimmyb deleted branch renovate/phpstan-packages 2026-10-27 10:56:28 -05:00
jimmyb self-assigned this 2026-10-27 10:56:32 -05:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MyVideoGameList/myvideogamelist.com!993
No description provided.