- Skip calling fake() when required parameters exist (Socialite compatibility) by @Jaspur in #1746
- Make Soft Deleted Relationships Nullable by @evan-burrell in #1749
- Support all DNF types from PHP RFC by @gurmanolog in #1751
- Replace psalm with larastan by @barryvdh in #1755
- perf: reduce redundant lookups and file I/O in generation hot paths by @pataar in #1757
- fix: wrap bare intersection types in parentheses when adding nullable by @pataar in #1756
- feat(ModelsCommand): add configuration option to disable model query methods by @pataar in #1692
- ci: add PHP 8.5 to integration test matrix by @pataar in #1760
- chore: update test snapshots after merge order issue by @pataar in #1762
- Laravel 13.x Compatibility by @laravel-shift in #1763
- fix: Correct indentation in camel case config comment block by @isaackaara in #1767
- fix: Place PHPDoc before class attributes when writing to models by @isaackaara in #1765
- fix: Don't extend root's parent class for facade stubs in helper file by @isaackaara in #1766
- Fix PHPDoc placement before PHP 8 class attributes and add regression tests by @Copilot in #1769
- fix: Skip autoload exception when class existence is being checked by @isaackaara in #1764
- Remove closure in attribute test by @barryvdh in #1772
- Bump branch alias to 3.6 by @jnoordsij in #1774
- @Jaspur made their first contribution in #1746
- @evan-burrell made their first contribution in #1749
- @gurmanolog made their first contribution in #1751
- @laravel-shift made their first contribution in #1763
- @isaackaara made their first contribution in #1767
- @Copilot made their first contribution in #1769
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.6.1...v3.7.0
- Fix
methodstotypo in README by @peterchrjoergensen in #1723 - Bump actions/checkout from 4 to 5 in the deps group by @dependabot[bot] in #1731
- Fix typos in documentation and code comments by @kei1111 in #1733
- Add php 8.5 support by @sergiy-petrov in #1735
- Fix alias fake error by @WentTheFox in #1745
- Remove calls to PHP 8.5-deprecated
setAccessibleby @jnoordsij in #1744 - Bump the deps group across 1 directory with 2 updates by @dependabot[bot] in #1743
- Add support for
decimalcolumn type by @BrainStone in #1739
- @peterchrjoergensen made their first contribution in #1723
- @kei1111 made their first contribution in #1733
- @WentTheFox made their first contribution in #1745
- @BrainStone made their first contribution in #1739
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.6.0...v3.6.1
- fix: Change AsArrayObject cast to be Laravel's ArrayObject by @wsamoht in #1675
- Add extends declaration for Macroable classes to fix missing inherited methods by @KentarouTakeda in #1674
- fix(meta): ignore aliases in the autoloader (Fixes #1671) by @pataar in #1686
- feat(ModelsCommand): add support for the new Scope attribute by @pataar in #1694
- fix type change for scope default float parameter by @nivseb in #1697
- Revert #1629 - Allow adding custom Macroable classes by @erikn69 in #1707
- Configurable macro return type defaults by @erikn69 in #1711
- docs(readme): add Laravel 12 support information by @SantosVilanculos in #1717
- Add multi-level directory support for translation files by @RosiersRobin in #1718
- Support
AsCollection::of($map),AsCollection::using($class, $map)by @erikn69 in #1714 - fix: Fixed wrong doc for SoftDeletes
withTrashedmethod by @eldair in #1688 - Support other OS on tests by @erikn69 in #1715
- Fix tests on windows by @barryvdh in #1720
- Bump stefanzweifel/git-auto-commit-action from 5 to 6 in the deps group by @dependabot[bot] in #1719
- Update .gitattributes - avoid all
.php-cs-fixerfiles on vendor by @erikn69 in #1708 - fix(ModelsCommand): use 'string' as realType for 'encrypted' casts by @pataar in #1698
- Trim strings and bump reflection docblock by @barryvdh in #1721
- Add magic *_exists properties by @erikn69 in #1712
- @wsamoht made their first contribution in #1675
- @nivseb made their first contribution in #1697
- @SantosVilanculos made their first contribution in #1717
- @RosiersRobin made their first contribution in #1718
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.5...v3.6.0
- Fix for incorrect config item types in meta file by @eldair in #1662
- Prevent generation of incorrect property annotation by @skyler544 in #1665
- Fix MorphTo Model Doc Generation by @yparitcher in #1668
- Laravel 12 support by @jonnott in #1672
- @eldair made their first contribution in #1662
- @skyler544 made their first contribution in #1665
- @yparitcher made their first contribution in #1668
- @jonnott made their first contribution in #1672
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.4...v3.5.5
- Convert auth() helper to use Auth facade by @barryvdh in #1656
- Check if returnType from docblock is not null by @barryvdh in #1658
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.3...v3.5.4
- Catch meta, tweak auth by @barryvdh in #1654
- Check if macro is valid by @barryvdh in #1655
- feat: use generics of return type to determine resulting models by @Bloemendaal in #1653
- @Bloemendaal made their first contribution in #1653
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.2...v3.5.3
Fix empty/anonymous closure in meta command.
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.1...v3.5.2
- Remove duplicate config, fix ->can() by @barryvdh in #1650
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.5.0...v3.5.1
- Add phpstorm meta argument hints by @barryvdh in #1640
- Add meta override for user return types by @barryvdh in #1642
- Use forked ContextFactory by @barryvdh in #1643
- Remove php parser by @barryvdh in #1644
- Also add eloquent template tags from base class by @barryvdh in #1645
- Add more metadata by @barryvdh in #1646
- Fixed generating PHPDoc for methods with class templates by @chack1172 in #1647
- Feat guess macro types by @barryvdh in #1648
- Allow adding custom Macroable classes. by @mathieutu in #1629
- Add special
devto composer keywords by @jnoordsij in #1649
- @chack1172 made their first contribution in #1647
- @mathieutu made their first contribution in #1629
- @jnoordsij made their first contribution in #1649
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.4.0...v3.5.0
- fix: add @template TModel of static for Eloquent by @imzyf in #1631
- Add templates to Eloquent by @barryvdh in #1634
- Update testsuite for Generator, simplify service provider and mock by @barryvdh in #1635
- Add option for only eloquent by @barryvdh in #1636
- Add weak generics for array type objects by @LauJosefsen in #1621
- Make all "note" in README apply quote style by @hms5232 in #1590
- Update README.md by @Mtillmann in #1587
- Rename view var by @barryvdh and @pb30 in #1637 and #1563
- Format IDE helper by @barryvdh in #1638
- Add TLDR section, update options by @barryvdh in #1639
- @imzyf made their first contribution in #1631
- @LauJosefsen made their first contribution in #1621
- @hms5232 made their first contribution in #1590
- @Mtillmann made their first contribution in #1587
- @pb30 made their first contribution in #1563
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.3.0...v3.4.0
- Feature: Add Config Option to Enforce Nullable Relationships by @jeramyhing in #1580
- Improve replacement of return type for methods from Query\Builder by @pjio in #1575
- Update CHANGELOG.md, fix typo(s) by @NicholasWilsonDEV in #1613
- Fixed PHP 8.4 deprecation warning by @eusonlito in #1622
- Fix PHP 8.4 deprecations by @JeppeKnockaert in #1618
- Assign $output method parameter to $this->output on Generator by @eusonlito in #1623
- @jeramyhing made their first contribution in #1580
- @pjio made their first contribution in #1575
- @NicholasWilsonDEV made their first contribution in #1613
- @eusonlito made their first contribution in #1622
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.2.2...v3.3.0
- fix(pivot): only use unique classes in the pivot union (Fixes #1606) (#1607) @pataar
- docs(pr): remove the changelog checklist item (#1608) @pataar
- Create update-changelog.yaml (#1605) @barryvdh
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.2.1...v3.2.2
- chore: Fix the description of unused option by @KentarouTakeda in #1600
- feat(pivot): add support for multiple pivot types when using the same accessor by @pataar in #1597
- Add support for
AsCollection::usingandAsEnumCollection::ofcasts by @uno-sw in #1577 - Smarter reset by @barryvdh in #1603
- feat: use
numerictype on fields withdecimalcasts by @ekisu in #1583
Full Changelog: https://github.com/barryvdh/laravel-ide-helper/compare/v3.2.0...v3.2.1
- Fix type of hashed model property to
string
-
Update view "version" variable name to avoid potential conflicts
-
Add support for EloquentBuilder generics introduced in Laravel 11.15.
-
Drop support for Laravel versions earlier than 11.15.
-
Introduce
enforce_nullable_relationshipsconfiguration option to control how nullable Eloquent relationships are enforced during static analysis. This provides flexibility for scenarios where application logic ensures data integrity without relying on database constraints. #1580 / jeramyhing -
Add support for AsCollection::using and AsEnumCollection::of casts #1577 / uno-sw
- Fix return value of query scopes from parent class #1366 / sforward
- Add static to isBuiltin() check in ide-helper:models #1541 / bram-pkg
- Fix for getSomethingAttribute functions which return a collection with type templating in the phpDoc. #1567 / stefanScrumble
- Add type to pivot when using a custom pivot class #1518 / d3v2a
- Add support in morphTo relationship for null values #1547 / matysekmichal
- Add support for AsEnumCollection casts #1557 / Braunson
- Support for Attribute class in attributes #1567 / stefanScrumble
- Support for Laravel 11 #1520 / KentarouTakeda
- Make
--resetalways keep the text and remove--smart-reset. Always skip the classname #1523 / barryvdh & #1525 / mfn - Use short types (
intandboolinstead ofintegerandboolean) #1524 / barryvdh
- Support for Laravel 9 and use of doctrine/dbal #1512 / barryvdh
With this functionality gone, a few changes have been made:
- support for custom datatypes has been dropped (config
custom_db_types) unknown data types default tostringnow and to fix the type, add a proper cast in Eloquent - You might have top-level dependency on doctrine/dbal. This may have been in the past due to ide-helper, we suggest to check if you still need it and remove it otherwise
- Minimum PHP version, due to Laravel 10, is now PHP 8.1
- support for custom datatypes has been dropped (config
- Fix final class keyword in wrong position #1517 / barryvdh
- Fix case issue in
ModelsCommand::unsetMethod()#1453 / leo108 - Fix non-facade classes will result in no autocomplete #841 / netpok
- Skip swoole, otherwise fatal error #1477 / TimoFrenzel
- Fix vulnerability CVE-2021-43608 #1392 / allanlaal
- Reset foreignKeyConstraintsColumns on model loop start #1461 / snmatsui
- Accept scope & scopes as relation #1452 / Muetze42
- Fix #1300 relation_return_type must take precedence if it is defined #1394 / menthol
- Disable inspections of helper files #1486 / eidng8
- Removed support for Laravel 8 and therefore for PHP < 8.0 #1504 / mfn
- Add support for enum default arguments using enum cases. #1464 / d8vjork
- Add support for real-time facades in the helper file. #1455 / filipac
- Add support for relations with composite keys. #1479 / calebdw
- Add support for attribute accessors with no backing field or type hinting #1411 / pindab0ter.
- Add support for AsCollection and AsArrayObject casts #1393 / pataar
- Reintroduce support for multi-db setups #1426 / benpoulson
- Support the BINARY(...) database field type #1434 / Sfonxs
- Add AllowDynamicProperties Attribute to cooperate with php8.2 deprecation #1428 / GeoSot
- Official support for Lumen has been dropped #1425 / mfn
- Refactor resolving of null information for custom casted attribute types #1330 / wimski
- Catch exceptions when loading aliases #1465 / dongm2ez
- Add support for nikic/php-parser 5 (next to 4) #1502 / mfn
- Add support for
immutable_date:*andimmutable_datetime:*casts. #1380 / thekonz - Add support for attribute accessors marked as protected. #1339 / pindab0ter
- Fix return type of methods provided by
SoftDeletes#1345 / KentarouTakeda - Handle PHP 8.1 deprecation warnings when passing
nulltonew \ReflectionClass#1351 / mfn - Fix issue where \Eloquent is not included when using write_mixin #1352 / Jefemy
- Fix model factory method arguments for Laravel >= 9 #1361 / wimski
- Improve return type of mock helper methods in tests #1405 / bentleyo
- Fix Castable class if failed to detect it from return types #1388 / kwarcu
- Added Laravel 10 support #1407 / lptn
- Add support for custom casts that implement
CastsInboundAttributes#1329 / sforward - Add option
use_generics_annotationsfor collection type hints #1298 / tanerkay
- Fix date and datetime handling for attributes that set a serialization format option for the Carbon instance #1324 / FLeudts
- Fix composer conflict with composer/pcre version 2/3. #1327 / barryvdh
- Remove composer dependency, use copy of ClassMapGenerator #1313 / barryvdh
- Properly handle
Castables without return type. #1306 / binotaliu
- Add support for custom casts that using
Castable#1287 / binotaliu - Added Laravel 9 support #1297 / rcerljenko
- Added option
additional_relation_return_typesfor custom relations that don't fit the typical naming scheme
- Add support for Laravel 8.77 Attributes #1289 / SimonJnsson
- Add support for cast types
decimal:*,encrypted:*,immutable_date,immutable_datetime,custom_datetime, andimmutable_custom_datetime#1262 / miken32 - Add support of variadic parameters in
ide-helper:models#1234 / shaffe-fr - Add support of custom casts without properties #1267 / sparclex
- Fix recursively searching for
HasFactoryandMacroabletraits #1216 / daniel-de-wit - Use platformName to determine db type when casting boolean types #1212 / stockalexander
- Move default models helper filename to config #1241 / wimski
- Added Type registration according to Custom Mapping Types documentation #1228 / wimski
- Fixing issue where configured custom_db_types could cause a DBAL exception to be thrown while running
ide-helper:models#1228 / wimski
- Allowing Methods to be set or unset in ModelHooks #1198 / jenga201
Note: the visibility of
\Barryvdh\LaravelIdeHelper\Console\ModelsCommand::setMethodhas been changed to public!
- Fixing issue where incorrect autoloader unregistered #1210 / tezhm
- Support both customized namespace factories as well as default resolvable ones #1201 / wimski
- Model hooks for adding custom information from external sources to model classes through the ModelsCommand #945 / wimski
- Fix ide-helper:models exception if model doesn't have factory #1196 / ahmed-aliraqi
- Running tests triggering post_migrate hooks #1193 / netpok
- Array_merge error when config is cached prior to package install #1184 / netpok
- Generate PHPDoc for Laravel 8.x factories #1074 / ahmed-aliraqi
- Add a comment to a property like table columns #1168 / biiiiiigmonster
- Added
post_migratehook to run commands after a migration #1163 / netpok - Allow for PhpDoc for macros with union types #1148 / riesjart
- Error when generating helper for invokable classes #1124 / standaniels
- Fix broken ReflectionUnionTypes #1132 / def-studio
- Relative class names are not converted to fully-qualified class names #1005 / SavKS
- Dropped support for Laravel 6 and Laravel 7, as well as support for PHP 7.2 and added support for doctrine/dbal:^3 #1114 / mfn
Macro::initPhpDoc()will save original docblock if present #1116 / LastDragon-ruAliaswill grab macros from\Illuminate\Database\Eloquent\Buildertoo #1118 / LastDragon-ru
- Fix phpdoc generate for custom cast with parameter #986 / artelkr
- Created a possibility to add custom relation type #987 / efinder2
- Added
@seewith macro/mixin definition location to PhpDoc #1054 / riesjart - Initial compatibility for PHP8 #1106 / mfn
- Implement DeferrableProvider #914 / kon-shou
- Compatibility with Lumen #1043 / mfn
- Allow model_locations to have glob patterns #1059 / saackearl
- Error when generating helper for macroable classes which are not facades and contain a "fake" method [#1066 / domkrm] (#1066)
- Casts with a return type of
staticor$thisnow resolve to an instance of the cast #1103 / riesjart
- Removed format and broken generateJsonHelper #1053 / mfn
- Support Laravel 8 #1022 / barryvdh
- Add option to force usage of FQN #1031 / edvordo
- Add support for macros of all macroable classes #1006 / domkrm
- Add static return type to builder methods #924 / dmason30
- Add
optionalto meta generator for PhpStorm #932 / halaei - Decimal columns as string in Models #948 / fgibaux
- Simplify full namespaces for already included resources #954 / LANGERGabriel
- Make writing relation count properties optional #969 / AegirLeet
- Add more methods able to resolve container instances #996 / mfn
- Test
authis bound before detect Auth driver #946 / zhwei - Fix inline doc-block for final models #944 / Gummibeer
- Add
ignored_modelsas config option #890 / pataar - Infer return type from reflection if no phpdoc given #906 / mfn
- Add custom collection support for get and all methods #903 / dmason30
- if a model implements interfaces, include them in the stub #920 / mr-feek
- Generate noinspections PHPStorm tags #905 / mzglinski
- Added support for Laravel 7 custom casts #913 / belamov
- Ability to use patterns for model_locations #921 / 4n70w4
- MorphToMany relations with query not working #894 / UksusoFF
- Fix camelCase duplicated properties generator #881 / bop10
- Prevent generation of invalid code for certain parameter default values #901 / loilo
- Make hasOne and morphOne nullable #864 / leo108
- Remove unnecessary and wrong definition of SoftDelete methods #918 / mfn
- Unregister meta command custom autoloader when it is no longer needed #919 / mr-feek
- Support for Laravel 7 commit by barryvdh
- Add splat operator (...) support #860 / ngmy
- Add support for custom date class via Date::use() #859 / mfn
- Prevent undefined property errors #877 / matt-allan
Missing an older changelog? Feel free to submit a PR!