- Added
without()
method to Eloquent query builder (#14031) - Added
keyType
property Eloquent models to set key type cast (#13985) - Added support for mail transport
StreamOptions
(#13925) - Added
validationData()
method toFormRequest
(#13914)
- Only
set names
for MySQL connections ifcharset
is set in config (#13930) - Support recursive container alias resolution (#13976)
- Use late static binding in
PasswordBroker
(#13975) - Make sure Ajax requests are not Pjax requests in
FormRequest
(#14024) - Set existence state of expired database sessions, instead of deleting them (53c0440)
- Release Beanstalkd jobs before burying them (#13963)
- Use
getIncrementing()
method instead of the$incrementing
attribute (#14005) - Fixed fatal error when
services.json
is empty (#14030)
- Convert multiple
Model::fresh()
arguments to array before passing towith()
(#13950) - Iterate only through files that contain a namespace in
app:name
command. (#13961)
- Close swift mailer connection after sending mail (#13583)
- Prevent possible key overlap in
Str::snake
cache (#13943) - Fixed issue when eager loading chained
MorphTo
relationships (#13967) - Delete database session record if it's expired (09b09eb)
- Added
hasArgument()
andhasOption()
methods toCommand
class (#13919) - Added
$failedId
property toJobFailed
event (#13920)
- Fixed session expiration on several drivers (0831312)
- Allow passing along options to the S3 client (#13791)
- Allow nested
WHERE
clauses inwhereHas()
queries (#13794) - Support
DateTime
instances inBefore
/After
date validation (#13844) - Support queueing collections (d159f02)
- Reverted SparkPost driver back to
email_rfc822
parameter for simplicity (#13780) - Simplified
Model::__isset()
(8fb89c6) - Set exception handler even on non-daemon
queue:work
calls (d5bbda9) - Show handler class names in
queue:work
console output (4d7eb59) - Use queue events to update the console output of
queue:work
(ace7f04) - Made
ResetsPasswords
trait easier to customize (#13818) - Refactored Eloquent relations and scopes (#13824, #13884, #13894)
- Respected
session.http_only
option inStartSession
middleware (#13825) - Don't return in
ApcStore::forever()
(#13871) - Allow Redis key expiration to be lower than one minute (#13810)
- Fixed
morphTo
relations across database connections (#13784) - Fixed
morphTo
relations without soft deletes (13806) - Fixed edge case on
morphTo
relations macro call that only exists on the related model (#13828) - Fixed formatting of
updatedAt
timestamp when callingtouch()
onBelongsToMany
relation (#13799) - Don't get
$id
from Recaller inAuth::id()
(#13769) - Fixed
AuthorizesResources
trait (25443e3)
- Removed unused
ArrayStore::putMultiple()
method (#13840)
- Added failed login event (#13761)
- Always cast
FileStore::expiration()
return value to integer (#13708) - Simplified
Container::isCallableWithAtSign()
(#13757) - Pass key to the
Collection::keyBy()
callback (#13766) - Support unlimited log files by setting
app.log_max_files
to0
(#13776) - Wathan-ize
MorphTo::getEagerLoadsForInstance()
(#13741, #13777)
- Fixed MySQL JSON boolean binding update grammar (38acdd8)
- Fixed loading of nested polymorphic relationships (#13737)
- Fixed early return in
AuthManager::shouldUse()
(5b88244) - Fixed the remaining attempts calculation in
ThrottleRequests
(#13756, #13759) - Fixed strict
TypeError
inAbstractPaginator::url()
(#13758)
- Added correct MySQL JSON boolean handling and updating grammar (#13242)
- Added
stream
option to mailTransportManager
(#13715) - Added
when()
method to eloquent query builder (#13726)
- Catch exceptions in
Worker::pop()
to prevent log spam (#13688) - Use write connection when validating uniqueness (#13718)
- Use
withException()
method inHandler::toIlluminateResponse()
(#13712) - Apply constraints to
morphTo
relationships when using eager loading (#13724) - Use SETs rather than LISTs for storing Redis cache key references (#13731)
- Allow query results to be traversed using a cursor (#13030)
- Added support for log levels (#13513)
- Added
inRandomOrder()
method to query builder (#13642) - Added support for custom connection in
PasswordBrokerManager
(#13646) - Allow connection timeouts in
TransportManager
(#13621) - Added missing
$test
argument toUploadedFile
(#13656) - Added
authenticate()
method to guards (#13651)
- Use locking to migrate stale jobs (26a24d6)
- Avoid
chunkById
duplicatingorders
clause with the same column (#13604) - Fire
RouteMatched
event onroute:list
command (#13474) - Set user resolver for request in
AuthManager::shouldUse()
(bf5303f) - Always execute
use
call, unless database is empty (#13701, ef770ed) - Allow
elixir()
$buildDirectory
to benull
. (#13661) - Simplified calling
Model::replicate()
with$except
argument (#13676) - Allow auth events to be serialized (#13704)
- Added
for
andid
attributes to auth scaffold (#13689) - Aquire lock before deleting reserved job (4b502dc)
- Prefix timestamps when updating many-to-many relationships (#13519)
- Fixed missing wheres defined on the relation when creating the subquery for a relation count (#13612)
- Fixed
Model::makeVisible()
when$visible
property is not empty (#13625) - Fixed PostgreSQL's
Schema::hasTable()
(#13008) - Fixed
url
validation rule when missing trailing slash (#13700)
- Allow user to enable/disable foreign key checks dynamically (#13333)
- Added
file
validation rule (#13371) - Added
guestMiddleware()
method to get guest middleware with guard parameter (#13384) - Added
Pivot::fromRawAttributes()
to create a new pivot model from raw values returned from a query (f356419) - Added
Builder::withCount()
to add a relationship subquery count (#13414) - Support
reply_to
field when using SparkPost (#13410) - Added validation rule for image dimensions (#13428)
- Added "Generated Columns" support to MySQL grammar (#13430)
- Added
Response::throwResponse()
(#13473) - Added
page
parameter to thesimplePaginate()
method (#13502) - Added
whereColumn()
method to Query Builder (#13549) - Allow
File::allFiles()
to show hidden dot files (#13555)
- Return
null
instead of0
for a defaultBelongsTo
key (#13378) - Avoid useless logical operation (#13397)
- Stop using
{!! !!}
forcsrf_field()
(#13398) - Improvements for
SessionGuard
methodsloginUsingId()
andonceUsingId()
(#13393) - Added Work-around due to lack of
lastInsertId()
for ODBC for MSSQL (#13423) - Ensure
MigrationCreator::create()
receives$create
as boolean (#13439) - Allow custom validators to be called with out function name (#13444)
- Moved the
payload
column of jobs table to the end (#13469) - Stabilized table aliases for self joins by adding count (#13401)
- Account for
__isset
changes in PHP 7 (#13509) - Bring back support for
Carbon
instances tobefore
andafter
validators (#13494) - Allow method chaining for
MakesHttpRequest
trait (#13529) - Allow
Request::intersect()
to accept argument list (#13515)
- Accept
!=
and<>
as operators while value isnull
(#13370) - Fixed SparkPost BCC issue (#13361)
- Fixed fatal error with optional
morphTo
relationship (#13360) - Fixed using
onlyTrashed()
andwithTrashed()
withwhereHas()
(#13396) - Fixed automatic scope nesting (#13413)
- Fixed scheduler issue when using
user()
andwithoutOverlapping()
combined (#13412) - Fixed SqlServer grammar issue when table name is equal to a reserved keyword (#13458)
- Fixed replacing route default parameters (#13514)
- Fixed missing model attribute on
ModelNotFoundException
(#13537) - Decrement transaction count when
beginTransaction()
errors (#13551) - Fixed
seeJson()
issue when comparing two equal arrays (#13531) - Fixed a Scheduler issue where would no longer run in background (#12628)
- Fixed sending attachments with SparkPost (#13577)
- Added missing suggested dependency
SuperClosure
(09a793f) - Added ODBC connection support for SQL Server (#13298)
- Added
Request::hasHeader()
method (#13271) - Added
@elsecan
and@elsecannot
Blade directives (#13256) - Support booleans in
required_if
Validator rule (#13327)
- Simplified
Translator::parseLocale()
method (#13244) - Simplified
Builder::shouldRunExistsQuery()
method (#13321) - Use
Gate
contract instead of Facade (#13260) - Return result in
SoftDeletes::forceDelete()
(#13272)
- Fixed BCC for SparkPost (#13237)
- Use Carbon for everything time related in
DatabaseTokenRepository
(#13234) - Fixed an issue with
data_set()
affecting the Validator (#13224) - Fixed setting nested namespaces with
app:name
command (#13208) - Decode base64 encoded keys before using it in
PasswordBrokerManager
(#13270) - Prevented race condition in
RateLimiter
(#13283) - Use
DIRECTORY_SEPARATOR
to create path for migrations (#13254) - Fixed adding implicit rules via
sometimes()
method (#12976) - Fixed
Schema::hasTable()
when using PostgreSQL (#13008) - Allow
seeAuthenticatedAs()
to be called with any user object (#13308)
- Removed unused base64 decoding from
Encrypter
(#13291)
- Added messages and custom attributes to the password reset validation (#12997)
- Added
Before
andAfter
dependent rules array (#13025) - Exposed token methods to user in password broker (#13054)
- Added array support on
Cache::has()
(#13028) - Allow objects to be passed as pipes (#13024)
- Adding alias for
FailedJobProviderInterface
(#13088) - Allow console commands registering from
Kernel
class (#13097) - Added the ability to get routes keyed by method (#13146)
- Added PostgreSQL specific operators for
jsonb
type (#13161) - Added
makeHidden()
method to the Eloquent collection (#13152) - Added
intersect()
method toRequest
(#13167) - Allow disabling of model observers in tests (#13178)
- Allow
ON
clauses on cross joins (#13159)
- Use relation setter when setting relations (#13001)
- Use
isEmpty()
to check for empty message bag inValidator::passes()
(#13014) - Refresh
remember_token
when resetting password (#13016) - Use multibyte string functions in
Str
class (#12953) - Use CloudFlare CDN and use SRI checking for assets (#13044)
- Enabling array on method has() (#13028)
- Allow unix timestamps to be numeric in
Validator
(da62677) - Reverted forcing middleware uniqueness (#13075)
- Forget keys that contain periods (#13121)
- Don't limit column selection while chunking by id (#13137)
- Prefix table name on
getColumnType()
call (#13136) - Moved ability map in
AuthorizesResources
trait to a method (#13214) - Make sure
unguarded()
does not change state on exception (#13186) - Return
$this
inInteractWithPages::within()
to allow method chaining (13200)
- Fixed a empty value case with
Arr:dot()
(#13009) - Fixed a Scheduler issues on Windows (#13004)
- Prevent crashes with bad
Accept
headers (#13039, #13059) - Fixed explicit depending rules when the explicit keys are non-numeric (#13058)
- Fixed an issue with fluent routes with
uses()
(#13076) - Prevent generating listeners for listeners (3079175)
- Removed unused parameter call in
Filesystem::exists()
(#13102) - Removed duplicate "[y/N]" from confirmable console commands (#13203)
- Removed unused parameter in
route()
helper (#13206)
- Fixed
Arr::get()
when given array is empty (#12975) - Add backticks around JSON selector field names in PostgreSQL query builder (#12978)
- Reverted #12899 (#12991)
- Added
Authorize
middleware (#12913, 0c48ba4, 183f8e1) - Added
UploadedFile::clientExtension()
(75a7c01) - Added cross join support for query builder (#12950)
- Added
ThrottlesLogins::secondsRemainingOnLockout()
(#12963, 7c2c098)
- Optimized validation performance of large arrays (#12651)
- Never retry database query, if failed within transaction (#12929)
- Allow customization of email sent by
ResetsPasswords::sendResetLinkEmail()
(#12935, aae873e) - Improved file system tests (#12940, #12949, #12970)
- Allowing merging an array of rules (a5ea1aa)
- Consider implicit attributes while guessing column names in validator (#12961, a3827cf)
- Reverted #12307 (#12928)
- Fixed elixir manifest caching to detect different build paths (#12920)
- Fixed
Str::snake()
to work with UTF-8 strings (#12923) - Trim the input name in the generator commands (#12933)
- Check for non-string values in validation rules (#12973)
- Add backticks around JSON selector field names in MySQL query builder (#12964)
- Fixed terminable middleware assigned to controller (#12899, 74b0636)
- Allow ignoring an id using an array key in the
unique
validation rule (#12612) - Added
InteractsWithSession::assertSessionMissing()
(#12860) - Added
chunkById()
method to query builder for faster chunking of large sets of data (#12861) - Added Blade
@hasSection
directive to determine whether something can be yielded (#12866) - Allow optional query builder calls via
when()
method (#12878) - Added IP and MAC address column types (#12884)
- Added Collections
union
method for true unions of two collections (#12910)
- Allow array size validation of implicit attributes (#12640)
- Separated logic of Blade
@push
and@section
directives (#12808) - Ensured that middleware is applied only once (#12911)
- Reverted improvements to Redis cache tagging (#12897)
- Removed route group from
make:auth
stub (#12903)
- Added support for Base64 encoded
Encrypter
keys (370ae34) - Added
EncryptionServiceProvider::getEncrypterForKeyAndCipher()
(17ce4ed) - Added
Application::environmentFilePath()
(370ae34)
- Fixed mock in
ValidationValidatorTest::testValidateMimetypes()
(7f35988)
- Added bootstrap Composer scripts to avoid loading of config/compiled files (#12827)
- Use
File::guessExtension()
instead ofUploadedFile::guessClientExtension()
(87e6175)