Laravelバージョン: 5.5.0
ステータス:
セキュリティ&バグ修正ともに終了
推奨:
少なくともセキュリティ修正が行われているバージョンまでできる限り早くアップデートしてください!
セキュリティ修正が行われている一番低いバージョンは: 11
アップグレードするには、ドキュメントのインストラクションに従うか Laravel Shift の自動アップグレードを利用してください。
最新のパッチリリース:
| メジャーバージョン | リリース日 | バグ修正期限 | セキュリティ修正期限 | PHP Versions | ステータス |
|---|---|---|---|---|---|
| 5.5 | 2017年8月30日 | 2019年8月30日 | 2020年8月30日 | 7.0, 7.1, 7.2 |
EOL
|
Releases
5.5.50
5.5.49
5.5.48
5.5.47
5.5.46
5.5.45
5.5.44
5.5.43
5.5.42
5.5.41
5.5.40
5.5.39
5.5.38
5.5.37
5.5.36
5.5.35
5.5.34
5.5.33
5.5.32
5.5.31
5.5.30
5.5.29
5.5.28
5.5.27
5.5.26
5.5.25
5.5.24
5.5.23
5.5.22
5.5.21
5.5.20
5.5.19
5.5.18
5.5.17
5.5.16
5.5.15
5.5.14
5.5.13
5.5.12
5.5.11
5.5.10
5.5.9
5.5.8
5.5.7
5.5.6
5.5.5
5.5.4
5.5.3
5.5.2
5.5.1
5.5.0
5.5.50
No changelog available.
5.5.49
No changelog available.
5.5.48
No changelog available.
5.5.47
No changelog available.
5.5.46
No changelog available.
5.5.45
No changelog available.
5.5.44
Changed
- Revert of "Patch Blade's
@langdirective", so it is not escapes HTML tags (0b7b3713e81fe571c244c2cf5d1f5085b6985f96)
Fixed
5.5.43
No changelog available.
5.5.42
No changelog available.
5.5.41
No changelog available.
5.5.29
Added
- Added
Model::qualifyColumn()method (#22577) - Added support for the
author_*fields toSlackAttachment(#22610) - Added
UrlGenerator::getDefaultParameters()method (#22572) - Added option to double encode escaped strings (61f8477)
- Added
BladeCompiler::doubleEncode()method (1cc96a1) - Added support for nested keys to
TestResponse::assertJsonCount()(#22740) - Added
s3://to protocol to URL validation (#22752) - Added option to disable wrapping migrations in transaction (#22757)
Changed
- Use
Arr::get()inCollection::get()(#22554) - Pass entire config to
FtpAdapter(#22539) - Support extending Eloquent relationships (#22617)
- Improved handling of
VerifyCsrfToken::$exceptvalues (#22619, #22661) - Support multiple levels in
Collection::groupBy()(#22630) - Clear user instance in
RequestGuard::setRequest()(#22649) - Allow StudlyCase and snake_case migration names (#22648)
- Set
nullas default value foroptional()helper (#22699) - Make sure
getRememberToken()returns a string (#22724) - Updated Vue preset version (#22732)
- Accept
Arrayableitems inCollection::find()(#22787)
Fixed
- Close database connection when using
RefreshDatabasetrait (#22569) - Send status code
500when usingdd()(#22581) - Fixed parameter usage in
RedirectController(#22657) - Added
__set_state()method toSupport/Carbon(#22689) - Do not continue checking
APP_ENVif environment file path being set successfully with--envoption (#22753) - Fixed missing table prefix in
SQLiteGrammar::compileDropColumn()(#22745, c13322c) - Fixed prefixing in
SQLiteGrammar::compileColumnListing()(#22781)
5.5.26
Added
- Support passing collections to
Collection::except()(#22399) - Made
Commandclass macroable (#22426, #22434) - Added
ProcessUtilsclass for command argument escaping (#22448) - Added array support to
Optionalhelper class (#22417)
Changed
- Added "cattle" as an uncountable word (#22415)
- Added
Dispatchercontract onNotificationFakeand return fake object fromNotification::fake()(#22396) - Only add value as query binding if it isn't an
Expression(#22451)
Fixed
5.5.25
Added
- Added support for Flysystem caching (#22310, 0657496)
- Added support for
yeardata type (#22377) - Added support for setting Whoops debug editor (#22350, c6e3a73)
Changed
- Use
Model::newQueryWithoutRelationships()inCollection::load()(#22363) - Respect
schemaconfig inPostgresBuilder(#22365, de561cb)
Fixed
- Fixed SQS queue driver for PHP 7.2 (#22374)
5.5.23
Added
- Added a
Collection::firstWhere()method (#22261, #22264) - Added several accessors to
BelongsToMany(f09ea98, cbe8123, 3bcf9d1)
Changed
- Pass test value to
Collection::when()callbacks (#22224) - Support worker sleep time of less than 1s (#22246, #22255)
- Detect persistent connection resets (#22277)
- Support chaining seeders (#22288)
Fixed
- Fixed negative comparison to objects in
Collection::where()(#22256) - Fixed comparing strings with objects that can be casted to string in
Collection::where()(#22295) - Fixed integer validation using
distinct:ignore_case(#22235) - Fixes building nested JSON accessors in
MySqlGrammar(#22254) - Remove
SELECTbindings from MySQL delete statements (#22285)
5.5.22
Added
- Added
response()anddownload()methods to file system (#22089) - Added complete temporary table support (#22110)
- Added
Mode::newQueryForRestoration()method (#22119) - Added precision support for date/time columns (#22122)
- Added detection for MySQL Galera deadlocks (#22214)
Changed
- Updated depreciated
MailFake::queue()method signature (#22072) - Use
MEDIUMTEXTinstead ofTEXTfor database cache values (MySQL only) (#22091) - Include the name of the scheduled job in the output email subject (#22098)
- Support
Dblibversion config for SQL Server (#22102) - Set
Model::$existstofalsewhen force-deleting a model usingSoftDeletes(#22100) - Support empty strings in
HasAttributes::fromDateTime()(#22108) - Return condition from
throw_*helpers (#22149) - Make
Collection::where()independent of error reporting (#22172) - Show more meaningful message when json translation file contains errors (#22165, cf29b88)
- Improve
Model::getTable()performance (#22222) - Use transaction in migrations using SQL Server (#22187)
Fixed
- Fixed
HasManyThroughrelation with custom intermediate and local keys when used inwhereHas()(#22071, 3788cbd) - Fixed SQL Server handling of
DATETIMEcolumns (#22052) - Return default value from
old()when session isn't available (#22082) - Refactor
Arr::flatten()to prevent performance issue (#22103) - Wrap MySQL JSON keys in double quotes when updating JSON columns (#22118)
- Fixed custom URLs with prefix (
root) for AWS storage (#22130) - Prevent authentication if
passwordis the only specified field (#22167)
Removed
- Removed
betweenoperator from basic where clauses (#22182)
5.5.20
Added
- Added
TestResponse::assertJsonMissingExact()(#21881) - Added
assertValidationErrors()andassertJsonCount()toTestResponse(#21917) - Added
allOnQueue()andallOnConnection()for job chaining (#21765) - Support variadic arguments on fluent
Route::middleware()(#21930) - Added precision to
Blueprint::time()(#21936) - Added
Router::apiResources()method (#21956) - Support graceful handling of
SIGTERMin queue workers (#21964)
Changed
- Added "kin" as an uncountable word (#21843)
- Improved geo spatial support (#21919)
- Include job name in the
MaxAttemptsExcededException(#21941, #21943) - Support rendering multiple
@verbatimand@phpblocks (#21900) - Moved
InteractsWithRedistoIlluminate\Foundation\Testing(#21967) - Don't bind macro when it is not a
Closure(#21980) - Check for
before()method on policies classes (#21989) - Detect lost pgbouncer connections (#21988)
Fixed
- Fixed
BroadcastControllernamespace issue (#21844) - Fixed eager loading
HasManyThroughrelations with custom intermediate and local key (#21902) - Use table aliases when calling self-referencing
HasManyThroughrelation (#21883) - Fixed Vue component file name in React present (#21945)
- Reverted changes to
BadMethodExceptionin #20196 (#21929)
5.5.19
Added
- Added
MakesHttpRequests::followingRedirects()method (#21771) - Added
MakesHttpRequests::from()method (#21788) - Added
notifyNow()method to notifiables (#21795) - Added
TestResponse::assertCookieExpired()method (#21793) - Added
TestResponse::assertCookieMissing()method (#21803)
Changed
- Allow the distinct validation rule to optionally ignore case (#21757)
Fixed
5.5.18
Added
- Made
Redirectormacroable (#21714)
Changed
- Prevent reloading default relationships while lazy eager-loading (#21710)
- Don't reload pivot relationship on refresh (#21713)
- Unify Vue.js preset (#21711, #21724)
- Revert multibyte functions in
Str(#21722) - Remove hardcoded fields in DatabaseUserProvider (#21749)
Fixed
- Don't recreate the SQLite database file in
refreshDatabaseFile()(#21720)
5.5.16
No changes.
5.5.15
Added
- Added missing PostgreSQL network address operators (#21518)
- Added raw and same-site parameters to
cookie()helper (#21551) - Added option to create pivot model to
make:modelcommand (#21549) - Added support for a
failed()method to mailables and notifications (#21585) - Added
__toStringonViewErrorBag(#21605) - Support higher order call of
keyBy()(#21606) - Generate
@else*directives forBlade::if()(#21611) - Made
ResponseandJsonResponsemacroable (#21669)
Changed
- Escape HTML characters in
@jsondirective (#21574) - Only accept strings in
Session::flash()(#21576) - Use message from
AuthenticationExceptioninHandler::unauthenticated()(#21575) - Don't use global scope while touching parent timestamp (#21604)
- Accept multiple middleware when defining middleware fluently (#21621)
- Bind
trueas1while preparing an SQL statement (#21623) - Ensure config load order across multiple installations (#21634)
- Pass previous exception to
AccessDeniedHttpExceptionandHttpException(#21645) - Unify Bootstrap preset (#21686, #21685)
Fixed
5.5.14
Added
- Allow testing anonymous notifiables (#21379)
- Add relation and model attributes on
RelationNotFoundException(#21426) - Allow passing a callback to
with()(#21445) - Added
PotentiallyMissinginterface toMissingValueclass (be7dccc) - Accept
$queuename onSchedule::job()(#21473) - Added callback and default parameter
whenLoaded()method (#21490) - Allow marking notifications as unread (#21497)
- Added
Collection::mapToDictionary()method (#21505) - Added
make:exceptioncommand (#21483)
Changed
- Reset RefreshDatabaseState after DatabaseMigrations rolls back (#21325)
- Make sure page resolver returns an integer (#21378)
- Allow single error messages in
ValidationException::withMessages()(#21400) - Revert
Collection::sortBy()behaviour to 5.4 (#21382) - Use fill instead of forceFill while storing pivot attributes (#21403)
- Alphabetize
vendor:publishoptions (#21412) - Extract
AnonymousResourceCollectioninto class to allow serialization (#21456) - Extract some methods from
ResourceintoConditionallyLoadsAttributestrait (28d945e, 1f37ccc)
Fixed
- Ensure user is logged in before expecting user instance (#21377)
- Remove leading slash from class while resolving controllers (#21407)
- Make sure SQL for virtual columns is added after the unsigned modifier (#21441)
- Fixed
Collection::contains()when the found value isnull(#21442) - Fixed merge issue in
Relation::morphMap()(#21458) - Clear count query select bindings in
Relation::getRelationExistenceCountQuery()(#21468) - Fixed user model type hints policy stub (#21499)
5.5.13
Added
- Added optional config option for whoops blacklist (#21336, a83ebc1)
- Added
Collection::pad()method (#21342)
Changed
- Made
$callbackparameter ofArr::sort()optional (#21337) - Support setting custom
REMOTE_ADDRinMakesHttpRequests(#21351) - Changed visibility of
$outputto public on console events (#21356)
Fixed
5.5.10
Added
- Added
Route::respondWithRoute($name)method (#21299, 66c5e46) - Added
$strictparameter toTestResponse::assertJson()(#21301)
Changed
- Added "firmware" as an uncountable word (#21306)
- Allow
MorphTo::associate()acceptnull(#21318) - Changed
__()signature to matchTranslation::trans()(10c013c)
Fixed
- Add missing
driverparameter to doctrine connection (#21297)
Security
- Perform constant-time token comparison in
DatabaseUserProvider(#21320)
5.5.8
Fixed
- Fixed issue with routes sorting (#21261)
5.5.7
Fixed
- Fix
CacheClearCommandbinding (#21256)
5.5.5
Added
- Added
:inputplaceholder in validation error messages (#21175) - Added
@includeFirstBlade directive (#21172) - Allow setting column styles for tables in Artisan commands (#21169)
- Added
ValidatesRequests::extractInputFromRules()method (#21192) - Added
-mshortcut tomake:factory(#21219) - Added ability to set a fallback (catch-all) route (#21234)
Changed
- Support
nullonModel::UPDATED_AT(#21178) - Render views from config while building error views (#21145)
- Use multibyte functions in some
Strmethods (#21207) - Perform stable sort in
Collection::sortBy()(#21214)
Fixed
5.5.4
Added
- Added
Blueprint::spatialIndex()method (#21070) - Added support for SQL Server's
TransactionIsolationDSN key (#21069) - Added
ManagesFrequencies::everyFifteenMinutes()method (#21092) - Added
Mailable::hasReplyTo()method (#21093) - Added
MailMessage::template()method (#21154) - Added support for Rackspace to
Storage::url()(#21157) - Added support to use sub-queries as a where condition on a join clause (#21008)
Changed
- Return
nullfromRoute::getAction()if$keyis not found (#21083) - Restore non-static signature of
Router::prepareResponse()(#21114, e1a1265) - Removed
Modeltype hint fromModel::isNot()(4d8f0a1) - Prefer
JsonableoverArrayableinJsonResponse::setData()(#21136) - Reset
ccandbccinMailer::setGlobalTo()(#21137) - Avoid trace
argsin JSON exceptions (#21149)
Fixed
- Fixed
@jsondirective parameter logic (2a25ee7) - Fixed a problem with
withoutExceptionHandling()when called more than once (#21086) - Added a
compileForeign()method toPostgresGrammar(#21038) - Reset the index after a
MissingValuewhile resolving resource (#21127) - Fixed
getQualifiedParentKey()onBelongsToManyrelationships (#21128) - Fixed parameters on
Route::view()when usingwhere()(#21113) - Show real directory name in the exception message thrown by
PackageManifest(#21099) - Fixed undefined offset error when refreshing a database collection (#21159)
5.5.3
Added
- Added
$actionparameter toRoute::getAction()for simpler access (#20975) - Added
@jsonblade directive (#21004) - Added
rescue()helper (#21010, 74ecb34, c4d1c47) - Support commas in
InandNotInparameters (#21012, 3c3c5e4) - Added
RedisManager::connections()method (#21014, 1deaaa9) - Added exception class to JSON exceptions (#21043)
- Added
Gate::policies()method (#21036) - Added geo spatial blueprint methods (#21056)
Changed
- Fixed migrations not being run in batch order (#20986)
- Flush application resources on teardown (#21022)
- Catch errors while building exception context (#21047)
- Return
$thisfromValidator::setCustomMessages()(#21046)
Fixed
- Make
Request::validate()return the value of parent key (#20974) - Fixed date comparison validators failing when a format is specified (#20940)
- Fixed login throttling failing when
decayMinutesis more than1(#20997) - Only use reflection on classes in
Kernel::load()(#20998) - Specify lower case
column_nameinMySqlGrammar::compileColumnListing()(#21037) - Fixed eager loading problem with
BelongsToMany(#21044)
Removed
5.5.2
Added
- Added
movextension andMimeType::search()method (#20917) - Added support for
dont-discoverin packages (#20921, 4a6f1f2) - Added
retrievedmodel event (#20852, 84291a6) - Added
HasOneOrMany::setForeignAttributesForCreate()method (#20871) - Made
Routemacroable (#20970)
Changed
- Load deferred providers before commands (366c50e)
- Don't pass cache instance to Schedule anymore (#20916, #20933)
- Simplified
mixrequire (#20929) - Return
nullif resource attribute contains relation with a null value (#20969)
Fixed
- Prevent
ErrorExceptioninCollection::operatorForWhere()method (#20913) - Create default console input/output in
Application::run()(#20922, 7647399) - Ignore abstract classes in
Kernel::load()(#20931) - Fixed
listener-queued-duck.stubfilename (#20937) - Fixed faking notification sending while using AnonymousNotifiable (#20965)
- Fixed
eachSpread()andmapSpread()with nested collections (#20962) - Fixed generating names for classes beginning with slash (#20961)
5.5.1
Added
- Added getter methods on
MimeType(#20826)
Changed
- Moved console commands auto discovery to
Kernel::bootstrap()(#20863) - Use classes instead of helper functions (#20879, #20880)
- Changed
Resource::$collectsvisibility topublic(#20885)
Fixed
- Fixed
choice()on non-tty terminals (#20840) - Fixed Macroable calls on
Optional(#20845, #20898) - Fixed
dropAllTables()when usingPDO::FETCH_ASSOCmode (#20859) - Pass model name to
ModelNotFoundException::setModel()(#20896, 891f90e) - Fixed
Basicauthentication (#20905) - Fixed
DelegatesToResource::offsetExists()(#20887)
Removed
- Removed redundant methods from
MorphOneOrMany(#20837)
5.5.0
General
⚠️ Require PHP 7+ (06907a0, 39809ce)⚠️ Removed deprecatedServiceProvider::compile()method (10da428)⚠️ Removed deprecatedStr::quickRandom()method (2ef257a)- Removed
buildscripts (7c16b15) - Upgraded to Symfony 3.3 components (4db7031, 67a5367)
- Throw
RuntimeExceptionwhen app key is missing (#19145, 8adbaa7)
Artisan Console
- Added interactive prompt to
vendor:publish(#18230) - Added
migrate:freshcommand (f6511d4, #20090) - Added
make:factorycommand and added--factorytomake:model(a6ffd8b, #19985) - Added
make:rulecommand (76853fd) ⚠️ AddedrunningInConsole()methodApplicationcontract (#18658)- Support default value(s) on command arguments (#18572)
- Improved CLI detection for phpdbg (#18781)
⚠️ Always return array fromRetryCommand::getJobIds()(#19232)- Support passing absolute paths to
make::listener(#19660) ⚠️ Usehandle()method instead offire()(#19827, #19839, #20024)- Try to guess the
--createoption when generation migrations (#20032) - Generate
make:policywith real user model namespace (#20047) - Added
Kernel::load()to auto register a directory of commands (2e7ddca, d607b9c) ⚠️ Removedarraytype hint fromCommand::table()(#20120)- Support loading multiple paths in
Kernel::load()(#20251, #20595) - Added
CommandStartingandCommandFinishedevents (#20298) - Show error message if a reverted migration is not found (#20499, a895b1e)
- Set correct namespace in model factories when using the
app:namecommand (#20766) ⚠️ Switched the-fshortcut from--forceto--factoryonmake:modelcommand (#20800)
Assets
- Added frontend preset commands (463b769, too many follow-up commits)
Authentication
⚠️ Support default user providers and pass user provider toRequestGuard(#18856)- Made the user provider parameter on
RequestGuardoptional (d7f0b26) - Use
setRememberToken()inResetsPasswords(#19189) - Added a
PasswordResetevent (#19188) ⚠️ Support multiword models inauthorizeResource()(#19821)- Added support for no user provider in
CreatesUserProviders(4feb847)
Authorization
- Support multiple values in
Gate::has()(#18758) ⚠️ Prevent policies from being too greedy (#19120)⚠️ Addedabilities()method toGatecontract (#19173)⚠️ ImplementiterableonGate::check()andGate::any()(#20084)
Blade Templates
- Added
Blade::if()method (71dfe0f, 2905364, #20025) - Added
@switch,@case,@breakand@defaultdirectives (#19758) ⚠️ Prevent Blade from parsing PHP code inside@phpblocks (#20065)
Broadcasting
⚠️ UseAccessDeniedHttpExceptioninstead ifHttpException(#19611)⚠️ Upgraded to Pusher SDK v3 (#20016)
Cache
⚠️ PSR-16 compliance (#20194)- Don't encrypt database cache values (f0c72ec)
- Added support cache locks (4e6b2e4, 045e6f2, #19669)
- Accept
DatetimeInterfaceandDateIntervalin cache repository (#20034) - Added
getStore()method to cacheRepositoryinterface (#20338) ⚠️ MadeRateLimiterless aggressive (#20759)
Collections
- Support multiple values in
Collection::has()(#18758) - Added
Collection::mapInto()method (2642ac7) - Added
Collection::dd()method (f5fafad) - Added
Collection::dump()method (#19755) - Added
wrap()andunwrap()methods (#20055, #20068) - Added keys to
partition(),eachSpread()andmapSpreadcallback (#20783, #20723)
Configuration
- Added
Config::getMany()method (#19770)
Controllers
Database
⚠️ AddeddropAllTables()to schema builder (#18484, d910bc8, #19644, #19645, #20239, #20536)- Added precision to
dateTimeandtimestampcolumn types (#18847, f85f6db, #18962, #20464) - Pass page number to
chunk()callback (#19316) - Improve memory usage in
chunk()andchunkById()(#19345, #19369, #19368) - Fixed
compileColumnListing()when using PostgreSQL with multiple schemas (#19553) - Allow the seeder to call multiple commands at once (#19912)
- Added pgpool message to
DetectsLostConnections(#20418) - Prevent race conditions on replicated databases (#20445, 0ec1522, 3824a36)
⚠️ Support sticky database connections (#20746)
Eloquent ORM
- Added API resources (#20710, too many follow-up commits)
⚠️ Indicate soft deleted models as existing (#17613)⚠️ Added$localKeyparameter toHasRelationships::belongsToMany()andBelongsToMany(#17903, 7c7c3bc)⚠️ Added$parentKeyparameter tobelongsToMany(),BelongsToManyandMorphToMany(#17915, #18380)⚠️ Renamed$parentproperty to$pivotParentinPivotclass (#17933, #18150)⚠️ Don't add_countsuffix to column name when usingwithCount()with an alias (#17871)⚠️ Renamed$eventsto$dispatchesEvents(#17961, b6472bf, 3dbe12f)⚠️ Only return query builder when the result is null forcallScope()(#18845)- Allow setting a factory's attribute to a factory instance (#18879)
- Support
nullcomparison inModel::is()(#18511) - Added
getDirty()checks for date and castable attributes (#18400, e180e20) - Show method name in invalid relationship
LogicException(#18749) - Add support for additional values in
firstOrCreate()andfirstOrNew()(#18878) - Added a second local key to
HasManyThrough(#19114) - Respect casts declaration on custom pivot models (#19335)
- Support creating relations without attributes (#19506)
- Added
Model::only()method (#19459) ⚠️ Support model serialization on non default connection (#19521, dd45f70)⚠️ Support updating nullable dates (#19672)⚠️ Make pivot model instantiable (#20179)- Simplified
BelongsToMany::allRelatedIds()logic (#20189) - Added
Relation::get()method (#20052) - Added
hasChanges(),wasChanged(),getChanges()andsyncChanges()(#20129, #20130) - Better exception message when calling non existing methods on models (#20196, 91c1f03)
- Added support for connections on model factories (#20191)
- Check for real primary key in
Pivotmethods (8d82618) - Default
$attributesonBelongsToMany::create()to empty array (973bff4) - Add ability to set a custom pivot accessor (#20411)
⚠️ CallsetConnection()inModel::save()(#20466)⚠️ Touch parent timestamp only if the model is dirty (#20489)- Added
Model::loadMissing()method (#20630, 4166c12) - Added
Model::whereKeyNot()method (#20817)
Encryption
- Use
openssl_cipher_iv_length()inEncrypter(#18684) - Added
Encrypter::generateKey()method (6623996) - Use
json_last_error()inEncrypter(#20099)
Errors & Logging
- Added default 404, 419 and 500 error pages (#18483, 4d8c2c1)
⚠️ Always show custom 500 error page for all exception types when not in debug mode (#18481, 3cb7b0f)⚠️ Show 419 error page onTokenMismatchException(#18728)- Support
render()method on exceptions (ed51160, c8a9413) - Support
report()method on exceptions (e77f6f7) ⚠️ Send exceptions as JSON in debug mode if the request wants JSON (5225389, #18732, 4fe6091, 9ab58fd, #19333)⚠️ Moved exceptions from$dontReportinto$internalDontReport(841b36c)- Added
Handler::context()method, that by default adds some default context to logs (23b7d6b) ⚠️ Don't set formatter onErrorLogHandler(a044f17)- Use whoops for errors (b697272, f6b67d4, #19471, #20412)
- Changed how exceptions are logged (#19698, f1971c2)
⚠️ ReturnHttpExceptionwith code413fromPostTooLargeException(#19773)- Support custom logger channel names (#20133)
⚠️ Unify exception formatting (#20173, #20067, #20167, too many follow-up commits, sorry)- Added default
Handler::unauthenticated()method (11b0de0)
Events
⚠️ Removed calling queue method on handlers (0360cb1, ec96979, d9be4bf)- Allow faking only specific events (#19429)
- Support self-registering event listeners (#19917, 4d557c5, #19962, 5ed4f50)
- Added ability to determine if queued handler should be pushed to queue (#19957, efe616c)
Filesystem
⚠️ MadeStorage::files()work likeStorage::allFiles()(#18874, 7073457)⚠️ Fixed compatibility betweenFilesystemAdapterand theFilesysteminterface (#19389)
Helpers
- Added
report()helper (2b67619) - Added
throw_if()andthrow_unless()helpers (18bb4df, #19166, #19255) - Added
dispatch_now()helper (#18668, 61f2e7b) - Added
$languageparameter tostr_slug()helper (#19011) - Added
str_before()helper (#19940, #20049) - Added
now()andtoday()helpers (3c888b6, #20716) - Added
blank(),filled(),optional()andtransform()helpers (06de9b2, 31308e3) - Handle lower case words better in as
Str::snake()(#18764) - Removed usages of the
with()helper (#17888) - Support multiple patterns in
Str::is()(#20108) - Speed up
Arr::get()calls without dot notations (#20139) - Use
report()helper inmix()(#20603, bf0cb82)
Localization
⚠️ MovedLoaderInterfaceto contracts (#20460)⚠️ Support loading JSON translation for packages (#20599, 573f85c)- Support language specific characters in
Str(#18974, #19694)
- Allow mailables to be rendered directly to views (d9a6dfa)
- Allow for per-mailable theme configuration (b2c35ca)
⚠️ Removed$dataand$callbackparameters fromMailerandMailQueue⚠️ MadeMarkdowna dependency ofMailChannel(#19349)⚠️ Upgraded to SwiftMailer 6 (#19356)⚠️ Addedto()andbcc()toMailercontract (#19955)
Notifications
- Added methods for Slack's
thumb_urlandunfurl_*options (#19150, #19200) - Support sending notifications via
AnonymousNotifiable(#19998, ba82579) - Accept other types on
SlackAttachment::timestamp()(#20671)
Queues
- Added support for chainable jobs (81bcb03, too many follow-up commits, sorry)
⚠️ Removed redundant$queueparameter fromQueue::createPayload()(#17948)- Made all
getQueue()methodspublic(#18501) - Pass connection and queue to
Loopingevent (#19081) ⚠️ Clone Job specific properties (#19123)⚠️ Declare missing abstractJob::getRawBody()method (#19677)⚠️ Fail (or optionally silently delete) job when model is missing during deserialization (44b1f85, bceded6)- Added
CallQueuedListener::__clone()method (#20022) - Accept
DatetimeInterfaceandDateIntervalin queue (#20102, 92e2aff) ⚠️ Usedispatch()instead offire()(#20446)- Removed
reserved_atindex from jobs table stub (#20702) - Support job expiration (#20776, 1592b9b)
Redis
⚠️ Several improvements onPhpRedisConnection(#20269, #20316)⚠️ RemovedPhpRedisConnection::proxyToEval()method (#17360)- Added Redis limiters (#20597, ceb260e, #20761, aba76bf, 3684f0c, #20772)
Requests
⚠️ MadeRequest::has()work likeCollection::has()(#18715)- Added
Request::filled()(#18715) ⚠️ MadeRequest::only()work likeCollection::only()(#18695)- Aliased
Request::exists()toRequest::has()(183bf16) - Allow passing keys to
Request::all()to behave like oldRequest::only()(#18754) ⚠️ RemovedRequest::intersect()(#18695)- Return request data from
ValidatesRequestscalls (#19033) - Added a
validate()macro ontoRequest(#19063) - Added
FormRequest::validated()method (#19112) ⚠️ Maderequest()helper andRequest::__get()consistent (a6ff272)- Made
Request::routeIs()work likeRequest()::fullUrlIs()(#19267, bfc5321, #19334) - Added
Request::hasAny()method (#19367) ⚠️ Throw validation exception fromValidatesRequestswithout formatting response (#19929, 6d33675, ec88362, c264807)- Added
Request::post()method (#20238) - Added
Request::keys()method (#20611)
Routing
- Support fluent resource options (#18767, bb02fb2)
- Support multiple values in
Router::has()(#18758) ⚠️ Bind empty optional route parameter tonullinstead of empty model instance (#17521)- Accept patterns on
Route::named(),Router::is()andRouter::currentRouteNamed()(#19267, bfc5321) - Added
domain()setter/getter toRoute(#19245, bba04a1) - Added
Route::redirect()method (#19794) - Added
Route::view()method (#19835) ⚠️ ImprovedThrottleRequestsmiddleware (#19807, #19860)⚠️ Return proper 304 responses (#19867)- Return the resource from
Router::apiResource()(#20029) ⚠️ Moved route model binding resolution logic to model (#20521, 370e626, #20542, #20618, d911fa8)- Accept string on
parameters()andnames()methods (#20531, #20529) - Handle
HEADrequests inRouter::view()(#20672) - Added
ThrottleRequestsWithRedismiddleware (#20761, 0a10f9a)
Responses
⚠️ EnsureArrayableandJsonablereturn aJsonResponse(#17875)⚠️ EnsureArrayableobjects are also morphed byResponse(#17868)- Added
SameSitesupport toCookieJar(#18040, #18059, e69d722) - Accept
HeaderBaginResponseTrait::withHeaders()(#18161) ⚠️ Reset response content-type inResponse::setContent()(#18314, #20313)⚠️ Always retrieve the real original content (#20002)
Service Container
⚠️ RefactoredContainer(#19201)⚠️ Made container PSR-11 compliant (#19822, a6068b0, 66325c2)- Return the bound instance from
Container::instance()(#19442) ⚠️ Use instance instead of deferred service provider (#20714)
Session
⚠️ Default value totrueinStore::flash()(#18136)⚠️ Store the user password hash when logging in (#19843)⚠️ ThrowUnauthorizedHttpExceptionfromfailedBasicResponse(#20673)
Support
- Autoload package providers (#19420, a5a0f3e, 2954091, #19455, #19561, #19646)
- Added support for
Responsableobjects (c0c89fd, 1229b7f, #19614, ef0e37d) - Made
Carbonmacroable and serializeable (#19771, #20568, 6a18209) - Support registering macros using classes (#19782, 353adbd)
⚠️ MovedInteractsWithTimetoIlluminate\Support(#20119, #20206)- Support callable/invokable objects in
Pipeline(#18264) ⚠️ Prevent access to protected properties using array access onModelandFluent(#18403)⚠️ ExtendMessageBaginterface fromArrayableand addgetMessages()method (#19768, #20334)- Handle
Arrayableitems inMessageBag(6f1f4d8) - Added
isNotEmpty()method to message bags and paginators (#19944) - Return the collection iterator from
AbstractPaginator::getIterator()(#20098) ⚠️ Fixed minimum value of paginatorlast_pagefield (#20335)
Task Scheduling
- Fire before callbacks on closure-based scheduling events (#18861)
- Run after-callbacks even if a callback event failed (#19573)
⚠️ Fixed bug inquarterly()method (#19600)⚠️ Support passing boolean intowhen()andskip()(1d1a96e)
Testing
⚠️ Switched to PHPUnit 6 (#17755, #17864)⚠️ Renamed authentication assertion methods (#17924, 494a177)⚠️ Unify database testing traits intoRefreshDatabasetrait (79c6f67, 0322e32, #20308)⚠️ Changed Blade tests namespace toIlluminate\Tests\View\Blade(#19675)- Added integration tests for the framework itself (182027d, #18438, #18780, #19001, #20073)
- Allow disabling of specific middleware (#18673)
- Added
withoutExceptionHandling()method (a171f44) - Support inline eloquent factory states (#19060)
- Allow
assertSessionHasErrors()to look into different error bags (#19172, 4287ebc) - Ensure Redis is available in cache lock tests (#19791)
- Skip tests if Memcached is not found (#20018)
⚠️ ClearCarbonmock during tear down (#19934)- Added debug info to
NotFoundHttpExceptioninInteractsWithExceptionHandling(#20000) - Added
MailFake::assertSentTimes(),QueueFake::assertPushedTimes()andBusFake::assertDispatchedTimes()methods (#20485, e657f6e) - Added queue assertions to
MailFake(#20454, #20701) - Added
assertNothingSent()andassertSentTimes()methods toNotificationFake(#20651) - Added Mockery expectations to the assertion count (#20606)
- Fake the default storage disk by default (#20625)
- Support sending default headers with requests (#20590, c32418e)
- Support disabling of exception handling for specified exceptions (#20729, 2db9716)
Validation
- Added support for custom validation rule objects (#19155, 2aa5ea8)
- Validate against
DateTimeInterfaceinstead ofDateTime(#20110) ⚠️ Made several method inValidatesAttributespublic (#20200)⚠️ Addederrors()method toValidatorinterface (#20337)- Extend
ExistsandUniquerule fromDatabaseRuleclass (#20563) - Added
whereIn()andwhereNotIn()constraints toDatabaseRule(#20691, #20739, 52d28e3) - Added
date_equalsrule (#20646)