Skip to content

4.1 Roadmap

othercorey edited this page May 9, 2020 · 34 revisions

This release is a backwards compatible release with 4.0.

New Features

This list is not complete, and is an aspirational list not a promise.

Application

Database

  • Tested with mysql8

  • Provide an API to enable custom application type classes to map provide concrete SQL types for a given SQL dialect. This would allow custom types to be used in fixture schema. See https://github.com/cakephp/bake/issues/567 (moved to 4.2)

  • Add a CastExpression and automatically cast function expressions when the type is known. This will require making sure all our expression classes have a returnType like FunctionExpression does (https://github.com/cakephp/cakephp/issues/7534) (moved to 4.2)

ORM

  • Replace the __call() magic method in \Cake\ORM\Query, and add concrete implementation in the ORM, so that the source code is easier to reason about, requires less docblock links and is more obvious when being read. #11751 (moved to 4.2)
  • Add window function support.

Error

  • Improve the HTML variable dump output from debug() to have collapsible sections for nested objects.
  • Add styled output for debug() in console environments.
  • Add editor links in the Error page. Default to phpstorm, and allow format to be configured in application config.

Log

  • Improve log message creation so that context variables are formatted into the message string. This allows usage like $logger->log('info', 'Thing {color}', ['color' => $value])

DI(C)

  • RFC/Draft for DI (Dependency Injection) in CakePHP (moved to 4.2)

Deprecations

  • Add warnings for QueryExpression::or_() and QueryExpression::and_().
  • Add warning for TableSchemaInterface::primaryKey() and ContextInterface::primaryKey().