v10.15.0 - 2023-07-11
- [10.x] Change return type of
getPrivateToken
in AblyBroadcaster by @milwad-dev in laravel#47602 - [10.x] Add toRawSql, dumpRawSql() and ddRawSql() to Query Builders by @tpetry in laravel#47507
- [10.x] Fix recorderHandler not recording changes made by middleware by @j3j5 in laravel#47614
- Pass queue from Mailable to SendQueuedMailable job by @Tarpsvo in laravel#47612
- [10.x] Sub-minute Scheduling by @jessarcher in laravel#47279
- [10.x] Fixes failing tests running on DynamoDB Local 2.0.0 by @crynobone in laravel#47653
- [10.x] Allow password reset callback to modify the result by @GrahamCampbell in laravel#47641
- Forget with collections by @joelbutcher in laravel#47637
- [10.x] Do not apply global scopes when incrementing/decrementing an existing model by @cosmastech in laravel#47629
- [10.x] Adds inline attachments support for "notifications" markdown mailables by @nunomaduro in laravel#47643
- Assertions for counting outgoing mailables by @jasonmccreary in laravel#47655
- [10.x] Add getRawQueryLog() method by @fuwasegu in laravel#47623
- [10.x] Fix Storage::cloud() return type by @tattali in laravel#47664
- [10.x] Add
isUrl
to theStr
class and use it from the validator by @GrahamCampbell in laravel#47688 - [10.x] Remove unwanted call to include stack traces by @HazzazBinFaiz in laravel#47687
- [10.x] Make Vite throw a new
ManifestNotFoundException
by @innocenzi in laravel#47681 - [10.x] Move class from file logic in Console Kernel to dedicated method by @CalebDW in laravel#47665
- [10.x] Dispatch model pruning started and ended events by @ziadoz in laravel#47669
- [10.x] Update DatabaseRule to handle Enums for simple where clause by @CalebDW in laravel#47679
- [10.x] Add data_remove helper by @PhiloNL in laravel#47618
- [10.x] Added tests for
isUrl
to Str. by @michaelnabil230 in laravel#47690 - [10.x] Added
isUrl
to Stringable. by @michaelnabil230 in laravel#47689 - [10.x] Tweak return type for missing config by @sfreytag in laravel#47702
- [10.x] Fix parallel testing without any database connection by @deleugpn in laravel#47705
- [10.x] Test Improvements by @crynobone in laravel#47709
- [10.x] Allows HTTP exceptions to be thrown for views by @nunomaduro in laravel#47714
v10.14.1 - 2023-06-28
- [10.x] Fix
Dispatcher::until
return type by @Neol3108 in laravel#47585 - [10.x] Add Collection::wrap to add method on BatchFake by @schonhoff in laravel#47589
- [10.x] Fixes grammar in FoundationServiceProvider by @adampatterson in laravel#47593
- [10.x] Ensure duration is present by @timacdonald in laravel#47596
v10.14.0 - 2023-06-27
- [10.x] Add test for
withCookies
method in RedirectResponse by @milwad-dev in laravel#47383 - [10.x] Add new error message "SSL: Handshake timed out" handling to PDO Dete… by @yehorherasymchuk in laravel#47392
- [10.x] Add new error messages for detecting lost connections by @mfn in laravel#47398
- [10.x] Update phpdoc
except
method in Middleware by @milwad-dev in laravel#47408 - [10.x] Fix inconsistent type hint for
$passwordTimeoutSeconds
by @devfrey in laravel#47414 - Change visibility of
path
method in FileStore.php by @foremtehan in laravel#47413 - [10.x] Fix return type of
buildException
method by @milwad-dev in laravel#47422 - [10.x] Allow serialization of NotificationSent by @cosmastech in laravel#47375
- [10.x] Incorrect comment in
PredisConnector
andPhpRedisConnector
by @hungthai1401 in laravel#47438 - [10.x] Can set custom Response for denial within
Gate@inspect()
by @cosmastech in laravel#47436 - [10.x] Remove unnecessary param in
addSingletonUpdate
by @milwad-dev in laravel#47446 - [10.x] Fix return type of
prefixedResource
&prefixedResource
by @milwad-dev in laravel#47445 - [10.x] Add Factory::getNamespace() by @tylernathanreed in laravel#47463
- [10.x] Add
whenAggregated
method toConditionallyLoadsAttributes
trait by @akr4m in laravel#47417 - [10.x] Add PendingRequest
withHeader()
method by @ralphjsmit in laravel#47474 - [10.x] Fix $exceptTables to allow an array of table names by @cwilby in laravel#47477
- [10.x] Fix
eachById
onHasManyThrough
relation by @cristiancalara in laravel#47479 - [10.x] Allow object caching to be disabled for custom class casters by @CalebDW in laravel#47423
- [10.x] "Can" validation rule by @stevebauman in laravel#47371
- [10.x] refactor(Parser.php): Removing the extra "else" statement by @saMahmoudzadeh in laravel#47483
- [10.x] Add
UncompromisedVerifier::class
toprovides()
inValidationServiceProvider
by @xurshudyan in laravel#47500 - [9.x] Fix SES V2 Transport "reply to" addresses by @jacobmllr95 in laravel#47522
- [10.x] Reindex appends attributes by @hungthai1401 in laravel#47519
- [10.x] Fix
ListenerMakeCommand
deprecations by @dammy001 in laravel#47517 - [10.x] Add
HandlesPotentiallyTranslatedString
trait by @xurshudyan in laravel#47488 - [10.x] update [JsonResponse]: using match expression instead of if-elseif-else by @saMahmoudzadeh in laravel#47524
- [10.x] Add
withQueryParameters
to the HTTP client by @mnapoli in laravel#47297 - [10.x] Allow
%
symbol in component attribute names by @JayBizzle in laravel#47533 - [10.x] Fix Http client pool return type by @srdante in laravel#47530
- [10.x] Use
match
expression inresolveSynchronousFake
by @osbre in laravel#47540 - [10.x] Use
match
expression incompileHaving
by @osbre in laravel#47548 - [10.x] Use
match
expression ingetArrayableItems
by @osbre in laravel#47549 - [10.x] Fix return type in
SessionGuard
by @PerryvanderMeer in laravel#47553 - [10.x] Fix return type in
DatabaseQueue
by @PerryvanderMeer in laravel#47552 - [10.x] Fix return type in
DumpCommand
by @PerryvanderMeer in laravel#47556 - [10.x] Fix return type in
MigrateMakeCommand
by @PerryvanderMeer in laravel#47557 - [10.x] Add missing return to
Factory
by @PerryvanderMeer in laravel#47559 - [10.x] Update doc in Eloquent model by @alirezasalehizadeh in laravel#47562
- [10.x] Fix return types by @PerryvanderMeer in laravel#47561
- [10.x] Fix PHPDoc throw type by @fernandokbs in laravel#47566
- [10.x] Add hasAny function to ComponentAttributeBag, Allow multiple keys in has function by @indykoning in laravel#47569
- [10.x] Ensure captured time is in configured timezone by @timacdonald in laravel#47567
- [10.x] Add Method to Report only logged exceptions by @joelharkes in laravel#47554
- [10.x] Add global middleware to
Http
client by @timacdonald in laravel#47525 - [9.x] Fixes unable to use
trans()->has()
on JSON language files. by @crynobone in laravel#47582
v10.13.5 - 2023-06-08
- Revert "[10.x] Update Kernel::load() to use same
classFromFile
logic as events" by @taylorotwell in laravel#47382
v10.13.3 - 2023-06-08
- Narrow down array type for
$attributes
inCastsAttributes
by @devfrey in laravel#47365 - Add test for
assertViewHasAll
method by @milwad-dev in laravel#47366 - Fix
schedule:list
to display named Jobs by @liamkeily in laravel#47367 - Support
ConditionalRules
withinNestedRules
by @cosmastech in laravel#47344 - Small test fixes by @stevebauman in laravel#47369
- Pluralisation typo in queue:clear command output by @sebsobseb in laravel#47376
- Add getForeignKeyFrom method by @iamgergo in laravel#47378
- Add shouldHashKeys to ThrottleRequests middleware by @fosron in laravel#47368
- Added
Illuminate/Http/Client/PendingRequest::replaceHeaders()
(#47335) - Added
Illuminate/Notifications/Messages/MailMessage::attachMany()
(#47345)
- Revert "[10.x] Remove session on authenticatable deletion v2" (#47354)
- Fixes usage of Redis::many() with empty array (#47307)
- Fix mapped renderable exception handling (#47347)
- Avoid duplicates in fillable/guarded on merge in Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php (#47351)
- Update Kernel::load() to use same classFromFile logic as events (#47327)
- Remove redundant 'setAccessible' methods (#47348)
- Added
Illuminate\Contracts\Database\Query\ConditionExpression
interface and functional for this (#47210) - Added return type for
Illuminate/Notifications/Channels/MailChannel::send()
(#47310)
- Revert "[10.x] Fix inconsistentcy between report and render methods" (#47326)
- Display queue runtime in human readable format (#47227)
- Added
Illuminate/Hashing/HashManager::isHashed()
(#47197) - Escaping functionality within the Grammar (#46558)
- Provide testing hooks in
Illuminate/Support/Sleep.php
(#47228) - Added missing methods to AssertsStatusCodes (#47277)
- Wrap response preparation in events (#47229)
- Fixed bug when function wrapped around definition of related factory (#47168)
- Fixed inconsistentcy between report and render methods (#47201)
- Fixes Model::isDirty() when AsCollection or AsEncryptedCollection have arguments (#47235)
- Fixed escaped String for JSON_CONTAINS (#47244)
- Fixes missing output on ProcessFailedException exception (#47285)
- Remove useless else statements (#47186)
- RedisStore improvement - don't open transaction unless all values are serialaizable (#47193)
- Use carbon::now() to get current timestamp in takeUntilTimeout lazycollection-method (#47200)
- Avoid duplicates in visible/hidden on merge (#47264)
- Add a missing semicolon to CompilesClasses (#47280)
- Send along value to InvalidPayloadException (#47223)
- Added
Illuminate/Queue/Events/JobTimedOut.php
(#47068) - Added
when()
andunless()
methods toIlluminate/Support/Sleep
(#47114) - Adds inline attachments support for markdown mailables (#47140)
- Added
Illuminate/Testing/Concerns/AssertsStatusCodes::assertMethodNotAllowed()
(#47169) - Added
forceCreateQuietly
method (#47162) - Added parameters to timezone validation rule (#47171)
- Fixes singleton and api singletons creatable|destryoable|only|except combinations (#47098)
- Don't use empty key or secret for DynamoDBClient (#47144)
- Remove session on authenticatable deletion (#47141)
- Added error handling and ensure re-enabling of foreign key constraints in
Illuminate/Database/Schema/Builder::withoutForeignKeyConstraints()
(#47182)
- Remove useless else statements (#47161)
- Added the ability to extend the generic types for DatabaseNotificationCollection (#47048)
- Added
/Illuminate/Support/Carbon::createFromId()
(#47046) - Added Name attributes on slots (#47065)
- Added Precognition-Success header (#47081)
- Added Macroable trait to Sleep class (#47099)
- Fixed
Illuminate/Database/Console/ShowModelCommand::getPolicy()
(#47043)
- Remove return from channelRoutes method (#47059)
- Bug in
Illuminate/Database/Migrations/Migrator::reset()
with string path (#47047) - Unify logic around cursor paginate (#47094)
- Clears resolved instance of Vite when using withoutVite (#47091)
- Remove workarounds for old Guzzle versions (#47084)
- Added
/Illuminate/Collections/Arr::mapWithKeys()
(#47000) - Added
dd
anddump
methods toIlluminate/Support/Carbon.php
(#47002) - Added
Illuminate/Queue/Failed/FileFailedJobProvider
(#47007) - Added arguments to the signed middleware to ignore properties (#46987)
- Added keys length check to prevent mget error in
Illuminate/Cache/RedisStore::many()
(#46998) - 'hashed' cast - do not rehash already hashed value (#47029)
- Used
Carbon::now()
instead ofnow()
(#47017) - Use file locks when writing failed jobs to disk (b822d28)
- Raise visibility of Mailable prepareMailableForDelivery() (#47031)
- Added
$isolated
andisolatedExitCode
properties toIlluminate/Console/Command
(#46925) - Added ability to restore/set Global Scopes (#46922)
- Added
Illuminate/Collections/Arr::sortRecursiveDesc()
(#46945) - Added
Illuminate/Support/Sleep
(#46904, #46963) - Added
Illuminate/Database/Eloquent/Concerns/HasAttributes::castAttributeAsHashedString()
([#46947]laravel#46947) - Added url support for mail config (#46964)
- Fixed replace missing_unless (89ac58a)
- Gracefully handle invalid code points in e() (#46914)
- HasCasts returning false instead of true (#46992)
- Use method on UploadedFile to validate image dimensions (#46912)
- Expose Js::json() helper (#46935)
- Respect parents on middleware priority (#46972)
- Do reconnect when redis throws connection lost error (#46989)
- Throw timeoutException instead of maxAttemptsExceededException when a job times out (#46968)
- Add new HTTP status assertions (#46841)
- Allow pruning all cancelled and unfinished queue batches (#46833)
- Added
IGNITION_LOCAL_SITES_PATH
to$passthroughVariables
inServeCommand.php
(#46857) - Added named static methods for middleware (#46362)
- Fix date_format rule throw ValueError (#46824)
- Allow separate directory for locks on filestore (#46811)
- Allow to whereMorphedTo work with null model (#46821)
- Use pivot model fromDateTime instead of assuming Carbon in
Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable::addTimestampsToAttachment()
(#46822) - Make rules method in FormRequest optional (#46846)
- Throw LogicException when calling FileFactory@image() if mimetype is not supported (#46859)
- Improve job release method to accept date instance (#46854)
- Use foreignUlid if model uses HasUlids trait when call foreignIdFor (#46876)
- Added syntax sugar to the Process::pipe method (#46745)
- Allow specifying index name when calling ForeignIdColumnDefinition@constrained() (#46746)
- Allow to customise redirect URL in AuthenticateSession Middleware (#46752)
- Added Class based after validation rules (#46757)
- Added max exceptions to broadcast event (#46800)
- Fixed compiled view file ends with .php (#46755)
- Fix validation rule names (#46768)
- Fixed validateDecimal() (#46809)
- Add headers to exception in
Illuminate/Foundation/Application::abourd()
(#46780) - Minor skeleton slimming (framework edition) (#46786)
- Release lock for job implementing ShouldBeUnique that is dispatched afterResponse() (#46806)
- Changed
Illuminate/Process/Factory::pipe()
method. It will be run pipes immediately (e34ab39)
- Allow
Illuminate/Foundation/Testing/WithFaker
to be used when app is not bound (#46529) - Allow Event::assertListening to check for invokable event listeners (#46683)
- Added
Illuminate/Process/Factory::pipe()
(#46527) - Added
Illuminate/Validation/Validator::setValue
(#46716)
- PHP 8.0 fix for Closure jobs (#46505)
- Fix preg_split error when there is a slash in the attribute in
Illuminate/Validation/ValidationData
(#46549) - Fixed Cache::spy incompatibility with Cache::get (#46689)
- server command: Fixed server Closing output on invalid $requestPort (#46726)
- Fix nested join when not JoinClause instance (#46712)
- Fix query builder whereBetween method with carbon date period (#46720)
- Removes unnecessary parameters in
creatable()
/destroyable()
methods inIlluminate/Routing/PendingSingletonResourceRegistration
(#46677) - Return non-zero exit code for uncaught exceptions (#46541)
- Added trait
Illuminate/Foundation/Testing/WithConsoleEvents
(#46694)
- Added missing ignored methods to
Illuminate/View/Component
(#46692) - console.stub: remove void return type from handle (#46697)
- Reverted "Set container instance on session manager"Set container instance on session manager (#46691)
- Added ability to set a custom class for the AsCollection and AsEncryptedCollection casts (#46619)
- Set container instance on session manager (#46621)
- Added empty string definition to Str::squish function (#46660)
- Allow $sleepMilliseconds parameter receive a Closure in retry method from PendingRequest (#46653)
- Support contextual binding on first class callables (de8d515, e511a3b)
- Added methods to determine if API resource has pivot loaded (#46555)
- Added caseSensitive flag to Stringable replace function (#46578)
- Allow insert..select (insertUsing()) to have empty $columns (#46605, 399bff9)
- Added
Illuminate/Database/Connection::selectResultSets()
(#46592)
- Make sure pivot model has previously defined values (#46559)
- Move SetUniqueIds to run before the creating event (#46622)
- Added
Illuminate/Cache/CacheManager::setApplication()
(#46594)
- Fix infinite loading on batches list on Horizon (#46536)
- Fix whereNull queries with raw expressions for the MySql grammar (#46538)
- Fix getDirty method when using AsEnumArrayObject / AsEnumCollection (#46561)
- Skip
Illuminate/Support/Reflector::isParameterBackedEnumWithStringBackingType
for non ReflectionNamedType (#46511) - Replace Deprecated DBAL Comparator creation with schema aware Comparator (#46517)
- Added Storage::json() method to read and decode a json file (#46548)
- Force cast json decoded failed_job_ids to array in DatabaseBatchRepository (#46581)
- Handle empty arrays for DynamoDbStore multi-key operations (#46579)
- Stop adding constraints twice on *Many to *One relationships via one() (#46575)
- allow override of the Builder paginate() total (#46415)
- Add a possibility to set a custom on_stats function for the Http Facade (#46569)
- Move Symfony events dispatcher registration to Console\Kernel (#46508)
- Added
Illuminate/Testing/Concerns/AssertsStatusCodes::assertUnsupportedMediaType()
(#46426) - Added curl_error_code: 77 to DetectsLostConnections (#46429)
- Allow for converting a HasMany to HasOne && MorphMany to MorphOne (#46443)
- Add option to create macroable method for paginationInformation (#46461)
- Added
Illuminate/Filesystem/Filesystem::json()
(#46481)
- Fix parsed input arguments for command events using dispatcher rerouting (#46442)
- Fix enums uses with optional implicit parameters (#46483)
- Fix deprecations for embedded images in symfony mailer (#46488)
- Added alternative database port in Postgres DSN (#46403)
- Allow calling getControllerClass on closure-based routes (#46411)
- Remove obsolete method_exists(ReflectionClass::class, 'isEnum') call (#46445)
- Convert eloquent builder to base builder in whereExists (#46460)
- Refactor shared static methodExcludedByOptions method to trait (#46498)
- Fixes Expression no longer implements Stringable (#46395)
- Reverted "Use fallback when previous URL is the same as the current in
Illuminate/Routing/UrlGenerator::previous()
" (#46392)
- Adding Pipeline Facade (#46271)
- Add Support for SaveQuietly and Upsert with UUID/ULID Primary Keys (#46161)
- Add charAt method to both Str and Stringable (#46349, dfb59bc2)
- Adds Countable to the InvokedProcessPool class (#46346)
- Add processors to logging (placeholders) (#46344)
- Fixed
Illuminate/Mail/Mailable::buildMarkdownView()
(791f8ea7) - FIX on CanBeOneOfMany trait giving erroneous results (#46309)
- Use fallback when previous URL is the same as the current in
Illuminate/Routing/UrlGenerator::previous()
(#46234) - Allow override of the Builder paginate() total (#46336)
- Adding
Conditionable
train to Logger (#46259) - Added "dot" method to Illuminate\Support\Collection class (#46265)
- Added a "channel:list" command (#46248)
- Added JobPopping and JobPopped events (#46220)
- Add isMatch method to Str and Stringable helpers (#46303)
- Add ArrayAccess to Stringable (#46279)
- Revert "[10.x] Fix custom themes not reseting on Markdown renderer" (#46328)
- Fix typo in function
createMissingSqliteDatbase
name insrc/Illuminate/Database/Console/Migrations/MigrateCommand.php
(#46326)
- Generate default command name based on class name in
ConsoleMakeCommand
(#46256) - Do not mutate underlying values on redirect (#46281)
- Do not use null to initialise $lastExecutionStartedAt in
ScheduleWorkCommand
(#46285) - Remove obsolete function_exists('enum_exists') calls (#46319)
- Cast json decoded failed_job_ids to array in DatabaseBatchRepository::toBatch (#46329)
- Fixed
Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::expectsDatabaseQueryCount()
$connection parameter (#46228) - Fixed Facade Fake (#46257)
- Remove autoload dumping from make:migration (#46215)
- Added protected method
Illuminate/Http/Resources/Json/JsonResource::newCollection()
for simplifies collection customisation (#46217)
- Fixes constructable migrations (#46223)
- Accept time when generating ULID in
Str::ulid()
(#46201)
- Revert changes from
Arr::random()
(cf3eb90)
- Add the ability to re-resolve cache drivers (#46203)
- Fixed
Illuminate/Collections/Arr::shuffle()
for empty array (0c6cae0)
- Fixing issue where 0 is discarded as a valid timestamp (#46158)
- Fix custom themes not reseting on Markdown renderer (#46200)
- Use secure randomness in Arr:random and Arr:shuffle (#46105)
- Use mixed return type on controller stubs (#46166)
- Use InteractsWithDictionary in Eloquent collection (#46196)
- Added missing expression support for pluck in Builder (#46146)
- Register policies automatically to the gate (#46132)
- Standard Input can be applied to PendingProcess (#46119)
- Fix Expression string casting (#46137)
- Add AddQueuedCookiesToResponse to middlewarePriority so it is handled in the right place (#46130)
- Show queue connection in MonitorCommand (#46122)
Please consult the upgrade guide and release notes in the official Laravel documentation.