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.