- Revert changes to Eloquent
Builderthat breaksfirstOr*methods (#15018) - Revert aggregate changes in #14793 (#14994)
- Added
BelongsToMany::syncWithoutDetaching()method (33aee31) - Added
withoutTrashed()method toSoftDeletingScope(#14805) - Support Flysystem's
disable_assertsconfig value (#14864)
- Support multi-dimensional
$dataarrays ininvalid()andvalid()methods (#14651) - Support column aliases in
chunkById()(#14711) - Re-attempt transaction when encountering a deadlock (#14930)
- Only return floats or integers in
aggregate()(#14781) - Fixed numeric aggregate queries (#14793)
- Create new row in
firstOrCreate()when a model has a mutator (#14656) - Protect against empty paths in the
view:clearcommand (#14812) - Convert
$attributesinmakeHidden()to array (#14852, #14857) - Prevent conflicting class name import to namespace in
ValidatesWhenResolvedTrait(#14878)
- Throw exception if
$amountis not numeric inincrement()anddecrement()(915cb84)
- Allow
BelongsToMany::detach()to accept a collection (#14412) - Added
whereTime()andorWhereTime()to query builder (#14528) - Added PHP 7.1 support (#14549)
- Allow collections to be created from objects that implement
Traversable(#14628) - Support dot notation in
Request::exists()(#14660) - Added missing
Model::makeHidden()method (#14641)
- Return
truewhen$keyis empty inMessageBag::has()(#14409) - Optimized
Filesystem::moveDirectory(#14362) - Convert
$countto integer inStr::plural()(#14502) - Handle arrays in
validateIn()method (#14607)
- Fixed an issue with
wherePivotIn()(#14397) - Fixed PDO connection on HHVM (#14429)
- Prevent
make:migrationfrom creating duplicate classes (#14432) - Fixed lazy eager loading issue in
LengthAwarePaginatorcollection (#14476) - Fixed plural form of Pokémon (#14525)
- Fixed authentication bug in
TokenGuard::validate()(#14568) - Fix missing middleware parameters when using
authorizeResource()(#14592)
- Removed duplicate interface implementation in
Dispatcher(#14515)
- Run session garbage collection before response is returned (#14386)
- Fixed pagination bug introduced in #14188 (#14389)
- Fixed
median()issue when collection is out of order (#14381)
- Added
--tagsoption tocache:clearcommand (#13927) - Added
scopes()method to Eloquent query builder (#14049) - Added
hasAny()method toMessageBag(#14151) - Allowing passing along transmission options to SparkPost (#14166)
- Added
Filesystem::moveDirectory()(#14198) - Added
increment()anddecrement()methods to session store (#14196) - Added
pipe()method toCollection(#13899) - Added additional PostgreSQL operators (#14224)
- Support
::expressions in Blade directive names (#14265) - Added
median()andmode()methods to collections (#14305) - Add
tightenco/collectto Composerreplacelist (#14118, #14127)
- Don't release jobs that have been reserved too long (#13833)
- Throw
ExceptionifQueuehas no encrypter (#14038) - Cast
uniquevalidation ruleidto integer (#14076) - Ensure database transaction count is not negative (#14085)
- Use
session.lifetimefor CSRF cookie (#14080) - Allow the
shuffle()method to be seeded (#14099) - Allow passing of multiple keys to
MessageBag::has()(a0cd0ae) - Allow model connection in
newFromBuilder()to be overridden (#14194) - Only load pagination results if
$totalis greater than zero (#14188) - Accept fallback parameter in
UrlGenerator::previous(#14207) - Only do
usecall ifdatabaseis not empty (#14225) - Removed unnecessary nesting in the
Macroabletrait (#14222) - Refactored
DatabaseQueue::getNextAvailableJob()(cffcd34) - Look for
getUrl()method on Filesystem adapter before throwing exception (#14246) - Make
seeIsSelected()work with<option>elements withoutvalueattributes (#14279) - Improved performance of
Filesystem::sharedGet()(#14319) - Throw exception if view cache path is empty (#14291)
- Changes several validation methods return type from integers to booleans (#14373)
- Remove files from input in
withInput()method (85249be)
- Require file instance for
dimensionsvalidation rule (#14025) - Fixes for SQL Server
processInsertGetId()with ODBC (#14121) - Fixed PostgreSQL
processInsertGetId()withPDO::FETCH_CLASS(#14115) - Fixed
PDO::FETCH_CLASSsupport inConnection::cursor()(#14052) - Fixed eager loading of multi-level
morphTorelationships (#14190) - Fixed MySQL multiple-table DELETE (#14179)
- Always cast
vendor:publishtags to array (#14228) - Fixed translation capitalization when replacements are a numerical array (#14249)
- Fixed double
urldecode()on route parameters (#14370)
- Remove method overwrites in
PostgresGrammar(#14372)
- Added
without()method to Eloquent query builder (#14031) - Added
keyTypeproperty Eloquent models to set key type cast (#13985) - Added support for mail transport
StreamOptions(#13925) - Added
validationData()method toFormRequest(#13914)
- Only
set namesfor MySQL connections ifcharsetis 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$incrementingattribute (#14005) - Fixed fatal error when
services.jsonis empty (#14030)
- Convert multiple
Model::fresh()arguments to array before passing towith()(#13950) - Iterate only through files that contain a namespace in
app:namecommand. (#13961)
- Close swift mailer connection after sending mail (#13583)
- Prevent possible key overlap in
Str::snakecache (#13943) - Fixed issue when eager loading chained
MorphTorelationships (#13967) - Delete database session record if it's expired (09b09eb)
- Added
hasArgument()andhasOption()methods toCommandclass (#13919) - Added
$failedIdproperty toJobFailedevent (#13920)
- Fixed session expiration on several drivers (0831312)
- Allow passing along options to the S3 client (#13791)
- Allow nested
WHEREclauses inwhereHas()queries (#13794) - Support
DateTimeinstances inBefore/Afterdate validation (#13844) - Support queueing collections (d159f02)
- Reverted SparkPost driver back to
email_rfc822parameter for simplicity (#13780) - Simplified
Model::__isset()(8fb89c6) - Set exception handler even on non-daemon
queue:workcalls (d5bbda9) - Show handler class names in
queue:workconsole output (4d7eb59) - Use queue events to update the console output of
queue:work(ace7f04) - Made
ResetsPasswordstrait easier to customize (#13818) - Refactored Eloquent relations and scopes (#13824, #13884, #13894)
- Respected
session.http_onlyoption inStartSessionmiddleware (#13825) - Don't return in
ApcStore::forever()(#13871) - Allow Redis key expiration to be lower than one minute (#13810)
- Fixed
morphTorelations across database connections (#13784) - Fixed
morphTorelations without soft deletes (13806) - Fixed edge case on
morphTorelations macro call that only exists on the related model (#13828) - Fixed formatting of
updatedAttimestamp when callingtouch()onBelongsToManyrelation (#13799) - Don't get
$idfrom Recaller inAuth::id()(#13769) - Fixed
AuthorizesResourcestrait (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_filesto0(#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
TypeErrorinAbstractPaginator::url()(#13758)
- Added correct MySQL JSON boolean handling and updating grammar (#13242)
- Added
streamoption 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
morphTorelationships 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
$testargument toUploadedFile(#13656) - Added
authenticate()method to guards (#13651)
- Use locking to migrate stale jobs (26a24d6)
- Avoid
chunkByIdduplicatingordersclause with the same column (#13604) - Fire
RouteMatchedevent onroute:listcommand (#13474) - Set user resolver for request in
AuthManager::shouldUse()(bf5303f) - Always execute
usecall, unless database is empty (#13701, ef770ed) - Allow
elixir()$buildDirectoryto benull. (#13661) - Simplified calling
Model::replicate()with$exceptargument (#13676) - Allow auth events to be serialized (#13704)
- Added
forandidattributes 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$visibleproperty is not empty (#13625) - Fixed PostgreSQL's
Schema::hasTable()(#13008) - Fixed
urlvalidation rule when missing trailing slash (#13700)
- Allow user to enable/disable foreign key checks dynamically (#13333)
- Added
filevalidation 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_tofield when using SparkPost (#13410) - Added validation rule for image dimensions (#13428)
- Added "Generated Columns" support to MySQL grammar (#13430)
- Added
Response::throwResponse()(#13473) - Added
pageparameter to thesimplePaginate()method (#13502) - Added
whereColumn()method to Query Builder (#13549) - Allow
File::allFiles()to show hidden dot files (#13555)
- Return
nullinstead of0for a defaultBelongsTokey (#13378) - Avoid useless logical operation (#13397)
- Stop using
{!! !!}forcsrf_field()(#13398) - Improvements for
SessionGuardmethodsloginUsingId()andonceUsingId()(#13393) - Added Work-around due to lack of
lastInsertId()for ODBC for MSSQL (#13423) - Ensure
MigrationCreator::create()receives$createas boolean (#13439) - Allow custom validators to be called with out function name (#13444)
- Moved the
payloadcolumn of jobs table to the end (#13469) - Stabilized table aliases for self joins by adding count (#13401)
- Account for
__issetchanges in PHP 7 (#13509) - Bring back support for
Carboninstances tobeforeandaftervalidators (#13494) - Allow method chaining for
MakesHttpRequesttrait (#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
morphTorelationship (#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
@elsecanand@elsecannotBlade directives (#13256) - Support booleans in
required_ifValidator rule (#13327)
- Simplified
Translator::parseLocale()method (#13244) - Simplified
Builder::shouldRunExistsQuery()method (#13321) - Use
Gatecontract 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:namecommand (#13208) - Decode base64 encoded keys before using it in
PasswordBrokerManager(#13270) - Prevented race condition in
RateLimiter(#13283) - Use
DIRECTORY_SEPARATORto 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
BeforeandAfterdependent 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
Kernelclass (#13097) - Added the ability to get routes keyed by method (#13146)
- Added PostgreSQL specific operators for
jsonbtype (#13161) - Added
makeHidden()method to the Eloquent collection (#13152) - Added
intersect()method toRequest(#13167) - Allow disabling of model observers in tests (#13178)
- Allow
ONclauses on cross joins (#13159)
- Use relation setter when setting relations (#13001)
- Use
isEmpty()to check for empty message bag inValidator::passes()(#13014) - Refresh
remember_tokenwhen resetting password (#13016) - Use multibyte string functions in
Strclass (#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
AuthorizesResourcestrait to a method (#13214) - Make sure
unguarded()does not change state on exception (#13186) - Return
$thisinInteractWithPages::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
Acceptheaders (#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
Authorizemiddleware (#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
uniquevalidation rule (#12612) - Added
InteractsWithSession::assertSessionMissing()(#12860) - Added
chunkById()method to query builder for faster chunking of large sets of data (#12861) - Added Blade
@hasSectiondirective 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
unionmethod for true unions of two collections (#12910)
- Allow array size validation of implicit attributes (#12640)
- Separated logic of Blade
@pushand@sectiondirectives (#12808) - Ensured that middleware is applied only once (#12911)
- Reverted improvements to Redis cache tagging (#12897)
- Removed route group from
make:authstub (#12903)
- Added support for Base64 encoded
Encrypterkeys (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)