Skip to content

Latest commit

 

History

History
538 lines (403 loc) · 25.6 KB

CHANGELOG.md

File metadata and controls

538 lines (403 loc) · 25.6 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

  • Removed mixin pipe class (#704)

0.6.10 - 2020-11-26

Added

  • Added dd to list of early terminating functions (#710)

Fixed

  • Model::with() accepts array of Closure (#713) Thanks @kvas-damian
  • Use function map instead of calling newQuery on model (#717)

0.6.9 - 2020-10-30

Added

  • Support to PHP 8 (#701)

Fixed

  • Corrected return type for some QueryBuilder methods (#702)

0.6.8 - 2020-10-23

Added

  • Dynamic return type support for $request->file() method call.

Fixed

  • Fixed an issue with running tests on Windows (#696) Thanks @kwebble
  • Fixed autoloading of autoload-dev classes during bootstrap. (#696) Thanks @kwebble

0.6.7 - 2020-10-21

Fixed

  • SoftDeletes methods on relations are no longer marked as undefined (#692) Thanks @jdrieghe
  • Generic model type is preserved when with method is used on a model instance.

0.6.6 - 2020-10-17

Added

  • Support for checking model properties on dynamic wheres (#686)

0.6.5 - 2020-10-15

This release introduces a new rule that can check the arguments of methods that expects a model property name, and can warn you if the passed argument is not actually a property of the model. You can read the details about the rule here.

NOTE: This rule is currently in beta! If you want to improve it's analysis, you can check out the issue here and contribute!

Added

  • Add a new view-string PHPDoc type (#654)
  • Stubs for Eloquent builder value and orWhere methods

Fixed

  • Parameter type of the query builder's where, orWhere and addArrayOfWheres (#651).
  • Fix callback parameters for retry (#663).
  • Using Reflection to initiate a model in ModelPropertyExtension to avoid errors caused by using Model constructor. (#666)

Changed

  • Made improvements to database migrations scanning. (#670)
  • Improved running test suite commands and Windows compatibility (#682)

0.6.4 - 2020-09-02

Changed

  • Update orchestra/testbench version to allow Laravel 8 installations (#646)

Fixed

  • Return type of firstWhere method on model, builder and relations (#649)

0.6.3 - 2020-08-31

Added

  • Return type extension for validator helper (#641)

Fixed

  • Return type of associate, dissociate and getChild methods of BelongsTo relations (#633)

0.6.2 - 2020-07-30

Fixed

  • Fix false positive for NoUnnecessaryCollectionCallRule when statically calling hydrate on a Model class. (#609)
  • Fixed slightly incorrect stubs for accepted $values for whereBetween/orWhereBetween and whereRowValues/orWhereRowValues (#626)
  • Check if facade fake exists (852c131)
  • Correct query builder stub (d8d8b41)
  • Dont override return type when eloquent builder returns a query builder instance (b5f96b4)
  • Handle the case when a custom query builder does not have generic annotations (c54b517)
  • Soft delete trait methods should return generic Eloquent builder with model (023043b)

Added

0.6.1 - 2020-06-20

Added

  • Support for dynamic auth model loading from config. Thanks @0xb4lint (#602)
  • Support for Laravel 8

Fixed

  • Fix false positive when calling tap($this) (#601)

0.6.0 - 2020-06-10

Added

  • Document common errors for users to ignore (#564)
  • Add abort to earlyTerminatingFunctionCalls config option (#567)
  • Support for tap helper. (#575)
  • Bumped minimum PHPStan version to 0.12.28

Fixed

  • Avoid false-positive when calling static builder methods such as ::find() on Model classes where the concrete subclass is not yet known (#565)
  • Use correct argument order for Str::startsWith (#570)

Changed

  • Do not overwrite PHPStan's default for reportUnmatchedIgnoredErrors (#564)

Removed

  • Stop ignoring errors (#564)

0.5.8 - 2020-05-06

Added

  • Support for custom Eloquent collections. Thanks @timacdonald (#537)
  • Added issue and PR templates for new contributors. Thanks @spawnia (#560)

Fixed

  • Fixed some of the collection methods in stub files. Thanks @Daanra (#556)
  • Fixed a bug with Composer autoloading. Thanks @ondrejmirtes (#561)

0.5.7 - 2020-04-28

Fixed

  • Fixed incorrect stubs for model creation methods. (85716a5)
  • Fixed false positives on NoUnnecessaryCollectionCallRule rule. Thanks @Daanra (#546)

Added

  • Added more methods to collection stubs. Thanks @Daanra (#547)

0.5.6 - 2020-04-26

Fixed

  • Fixed relation methods with custom builders always returning custom builder. (#520)
  • Fixed reading boolean columns from migrations. (#514, #513, 692fcd1, d1f1861)
  • Annotations for model properties have higher order than migration files. (ec22906)
  • Improved support for Eloquent relationships. (#533)

Added

  • Eloquent relations are now also generic. (#518)
  • Support for Composer 2. Thanks @GrahamCampbell (#528)
  • Support for abort_unless, throw_if and throw_unless functions. Thanks @Daanra (#542)
  • Support for retry helper return type. Thanks @Daanra (#543)
  • A rule for detecting expensive calls on a Collection. Thanks @Daanra (#538)
  • Support for value helper function return type. Thanks @Daanra (#545)

0.5.5 - 2020-03-26

Fixed

  • Assume id property exists only when it is not found. (#510)
  • Fixed an issue with generics in BuilderModelFindExtension. (#511)

0.5.4 - 2020-03-22

Added

  • Support for return type inference of find* methods on Builder class depending on passed arguments. (#503)

0.5.3 - 2020-03-21

Added

  • Support for Eloquent resources. Thanks @mr-feek (#470)
  • Treat Laravel ide-helper generated relationship properties as generic Collections. Thanks @mr-feek (#479)
  • Treat Laravel ide-helper generated builder typehints as generic Builders. (#497)
  • id property on any model class will be recognized as integer type. (#499)

Fixed

  • Corrected parameter type of builder dynamic wheres. Thanks @mr-feek (#482)
  • Added a check to see if migrations directory exists. Thanks @deleugpn (#498)
  • Added Carbon/Carbon to possible types for a date properties in models. Thanks @arxeiss (#500)
  • Fixed issue with scanning the migrations. (#501)

0.5.2 - 2020-02-10

Fixed

  • Model scopes returns the builder, if return type is void (#450)
  • Fix return type of calling query builder methods on custom builders (#453)
  • Fix return type of all on model. Thanks @BertvanHoekelen (#454)
  • Any query builder method should return the generic query builder (#457)
  • Don't throw exception when unknown column type is encountered while scanning the migrations (#451)

0.5.1 - 2020-02-04

Added

  • Support for model accessors (#401)
  • Handle Builder method calls, model scope calls and dynamic where calls on relations. Thanks @BertvanHoekelen (#410, #419, #423)
  • Support for custom Eloquent builders (#432)
  • Infer Eloquent model property types. Thanks @muglug (#435)
  • Support for app and resolve helper functions return type. Thanks @troelsselch (#431)
  • Add generic stubs for Eloquent collection and Support collection. (#439)

Fixed

  • Better return type support for find* methods (#400)
  • Don't register abstract service providers. Thanks @CyberiaResurrection (#440)

0.5.0 - 2019-12-25

Blogpost: nunomaduro.com/larastan-0-5-is-out Upgrade guide: UPGRADE.md

Added

  • Support to PHPStan 0.12 #378
  • Support to Laravel 7 #377
  • Support for Facade fakes #347
  • Support for model relations accessed as properties #361
  • Support for custom Eloquent builders #364
  • Support for return types of spy, mock and partialMock methods of TestCase #362

Fixed

  • Fixed a bug about handling method calls that starts with find on model instances #360

Removed

  • The artisan code:analyse command. 391

0.4.3 - 2019-10-22

Added

  • Support for abort_if. Fixes #116 (#330)

Fixed

  • Better return type inference in models and builders (#325, #336)

0.4.2 - 2019-10-16

Added

  • Support for determining correct return type for relation create method (#320, #323)

Fixed

  • getProjectClasses method to use Composer data to get the classes (#318)
  • Return type of calling scope on relation (#322)

0.4.1 - 2019-10-07

Added

  • Better return type inference in relation methods (#319)
  • Better return type inference for auth guard method calls on auth helper and facade (#317)
  • Support to phpstan extension plugin (#314)

0.4.0 - 2019-08-28

Added

  • Support to Carbon macros (#301)

Fixed

  • Support to laravel/framework:^6.0 without laravel/helpers package (#311)

Removed

  • Dependency of orchestra/testbench in Laravel projects (#305)

0.3.21 - 2019-08-17

Fixed

  • Macro method detector class implements MethodReflection instead of BuiltinMethodReflection (#299)

0.3.20 - 2019-08-17

Fixed

  • Macro method detector class implements MethodReflection instead of BuiltinMethodReflection (#298)

0.3.19 - 2019-08-16

Added

  • Partial support to auth helper (#254)

Fixed

  • Compatibility with PHPStan 0.11.13 (#294)

0.3.18 - 2019-08-04

Added

0.3.17 - 2019-05-29

Fixed

  • Issue with PHPStan 0.11.8 because of MethodReflectionFactory signature change (#270)

0.3.16 - 2019-03-30

Added

  • Support to Lumen (Put commit here)

Fixed

  • Void return type on Models (Put commit here)

0.3.15 - 2019-01-23

Added

0.3.14 - 2019-01-22

Changed

  • Bumps PHPStan version to > 0.11.1 (#229)

0.3.13 - 2018-12-21

Added

  • Support to trans helper (#220)

0.3.12 - 2018-12-03

Added

0.3.11 - 2018-11-26

Fixed

  • Null return type in Auth::user() (#211)

0.3.10 - 2018-11-22

Added

  • Support to return type of $this from Eloquent builder

0.3.9 - 2018-11-21

Added

  • Support to return type of Auth::user()

0.3.8 - 2018-11-01

Added

  • Auto detects configuration phpstan.neon (#194)

0.3.7 - 2018-10-31

Fixed

  • Fixes while resolving application with invalid php files (7dd69ad)

0.3.6 - 2018-10-30

Added

  • Support to return type of url helper (#179)

0.3.5 - 2018-10-29

Fixed

  • Internal error caused by non-existing provider name (#170)
  • Issue when project name have spaces (#186)

0.3.4 - 2018-10-09

Fixed

  • Issue while calling soft deletes macros staticly

0.3.3 - 2018-10-09

Added

  • Support for Soft Deletes

0.3.2 - 2018-10-05

Added

  • Support to return type of redirect & view helpers (#157)

0.3.1 - 2018-10-04

Fixed

0.3.0 - 2018-10-04

Added

  • Support for static analysis in Laravel Packages

0.2.12 - 2018-09-27

Added

  • Support to return type of request helper (#145)

0.2.11 - 2018-09-21

Added

  • Support to return type of response helper
  • Support to return type of \Illuminate\Http\Response::input method

Fixed

  • False positives when performing long Eloquent queries
  • Issue when there is recursive mixins
  • When container got used twice using the ArrayAccess interface

0.2.10 - 2018-09-12

Fixed

  • Issue while using invalid mixins (#137)

0.2.9 - 2018-09-01

Fixed

  • Usage of spaces with the option --paths

0.2.8 - 2018-09-01

Fixed

  • Issue while resolving implementations from container

0.2.7 - 2018-08-27

Fixed

  • Issue on Windows with the default path param (#128)
  • Issue with exit code (#115)
  • While running Larastan on CI envs (#113)

0.2.6 - 2018-08-27

Added

  • Support to Laravel 5.7

0.2.5 - 2018-08-17

Fixed

  • Issue with option errorFormat (#121)

0.2.4 - 2018-07-24

Fixed

  • Issue while resolving implementations that don't exist on the container

0.2.3 - 2018-07-23

Fixed

  • Common laravel false positives on trusted proxies and app exception handler

0.2.2 - 2018-07-23

Fixed

  • Resolved null type from container

0.2.1 - 2018-07-23

Fixed

  • Error - "internal error: * product does not exist"

0.2.0 - 2018-07-22

Fixed

  • Issues while using Lumen

0.1.9 - 2018-07-22

Added

  • Support to Lumen and Laravel Zero

0.1.8 - 2018-07-22

Added

  • Support to builder dynamic wheres

0.1.7 - 2018-07-22

Added

  • Support to "object" return type

Fixed

  • Bug on macro extension

0.1.6 - 2018-07-22

Added

  • Allows array access on objects that respects container's contract

0.1.5 - 2018-07-22

Fixed

  • Removes unused dd

0.1.4 - 2018-07-22

Fixed

  • Issue when static is missing was return type hint on Illuminate Model mixins

0.1.3 - 2018-07-20

Fixed

  • Usage on Windows + Laravel Homestead (#55)

0.1.2 - 2018-07-20

Added

  • Illuminate\Contracts property extension

0.1.1 - 2018-07-18

Fixed

  • Infinite recursion in mixins middleware (b5a4317)

0.1.0 - 2018-07-17

Added

  • Adds first alpha version