Skip to content

Latest commit

 

History

History
296 lines (244 loc) · 31.7 KB

CHANGELOG-5.4.md

File metadata and controls

296 lines (244 loc) · 31.7 KB

Release Notes for 5.4.x

v5.4.7 (2017-01-31)

Added

  • Added Illuminate\Support\Facades\Schema to notifications.stub (#17664)
  • Added support for numeric arguments to @break and @continue (#17603)

Changed

  • Use usesTimestamps() in Eloquent traits (#17612)
  • Default to null if amount isn't set in factory() helper (#17614)
  • Normalize PhpRedis GET/MGET results (#17196)
  • Changed visibility of Validator::addRules() from protected to public (#17654)
  • Gracefully handle SIGTERM signal in queue worker (b38ba01, 819888c)
  • Support inspecting multiple events of same type using Event fake (55be2ea)
  • Replaced hard-coded year in plain-text markdown emails (#17684)
  • Made button component in plain-text markdown emails easier to read (#17683)

Fixed

  • Set Command::$name in Command::configureUsingFluentDefinition() (#17610)
  • Support post size 0 (unlimited) in ValidatePostSize (#17607)
  • Fixed method signature issues in PhpRedisConnection (#17627)
  • Fixed BelongsTo not accepting id of 0 in foreign relations (#17668)
  • Support double quotes with @section() (#17677)
  • Fixed parsing explicit validator rules (#17681)
  • Fixed SessionGuard::recaller() when request is null (#17688, 565456d)
  • Added missing force and tries options for queue:listen (#17687)
  • Fixed how reservation works when queue is paused (9d348c5)

v5.4.6 (2017-01-27)

Added

  • Generate non-existent models with make:controller (#17587, 382b78c)
  • Added TestResponse::dump() method (#17600)

Changed

  • Switch to ViewFactory contract in Mail/Markdown (#17591)
  • Use implicit binding when generating controllers with make:model (#17588)
  • Made PhpRedis method signatures compatibility with Predis (#17488)
  • Use config('app.name') in markdown/message.blade.php (#17604)
  • Use getStatusCode() instead of status() in TestResponse::fromBaseResponse() (#17590)

Fixed

  • Fixed loading of .env.testing when running PHPUnit (#17596)

v5.4.5 (2017-01-26)

Fixed

  • Fixed database session data not persisting (#17584)

v5.4.4 (2017-01-26)

Added

  • Add hasMiddlewareGroup() and getMiddlewareGroups() method to Router (#17576)

Fixed

  • Fixed --database option on migrate commands (#17574)
  • Fixed $sequence being always overwritten in PostgresGrammar::compileInsertGetId() (#17570)

Removed

  • Removed various unused parameters from view compilers (#17554)
  • Removed superfluous ForceDelete extension from SoftDeletingScope (#17552)

v5.4.3 (2017-01-25)

Added

  • Mock dispatch() method in MocksApplicationServices (#17543, d974a88)

Changed

  • Moved $forElseCounter property from BladeCompiler to CompilesLoops (#17538)

Fixed

  • Fixed bug in Router::pushMiddlewareToGroup() (1054fd2)
  • Fixed indentation in Notifications/resources/views/email.blade.php (0435cfc)

v5.4.2 (2017-01-25)

Fixed

  • Fixed removal of reset tokens after password reset (#17524)

v5.4.1 (2017-01-24)

Fixed

  • Fixed view parent placeholding (64f7e9c)

v5.4.0 (2017-01-24)

General

  • Added real-time facades 😈 (feb52bf)
  • Added retry() helper (e3bd359, 52e9381)
  • Added array_wrap() helper function (0f76617)
  • Added default 503 error page into framework (855a8aa, #16848)
  • Added Encrypter::encryptString() to bypass serialization (9725a8e)
  • Removed compiled class file generation and deprecated ServiceProvider::compiles() (#17003, 733d829)
  • Renamed DetectEnvironment to LoadEnvironmentVariables (c36874d)
  • Switched to ::class notation across the codebase (#17357)

Authentication

  • Secured password reset tokens against timing attacks and compromised databases (#16850, 9d674b0)
  • Refactored authentication component (7b48bfc, 5c4541b)
  • Added names to password reset routes (#16988)
  • Stopped touching the user timestamp when updating the remember_token (#17135)

Authorization

  • Consider interfaces and extended classes in Gate::resolvePolicyCallback() (#15757)

Blade

  • Added Blade components and slots (e8d2a45, a00a201)
  • Refactored Blade component (7cdb6a6, 5e394bb)
  • Refactored View component (#17018, bb998dc)
  • Refactored Blade @parent compilation (#16033, 16f72a5)
  • Added support for translation blocks in Blade templates (7179935)
  • Don't reverse the order of @pushed data (#16325)
  • Allow view data to be passed Paginator methods (#17331)
  • Add mix() helper method (6ea4997)
  • Escape inline sections content (#17453)

Broadcasting

  • Added model binding in broadcasting channel definitions (#16120, 515d97c)
  • Added Dispatchable::broadcast() 0fd8f8d
  • Switched to broadcasting events using new style jobs (#17433)

Cache

  • Added RedisStore::add() to store an item in the cache if the key doesn't exist (#15877)
  • Added cache:forget command (#16201, 7644977)
  • Refactored cache events (b7454f0, #17120)
  • Cache::flush() now returns boolean (#15831, 057492d)

Collections

  • Added higher-order messages for the collections (#16267, e276b3d, 2b7ab30, #16274, 724950a, #17000)
  • Allow collection macros to be proxied (#16749)
  • Added operator support to Collection::contains() method (#16791)
  • Added Collection::every() method (#16777)
  • Allow passing an array to Collection::find() (#16849)
  • Always return a collection when calling Collection::random() with a parameter (#16865)
  • Don't renumber the keys and keep the input array order in mapWithKeys() (#16564)

Console

  • Added --model to make:controller command to generate resource controller with type-hinted model (#16787)
  • Require confirmation for key:generate command in production (#16804)
  • Added ManagesFrequencies trait (e238299)
  • Added Queueable to queued listener stub (dcd64b6)
  • Switched from file to cache based Schedule overlap locking (#16196, 5973f6c)
  • Changed namespace generation in GeneratorCommand (de9e03d)
  • Added Command::$hidden and ScheduleFinishCommand (#16806)
  • Moved all framework command registrations into ArtisanServiceProvider (954a333, baa6054, 87bd2a9)
  • Support passing output buffer to Artisan::call() (#16930)
  • Moved tinker into an external package (#17002)
  • Refactored queue commands (07a9402, a82a25f, f2beb2b)
  • Allow tasks to be scheduled on weekends (#17085)
  • Allow console events to be macroable (#17107)

Container

  • Added Container::factory() method to the Container contract (#15430)
  • Added support for binding methods to the container (#16800, 1fa8ea0)
  • Trigger callback when binding an extension or resolving callback to an alias (c99098f)
  • Support contextual binding with aliases (c99098f)
  • Removed $parameters from Application::make() and app()/resolve() helpers (#17071, #17060)
  • Removed Container::share() (1a1969b)
  • Removed Container::normalize() (ff993b8)

DB

  • Refactored all database components (too many commits, sorry)
  • Allow rolling back to a given transaction save-point (#15876)
  • Added $values parameter to Builder::firstOrNew() (#15567)
  • Allow dependency injection on database seeders run() method (#15959)
  • Added support for joins when deleting deleting records using SqlServer (#16618)
  • Added collation support to SQLServerGrammar (#16227)
  • Don't rollback to save-points on deadlock (nested transaction) (#15932)
  • Improve Connection::selectOne() performance by switching to array_shift() (#16188)
  • Added having() shortcut (#17160)
  • Added customer connection resolver (#17248)
  • Support aliasing database names with spaces (#17312)
  • Support column aliases using chunkById() (#17034)
  • Execute queries with locks only on write connection (#17386)
  • Added compileLock() method to SqlServerGrammar (#17424)

Eloquent

  • Refactored Eloquent (too many commits, sorry)
  • Added support for object-based events for native Eloquent events (e7a724d, 9770d1a)
  • Added custom class support for pivot models (#14293, 5459777)
  • Use the model's primary key instead of id in Model::getForeignKey() (#16396)
  • Made date and datetime cast difference more explicit (#16799)
  • Use getKeyType() instead of $keyType in Model (#16608)
  • Only detach all associations if no parameter is passed to BelongsToMany::detach() (#16144)
  • Return a database collection from HasOneOrMany::createMany() (#15944)
  • Throw JsonEncodingException when Model::toJson() fails (#16159, 0bda866)
  • Default foreign key for belongsTo() relationship is now dynamic (#16847)
  • Added whereKey() method (#16558)
  • Use parent connection if related model doesn't specify one (#16103)
  • Enforce an orderBy clause for chunk() (#16283, #16513)
  • Added $connection parameter to create() and forceCreate() (#17392)

Events

  • Removed event priorities (dbbfc62, #17245, f83edc1)
  • Allow queued handlers to specify their queue and connection (fedd4cd)
  • Converted locale.changed event into LocaleUpdated class (3385fdc)
  • Unified wording (2dcde69)
  • Allow chaining queueable methods onto trait dispatch (9fde549)
  • Removed Queueable trait from event listeners subs (2a90ef4)

Filesystem

  • Use UUID instead of md5() for generating file names in FileHelpers (#16193)
  • Allow array of options on Filesystem operations (481f760)

HTTP

  • Refactored session component (66976ba, d9e0a6a)
  • Added Illuminate\Http\Request\Concerns traits (4810e9d)
  • Use variable-length method signature for CookieJar::queue() (#16290, ddabaaa)
  • Added FormRequestServiceProvider (b892805)
  • Renamed Http/Exception namespace to Http/Exceptions (#17398)
  • Renamed getJsonOptions() to getEncodingOptions() on JsonResponse (e689b2a)
  • Renamed VerifyPostSize middleware to ValidatePostSize (893a044)
  • Converted kernel.handled event into RequestHandled class (43a5e5f)
  • Throw AuthorizationException in FormRequest (1a75409)
  • Use Str::random instead of UUID in FileHelpers (#17046)
  • Moved getOriginalContent() to ResponseTrait (#17137)
  • Added JSON responses to the AuthenticatesUsers and ThrottlesLogins (#17369)
  • Added middleware to trim strings and convert empty strings to null (f578bbc)

Logging

  • Added LogServiceProvider to defer loading of logging code (#15451, 6550153, #15794)
  • The Log facade now uses LoggerInterface instead of the log writer (#15855)
  • Converted illuminate.log event into MessageLogged class (57c82d0)

Mail

  • Added support for Markdown emails and notifications (#16768, b876759, cd569f0, 5325385)
  • Refactored Mail component and removed SuperClosure dependency (50ab994, 5dace8f)
  • Allow Mailer to email HtmlString objects (882ea28)
  • Added hasTo(), hasCc() and hasBcc() to Mailable (fb29b38)

Notifications

  • Added NotificationSender class (5f93133)
  • Removed to and cc from mail MailMessage (ff68549)
  • Add salutation option to SimpleMessage notification (#17429)

Queue

Redis

Routing

Testing

Translations

  • Added JSON loader for translations and __() helper (#16424, #16470, 9437244)
  • Replaced Symfony's translator (#15563)
  • Added namespaces() method to translation loaders (#16664, fe7bbf7)
  • Switched to trans() helper in AuthenticatesUsers (#17202)

Validation

  • Refactored Validation component (#17005, 9e98e7a, 9b817f1)
  • Removed files hydration in Validator (#16017)
  • Added IPv4 and IPv6 validators (#16545)
  • Made date_format validation more precise (#16858)
  • Add place-holder replacers for *_or_equal rules (#17030)
  • Made sometimes() chainable (#17241)
  • Support wildcards in MessageBag::first() (#15217)
  • Support implicit keys in MessageBag::first() and MessageBag::first() (#17001)
  • Support arrays with empty string as key (#17427)
  • Add type check to validateUrl() (#17504)