Phalcon v4.0.0-rc.3 Release Notes

Release Date: 2019-11-16 // over 4 years ago
  • ➕ Added

    • ➕ Added support for PSR-13 links and evolvable links #14507
      • Added Phalcon\Html\Link\Link
      • Added Phalcon\Html\Link\LinkProvider
      • Added Phalcon\Html\Link\EvolvableLink
      • Added Phalcon\Html\Link\EvolvableLinkProvider
      • Added Phalcon\Html\Link\Serializer\Header
      • Added Phalcon\Html\Link\Serializer\SerializerInterface
    • ➕ Added Phalcon\Collection:getKeys and Phalcon\Collection\getValues for getting data from the collection #14507
    • ➕ Added has-one-through relations to Phalcon\Mvc\Model and Phalcon\Mvc\Model\Manager #14511
    • ➕ Added Phalcon\Mvc\Model::hasOneThrough()
    • ➕ Added Phalcon\Mvc\Model\Manager::addHasOneThrough()
    • ➕ Added Phalcon\Mvc\Model\Manager::existsHasOneThrough()
    • ➕ Added Phalcon\Mvc\Model\Manager::getHasOneThrough()
    • ➕ Added Phalcon\Mvc\Model\ManagerInterface::addHasOneThrough()
    • ➕ Added Phalcon\Mvc\Model\ManagerInterface::existsHasOneThrough()
    • ➕ Added Phalcon\Mvc\Model\ManagerInterface::getHasOneThrough()
    • ➕ Added Phalcon\Http\Request::numFiles to return the number of files in the request #14519

    🔄 Changed

    • 🔄 Changed Phalcon\Paginator\Adapter\Model
      • Removed the data parameter
      • Added model parameter to pass model class
      • Added optional parameter parameters which is used as the parameter Model::find()

    🛠 Fixed

    • 🛠 Fixed Phalcon\Annotations\AnnotationsFactory:newInstance to return the correct object back #14494
    • 🛠 Fixed return types:
      • Phalcon\Db\Adapter\PdoFactory::load() now returns Phalcon\Db\Adapter\AdapterInterface
      • Phalcon\Db\Adapter\PdoFactory::newInstance() now returns Phalcon\Db\Adapter\AdapterInterface
      • Phalcon\Logger\LoggerFactory::load() now returns Phalcon\Logger
      • Phalcon\Validation\ValidatorFactory::newInstance now returns Phalcon\Factory\ValidatorInterface
    • 🛠 Fixed Phalcon\Container:get to use getShared transparently #14502
    • 🛠 Fixed Phalcon\Mvc\Model to include correct model instances in messages metadata #14510
    • 🛠 Fixed Phalcon\Di\Injectable::__get() to return shared instance by default #14491
    • 🛠 Fixed Phalcon\Mvc\View::loadTemplateEngines() to not share engine with other views by default #14491
    • 🛠 Fixed Phalcon\Mvc\Model\Manager::getRelations() and getRelationsBetween() to return many-to-many relations correctly #14509
    • 🛠 Fixed Phalcon\Logger to correctly allow transactional logging #14514
    • 🛠 Fixed Phalcon\Annotations\Adapter\Stream::read and Phalcon\Annotations\Adapter\Stream::write to use serialize/unserialize vs. var_export #14515
    • 🛠 Fixed Phalcon\Http\Request::hasFiles to return boolean and true if files are present #14519
    • 🛠 Fixed Phalcon\Logger\Adapter\Syslog to correctly log Syslog messages #14522
    • 🛠 Fixed Phalcon\Mvc\Model\MetaDataInterface::getIdentityField and Phalcon\Mvc\Model\MetaData::getIdentityField to also return null if the identity field is not present #14523
    • 🛠 Fixed Phalcon\Storage\Serializer\Json to serialize objects that implement the JsonSerializable interface #14528
    • 🛠 Fixed Phalcon\Collection to correctly return one level nested objects that implement JsonSerializable #14528
    • 🛠 Fixed Phalcon\Mvc\View to only include first found instance of view when using multiple view directories #12977

    ✂ Removed

    • ✂ Removed Phalcon\Logger\Formatter\Syslog - really did not do much #14523