Laravel 11.8.0
22 May 2024
Laravel version 11.8.0 is now available (major release).
What's New in Laravel 11.8.0
11.8.0
Bug Fixes and Changes
- [11.x] Update PendingRequest.php by @foremtehan in #51338
 - Add unshift method to Collection by @timkelty in #51344
 - [11.x] Synchronizing cache configuration file with updated laravel v11.0.7 by @dvlpr91 in #51336
 - [11.x] Utilize null-safe operator instead of conditional check by @saMahmoudzadeh in #51328
 - [11.x] Add the events to be displayed on the model:show command by @WendellAdriel in #51324
 - [11.x] fix: remove use of Redis::COMPRESSION_ZSTD_MIN by @calebdw in #51346
 - [10.x] Backport: Fix SesV2Transport to use correct EmailTags argument by @Tietew in #51352
 - [11.x] feat: use phpredis 6 in ci by @calebdw in #51347
 - [11.x] create new "has" validation rule by @browner12 in #51348
 - [11.x] Add support for previous apps keys in signed URL verification by @Krisell in #51222
 - [11.x] Allow setting exit code in migrate:status --pending by @brecht-vermeersch in #51341
 - [11.x] Fix array rule typehint by @erik-perri in #51372
 - [11.x] Test Improvements by @crynobone in #51365
 - [10.x] Fix PHPDoc typo by @staudenmeir in #51390
 - [11.x] Fix return type hint of resolveRouteBindingQuery by @philbates35 in #51392
 - [11.x] Allow adding array or string for web and api routes in bootstrap/app.php by @mrthito in #51356
 - [ 11.x ] Adds ability to manually fail a command from outside the handle() method by @ProjektGopher in #51435
 - [10.x] Fix apa on non ASCII characters by @faissaloux in #51428
 - [11.x] Compare lowercased column names in getColumnType by @chady in #51431
 - [11.x] Use contracts instead of concrete type for resolveRouteBindingQuery() by @crynobone in #51425
 - [11.x] Set the value of $this in macro closures by @simonwelsh in #51401
 - [11.x] Add missing roundrobin transport driver config by @u01jmg3 in #51400
 - [11.x] Remove unused namespace by @saMahmoudzadeh in #51436
 - [11.x] Fixes doc block in Connector.php by @saMahmoudzadeh in #51440
 - [10.x] Fixes view engine resolvers leaking memory by @nunomaduro in #51450
 - [11.x] Add some tests to SupportStrTest by @saMahmoudzadeh in #51437
 - [11.x] Add isCurrentlyOwnedBy function to lock by @gazben in #51393
 - [11.x] Collection average/avg optimization by @bert-w in #51512
 - [11.x] Introduce MixManifestNotFoundException for handling missing Mix manifests by @xurshudyan in #51502
 - [11.x] MailMakeCommand: Add new --view option by @ryangjchandler in #51411
 - [11.x] Replace all backed enums with values when building URLs by @stefanvdlugt in #51524
 - [10.x] Do not use app() Foundation helper on ViewServiceProvider by @rodrigopedra in #51522
 - Fixes explicit route binding with BackedEnum by @crynobone in #51525
 - [11.x] Add query method to UrlGenerator contract docblock by @hjanos-bc in #51515
 
11.7.0
Bug Fixes and Changes
- [11.x] Fix SesV2Transport to use correct EmailTags argument by @Tietew in #51265
 - [11.x] Add Databases nightly workflow by @Jubeki in #51218
 - [11.x] update "min" and "max" rule comments by @browner12 in #51274
 - [11.x] Fix namespace and improvement PSR in ClassMakeCommandTest.php by @saMahmoudzadeh in #51280
 - [11.x] improvement test coverage for view components. by @saMahmoudzadeh in #51271
 - [11.x] Introduce method Rule::array() by @Jacobs63 in #51250
 - [11.x] Fix docblock for collection pluck methods by @SanderMuller in #51295
 - [11.x] Add tests for handling non-baked enum and empty string requests by @hrant1020 in #51289
 - blank and filled now support stringable by @lava83 in #51300
 - [11.x] Fix ratio validation for high ratio images by @ahmedbally in #51296
 - [11.x] Add int|float support to e method by @trippo in #51314
 - [11.x] Add release notes by @driesvints in #51310
 - [11.x] Stringable is also an interface of symfony by @lava83 in #51309
 - [11.x] Add some tests and improvement test coverage for Str::camel by @saMahmoudzadeh in #51308
 - [11.x] Using the ?? Operator (Null Coalescing Operator) by @saMahmoudzadeh in #51305
 - [11.x] Add ability to override the default loading cached Routes for application by @ahmedabdel3al in #51292
 - [11.x] Add ->whereJsonOverlaps() for mysql by @parkourben99 in #51288
 - [11.x] Add InteractsWithInput methods to ValidatedInput by @aydinfatih in #51316
 - [11.x] Adding PasswordResetLinkSent event by @Muffinman in #51253
 
11.6.0
Bug Fixes and Changes
- [11.x] github: mariadb database healthcheck+naming by @grooverdan in #51192
 - Add support for PHPUnit 11.1 by @crynobone in #51197
 - Move whitespace in front of verbatim block in Blade templates by @Sjord in #51195
 - [11.x] Trim trailing ? from generated URL without query params by @onlime in #51191
 - Add some tests on route:list sort command by @fgaroby in #51202
 - [10.x] Improve releases flow by @driesvints in #51213
 - Fix return types of firstWhere and first of BelongsToMany and HasManyThrough by @SanderMuller in #51219
 - [10.x] Fix typo in signed URL tampering tests by @Krisell in #51238
 - [10.x] Add "Server has gone away" to DetectsLostConnection by @Jubeki in #51241
 - [11.x] Add some tests in SupportStrTest class by @saMahmoudzadeh in #51235
 - [10.x] Fix support for the LARAVEL_STORAGE_PATH env var (#51238) by @dunglas in #51243
 - [11.x] Add replaceable tags to translations by @LegendEffects in #51190
 - [10.x] fix: Factory::createMany creating n^2 records by @calebdw in #51225
 
11.5.0
Bug Fixes and Changes
- [11.x] Add namespace for make:trait and make:interface command by @milwad-dev in #51083
 - [11.x] Ability to generate URL's with query params by @stevebauman in #51075
 - [11.x] Adds anonymous broadcasting by @joedixon in #51082
 - [10.x] Binding order is incorrect when using cursor paginate with multiple unions with a where by @thijsvdanker in #50884
 - [10.x] Fix cursor paginate with union and column alias by @thijsvdanker in #50882
 - [11.x] Fix typo in tests by @milwad-dev in #51093
 - Fix argument type in Cache\Store by @GromNaN in #51100
 - Correct comment's grammatical and semantic errors by @javadihugo in #51101
 - [11.x] Replace matches typehint fix by @henzeb in #51095
 - [11.x] Exclude laravel_through_key when replicating model, fixes #51097 by @levu42 in #51098
 - [11.x] Add enum types to static Rule methods by @erik-perri in #51090
 - [11.x] Add decrement method to the rate limiter class by @AlexJump24 in #51102
 - [11.x] Remove dead code by @michaelnabil230 in #51106
 - [11.x] Fix support for other hashing implementations when using hashed cast by @j3j5 in #51112
 - Revert "[11.x] Adds support for int backed enums to implicit Enum route binding" by @driesvints in #51119
 - [11.x] Add support for enums in whereIn route constraints by @osbre in #51121
 - Clarify that \Illuminate\Http\Request::replace replace all input values by @treyssatvincent in #51123
 - [11.x] Fix db:show's --counts option by @xuchunyang in #51140
 - Update RuntimeException message when no data has been found by @mikemeijer in #51133
 - [11] Update DetectsLostConnections.php by @it-can in #51127
 - [11.x] Reset connection after migrate for FreshCommand by @driesvints in #51167
 - [10.x] Address Null Parameter Deprecations in UrlGenerator by @aldobarr in #51148
 - [11.x] Provide context for NestedRules by @imahmood in #51160
 - [11.x] Fix renaming columns with NULL as default on legacy MariaDB/MySQL by @hafezdivandari in #51177
 - [11.x] Supercharge Blade by @assertchris in #51143
 - [11.x] Allow implicit binding to have optional backed enums by @Neol3108 in #51178
 - [11.x] Blade Component Loop Speed Improvement by @lonnylot in #51158
 - [11.x] Fix normalizedNameCache by @Jubeki in #51185
 - [11.x] GenericUser use getAuthPasswordName instead of hardcoded column name by @Daniel-H123 in #51186
 
11.4.0
Bug Fixes and Changes
- [11.x] Apc Cache - Remove long-time gone apc_* functions by @serpentblade in #51010
 - [11.x] Allowing Usage of Livewire Wire Boolean Style Directives by @devajmeireles in #51007
 - [11.x] Introduces Exceptions facade by @nunomaduro in #50704
 - [11.x] afterQuery hook by @gdebrauwer in #50587
 - Fix computed columns mapping to wrong tables by @maddhatter in #51009
 - [11.x] improvement test for string title by @saMahmoudzadeh in #51015
 - [11.x] Fix failing afterQuery method tests when using sql server by @gdebrauwer in #51016
 - [11.x] Fix: Apply database connection before checking if the repository exist by @sjspereira in #51021
 - [10.x] Fix error when using orderByRaw() in query before using cursorPaginate() by @axlon in #51023
 - [11.x] Add RequiredIfDeclined validation rule by @timmydhooghe in #51030
 - [11.x] Adds support for enums on mapInto collection method by @lukeraymonddowning in #51027
 - [11.x] Fix prompt fallback return value when using numeric keys by @jessarcher in #50995
 - [11.x] Adds support for int backed enums to implicit Enum route binding by @monurakkaya in #51029
 - [11.x] Configuration to disable events on Cache Repository by @serpentblade in #51032
 - Revert "[11.x] Name of job set by displayName() must be honoured by S… by @RobertBoes in #51034
 - chore: fix some typos in comments by @laterlaugh in #51037
 - Name of job set by displayName() must be honoured by Schedule by @SCIF in #51038
 - Fix more typos by @szepeviktor in #51039
 - [11.x] Fix some doc blocks by @saMahmoudzadeh in #51043
 - [11.x] Add @throws ConnectionException tag on Http methods for IDE support by @masoudtajer in #51066
 - [11.x] Add Prompts textarea fallback for tests and add assertion tests by @lioneaglesolutions in #51055
 - Validate MAC per key by @timacdonald in #51063
 - [11.x] Add throttle method to LazyCollection by @JosephSilber in #51060
 - [11.x] Pass decay seconds or minutes like hour and day by @jimmypuckett in #51054
 - [11.x] Consider after_commit config in SyncQueue by @hansnn in #51071
 - [10.x] Database layer fixes by @saadsidqui in #49787
 - [11.x] Fix context helper always requiring $key value by @nikspyratos in #51080
 - [11.x] Fix expectsChoice assertion with optional multiselect prompts. by @jessarcher in #51078
 
11.3.1
Bug Fixes and Changes
- [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
Bug Fixes and Changes
- [10.x] Prevent Redis connection error report flood on queue worker by @kasus in #50812
 - [11.x] Optimize SetCacheHeaders to ensure error responses aren't cached by @MinaWilliam in #50903
 - [11.x] Add session hasAny method by @mahmoudmohamedramadan in #50897
 - [11.x] Add option to report throttled exception in ThrottlesExceptions middleware by @JaZo in #50896
 - [11.x] Add DeleteWhenMissingModels attribute by @Neol3108 in #50890
 - [11.x] Allow customizing TrimStrings::$except by @grohiro in #50901
 - [11.x] Add pull methods to Context by @renegeuze in #50904
 - [11.x] Remove redundant code from MariaDbGrammar by @hafezdivandari in #50907
 - [11.x] Explicit nullable parameter declarations to fix PHP 8.4 deprecation by @Jubeki in #50922
 - [11.x] Add setters to cache stores by @stancl in #50912
 - [10.x] Laravel 10x optional withSize for hasTable by @apspan in #50888
 - [11.x] Fix prompting for missing array arguments on artisan command by @macocci7 in #50850
 - [11.x] Add strict-mode safe hasAttribute method to Eloquent by @mateusjatenee in #50909
 - [11.x] add function to get faked events by @browner12 in #50905
 - [11.x] retry func - catch "Throwable" instead of Exception by @sethsandaru in #50944
 - chore: remove repetitive words by @findseat in #50943
 - [10.x] Add serializeAndRestore() to NotificationFake by @dbpolito in #50935
 - [11.x] Prevent crash when handling ConnectionException in HttpClient retry logic by @shinsenter in #50955
 - [11.x] Remove unknown parameters by @naopusyu in #50965
 - [11.x] Fixed typo in PHPDoc @param by @naopusyu in #50967
 - [11.x] Fix dockblock by @michaelnabil230 in #50979
 - [11.x] Allow time to be faked in database lock by @JurianArie in #50981
 - [11.x] Introduce method Http::createPendingRequest() by @Jacobs63 in #50980
 - [11.x] Add @throws to some doc blocks by @saMahmoudzadeh in #50969
 - [11.x] Fix PHP_MAXPATHLEN check for existing check of files for views by @joshuaruesweg in #50962
 - [11.x] Allow to remove scopes from BelongsToMany relation by @plumthedev in #50953
 - [11.x] Throw exception if named rate limiter and model property do not exist by @mateusjatenee in #50908
 
11.2.0
Bug Fixes and Changes
- [11.x] Fix: update @param in some doc block by @saMahmoudzadeh in #50827
 - [11.x] Fix: update @return in some doc blocks by @saMahmoudzadeh in #50826
 - [11.x] Fix retrieving generated columns on legacy PostgreSQL by @hafezdivandari in #50834
 - [11.x] Trim invisible characters by @dasundev in #50832
 - [11.x] Add default value for get and getHidden on Context by @michaelnabil230 in #50824
 - [11.x] Improves serve Artisan command by @nunomaduro in #50821
 - [11.x] Rehash user passwords when logging in once by @axlon in #50843
 - [11.x] Do not wipe database if it does not exists by @driesvints in #50838
 - [11.x] Better database creation failure handling by @driesvints in #50836
 - [11.x] Use Default Schema Name on SQL Server by @hafezdivandari in #50855
 - Correct typing for startedAs and virtualAs database column definitions by @ollieread in #50851
 - Allow passing query Expression as column in Many-to-Many relationship by @plumthedev in #50849
 - [11.x] Fix Middleware::trustHosts(subdomains: true) by @axlon in #50877
 - [11.x] Modify doc blocks for getGateArguments by @saMahmoudzadeh in #50874
 - [11.x] Add @throws to doc block for resolve method by @saMahmoudzadeh in #50873
 - [11.x] Str trim methods by @patrickomeara in #50822
 - [11.x] Add fluent helper by @PhiloNL in #50848
 - [11.x] Add a new helper for context by @michaelnabil230 in #50878
 - [11.x] assertChain and assertNoChain on job instance by @gdebrauwer in #50858
 - [11.x] Remove redundant getDefaultNamespace method in some classes (class, interface and trait commands) by @saMahmoudzadeh in #50880
 - [11.x] Remove redundant implementation of ConnectorInterface in MariaDbConnector by @saMahmoudzadeh in #50881
 - [11.X] Fix: error when using orderByRaw in query before using cursorPaginate by @ngunyimacharia in #50887
 
11.1.1
Bug Fixes and Changes
- [11.x] Fix: update @param in doc blocks by @saMahmoudzadeh in #50791
 - [11.x] Fix query builder whereBetween with CarbonPeriod and Carbon 3 by @bakerkretzmar in #50792
 - [11.x] Allows asserting no output in Artisan commands by @nunomaduro in #50702
 - fix typo by @elguitarraverde in #50808
 - [11.x] Make DB::usingConnection() respect read/write type by @SajtiDH in #50806
 - [11.x] Fix deprecation warning caused by Carbon 3.2 by @JackWH in #50813
 
11.1.0
Bug Fixes and Changes
- [11.x] MySQL transaction isolation level fix by @mwikberg-virta in #50689
 - [11.x] Add ListManagementOptions in SES mail transport by @arifszn in #50660
 - [11.x] Accept non-backed enum in database queries by @gbalduzzi in #50674
 - [11.x] Add Conditionable trait to Context by @michaelnabil230 in #50707
 - [11.x] Adds @throws section to the Context's doc blocks by @rnambaale in #50715
 - [11.x] Test modifying nullable columns by @hafezdivandari in #50708
 - [11.x] Introduce HASH_VERIFY env var by @valorin in #50718
 - [11.x] Apply default timezone when casting unix timestamps by @daniser in #50751
 - [11.x] Fixes ApplicationBuilder::withCommandRouting() usage by @crynobone in #50742
 - [11.x] Register console commands, paths and routes after the app is booted by @plumthedev in #50738
 - [11.x] Enhance malformed request handling by @jnoordsij in #50735
 - [11.x] Adds withSchedule to bootstrap/app.php file by @nunomaduro in #50755
 - [11.x] Fix dock block for create method in InvalidArgumentException.php by @saMahmoudzadeh in #50762
 - [11.x] signature typo by @abrahamgreyson in #50766
 - [11.x] Simplify ApplicationBuilder::withSchedule() by @crynobone in #50765
 
11.0.8
Bug Fixes and Changes
- [11.x] Change typehint for enum rule from string to class-string by @liamduckett in #50603
 - [11.x] Fixed enum and enum.backed stub paths after publish by @haroon-mahmood-4276 in #50629
 - [11.x] Fix(ScheduleListCommand): fix doc block for listEvent method by @saMahmoudzadeh in #50638
 - [11.x] Re: Fix issue with missing 'js/' directory in broadcasting installation command by @alnahian2003 in #50657
 - [11.x] Remove $except property from ExcludesPaths trait by @gdebrauwer in #50644
 - [11.x] Fix command alias registration and usage. by @timacdonald in #50617
 - [11.x] Fixed make:session-table Artisan command cannot be executed if a migration exists by @naopusyu in #50615
 - [11.x] Fix(src\illuminate\Queue): update doc block, Simplification of the code in RedisManager by @saMahmoudzadeh in #50635
 - [11.x] Add --without-reverb and --without-node arguments to install:broadcasting command by @duncanmcclean in #50662
 - [11.x] Fixed trait stub paths after publish by @haroon-mahmood-4276 in #50678
 - [11.x] Fixed class and class.invokable stub paths after publish by @haroon-mahmood-4276 in #50676
 - [10.x] Fix Collection::concat() return type by @axlon in #50669
 - [11.x] Fix adding multiple bootstrap providers with opcache by @jessarcher in #50665
 - [11.x] Allow BackedEnum and UnitEnum in Rule::in and Rule::notIn by @PerryvanderMeer in #50680
 - [10.x] Fix command alias registration and usage by @crynobone in #50695
 
11.0.7
Bug Fixes and Changes
- [11.x] Re-add translations for ValidationException by @driesvints in #50546
 - [11.x] Removes unused Dumpable trait by @OussamaMater in #50559
 - [11.x] Fix withRouting docblock type by @santigarcor in #50563
 - [11.x] Fix docblock in FakeInvokedProcess.php by @saMahmoudzadeh in #50568
 - [11.x] fix: Add missing InvalidArgumentException import to Database/Schema/SqlServerBuilder by @ayutaya in #50573
 - [11.x] Improved translation for displaying the count of errors in the validation message by @andrey-helldar in #50560
 - [11.x] Fix retry_after to be an integer by @driesvints in #50580
 - [11.x] Use available getPath() instead of using app_path() to detect if base controller exists by @crynobone in #50583
 - [11.x] Fix doc block: @return static has been modified to @return void by @saMahmoudzadeh in #50592
 - accept attributes for channels by @taylorotwell in 398f494
 
11.0.6
Bug Fixes and Changes
- [11.x] Fix version constraints for illuminate/process by @riesjart in #50524
 - [11.x] Update Broadcasting Install Command With Bun Support by @HDVinnie in #50525
 - [11.x] Allows to comment web and health routes by @nunomaduro in #50533
 - [11.x] Add generics for Arr::first() by @phh in #50514
 - Change default collation for MySQL by @driesvints in #50555
 - [11.x] Fixes install:broadcasting command by @joedixon in #50550
 - [11.x] Fix crash when configuration directory is non-existing by @buismaarten in #50537
 
11.0.5
Bug Fixes and Changes
- [11.x] Improves broadcasting install by @nunomaduro in #50519
 - [11.x] Improved exception message on 'ensure' method by @fgaroby in #50517
 - [11.x] Add hasValidRelativeSignatureWhileIgnoring macro by @br13an in #50511
 - [11.x] Prevents database redis options of being merged by @nunomaduro in #50523
 
11.0.4
Bug Fixes and Changes
- [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.3
Bug Fixes and Changes
- [11.x] Arr helper map spread by @bilfeldt in #50474
 - [11.x] add list rule by @medilies in #50454
 - [11.x] Fixes installation of passport by @nunomaduro in #50488
 
11.0.2
Bug Fixes and Changes
- [11.x] Adds --graceful to php artisan migrate by @nunomaduro in #50486
 
11.0.1
Bug Fixes and Changes
- [10.x] Update mockery conflict to just disallow the broken version by @GrahamCampbell in #50472
 - [10.x] Conflict with specific release by @driesvints in #50473
 - [10.x] Fix for attributes being escaped on Dynamic Blade Components by @pascalbaljet in #50471
 - [10.x] Revert PR 50403 by @driesvints in #50482
 
11.0.0
Laravel 11 continues the improvements made in Laravel 10.x by introducing a streamlined application structure, per-second rate limiting, health routing, graceful encryption key rotation, queue testing improvements, Resend mail transport, Prompt validator integration, new Artisan commands, and more. In addition, Laravel Reverb, a first-party, scalable WebSocket server has been introduced to provide robust real-time capabilities to your applications.