- Added
--controller
(or-c
) option tomake:model
command (#15795) - Added object based
dimensions
validation rule (#15852) - Added object based
in
andnot_in
validation rule (#15923, #15951, 336a807) - Added
clear-compiled
command success message (#15868) - Added
SlackMessage::http()
to specify additionalheaders
orproxy
options (#15882) - Added a name to the logout route (#15889)
- Added "feedback" to
Pluralizer::uncountable()
(#15895) - Added
FormRequest::withValidator($validator)
hook (#15918, bf8a36a) - Add missing
ClosureCommand::$callback
property (#15956)
- Total rewrite of middleware sorting logic (6b69fb8, 9cc5334)
- Wrap PostgreSQL database schema changes in a transaction (#15780, #15962)
- Expect
array
onValidator::explodeRules()
(#15838) - Return
null
if an empty key was passed toModel::getAttribute()
(#15874) - Support multiple
LengthAwarePaginator
on a single page with different$pageName
properties (#15870) - Pass ids to
ModelNotFoundException
(#15896) - Improved database transaction logic (7a0832b)
- Use
name()
method instead ofgetName()
(#15955) - Minor syntax improvements (#15953, #15954, 4e9c9fd)
- Fixed
migrate:status
using another connection (#15824) - Fixed calling closure based commands (#15873)
- Split
SimpleMessage
by all possible EOLs (#15921) - Ensure that the search and the creation/update of Eloquent instances happens on the same connection (#15958)
- Added object based
unique
andexists
validation rules (#15809)
- Added model factory "states" (#14241)
Collection::only()
now returns all items if$keys
isnull
(#15695)
- Added workaround for Memcached 3 on PHP7 when using
many()
(#15739) - Fixed bug in
Validator::hydrateFiles()
when removing the files array (#15663) - Fixed model factory bug when
$amount
is zero (#15764, #15779) - Prevent multiple notifications getting sent out when using the
Notification
facade (#15789)
- Added "furniture" and "wheat" to
Pluralizer::uncountable()
(#15703) - Allow passing
$keys
toModel::getAttributes()
(#15722) - Added database blueprint for soft deletes with timezone (#15737)
- Added given guards to
AuthenticationException
(#15745) - Added Seneca quote to
Inspire
command (#15747) - Added
div#app
to auth layout stub (08bcbdb) - Added PHP 7.1 timeout handler to queue worker (cc9e1f0)
- Changed visibility of
Route::getController()
to public (#15678) - Changed notifications
id
column type touuid
(#15719)
- Fixed PDO bindings when using
whereHas()
(#15740)
- Use granular notification queue jobs (#15681, 3a5e510)
- Reverted recent changes to the queue (d8dc8dc)
- Fixed
DaemonCommand
command name (b681bff)
- Added
serialize()
andunserialize()
onRedisStore
(#15657)
- Use
$signature
command style onDaemonCommand
andWorkCommand
(#15677)
- Added support for priority level in mail notifications (#15651)
- Added missing
$minutes
property onCookieSessionHandler
(#15664)
- Removed forking and pcntl requirements while still supporting timeouts (#15650)
- Added
Kernel::setArtisan()
method (#15531) - Added a default method for validation message variable replacing (#15527)
- Added support for a schema array in Postgres config (#15535)
- Added
SoftDeletes::isForceDeleting()
method (#15580) - Added support for tasks scheduling using command classes instead of signatures (#15591)
- Added support for passing array of emails/user-objects to
Mailable::to()
(#15603) - Add missing interface methods in
Registrar
contract (#15616)
- Let the queue worker sleep for 1s when app is down for maintenance (#15520)
- Improved validator messages for implicit attributes errors (#15538)
- Use
Carbon::now()->getTimestamp()
instead oftime()
in various places (#15544, #15545, c5984af, #15549) - Removed redundant condition from
updateOrInsert()
(#15540) - Throw
LogicException
on container alias loop (#15548) - Handle empty
$files
inRequest::duplicate()
(#15558) - Support exact matching of custom validation messages (#15557)
- Decode URL in
Request::segments()
andRequest::is()
(#15524) - Replace only the first instance of the app namespace in Generators (#15575)
- Fixed artisan
--env
issue where environment file wasn't loaded (#15629) - Fixed migration with comments using
ANSI_QUOTE
SQL mode (#15620) - Disabled queue worker process forking until it works with AWS SQS (23c1276)
- Fire
Registered
event when a user registers (#15401) - Added
Container::factory()
method (#15415) - Added
$default
parameter to query/eloquent builderwhen()
method (#15428, #15442) - Added missing
$notifiable
parameter toResetPassword::toMail()
(#15448)
- Updated
ServiceProvider
to useresourcePath()
overbasePath()
(#15400) - Throw
RuntimeException
ifpcntl_fork()
doesn't exists (#15393) - Changed visibility of
Container::getAlias()
to public (#15444) - Changed visibility of
VendorPublishCommand::publishTag()
to protected (#15461) - Changed visibility of
TestCase::afterApplicationCreated()
to public (#15493) - Prevent calling
Model
methods when calling them as attributes (#15438) - Default
$callback
tonull
in eloquent builderwhereHas()
(#15475) - Support newlines in Blade's
@foreach
(#15485)
- Reverted "Allow passing a
Closure
toView::share()
#15312" (#15312) - Resolve issues with multi-value select elements (#15436)
- Fixed issue with
X-HTTP-METHOD-OVERRIDE
spoofing inRequest
(#15410)
- Removed unused
SendsPasswordResetEmails::resetNotifier()
method (#15446) - Removed uninstantiable
Seeder
class (#15450) - Removed unnecessary variable in
AuthenticatesUsers::login()
(#15507)
- Added missing
MailableMailer::later()
method (#15364) - Added missing
$queue
parameter onSyncJob
(#15368) - Added SSL options for PostgreSQL DSN (#15371)
- Added ability to disable touching of parent when toggling relation (#15263)
- Added username, icon and channel options for Slack Notifications (#14910)
- Added missing translation for
mimetypes
validation (#15209, #3921) - Added ability to check if between two times when using scheduler (#15216, #15306)
- Added
X-RateLimit-Reset
header to throttled responses (#15275) - Support aliases on
withCount()
(#15279) - Added
Filesystem::isReadable()
(#15289) - Added
Collection::split()
method (#15302) - Allow passing a
Closure
toView::share()
(#15312) - Added support for
Mailable
messages inMailChannel
(#15318) - Added
with*()
syntax toMailable
class (#15316) - Added
--path
option formigrate:rollback/refresh/reset
(#15251) - Allow numeric keys on
morphMap()
(#15332) - Added fakes for bus, events, mail, queue and notifications (5deab59)
- Update
Model::save()
to returntrue
when no error occurs (#15236) - Optimized performance of
Arr::first()
(#15213) - Swapped
drop()
fordropIfExists()
in all stubs (#15230) - Allow passing object instance to
class_uses_recursive()
(#15223) - Improved handling of failed file uploads during validation (#15166)
- Hide pagination if it does not have multiple pages (#15246)
- Cast Pusher message to JSON in
validAuthentiactoinResponse()
(#15262) - Throw exception if queue failed to create payload (#15284)
- Call
getUrl()
first inFilesystemAdapter::url()
(#15291) - Consider local key in
HasManyThrough
relationships (#15303) - Fail faster by checking Route Validators in likely fail order (#15287)
- Make the
FilesystemAdapter::delete()
behave likeFileSystem::delete()
(#15308) - Don't call
floor()
inCollection::median()
(#15343) - Always return number from aggregate method
sum()
(#15345)
- Reverted "Hide empty paginators" #15125 (#15241)
- Fixed empty
multifile
uploads (#15250) - Fixed regression in
save(touch)
option (#15264) - Fixed lower case model names in policy classes (15270)
- Allow models with global scopes to be refreshed (#15282)
- Fix
ChannelManager::getDefaultDriver()
implementation (#15288) - Fire
illuminate.queue.looping
event before running daemon (#15290) - Check attempts before firing queue job (#15319)
- Fixed
morphTo()
naming inconsistency (#15334)
- Added
required
attributes to auth scaffold (#15087) - Support custom recipient(s) in
MailMessage
notifications (#15100) - Support custom greeting in
SimpleMessage
notifications (#15108) - Added
prependLocation()
method toFileViewFinder
(#15103) - Added fluent email priority setter (#15178)
- Added
send()
andsendNow()
to notification factory contract (0066b5d)
- Defer resolving of PDO connection until needed (#15031)
- Send plain text email along with HTML email notifications (#15016, #15092, #15115)
- Stop further validation if a
required
rule fails (#15089) - Swaps
drop()
fordropIfExists()
in migration stub (#15113) - The
resource_path()
helper now relies onApplication::resourcePath()
(#15095) - Optimized performance of
Str::random()
(#15112) - Show
app.name
in auth stub (#15138) - Switched from
htmlentities()
tohtmlspecialchars()
ine()
helper (#15159) - Hide empty paginators (#15125)
- Fixed
migrate:rollback
withFETCH_ASSOC
enabled (#15088) - Fixes query builder not considering raw expressions in
whereIn()
(#15078) - Fixed notifications serialization mistake in
ChannelManager
(#15106) - Fixed session id collisions (#15206)
- Fixed extending cache expiration time issue in
file
cache (#15164)
- Removed data transformation in
Response::json()
(#15137)
- Added ability to set from address for email notifications (#15055)
- Support implicit keys in
MessageBag::get()
(#15063) - Allow passing of closures to
assertViewHas()
(#15074) - Strip protocol from Route group domains parameters (#15070)
- Support dot notation as callback in
Arr::sort()
(#15050) - Use Redis database interface instead of implementation (#15041)
- Allow closure middleware to be registered from the controller constructor (#15080, abd85c9)
- Fixed plural form of Emoji (#15068)
- Fixed testing of Eloquent model events (#15052)
- Revert changes to Eloquent
Builder
that breaksfirstOr*
methods (#15018)
- Support unversioned assets in
elixir()
function (#14987) - Changed visibility of
BladeCompiler::stripParentheses()
topublic
(#14986) - Use getter instead of accessing the properties directly in
JoinClause::__construct()
(#14984) - Replaced manual comparator with
asort
inCollection::sort()
(#14980) - Use
query()
instead ofinput()
for key lookup inTokenGuard::getTokenForRequest()
(#14985)