Laravel 11.29.0
28 October 2024
Laravel version 11.29.0 is now available (major release).
What's New in Laravel 11.29.0
11.29.0
Bug Fixes and Changes
- Ensure headers are only attached to illuminate responses by @timacdonald in #53019
- Component name guessing with prefix by @royduin in #53183
- Allow list of rate limiters without requiring unique keys by @timacdonald in #53177
- Add directive @Bool to Blade by @david-valdivia in #53179
- Fixes handling Js::from(collect()); by @crynobone in #53206
- fix PHPDoc for \Illuminate\Redis\Connections\Connection::$events by @taka-oyama in #53211
- fix PHPDoc for \Illuminate\Database\Connection by @taka-oyama in #53212
- Include class-string generics for Validator::$exception by @cosmastech in #53210
- Remove a few useless return void statements. by @lucasmichot in #53225
- Fixes phpdoc type of Number::forHumans() by @toarupg0318 in #53218
- Fix handling exceptions thrown in eval()'d code by @jlabedo in #53204
- Allow using castAsJson() on non default db connection during test by @crynobone in #53256
- Improve query builder tests by @timacdonald in #53251
- Fix incorrect bindings in DB::update when using a collection as a value by @crynobone in #53254
- fix: EloquentCollection find and unique generics by @calebdw in #53239
- Add getConnection() Method to Factory Class for Retrieving Database Connection by @jonathanpmartins in #53237
- Add waitUntil method to Process by @xurshudyan in #53236
- Allow Vite entry points to be merged by @JackWH in #53233
- Add helper method to determine stray request prevention state by @xurshudyan in #53232
- Fix typo $previousLCurrency to $previousCurrency for clarity and consistency by @mdariftiens in #53261
11.28.1
Bug Fixes and Changes
- Fix trim getting discarded in ViewMakeCommand by @GrahamCampbell in #53174
- Discard PHP_CLI_SERVER_WORKERS on Windows environment by @crynobone in #53178
- Improves PHP 8.4 compatibility by @crynobone in #53182
- Fix handling empty values passed to enum_value() function instead of only empty string by @crynobone in #53181
11.28.0
Bug Fixes and Changes
- Update Authorizable methods with BackedEnum support by @bastien-phi in #53079
- Use null as default cursor value for PHP Redis by @jayan-blutui in #53095
- PHPDoc Improvements by @schulerj89 in #53097
- Fix resource not escaped correctly in substituteBindingsIntoRawSql() by @aedart in #53100
- feat: add useful defaultLocale and defaultCurrency helpers to Number facade by @sts-ryan-holton in #53101
- Fix determining pivot timestamp column name(s) when parent relation missing one or both of timestamps by @daniser in #53103
- Add phpstan assertions for last in Collection isEmpty and isNotEmpty by @bastien-phi in #53107
- feat: interactive env:encrypt & env:decrypt by @hhermsen in #53081
- PHPDoc Improvements by @schulerj89 in #53109
- Feat: remove HasFactory in model when not required by @MrPunyapal in #53104
- Add Illuminate\Support\enum_value to resolve BackedEnum or UnitEnum to scalar by @crynobone in #53096
- allow guessing of nested component by @browner12 in #52669
- Introduce RouteParameter attribute by @bastien-phi in #53080
- Refactored to use enum_value() in castBinding() by @toarupg0318 in #53131
- Test Improvements remove code duplication by @toarupg0318 in #53128
- Revert "[11.x] Test Improvements remove code duplication" by @taylorotwell in #53132
- Fix HasManyThrough::one() by @staudenmeir in #53119
- Console supports Laravel Prompts 0.3+ by @edjw in #53136
- PHPDoc Improvements by @xurshudyan in #53139
- fix: make model command with folder path - factory incorrect import path by @JeRabix in #53142
- feat: refine return type for throw_if and throw_unless to reflect actual behavior with "falsey" values by @crishoj in #53154
- Ensure where with array respects boolean by @timacdonald in #53147
- Gracefully handle null passwords when verifying credentials by @gbradley in #53156
- feat: restore type-narrowing bahavior for throw_* helpers by @crishoj in #53164
- Add CollectedBy attribute by @alsterholm in #53122
- Add successful and failed methods to ProcessPoolResults by @Riley19280 in #53160
Issue with constrained() method used after foreignIdFor(), instead of table name when $table parameter is not passed uses column name by @granitibrahimi in #53144
11.27.2
Bug Fixes and Changes
- Fixes regression with queue:work Command by @crynobone in #53076
- Fixes parameter declaration for ServiceProvider::optimizes() by @crynobone in #53074
11.27.1
Bug Fixes and Changes
- Fix border overflow on theme switcher when hovering by @mezotv in #53064
- Optimize commands registry by @erikgaal in #52928
- Fix #53071 by @it-can in #53072
11.27.0
Bug Fixes and Changes
- feat: narrow types for throw_if and throw_unless by @calebdw in #53005
- Prevent calling tries() twice by @themsaid in #53010
- Improve PHPDoc by @schulerj89 in #53009
- Utilise Illuminate\Support\php_binary() by @crynobone in #53008
- Set HasAttributes@casts() array generics by @cosmastech in #53024
- Improve Schema::hasTable() performance by @hafezdivandari in #53006
- Always inherit parent attributes by @royduin in #53011
- feat: introduce option to change default Number currency by @sts-ryan-holton in #53022
- feat: add Str::doesntContain() method and supporting tests by @sts-ryan-holton in #53035
- Str: Add extension support for Str::inlineMarkdown() by @ryangjchandler in #53033
- Fix: Correct typehint on repository retrieval methods by @liamduckett in #53025
- Test for forgetting non-flexible keys for file driver by @timacdonald in #53018
- Add metadata to mailable view data by @TobMoeller in #53042
- PHPDoc Improvements by @schulerj89 in #53054
- Test Improvements by @toarupg0318 in #53057
- PHPDoc Improvements by @seriquynh in #53053
- Add Exception Handling for jsonOptions() Method by @shamimulalam in #53056
- Fixes make:model for Form Requests by @joshmanders in #53052
- Fixes validation using shouldConvertToBoolean when parameter uses dot notation by @bytestream in #53048
- Add methods to the HTTP kernel to append middleware relative to other middleware by @ollieread in #52897
- Add --json flag to queue:work command for structured logging by @josecl in #52887
- Improve performance of Redis queue block_for when a worker has multiple queues to service by @michael-scinocca in #52826
11.26.0
Bug Fixes and Changes
- Fix PHPDoc typo by @LucaRed in #52960
- Add stop() method to Process and Pool by @MiniCodeMonkey in #52959
- Improve PHPDoc by @staudenmeir in #52949
- Fix crash of method PreventsCircularRecursion::withoutRecursion() on mocked models by @maximetassy in #52943
- Document callable types for Enumerable::implode() by @devfrey in #52937
- Allows Unit & Backed Enums for registering named RateLimiter & RateLimited middleware by @sethsandaru in #52935
- Test Improvements by @crynobone in #52933
- Fixes trust proxy REMOTE_ADDR not working in Swoole by @chuoke in #52889
- Fixes function loading conflicts when using @include('vendor/autoload.php') via Laravel Envoy by @s-damian in #52974
- Support Laravel Prompts 0.3+ by @crynobone in #52993
- Allow mass assignment with mutators when using model::guarded by @Apfelfrisch in #52962
- Add make:job-middleware artisan command by @dshafik in #52965
- Auto discover Events outside app namespace when folder name is in kebab-case by @xizprodev in #52976
- Feat: factory generic in make:model command by @MrPunyapal in #52855
11.25.0
Bug Fixes and Changes
- Fix make:listener command by @iamgergo in #52924
- Fix incorrect PHPDoc for KeyBy and GroupBy by @kayw-geek in #52918
- Fix PHPDoc for TestResponse's Response Type to \Symfony\Component\HttpFoundation\Response by @kayw-geek in #52915
- Docblock Improvements by @saMahmoudzadeh in #52909
- Add vector column support to migrations by @Jim-Webfox in #52884
- Revert auto-discovering routes/console.php as this will cause breaking change with the default withRouting($console) by @crynobone in #52942
- Fixed docblock on typeVector method in Grammer by @flavio-schoute in #52927
11.24.1
Bug Fixes and Changes
- Fixes defer() function return type by @staudenmeir in #52910
- Fixes missing ExecutableFinder import by @InfinityXTech in #52912
- Fix for not automatically registering commands in App\Console\Commands by @SamuelNitsche in #52903
11.24.0
Bug Fixes and Changes
- Fix issue where $name variable in non base config file becomes it's key by @rojtjo in #52738
- PHPDoc Improvements by @amitmerchant1990 in #52797
- Remove a unused import and fix docblock for DeferredCallbackCollection by @seriquynh in #52808
- Handle SQLSTATE[HY000] [2002] Operation now in progress in DetectsLostConnection trait #52759 by @webartisan10 in #52805
- Add prependLocation method to View Factory by @nshiro in #52806
- add nullOnUpdate() method to ForeignKeyDefinition by @gisuNasr in #52798
- Allow BackedEnum to be passed to Route::can() by @Omegadela in #52792
- Ensure headers are only attached to illuminate responses by @timacdonald in #52789
- feat: improve Collection groupBy, keyBy generics by @calebdw in #52787
- Using Correct Concurrency Configuration Index Name by @devajmeireles in #52788
- Ensure withoutPretending method properly resets state after callback execution by @xurshudyan in #52794
- delegate ProcessDriver@defer() to ProcessDriver@run() method by @rodrigopedra in #52807
- Use command string instead of array on Concurrency\ProcessDriver by @rodrigopedra in #52813
- Allows Laravel Framework to correctly resolve PHP binary when running via Laravel Herd by @crynobone in #52791
- Move Defer classes to Support component and add Illuminate\Support\defer function by @crynobone in #52801
- Suggest laravel/serializable-closure on Database component by @crynobone in #52835
- Bump vite from 5.2.10 to 5.2.14 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot in #52834
- Update Concurrency component's composer dependencies by @rodrigopedra in #52836
- Add result shorthands for Process fakes by @jasonmccreary in #52840
- Update SerializesCastableAttributes to include array generics by @cosmastech in #52841
- CI Improvements by @crynobone in #52850
- Supports laravel/prompts v0.2 by @crynobone in #52849
- Handle allows null parameter instead of requiring default value by @crynobone in #52866
- Adds @throws section to Concurrency manager doc block by @rnambaale in #52856
- Update stub to remove unused trait imports by @lombervid in #52877
- Fix validation rule type hints by @axlon in #52870
- Support multiple batch IDs when retrying failed batch jobs by @skegel13 in #52873
- Remove unused namespaces from DatabaseInspectionCommand and LocalFileSystemAdapter by @saMahmoudzadeh in #52868
- Auto-register commands in routes/console.php by @SamuelNitsche in #52867
- Prevent infinite recursion on touchesParents() for chaperoned models by @samlev in #52883
- Bump rollup from 4.17.1 to 4.22.4 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot in #52892
- Cache::flexible improvements by @timacdonald in #52891
- Add \DateTimeInterface and \DateInterval to type for Cache::flexible() by @bram-pkg in #52888
- CI Improvements by @crynobone in #52851
- Do not trigger missing translation key handling when checking existence of translation key by @gdebrauwer in #52895
11.23.5
Bug Fixes and Changes
- allow recursive Model::withoutTimestamps calls by @m1guelpf in #52768
- Fixes out of memory issue running route:cache with ServeFile by @crynobone in #52781
11.23.4
Bug Fixes and Changes
- Fixes whereDate, whereDay, whereMonth, whereTime, whereYear and whereJsonLength to ignore invalid $operator by @crynobone in #52704
- Fixing Concurrency Facade Docblocks by @devajmeireles in #52764
- add lazy default to when helper by @rodrigopedra in #52747
- Fix arguments passed to artisan commands that start with 'env' by @willrowe in #52748
11.23.3
Bug Fixes and Changes
- Fixed attempt to call Application::routesAreCached() when application doesn't implements CachesRoutes contract. by @crynobone in #52761
- Fix PHP and Artisan binary by @hafezdivandari in #52744
- fix: PHPDoc for loading nested relations by @calebdw in #52762
- Update facade dockblocks by @timacdonald in #52750
- Fix: Unreachable action buttons in notification template when using "align" prop with "left" or "right". by @lpheller in
11.23.0
Bug Fixes and Changes
- Fix $fail closure type in docblocks for validation rules by @bastien-phi in #52644
- Add MSSQL 2017 and PGSQL 10 builds by @driesvints in #52631
- Update everyThirtyMinutes cron expression by @SamuelNitsche in #52662
- Bump micromatch from 4.0.5 to 4.0.8 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot in #52664
- apply excludeUnvalidatedArrayKeys to list validation by @lorenzolosa in #52658
- Adding minRatio & maxRatio rules on Dimension validation ruleset by @CamKem in #52482
- Add BackedEnum support to Authorize middleware by @diaafares in #52679
- Add BackedEnum support to Gate methods by @diaafares in #52677
- Suggest serializable-closure by @driesvints in #52673
- Fix alter table expressions on SQLite by @hafezdivandari in #52678
- Add Exceptions\Handler::mapLogLevel(...) so the logic can be easily overridden by @taka-oyama in #52666
- Bugfix for calling pluck() on chaperoned relations. by @samlev in #52680
- Fix build failures due to enum collide After adding BackedEnum support to Gate by @diaafares in #52683
- Fixing Str::trim to remove the default trim/ltrim/rtim characters " \n\r\t\v\0" by @mathiasgrimm in #52684
- Add Skip middleware for Queue Jobs by @KennedyTedesco in #52645
- Fix etag headers for binary file responses by @wouterrutgers in #52705
- add withoutDelay() to PendingDispatch by @KennedyTedesco in #52696
- Refactor Container::getInstance() to use null coalescing assignment by @xurshudyan in #52693
- Removed unnecessary call to setAccessible(true) by @xurshudyan in #52691
- Add Eloquent\Collection::findOrFail by @stevebauman in #52690
- PHPStan Improvements by @crynobone in #52712
- Fix Collection PHPDoc by @staudenmeir in #52724
- Add optional parameter for confirmed validator rule by @jwpage in #52722
- Test Improvements by @crynobone in #52718
- Fix incorrect variable-length argument $guards from array to string by @kayw-geek in #52719
- Allow testing of relative signed routes by @shealavington in #52726
- fix: Builder::with closure types by @calebdw in #52729
- Laracon 2024 by @taylorotwell in #52710
- Add Tag attribute by @TijmenWierenga in #52743
- Adds BackedEnum to PendingDispatch's phpDoc for onQueue, allOnQueue, onConnection, allOnConnection methods by @sethsandaru in #52739
- New when() helper. by @danmatthews in #52665
- Add fromUrl() to Attachment by @KennedyTedesco in #52688
11.22.0
Bug Fixes and Changes
- Fix FoundationServiceProvider docblock by @seriquynh in #52542
- Fix ReflectionParameter @param type on Util::getContextualAttributeFromDependency() by @samsonasik in #52541
- More specific parameter type in CastsInboundAttributes by @lorenzolosa in #52536
- Unify prefetch API by @timacdonald in #52550
- Add PDO subclass support for PHP 8.4 by @ju5t in #52538
- Handle circular references in model serialization by @samlev in #52461
- Eloquent inverse relations by @samlev in #51582
- Feature/whereany closures by @liamduckett in #52555
- Update remaining workflows to run on latest possible ubuntu version by @Jubeki in #52566
- Correct comments to better represent the updated method functionality by @dropweb in #52564
- Support CSP nonce by @timacdonald in #52558
- Allow enums to be passed to routes by @NickSdot in #52561
- SORT_NATURAL on Collection no longer throws warning for nulls by @Chaplinski in #52557
- Allow prefetch to start on custom event by @timacdonald in #52574
- Fix regression in database assertions with custom model connections by @devfrey in #52581
- Update DetectsLostConnections.php by @webartisan10 in #52614
- Fix docblock for Model::getEventDispatcher() by @inmula in #52602
- Restore Request::HEADER_X_FORWARDED_PREFIX in TrustProxies by @taka-oyama in #52598
- Accepts BackedEnum for onQueue, onConnection, allOnQueue, and allOnConnection methods in the Queueable trait by @sethsandaru in #52604
- Use the same parameter type for 'throwUnless' as used for 'throwIf' by @pataar in #52626
- Pass iterable keys to withProgressBar in InteractsWithIO by @robinmoisson in #52623
- Fix docblock for Filesystem::hash() by @sunaoka in #52630
- Fix Apostrophe Handling in SeeInOrder.php and Enhance Test Coverage by @nomitoor in #52627
- SQLite Error: "General error: 1 no such table" after adding a foreign key when using a table prefix. by @incrize in #52578