Laravel Versions Logo

Laravel Version: 11.0.0

Status:

Active support

Recommendation:

Keep patch updated.

Latest Patch Release:

11.33.1

Major Version Release date Bug Fixes Until Security Fixes Until PHP Versions Status
11 March 12, 2024 August 5, 2025 February 3, 2026 8.2, 8.3
ALL

Releases

11.33.1
  • Marking password params in Database connector with SensitiveParameter attribute by @philo23 in #53580
11.33.2
  • Support ObservedBy on parent model classes by @adamthehutt in #53579
  • Revert "[11.x] Support DB aggregate by group" by @taylorotwell in #53582
  • [11.x] Fix: Improve Request Port Extraction Handling in ServeCommand.php to Prevent Artisan Command Failures by @ahmad-cit22 in #53538
11.33.0
11.32.0
11.31.0
  • [11.x] Refactor: return Command::FAILURE by @fernandokbs in #53354
  • Allow the Batch and Chain onQueue method to accept Backed Enums by @onlime in #53359
  • Add transaction generics by @MatusBoa in #53357
  • Add laravel default exception blade files to view:cache by @SamuelWei in #53353
  • [11.x] Added useCascadeTruncate method for PostgresGrammar by @korkoshko in #53343
  • Add Application::removeDeferredServices method by @ollieread in #53362
  • Add the ability to append and prepend middleware priority from the application builder by @ollieread in #53326
  • Fix typo in Translator code comment by @caendesilva in #53366
  • [11.x] Handle HtmlString constructed with a null by @sperelson in #53367
  • [11.x] Add URL::forceHttps() to enforce HTTPS scheme for URLs by @dasundev in #53381
  • [11.x] Refactor and add remaining test cases for the DatabaseUuidFailedJobProviderTest class by @kevinb1989 in #53408
  • [11.X] Postgres Aurora failover - DetectsLostConnections by @vifer in #53404
  • whereFullText case consistency by @parth391 in #53395
  • [11.x] Add HasFactory trait to make:model generation command using --all options by @adel007gh in #53391
  • Introduce support for popping items from a stackable context item by @denjaland in #53403
  • [11.x] Test Improvements by @crynobone in #53414
  • [11.x] Add ability to dynamically build mailers on-demand using Mail::build by @stevebauman in #53411
  • [11.x] Refactor and add remaining test cases for the DatabaseFailedJobProviderTest class by @kevinb1989 in #53409
  • [11.x] Fix error event listener in Vite prefetching by @jnoordsij in #53439
  • [11.x] Ensure datetime cache durations account for script execution time by @timacdonald in #53431
  • [11.x] Fix fluent syntax for HasManyThrough when combining HasMany followed by HasOne by @jnoordsij in #53335
  • Correct parameter type of Collection::diffKeys() and Collection::diffKeysUsing() by @AJenbo in #53441
  • Correct parameter type of Collection::intersectByKeys() by @AJenbo in #53444
  • Fix schema foreign ID support for tables with non-standard primary key by @willrowe in #53442
  • [11.x] Cache token repository by @browner12 in #53428
  • Fix validation message when there is a parameter with escaped dot "." by @mdmahbubhelal in #53416
  • [11.x] add optional prefix for cache key by @browner12 in #53448
  • [11.x] Do not overwrite existing link header(s) in AddLinkHeadersForPreloadedAssets middleware by @jnoordsij in #53463
  • [11.x] use assertTrue and assertFalse method, instead of using assertE… by @iamyusuf in #53453
  • [11.x] Add DB::build method by @stevebauman in #53464
  • [11.x] Add ability to dynamically build cache repositories on-demand using Cache::build by @stevebauman in #53454
  • [11.x] Skip the number of connections transacting while testing to run callbacks by @tonysm in #53377
11.30.0
11.29.0
11.28.1
  • [11.x] Fix trim getting discarded in ViewMakeCommand by @GrahamCampbell in #53174
  • [11.x] Discard PHP_CLI_SERVER_WORKERS on Windows environment by @crynobone in #53178
  • [11.x] Improves PHP 8.4 compatibility by @crynobone in #53182
  • [11.x] Fix handling empty values passed to enum_value() function instead of only empty string by @crynobone in #53181
11.28.0
  • [11.x] Update Authorizable methods with BackedEnum support by @bastien-phi in #53079
  • [11.x] Use null as default cursor value for PHP Redis by @jayan-blutui in #53095
  • [11.x] PHPDoc Improvements by @schulerj89 in #53097
  • [11.x] Fix resource not escaped correctly in substituteBindingsIntoRawSql() by @aedart in #53100
  • [11.x] feat: add useful defaultLocale and defaultCurrency helpers to Number facade by @sts-ryan-holton in #53101
  • [11.x] Fix determining pivot timestamp column name(s) when parent relation missing one or both of timestamps by @daniser in #53103
  • [11.x] 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
  • [11.x] PHPDoc Improvements by @schulerj89 in #53109
  • [11.x] Feat: remove HasFactory in model when not required by @MrPunyapal in #53104
  • [11.x] Add Illuminate\Support\enum_value to resolve BackedEnum or UnitEnum to scalar by @crynobone in #53096
  • [11.x] allow guessing of nested component by @browner12 in #52669
  • [11.x] Introduce RouteParameter attribute by @bastien-phi in #53080
  • [11.x] Refactored to use enum_value() in castBinding() by @toarupg0318 in #53131
  • [11.x] Test Improvements remove code duplication by @toarupg0318 in #53128
  • Revert "[11.x] Test Improvements remove code duplication" by @taylorotwell in #53132
  • [11.x] Fix HasManyThrough::one() by @staudenmeir in #53119
  • [11.x] Console supports Laravel Prompts 0.3+ by @edjw in #53136
  • [11.x] PHPDoc Improvements by @xurshudyan in #53139
  • fix: make model command with folder path - factory incorrect import path by @JeRabix in #53142
  • [11.x] feat: refine return type for throw_if and throw_unless to reflect actual behavior with "falsey" values by @crishoj in #53154
  • [11.x] Ensure where with array respects boolean by @timacdonald in #53147
  • [11.x] Gracefully handle null passwords when verifying credentials by @gbradley in #53156
  • [11.x] feat: restore type-narrowing bahavior for throw_* helpers by @crishoj in #53164
  • [11.x] Add CollectedBy attribute by @alsterholm in #53122
  • [11.x] 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
  • [11.x] Fixes regression with queue:work Command by @crynobone in #53076
  • [11.x] Fixes parameter declaration for ServiceProvider::optimizes() by @crynobone in #53074
11.27.0
11.27.1
11.26.0
11.25.0
  • [11.x] Fix make:listener command by @iamgergo in #52924
  • [11.x] Fix incorrect PHPDoc for KeyBy and GroupBy by @kayw-geek in #52918
  • [11.x] Fix PHPDoc for TestResponse's Response Type to \Symfony\Component\HttpFoundation\Response by @kayw-geek in #52915
  • [11.x] Docblock Improvements by @saMahmoudzadeh in #52909
  • [11.x] Add vector column support to migrations by @Jim-Webfox in #52884
  • [11.x] Revert auto-discovering routes/console.php as this will cause breaking change with the default withRouting($console) by @crynobone in #52942
  • [11.x] Fixed docblock on typeVector method in Grammer by @flavio-schoute in #52927
11.24.1
11.24.0
  • [11.x] Fix issue where $name variable in non base config file becomes it's key by @rojtjo in #52738
  • [11.x] PHPDoc Improvements by @amitmerchant1990 in #52797
  • [11.x] Remove a unused import and fix docblock for DeferredCallbackCollection by @seriquynh in #52808
  • [11.x] Handle SQLSTATE[HY000] [2002] Operation now in progress in DetectsLostConnection trait #52759 by @webartisan10 in #52805
  • [11.x] Add prependLocation method to View Factory by @nshiro in #52806
  • [11.x] add nullOnUpdate() method to ForeignKeyDefinition by @gisuNasr in #52798
  • [11.x] Allow BackedEnum to be passed to Route::can() by @Omegadela in #52792
  • [11.x] Ensure headers are only attached to illuminate responses by @timacdonald in #52789
  • [11.x] feat: improve Collection groupBy, keyBy generics by @calebdw in #52787
  • [11.x] Using Correct Concurrency Configuration Index Name by @devajmeireles in #52788
  • [11.x] Ensure withoutPretending method properly resets state after callback execution by @xurshudyan in #52794
  • [11.x] delegate ProcessDriver@defer() to ProcessDriver@run() method by @rodrigopedra in #52807
  • [11.x] Use command string instead of array on Concurrency\ProcessDriver by @rodrigopedra in #52813
  • [11.x] Allows Laravel Framework to correctly resolve PHP binary when running via Laravel Herd by @crynobone in #52791
  • [11.x] Move Defer classes to Support component and add Illuminate\Support\defer function by @crynobone in #52801
  • [11.x] 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
  • [11.x] 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
  • [11.x] CI Improvements by @crynobone in #52850
  • [11.x] Supports laravel/prompts v0.2 by @crynobone in #52849
  • [11.x] Handle allows null parameter instead of requiring default value by @crynobone in #52866
  • [11.x] Adds @throws section to Concurrency manager doc block by @rnambaale in #52856
  • Update stub to remove unused trait imports by @lombervid in #52877
  • [11.x] Fix validation rule type hints by @axlon in #52870
  • [11.x] Support multiple batch IDs when retrying failed batch jobs by @skegel13 in #52873
  • [11.x] Remove unused namespaces from DatabaseInspectionCommand and LocalFileSystemAdapter by @saMahmoudzadeh in #52868
  • [11.x] Auto-register commands in routes/console.php by @SamuelNitsche in #52867
  • [11.x] 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
  • [11.x] Cache::flexible improvements by @timacdonald in #52891
  • [11.x] Add \DateTimeInterface and \DateInterval to type for Cache::flexible() by @bram-pkg in #52888
  • [11.x] CI Improvements by @crynobone in #52851
  • [11.x] Do not trigger missing translation key handling when checking existence of translation key by @gdebrauwer in #52895
11.23.5
  • allow recursive Model::withoutTimestamps calls by @m1guelpf in #52768
  • [11.x] Fixes out of memory issue running route:cache with ServeFile by @crynobone in #52781
11.23.3
  • [11.x] Fixed attempt to call Application::routesAreCached() when application doesn't implements CachesRoutes contract. by @crynobone in #52761
  • [11.x] Fix PHP and Artisan binary by @hafezdivandari in #52744
  • [11.x] 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 #52758
11.23.4
  • [10.x] Fixes whereDate, whereDay, whereMonth, whereTime, whereYear and whereJsonLength to ignore invalid $operator by @crynobone in #52704
  • [11.x] Fixing Concurrency Facade Docblocks by @devajmeireles in #52764
  • [11.x] 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.0
11.23.1

No changelog available.

11.23.2

No changelog available.

11.22.0
  • [11.x] Fix FoundationServiceProvider docblock by @seriquynh in #52542
  • [11.x] Fix ReflectionParameter @param type on Util::getContextualAttributeFromDependency() by @samsonasik in #52541
  • [11.x] More specific parameter type in CastsInboundAttributes by @lorenzolosa in #52536
  • [11.x] Unify prefetch API by @timacdonald in #52550
  • [11.x] Add PDO subclass support for PHP 8.4 by @ju5t in #52538
  • [11.x] Handle circular references in model serialization by @samlev in #52461
  • [11.x] Eloquent inverse relations by @samlev in #51582
  • [11.x] Feature/whereany closures by @liamduckett in #52555
  • [11.x] 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
  • [11.x] Support CSP nonce by @timacdonald in #52558
  • [11.x] Allow enums to be passed to routes by @NickSdot in #52561
  • [11.x] SORT_NATURAL on Collection no longer throws warning for nulls by @Chaplinski in #52557
  • [11.x] Allow prefetch to start on custom event by @timacdonald in #52574
  • [11.x] Fix regression in database assertions with custom model connections by @devfrey in #52581
  • [11] Update DetectsLostConnections.php by @webartisan10 in #52614
  • Fix docblock for Model::getEventDispatcher() by @inmula in #52602
  • [11.x] Restore Request::HEADER_X_FORWARDED_PREFIX in TrustProxies by @taka-oyama in #52598
  • [11.x] Accepts BackedEnum for onQueue, onConnection, allOnQueue, and allOnConnection methods in the Queueable trait by @sethsandaru in #52604
  • [11.x] Use the same parameter type for 'throwUnless' as used for 'throwIf' by @pataar in #52626
  • [11.x] Pass iterable keys to withProgressBar in InteractsWithIO by @robinmoisson in #52623
  • [11.x] Fix docblock for Filesystem::hash() by @sunaoka in #52630
  • Fix Apostrophe Handling in SeeInOrder.php and Enhance Test Coverage by @nomitoor in #52627
  • [11.x] SQLite Error: "General error: 1 no such table" after adding a foreign key when using a table prefix. by @incrize in #52578
11.21.0
11.20.0
11.19.0
  • fix @return typehint in Illuminate\Contracts\Process\InvokedProcess::wait method by @mdmahbubhelal in #52304
  • [11.x] Add php doc for ServiceProvider bindings and singletons properties by @Anton5360 in #52298
  • [10.x] backport #52188 by @calebdw in #52293
  • Update docblock to accept an Expression for whereLike methods by @patrickomeara in #52299
  • [11.x] Fix Bcrypt/Argon/Argon2I Hashers not checking database field for nullish value before checking hash compatibility by @localpath in #52297
  • [11.x] Method to trim '0' digits after decimal point of a given number by @gdebrauwer in #52284
  • [11.x] Add whereNone method to the query builder by @einar-hansen in #52260
  • [11.x] Fix flat array parameter for relation upsert by @iamgergo in #52289
  • [11.x] assertSeeHtml, assertDontSeeHtml and assertSeeHtmlInOrder testing methods by @gdebrauwer in #52285
  • [11.x] Fully qualify morph columns when using WHERE clauses by @maartenpaauw in #52227
  • [10.x] Fix runPaginationCountQuery not working properly for union queries by @chinleung in #52314
  • [11.x] Add assertExactJsonStructure method by @gdebrauwer in #52311
  • [11.x] Add withoutHeader() test method by @gdebrauwer in #52309
  • [11.x] Widen typehints in base service provider by @devfrey in #52308
  • [11.X] "Model::preventAccessingMissingAttributes()" Causes Exception During Pagination with ResourceCollection by @Katalam in #52305
  • [11.x] Fixes through() relationship by @leobeal in #52318
  • [11.x] Add new success Method to the Docblock of Illuminate\Console\View\Components\Factory by @devajmeireles in #52310
  • [11.x] Fix tests in wrong file by @christophrumpel in #52329
11.18.1
  • [11.x] Fix variable typo at Terminating Event test by @chu121su12 in #52282
  • Revert "[11.x] Declare bindings and singletons properties in Service Provider" by @driesvints in #52288
11.18.0
11.17.0
11.16.0
11.15.0
11.14.0
  • Adding Pest stubs to publish command by @bartdenhoed in #51933
  • [11.x] Added attempts() method to FakeJob by @JamesFreeman in #51951
  • [11.x] Run all Workflows on Ubuntu 24.04 by @Jubeki in #51946
  • [11.x] Improve PHPDoc for mapSpread Method in Arr Class & Remove Warning from IDE by @lmottasin in #51952
  • Bump braces from 3.0.2 to 3.0.3 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot in #51955
  • [11.x] Remove unreachable code in AssertableJsonString by @seriquynh in #51943
  • [11.x] Fix TestResponseAssert docblock by @seriquynh in #51942
  • [11.x] feat: add more specific types and tests for helpers by @calebdw in #51938
  • [11.x] Mark sensitive params with SensitiveParameter attribute by @onlime in #51940
  • [11.x] Adds support for Markdown extensions to the Stringable class. by @lukeraymonddowning in #51932
  • [11.x] Add secret method declaration to Components\Factory class by @seriquynh in #51949
  • [11.x] Run Workflows on Windows 2022 and with bash instead of powershell by @Jubeki in #51958
  • [11.x] Fix duplicated return type PHPDoc by @chu121su12 in #51965
  • [11.x] Fix test failure message by @nshiro in #51974
  • [11.x] Update tests to ensure mail Message implements the fluent interface pattern by @seriquynh in #51969
  • [11.x] Set previous exception on HttpResponseException by @hafezdivandari in #51968
  • [11.x] Fix typo in SupportCollectionTest by @zbundy in #51966
  • [11.x] Improvements for the ServeCommand (add more loves & elevate DX) by @sethsandaru in #51957
  • [11.x] Adds support for using castAsJson with a MariaDb connection by @haniha in #51963
  • [11.x] Add support for acting on attributes through container by @innocenzi in #51934
  • [11.x] Fix Component::resolveComponentsUsing test by @seriquynh in #51988
  • [11.x] Update composer.json files to provide PSR implementations by @seriquynh in #51983
  • [11.x] add queued closure type for soft delete events by @hpiaia in #51982
  • [11.x] Fix using container nesting to make the same 'abstract' in different context by @guiqibusixin in #51989
  • [11.x] Fix sync is running touch query twice by @Tofandel in #51984
11.13.0
11.12.0
  • [10.x] Fix typo in return comment of createSesTransport method by @zds-s in #51688
  • [10.x] Fix collection shift less than one item by @faissaloux in #51686
  • [10.x] Turn Enumerable unless() $callback parameter optional by @faissaloux in #51701
  • Revert "[10.x] Turn Enumerable unless() $callback parameter optional" by @taylorotwell in #51707
  • [10.x] Fixes unable to call another command as a initialized instance of Command class by @crynobone in #51824
  • [10.x] fix handle shift() on an empty collection by @Treggats in #51841
  • [10.x] Ensureschema:dump will dump the migrations table only if it exists by @NickSdot in #51827
  • [11.x] Test Improvements by @crynobone in #51847
  • [11.x] Test application storage path by @seriquynh in #51848
  • [11.x] Fix PHP_MAXPATHLEN check for strings slightly smaller then PHP_MAXPATHLEN by @joshuaruesweg in #51850
  • [11.x] Improve Bus::assertNothingDispatched(), Event::assertNothingDispatched(), Mail::assertNothingSent(), Notification::assertNothingSent() error messages by @macbookandrew in #51846
  • [11.x] Update error page to show GET by @chu121su12 in #51837
  • [11.x] Remove deprecated type attributes in the exception renderer by @osbre in #51866
  • [11.x] Import classes in the exception templates by @osbre in #51863
  • [11.x] Collection before/after optimization by @bert-w in #51876
  • [11.x] Add multiply to collection by @patrickomeara in #51870
  • [11.x] Add addEventDiscoveryPaths to EventServiceProvider by @ya-cha in #51896
  • [11.x] Fix validation attributes when translations are empty or missing by @owenandrews in #51890
  • [11.x] feat: add generics to tap() helper by @calebdw in #51881
11.11.1
  • [11.x] Remove useless variable assignment by @seriquynh in #51838
  • [11.x] Fix event dispatcher typing in cache repository by @axlon in #51835
  • Chop PHP extension when passed to make commands by @jasonmccreary in #51842
  • [11.x] Simplify .php extension chopping in getNameInput by @osbre in #51843
  • [11.x] fix: improve performance and robustness of Relation::getMorphAlias() by @calebdw in #51845
  • Revert "[11.x] Change scope for afterCreating and afterMaking callbacks" by @driesvints in #51858
11.11.0
11.10.0
11.9.2
  • [11.x] Fix new exception renderer compatibility with closure middleware by @ifox in #51614
  • [11.x] Fix double-quoted string literals on SQLite by @hafezdivandari in #51615
  • [11.x] Allow setting Resend api key in mailer specific config by @riasvdv in #51618
  • [11.x] Fix only number as session key will result in numbered session keys by @Katalam in #51611
11.9.0
11.9.1
11.8.0
11.7.0
11.6.0
11.5.0
11.4.0
11.3.1
  • [11.x] Name of job set by displayName() must be honoured by Schedule by @SCIF in #50973
  • Add Conditionable trait to Testing\PendingCommand.php by @tobz-nz in #50988
  • Allow sorting of route:list by multiple column/factors using a comma by @fredbradley in #50998
  • [10.x] Added eachById and chunkByIdDesc to BelongsToMany by @lonnylot in #50991
11.3.0
11.2.0
11.1.1
11.1.0
11.0.8
11.0.7
11.0.6
11.0.4
  • [11.x] Add class_exists check for Spark's subscribed default alias Middleware by @akr4m in #50489
  • [11.x] Fix: Removed TTY mode to resolve Windows compatibility issue by @yourchocomate in #50495
  • [11.x] Check for password before storing hash in session by @valorin in #50507
  • [11.x] Fix an issue with missing controller class by @driesvints in #50505
  • [11.x] Add default empty config when creating repository within CacheManager by @noefleury in #50510
11.0.5
11.0.1
11.0.2
11.0.3
11.0.0

Please consult the upgrade guide and release notes in the official Laravel documentation.