Skip to content

v4.0.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@sergeyklay sergeyklay released this 23 Sep 08:59
· 4986 commits to master since this release
a48b319

Added

  • Added optional boolean parameter to Phalcon\Http\Request::getURI() (as well as its interface) which indicates whether or not the method should return only the path without the query string

Changed

  • Changed Phalcon\Url::get to use implementation behind Phalcon\Helper\Str::reduceSlashes to reduce slashes #14331
  • Changed Phalcon\Http\Headers\set() to return self for a more fluent interface
  • Changed Phalcon\Assets\Manager, Phalcon\Cli\Router, Phalcon\Dispatcher\AbstractDispatcher, Phalcon\Html\Tag, Phalcon\Http\Cookie, Phalcon\Http\Request, Phalcon\Http\Response\Cookies, Phalcon\Mvc\Model, Phalcon\Mvc\Router, Phalcon\Security, Phalcon\Session\Manager to use Phalcon\Di\AbstractDiAware for container functionality #14351
  • Changed Phalcon\Security to allow session and request in the constructor #14351
  • Changed Phalcon\Session\Manager to allow router in the constructor #14351
  • Changed Phalcon\Flash\Direct to allow escaper in the constructor #14349
  • Changed Phalcon\Flash\Session to allow escaper in the constructor #14349
  • Changed Phalcon\Di\AbstractDIAware to Phalcon\Di\AbstractInjectionAware #14359
  • Changed Phalcon\Di\Service to use DI to initialize string based services when possible #14342
  • Changed Phalcon\Mvc\Router\Annotations to be able to handle patterns az prefixes #14259
  • Changed Phalcon\Mvc\Router\Group::routes to an array as default #14259
  • Changed Phalcon\Mvc\Model::assign changed order of parameters to $data, $whiteList, $dataColumnMap #14386
  • Changed Phalcon\Helper\Arr::arrayToObject to toObject #14389
  • Changed Phalcon\Events\EventsAwareInterface::getEventsManager and Phalcon\Di\Injectable::getEventsManager to return also null #14404
  • Changed Phalcon\Logger\Adapter\AbstractAdapter::add to now return this #14404
  • Changed Phalcon\Mvc\RouterInterface methods signature to return RouteInterface instead of void:
    • Phalcon\Mvc\RouterInterface::setDefaultAction
    • Phalcon\Mvc\RouterInterface::setDefaultAction
    • Phalcon\Mvc\RouterInterface::setDefaultController
    • Phalcon\Mvc\RouterInterface::setDefaultModule
    • Phalcon\Mvc\RouterInterface::setDefaults
  • Changed return types for following interfaces:
    • Phalcon\Mvc\Router\RouteInterface::setName from void to RouteInterface
    • Phalcon\Mvc\Router\RouteInterface::via from void to RouteInterface
    • Phalcon\Session\ManagerInterface::__get from void to var

Fixed

  • Fixed Phalcon\Helper\Str::includes to return correct result #14301
  • Fixed Phalcon\Logger moved to correct namespace #14263
  • Fixed Phalcon\Session\Adapter\AbstractAdapter::read() to return ""(empty string) when Session/Adapter/*::get() returns null #14314
  • Fixed Phalcon\Cache\Exception to extend Phalcon\Exception
  • Fixed Phalcon\Cache\InvalidArgumentException to extend Phalcon\Exception
  • Fixed Phalcon\Collection\Exception to extend Phalcon\Exception
  • Fixed Phalcon\Storage\Adapter\AbstractAdapter::initSerializer to throw exception if null === $this->serializerFactory && null === $this->serializer #14324
  • Fixed Phalcon\Storage\Adapter\Redis::getAdapter() to provide a persistent id for redis persistent connection #14334
  • Fixed Phalcon\Session\Adapter\Stream to not override configured save path #14265
  • Fixed Phalcon\Http\Response::setFileToSend to properly handle non-ASCII filenames #13919
  • Fixed Phalcon\Security::getSessionToken return value #14346
  • Fixed Phalcon\Flash\* interfaces for message() to return string/null #14349
  • Fixed Phalcon\Paginator\Adapter\AbstractAdapter throw exception if limit <= 0 #14303
  • Fixed Phalcon\Mvc\Model\Query\Builder Empty table alias in query #14366
  • Fixed Phalcon\Db\Adapter\PdoFactory to reference the correct interface #14381
  • Fixed Phalcon\Db\Dialect\Mysql Fixed missing schema in constraint for create table #14378
  • Fixed Phalcon\Mvc\Model::hasChanged() and getChangedFields() returning false values when castOnHydrate option is on. #14376
  • Fixed Phalcon\Mvc\Model::create() Using write connection to prevent replica lag #14256
  • Fixed return types for following methods to satisfy interface declaration:
    • Phalcon\Acl\Adapter\AbstractAdapter::setDefaultAction
    • Phalcon\Application\AbstractApplication::setEventsManager
    • Phalcon\Firewall\Adapter\AbstractAdapter::setAlwaysResolvingRole
    • Phalcon\Firewall\Adapter\AbstractAdapter::setEventsManager
    • Phalcon\Mvc\Router::handle
    • Phalcon\Storage\Serializer\AbstractSerializer::getData
    • Phalcon\Storage\Serializer\AbstractSerializer::setData
    • Phalcon\Mvc\Dispatcher::forward
    • Phalcon\Mvc\Model::setConnectionService
    • Phalcon\Mvc\Model::setReadConnectionService
    • Phalcon\Mvc\Model::setWriteConnectionService
    • Phalcon\Mvc\Model\Query\Builder::setDI
    • Phalcon\Mvc\Router\Annotations::handle
    • Phalcon\Session\Bag::set
    • Phalcon\Session\Manager::remove
  • Fixed Phalcon\Di::remove() to remove service. #14396

Removed

  • Removed Phalcon\Plugin - duplicate of Phalcon\DI\Injectable #14359
  • Removed Phalcon\Mvc\Collection and all related references. 4.0 will not support mongo as it is being re-implemented to take advantage of the latest Mongo driver (see #13697) #14361
  • Removed Phalcon\Session\Manager::registerHandler - duplicate functionality #14381
  • Removed Phalcon\Html\Tag - duplicate functionality #14381
  • Removed void return type for all constructors #14401