Phalcon Versions Save

High performance, full-stack PHP framework delivered as a C extension.

v5.0.1

1 year ago

Fixed

  • Fixed Phalcon\Encryption\Security\JWT\Token\Token::validate() to correctly call validator methods #16115

Added

  • Added Phalcon\Encryption\Security\JWT\Validator::get() and Phalcon\Encryption\Security\JWT\Validator::set() for validation data #16115

v5.0.0

1 year ago

Changed

  • Changed Phalcon\Logger\Adapter\Stream::process to open the log file, check for locks, write contents and close the stream #16072
  • Changed getters and setters from shorthand format to full methods #16102
  • Changed return types to array in Phalcon\Annotations\Reflection class methods #16106
  • Changed Phalcon\Html\Escaper::attributes() to also accept an array of attributes #16108

Fixed

  • Fixed and improved return type of object & ?object #16023
  • Fixed Phalcon\Filter\Validation\Validator\Digit to use only strings for ctype_* calls #16064
  • Fixed Phalcon\Flash\AbstractFlash::outputMessage to return the message (implicitFlush) #16063
  • Fixed Phalcon\Filter\Validation\Validator\Numericality to correctly detect illegal characters within string numbers #16070
  • Fixed segmentation fault on Reflection of Phalcon\Mvc\Model class #16080
  • Fixed segmentation fault on Reflection #16096

Added

  • Added Phalcon\Encryption\Security\JWT\Token::validate() to validate a token's claims #16094
  • Added Phalcon\Encryption\Security\JWT\Token::verify() to verify a token's signature #16094
  • Added Phalcon\Encryption\Security\JWT\Validator::getErrors() to return any errors with the validation as an array #16094

v5.0.0RC4

1 year ago

Fixed

  • Reverted to single quotes when volt code generates PHP code.
  • Any tag helpers only accept parameters with double quotes
  • Renamed Phalcon\Tag::form() to Phalcon\Tag::formLegacy (helper form_legacy) #16019
  • Fixed
    • Phalcon\Cli\Router::getMatchedRoute()
    • Phalcon\Cli\RouterInterface::getMatchedRoute()
    • Phalcon\Mvc\Router::getMatchedRoute()
    • Phalcon\Mvc\RouterInterface::getMatchedRoute() to return RouterInterface or null #16030
  • Fixed
    • Phalcon/Storage/Serializer/Base64::unserialize()
    • Phalcon/Storage/Serializer/Igbinary::unserialize()
    • Phalcon/Storage/Serializer/Igbinary::serialize()
    • Phalcon/Storage/Serializer/Php::unserialize() to reset isSuccess value #16040
  • Fixed Phalcon\Paginator\Adapter\Model::paginate() fix group parameter breaking total items #16042
  • Fixed Phalcon\Mvc\Model::doLowUpdate() prevent RawValue getting overwritten #16037
  • Refactored Phalcon\Image\*
    • Reorganized code in the image adapters
    • Simplified various areas, speeding up processing
    • Removed getInternalImImage() (same as getImage()) for Phalcon\Image\Adapter\Imagick
    • Added better support for webm images #15977

v5.0.0RC3

1 year ago

Fixed

  • Fixed Phalcon\Tag::textArea() to check if the value is null before calling htmlspecialchars #15992
  • Fixed
    • Phalcon/Filter/Validation/Validator/Alnum
    • Phalcon/Filter/Validation/Validator/Alpha
    • Phalcon/Filter/Validation/Validator/Confirmation
    • Phalcon/Filter/Validation/Validator/CreditCard
    • Phalcon/Filter/Validation/Validator/StringLength/Max
    • Phalcon/Filter/Validation/Validator/StringLength/Min to check if the value is null before calling internal PHP methods #15992
  • Fixed Phalcon\Html\Helper\Title to properly use indent and delimiter #15984
  • Fixed Phalcon\Html\Helper\Doctype to properly use indent and delimiter #15984
  • Fixed Phalcon\Mvc\View\Engine\Volt::isIncluded() and Phalcon\Mvc\View\Engine\Volt::length() to check for null values before calls to php methods #15984
  • Fixed Phalcon\Mvc\View\Engine\Volt\Compiler::expression() to use double quotes instead of single ones #15984
  • Fixed Phalcon\Support\Version::getPart() to always return string values #15984
  • Fixed Phalcon\Dispatcher\DispatcherInterface::setModuleName() to accept null #15997
  • Fixed Phalcon\Dispatcher\AbstractDispatcher::setModuleName() to accept null #15997
  • Fixed Phalcon\Dispatcher\AbstractDispatcher::getModuleName() to also return null #15997

Added

  • Added support for webp images for Phalcon\Image\Adapter\Gd #15977
  • Added Phalcon\Mvc\Model\ManagerInterface::getBuilder() to return the existing builder (created by createBuilder()) #15966
  • Added Phalcon\Mvc\Model\Manager::getBuilder() to return the existing builder (created by createBuilder()) #15966

v5.0.0RC2

1 year ago

Changed

  • Changed the StringVal filter to now use htmlspecialchars() #15978

Fixed

  • Fixed Phalcon\Http\Response::getQualityHeader() to check if the server variable is null before performing preg_split #15984

Added

  • Added StringValLegacy filter using filter_var() for PHP < 8.1 #15978

v5.0.0RC1

1 year ago

Changed

  • Changed Phalcon\Session\Bag::__construct() to accept a Phalcon\Session\Manager as the first parameter and name as the second one #15904
  • Changed Phalcon\Logger\Logger to no longer depend on PSR interfaces #15925
  • Changed Phalcon\Cache\Cache to no longer depend on PSR interfaces #15927
  • Changed Phalcon\Html\Link to no longer depend on PSR interfaces #15930

Fixed

  • Fixed Phalcon\Html\Helper\Input\Numeric to produce correct elements #15896
  • Fixed Phalcon\Storage\Adapter\* to correctly store null values #15904

Added

  • Added Phalcon\Encryption\Crypt::isValidDecryptLength($input) to allow checking for the length of the decryption string #15879
  • Added Phalcon\Di\InitializationAwareInterface to allow auto calling the initialize method when accessing service through DIC #15916
  • Added
    • Phalcon\Storage\Serializer\MemcachedIgbinary
    • Phalcon\Storage\Serializer\MemcachedJson
    • Phalcon\Storage\Serializer\MemcachedPhp
    • Phalcon\Storage\Serializer\RedisIgbinary
    • Phalcon\Storage\Serializer\RedisJson
    • Phalcon\Storage\Serializer\RedisMsgpack
    • Phalcon\Storage\Serializer\RedisNone
    • Phalcon\Storage\Serializer\RedisPhp to be used if adapter serialization is required #15904
  • Added
    • Phalcon\Logger\LoggerInterface
    • Phalcon\Logger\AbstractLogger to be used in the logger class but also the proxy-psr3 repo #15925
  • Added
    • Phalcon\Cache\CacheInterface
    • Phalcon\Cache\AbstractCache to be used in the cache class but also the proxy-psr16 repo #15927
  • Added
    • EvolvableLinkInterface.zep
    • Phalcon\Html\Link\Interfaces\EvolvableLinkProviderInterface
    • Phalcon\Html\Link\Interfaces\LinkInterface
    • Phalcon\Html\Link\Interfaces\LinkProviderInterface
    • Phalcon\Html\Link\AbstractLink
    • Phalcon\Html\Link\AbstractLinkProvider to be used in the link class but also the proxy-psr13 repo #15930
  • Added Phalcon\Translate\Adapter\Csv::toArray() and Phalcon\Translate\Adapter\NativeArray::toArray() to return the translation array back #15902

Removed

  • Removed Phalcon\Container\Container and moved its contents to the proxy-psr11 repo #15928
  • Removed Phalcon\Http\Message\* and Phalcon\Http\Server\* classes. This removes PSR from Phalcon. PSR-7 available in v6 #15929

v5.0.0beta3

2 years ago

Changed

  • Renamed Phalcon\Db\Result\Pdo to Phalcon\Db\Result\PdoResult to avoid collisions with \PDO #15874

Fixed

  • Fixed Phalcon\Logger\AbstractAdapter::getFormattedItem() to not add PHP_EOL at the end of the message and added it to the Phalcon\Logger\Adapter\Stream #14547
  • Fixed Phalcon\Html\Helper\Title:__invoke() to not use the $separator as parameter - no need to redefine it in a view #15866
  • Fixed the delimiters for Phalcon\Support\Helper\SnakeCase and Phalcon\Support\Helper\KamelCase #15850
  • Fixed Phalcon\Mvc\Router\Route::getName() and Phalcon\Mvc\Router\Route::getHostname() to also return null #15880
  • Fixed Phalcon\Mvc\Router\RouteInterface::getName() and Phalcon\Mvc\Router\RouteInterface::getHostname() to also return null #15880
  • Fixed Phalcon\Mvc\Model::findFirst() to return mixed or null #15883

Added

  • Added Phalcon\Html\Helper\Title:setSeparator to allow setting the separator independently #15866

v4.1.3

2 years ago

Fixed

  • Fixed Phalcon\Mvc\Model::getRelated() to correctly return relationships (cached or not) when the foreign key has changed #15649

v5.0.0beta2

2 years ago

Fixed

  • Phalcon\Mvc\View\Engine\Volt\Compiler::functionCall() to check for container presence before checking the tag service #15842
  • Phalcon\Di\FactoryDefault() to set assets and tag as shared services #15847
  • Phalcon\Forms\Element\AbstractElement::getLocalTagFactory() to return the tagFactory from itself, the form, the DI or a new instance #15847
  • Changed references to sha1 with hash("sha256", $data) to ensure that there are no collisions from the hashing algorithm #15844
  • Changed Phalcon\Support\Helper\Str\Camelize to accept a third boolean parameter indicating whether the result will have the first letter capitalized or not #15850

Added

  • Added Phalcon\Support\Helper\Str\KebabCase, Phalcon\Support\Helper\Str\PascalCase and Phalcon\Support\Helper\Str\SnakeCase helpers #15850

v5.0.0beta1

2 years ago

Changed

  • Marked as deprecated:
    • Phalcon\Mvc\Model::existsBelongsTo()
    • Phalcon\Mvc\Model::existsHasMany()
    • Phalcon\Mvc\Model::existsHasOne()
    • Phalcon\Mvc\Model::existsHasOneThrough()
    • Phalcon\Mvc\Model::existsHasManyToMany()
    • Phalcon\Translate\Adapter\Csv::exists()
    • Phalcon\Translate\Adapter\Gettext::exists()
    • Phalcon\Translate\Adapter\NativeArray::exists() #15785
  • Moved Phalcon\Container to Phalcon\Container\Container #15796
  • Changed the Phalcon\Support\Collection::get() to return the default value if the key does not exist or the value is null to mirror the behavior of v3. #15370
  • Moved Phalcon\Registry to Phalcon\Support\Registry #15802
  • Moved Phalcon\Url to Phalcon\Mvc\Url #15798
  • Moved Phalcon\Loader to Phalcon\Autoload\Loader #15797
  • Changes to Phalcon\Autoload\Loader:
    • Renamed registerClasses() to setClasses()
    • Renamed registerDirectories() to setDirectories()
    • Renamed registertExtensions() to setExtensions()
    • Renamed registertFiles() to setFiles()
    • Renamed registertNamespaces() to setNamespaces() #15797
  • Moved Phalcon\Di to Phalcon\Di\Di #15799
  • Removed references to Phalcon\Tag from the framework in favor of Phalcon\Html\TagFactory #15801
  • Phalcon\Forms\Form requires a Phalcon\Html\TagFactory to be set before it can render elements #15801
  • Phalcon\Di\FactoryDefault will now return a Phalcon\Html\TagFactory for the tag service #15801

Fixed

  • Phalcon\Logger\LoggerFactory::load() to correctly use the key of the adapters array as the name of the adapter #15831

Added

  • Added:
    • Phalcon\Mvc\Model::hasBelongsTo()
    • Phalcon\Mvc\Model::hasHasMany()
    • Phalcon\Mvc\Model::hasHasOne()
    • Phalcon\Mvc\Model::hasHasOneThrough()
    • Phalcon\Mvc\Model::hasHasManyToMany()
    • Phalcon\Translate\Adapter\Csv::has()
    • Phalcon\Translate\Adapter\Gettext::has()
    • Phalcon\Translate\Adapter\NativeArray::has() #15785
  • Added filter, camelize, dynamic and uncamelize in Phalcon\Support\HelperFactory #15805
  • Added Phalcon\Autoload\Loader::getDebug() to collect debugging information from the loader (enabled from the constructor) #15797

Fixed

  • Fixed Phalcon\Dispatcher\Dispatcher::setParams() not updating local params during dispatch() loop #15603
  • Fixed related records auto-save with belongsTo() relation #15148

Removed

  • Removed Phalcon\Exception; replaced by \Exception #15800