cphalcon

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

BSD-3-CLAUSE License

Downloads
234.4K
Stars
10.8K
Committers
327
cphalcon - v5.0.1

Published by niden about 2 years 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
cphalcon - v5.0.0

Published by niden about 2 years 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
cphalcon - v5.0.0RC4

Published by niden about 2 years 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
cphalcon - v5.0.0RC3

Published by niden over 2 years 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
cphalcon - v5.0.0RC2

Published by niden over 2 years 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
cphalcon - v5.0.0RC1

Published by niden over 2 years 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
cphalcon - v5.0.0beta3

Published by Jeckerson over 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
cphalcon - v4.1.3

Published by niden almost 3 years ago

Fixed

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

Published by niden almost 3 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
cphalcon - v5.0.0beta1

Published by niden almost 3 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
cphalcon - v5.0.0alpha7

Published by niden almost 3 years ago

Changed

  • Changes to the Phalcon\Acl:
    • Renamed Phalcon\Acl\ComponentAware to Phalcon\Acl\ComponentAwareInterface
    • Renamed Phalcon\Acl\RoleAware to Phalcon\Acl\RoleAwareInterface #15691
  • Changed require to require_once in Phalcon\Loader to avoid conflicts with other loaders #15489
  • Changed require to require_once in Phalcon\Cli\Console and Phalcon\Mvc\Application for a bit of extra performance #15489
  • Phalcon\Collection has been moved under the Support namespace:
    • Renamed Phalcon\Collection to Phalcon\Support\Collection
    • Renamed Phalcon\Collection\Exception to Phalcon\Support\Collection\Exception
    • Renamed Phalcon\Collection\ReadOnly to Phalcon\Support\Collection\ReadOnly
    • Renamed Phalcon\Collection to Phalcon\Support\Collection #15700
  • Changes to Phalcon\Session\Bag:
    • Changed Phalcon\Session\Bag::construct to accept a container instead of internally calling the default
    • Changed Phalcon\Session\Bag::construct to throw an exception if the container is not specified
    • Changed Phalcon\Session\Bag::init to store the data in the session #15494
  • Changed Phalcon\Events\Event::construct() to allow source to be nullable #15133
  • Changes to Phalcon\Crypt
    • Moved Phalcon\Crypt\Exception to Phalcon\Crypt\Exception\Exception
    • Moved Phalcon\Crypt\Mismatch to Phalcon\Crypt\Exception\Mismatch
    • Changed the ccm/gcm modes to store the authTag with the encryption string and process it with the decryption string #15717
  • Created new namespace Phalcon\Encryption
    • Moved Phalcon\Crypt to Phalcon\Encryption\Crypt
    • Moved Phalcon\Security to Phalcon\Encryption\Security
    • Moved the whole Security namespace under Encryption
      • Security\JWT\Exceptions\UnsupportedAlgorithmException to Encryption\Security\JWT\Exceptions\UnsupportedAlgorithmException
      • Security\JWT\Exceptions\ValidatorException to Encryption\Security\JWT\Exceptions\ValidatorException
      • Security\JWT\Signer\AbstractSigner to Encryption\Security\JWT\Signer\AbstractSigner
      • Security\JWT\Signer\Hmac to Encryption\Security\JWT\Signer\Hmac
      • Security\JWT\Signer\None to Encryption\Security\JWT\Signer\None
      • Security\JWT\Signer\SignerInterface to Encryption\Security\JWT\Signer\SignerInterface
      • Security\JWT\Token\AbstractItem to Encryption\Security\JWT\Token\AbstractItem
      • Security\JWT\Token\Enum to Encryption\Security\JWT\Token\Enum
      • Security\JWT\Token\Item to Encryption\Security\JWT\Token\Item
      • Security\JWT\Token\Parser to Encryption\Security\JWT\Token\Parser
      • Security\JWT\Token\Signature to Encryption\Security\JWT\Token\Signature
      • Security\JWT\Token\Token to Encryption\Security\JWT\Token\Token
      • Security\JWT\Builder to Encryption\Security\JWT\Builder
      • Security\JWT\Validator to Encryption\Security\JWT\Validator
      • Security\JWT\Validator to Encryption\Security\JWT\Validator
      • Security\Exception to Encryption\Security\Exception
      • Security\Random to Encryption\Security\Random #15729
  • Renamed
    • Phalcon\Crypt\Crypt::getHashAlgo() to Phalcon\Crypt\Crypt::getHashAlgorithm()
    • Phalcon\Crypt\Crypt::getAvailableHashAlgos() to Phalcon\Crypt\Crypt::getAvailableHashAlgorithms()
    • Phalcon\Crypt\Crypt::setHashAlgo() to Phalcon\Crypt\Crypt::setHashAlgorithm() #15717
  • Renamed Phalcon\Factory\AdapterFactory::getAdapters() to Phalcon\Factory\AdapterFactory::getServices() #15717
  • Changed Phalcon\Crypt\Crypt::__construct() to have useSigning set to true by default #15717
  • Changes to Phalcon\Config
    • Moved Phalcon\Config to Phalcon\Config\Config
    • Changed Phalcon\Config\Config::path by making the delimiter parameter a string
    • Changed Phalcon\Config\Adapter\Ini::__construct to not accept null as the mode. The default is now INI_SCANNER_NORMAL (2)
    • Refactored the code for more efficiency and speed #15720
  • Changed Phalcon\Db\Adapter\AdapterInterface::getInternalHandler() and Phalcon\Db\Adapter\Pdo\AbstractPdo::getInternalHandler() to return var instead of \PDO for custom adapters with different engines #15119
  • Moved Phalcon\Filter to Phalcon\Filter\Filter; added more tests #15726
  • Changed Phalcon\Mvc\Model::getPreparedQuery() to return QueryInterface instead of Query #15562
  • Moved Phalcon\Cache to Phalcon\Cache\Cache #15728
  • Changed Phalcon\Factory\AdapterFactory to define the factory exception in getExceptionClass() instead of a property. #15728
  • Renamed Phalcon\Db\Adapter\AbstractAdapter::getSqlVariables() to Phalcon\Db\Adapter\AbstractAdapter::getSQLVariables() to align with the rest of the getSQL* methods #15637
  • Moved Phalcon\Logger to Phalcon\Logger\Logger #15727
  • Changes to Phalcon\Escaper
    • Moved Phalcon\Escaper to Phalcon\Html\Escaper
    • Moved Phalcon\Escaper\EscaperInterface to Phalcon\Html\Escaper\EscaperInterface
    • Moved Phalcon\Escaper\Exception to Phalcon\Html\Escaper\Exception
    • Deprecated methods (to be removed at a future version)
      • escapeCss() becomes css()
      • escapeJs(), becomes js()
      • escapeHtml() becomes html()
      • escapeHtmlAttr() becomes attributes()
      • escapeUrl() becomes url()
      • setHtmlQuoteType() becomes setFlags() #15757
  • Changed Phalcon\Encryption\Security::hash() to also use password_hash() and accept ARGON2* algorithms #15731
  • Removed uncamelize of realClassName in Phalcon\Mvc\Router\Route::getRoutePaths() if definition is string to make processing same as if array definition #15067
  • Changed Phalcon\Validation::getValue() behavior to get value from data if not found in entity. #14203
  • Changed Phalcon\Forms\Form::isValid() signature: added whitelist argument. #14203
  • Changed Phalcon\Support\Collection\ReadOnly to Phalcon\Support\Collection\ReadOnlyCollection to avoid conflicts with the read-only feature in PHP 8.1 #15767
  • Removed Phalcon\Text - replaced by Phalcon\Support\Helper\Str\* #15776
  • Removed Phalcon\Helper\Arr - replaced by Phalcon\Support\Helper\Arr\* #15776
  • Removed Phalcon\Helper\File - replaced by Phalcon\Support\Helper\File\* #15776
  • Removed Phalcon\Helper\Json - replaced by Phalcon\Support\Helper\Json\* #15776
  • Removed Phalcon\Helper\Number - replaced by Phalcon\Support\Helper\Number\* #15776
  • Removed Phalcon\Helper\Str - replaced by Phalcon\Support\Helper\Str\* #15776
  • Removed references to Phalcon\Text, Phacon\Helper\* from the code replacing it with Phalcon\Support\Helper\* #15776
  • Synchronized tests with phalcon/phalcon thus increasing coverage #15776
  • Changed Phalcon\Assets\Manager to require a Phalcon\Html\TagFactory in its constructor #15776

Added

  • Added more tests in the suite for additional code coverage #15691
  • Added Phalcon\Events\AbstractEventsAware class to handle the Events Manager when necessary #15691
  • Added Phalcon\Acl\Adapter\AdapterInterface::getInheritedRoles() and Phalcon\Acl\Adapter\Memory::getInheritedRoles() that returns the inherited roles based on a passed role name (or all if no parameter supplied) #15154
  • Changes to Phalcon\Crypt
    • Added Phalcon\Crypt\Padding\PadInteface and padding adapters
      • Phalcon\Crypt\Padding\Ansi
      • Phalcon\Crypt\Padding\Iso10126
      • Phalcon\Crypt\Padding\IsoIek
      • Phalcon\Crypt\Padding\Noop
      • Phalcon\Crypt\Padding\PadInterface
      • Phalcon\Crypt\Padding\Pkcs7
      • Phalcon\Crypt\Padding\Space
      • Phalcon\Crypt\Padding\Zero
    • Added Phalcon\Crypt\PadFactory to easily create padding adapters
    • Added more tests increasing coverage #15717
  • Added Phalcon\Cache\Adapter\*::setForever() and Phalcon\Storage\Adapter\*::setForever() to allow storing a key forever #15485
  • Added Phalcon\Encryption\Security::getHashInformation() to return information for a hash #15731
  • Added constants Phalcon\Encryption\Security::CRYPT_ARGON2I and Phalcon\Encryption\Security::CRYPT_ARGON2ID #15731
  • Added allowEmpty checks to common validators #15515
  • Added Phalcon\Forms\Form::getFilteredValue() to get filtered value without providing entity #15438
  • Added Phalcon\Forms\Form::setWhitelist() and Phalcon\Forms\Form::getWhitelist() #14203
  • Added dirtyState serialization in Phalcon\Mvc\Model #15571
  • Added short versions of helpers for Phalcon\Html\TagFactory (call service as a method) #15776
  • Added short versions of helpers for Phalcon\Support\HelperFactory (call service as a method) #15776
  • Added Phalcon\Html\Helper\Doctype helper for doctype generation #15776
  • Added style or link tag option for Phalcon\Html\Helper\Style #15776

Fixed

  • Fixed Query::getExpression() return type #15553
  • Fixed Phalcon\Mvc\Model::getRelated() to correctly return relationships (cached or not) when the foreign key has changed #15649
  • Fixed Phalcon\Db\Adapter\Pdo\*, Phalcon\Mvc\Model and Phalcon\Mvc\Model\MetaData\Strategy\Annotations to treat BIGINT numbers as string #15632
  • Fixed Phalcon\Crypt\Crypt::decrypt() to correctly calculate the hash when using signed mode #15717
  • Fixed Phalcon\Mvc\Model\Manager::isVisibleModelProperty() to correctly check if setting property is visible #15276
  • Fixed Phalcon\Config\Config::merge to retain numeric indexes in deep merges #14705
  • Fixed globals (Zephir change) to correctly display string values for global settings in phpinfo() #15269
  • Fixed Phalcon\Storage\Adapter\Redis::getAdapter() and Phalcon\Cache\Adapter\Redis::getAdapter() to accept the connection timeout in the constructor options #15744
  • Fixed Phalcon\Db\Adapter\AbstractAdapter::getSQLVariables() to return an empty array when initialized #15637
  • Fixed Phalcon\Cache\Adapter\* and Phalcon\Storage\Adapter\* to delete a key when set() is called with a zero or negative TTL #15485
  • Fixed Phalcon\Db\Adapter\Pdo\Mysql to not use PDO::ATTR_EMULATE_PREPARES and PDO::ATTR_STRINGIFY_FETCHES by default. This allows numbers to be returned with resultsets instead of strings for numeric fields #15361
  • Fixed Phalcon\Validation\Validator\File to use messageFileEmpty #14928
  • Fixed Phalcon\Db\RawValue usage bugs in Phalcon\Mvc\Model::doLowUpdate() #15413
  • Fixed type attribute for stylesheet links #15776
  • Fixed Phalcon\Debug to not throw an exception if a URL service is not present #15381

Removed

  • Removed Phalcon\Kernel - obsolete #15776
cphalcon - v5.0.0alpha6

Published by niden about 3 years ago

All notable changes to this version has been documented in the CHANGELOG-5.0.md file.

Supported PHP versions: 7.4, 8.0

cphalcon - v5.0.0alpha5

Published by niden about 3 years ago

All notable changes to this version has been documented in the CHANGELOG-5.0.md file.

Supported PHP versions: 7.4, 8.0

cphalcon - v5.0.0alpha4

Published by niden about 3 years ago

All notable changes to this version has been documented in the CHANGELOG-5.0.md file.

Supported PHP versions: 7.4, 8.0

cphalcon - v5.0.0alpha3

Published by niden over 3 years ago

All notable changes to this version has been documented in the CHANGELOG-5.0.md file.

Supported PHP versions: 7.4, 8.0

cphalcon - v5.0.0-alpha.2

Published by niden over 3 years ago

All notable changes to this version has been documented in the CHANGELOG-5.0.md file.

cphalcon - v4.1.2

Published by niden over 3 years ago

Supported PHP versions 7.3, 7.4

Changed

  • Corrected version in package.xml
cphalcon - v4.1.1

Published by niden over 3 years ago

Supported PHP Versions: 7.2, 7.3, 7.4

Changed

  • Corrected max PHP version for PECL

Fixed

  • Fixed Logger\Log::log() log to recognize all log levels #15214
  • Changed setClaims to be protected so that the Phalcon\Security\JWT\Builder class can be properly extended. #15322
cphalcon - v5.0.0-alpha.1

Published by niden over 3 years ago

Supported PHP Versions: 7.4, 8.0

Fixed

  • Support for PHP 7.4 and PHP 8.0
  • Fixed Logger\Log::log() log to recognize all log levels #15214
  • Changed setClaims to be protected so that the Phalcon\Security\JWT\Builder class can be properly extended. #15322
  • Fixed Phalcon\Mvc\Model::average() to return float value when is string #15287
  • Fixed Phalcon\Storage\Serializer\Igbinary to store is_numeric and bool values properly #15240
  • Fixed Phalcon\Validation\Validator\Confirmation was failing to compare cases such as 000123 = 123 #15347
  • Fixed Phalcon\Storage\Adapter failing to retrieve empty like stored data (such as [], 0, false) 15125
  • Fixed declarations for function getEventsManager() to allow null return 15010
  • Removed underscore from method names (starting) to abide with PSR-12 15345
  • Fixed Phalcon\Flash\Session::has() to properly check if any messages are existing 15204
cphalcon - v4.1.0

Published by niden almost 4 years ago

Supported PHP Versions: 7.2, 7.3, 7.4

Added

  • Added JWT (JSON Web Tokens) support under Phalcon\Security\JWT. Offers support for:
    • Token
    • Parser
    • Builder
    • Validator
    • Signers (None, HMAC)
    • Base64 encode/decodeUrl helper class
      #13856
  • Added additional HTML helpers under Phalcon\Html\Helper: Anchor, Base, Body, Button, Close, Element, Form, Img, Input\Color, Input\Date, Input\DateTime, Input\DateTimeLocal, Input\Email, Input\File, Input\Hidden, Input\Image, Input\Input, Input\Month, Input\Numeric, Input\Password, Input\Range, Input\Select, Input\Search, Input\Submit, Input\Tel, Input\Text, Input\Textarea, Input\Time, Input\Url, Input\Week, Label, Link, Meta, Ol, Script, Style, Title, Ul
    #14696
  • Added Phalcon\Http\Request::getPreferredIsoLocaleVariant() to return the base language if this is a specific one (en vs en-US) #3135
  • Added preload for Volt, which will send a HTTP/2 preload header #13128
  • Added Phalcon\Helper\Arr::blackList() to exclude elements of an array by the keys obtained from the elements of a blacklist #14801 @TimurFlush
  • Added Phalcon\Debug::renderHtml() to get a HTML representation of the exception #14794 @TimurFlush
  • Added Phalcon\Mvc\Router\Annotations->setActionPreformatCallback($callback) to set a callback which pre-formats actions to custom pattern #14819
  • Added new PDO wrapper for the Data Mapper implementation, with decorated instance, locator and profiler
    • Phalcon\DataMapper\Pdo\Connection
    • Phalcon\DataMapper\Pdo\Connection\Decorated
    • Phalcon\DataMapper\Pdo\Profiler\Profiler
    • Phalcon\DataMapper\Pdo\Profiler\MemoryLogger
    • Phalcon\DataMapper\Pdo\ConnectionLocator
      This component will be used in the Data Mapper implementation but can be used as a stand alone component for PDO connections. #14733
  • Added new Query Builder, as well as a factory, for the Data Mapper implementation supporting CRUD with bound parameters
    • Phalcon\DataMapper\Query\Bind
    • Phalcon\DataMapper\Query\Delete
    • Phalcon\DataMapper\Query\Insert
    • Phalcon\DataMapper\Query\Select
    • Phalcon\DataMapper\Query\Update
    • Phalcon\DataMapper\Query\QueryFactory
      This component can be used to create SQL statements using a fluent interface. Optionally the statements can be executed from the builder itself using the DataMapper\Pdo connection. #14734
  • Added Phalcon\Mvc\Micro\LazyLoader::getHandler() to return real handler when using lazy loaded controllers for Phalcon\Mvc\Micro #14871 @Jurigag
  • Added Phalcon\Collection\CollectionInterface and Phalcon\Config\ConfigInterface to use as typehints when extending or implementing custom classes #15106 @BeMySlaveDarlin
  • Added Phalcon\Db\Adapter\AdapterInterface::getDefaultValue() and supportsDefaultValue() methods to properly support the DEFAULT keyword #15180
  • Added Phalcon\Db\Adapter\AbstractAdapter::supportsDefaultValue() method to properly support the DEFAULT keyword #15180

Changed

  • Added service checks for the session. Now cookies will be saved in the session only when the session service is defined #11770, #14649
  • Changed Phalcon\Db\Adapter\*::getRawSQLStatement() to return the full SQL query with parameters #12196
  • Changed Phalcon\Filter::sanitize to throw a E_USER_NOTICE when a filter does not exist. #14679
  • PHQL now supports the use of any printable characters from the extended ASCII table for escaped identifiers. The exception characters are [ and ]. To use [ and ] escape they (\[, \]) #14535
  • Removed UTF-8 charset when using Phalcon\Http\Response::setJsonContent to apply with rfc7159
  • Changed the visibility of properties in Phalcon\Http\Message\Uri to work with clone. #15040
  • Change Phalcon\Validation\AbstractValidator::__construct. Save custom validator message in options. #15053 @ivan-zolotavin
  • Add proxy methods without _ prefix in methods names: getRelatedRecords(), groupResult(), exists(), preSaveRelatedRecords(), preSave(), doLowUpdate(), postSaveRelatedRecords(), postSave(), cancelOperation(), doLowInsert(), getConnection(), getConnectionService(), getVersion(), getSpecial() #14971
  • Modified Phalcon\Mvc\Model\Relation to accept callable params for model relations. #15158

Fixed

  • Fixed Phalcon\Db\Dialect\Mysql::getColumnDefinition to recognize size for DATETIME, TIME and TIMESTAMP columns #13297
  • Fixed Phalcon\Events\Manager to provide callable support #13322, #15045
  • Fixed Phalcon\Validation\Validator\Uniqueness fixed except query #15084
  • Fixed Phalcon\Mvc\Model to also check the params option in cascade relations when deleting #15098
  • Fixed Phalcon\Mvc\Model to also check the params option in restricted relations when deleting #15172
  • Fixed Phalcon\Mvc\Model::findFirst() to return correct value #15077
  • Fixed Phalcon\Mvc\Model\CriteriaInterface::where() parameters #15144
  • Fixed Phalcon\Http\Response\Cookies::set() to utilize the options parameter correctly #15129
  • Fixed Phalcon\Http\Cookie::send() to define options parameter #15142
  • Fixed Phalcon\Crypt performance issues. #15118
  • Fixed Phalcon\Mvc\Router\Route unicode support in patterns #15102
  • Fixed fatal error in Phalcon\Mvc\Model::cloneResultMap() when column map is used with orm.cast_on_hydrate turned on. #14617
  • Fixed Phalcon\Mvc\Model::sum(), average(), minimum(), maxmium(), count() to utilize the transaction parameter. #15113
  • Fixed Phalcon\Mvc\Model::__set() to clear dirtyRelated when empty array is set. #14822
  • Fixed Phalcon\Mvc\Model to skip columns with default values when the DEFAULT keyword is not supported by the database adapter (SQLite) #15180
  • Fixed Phalcon\Mvc\Router to handle numeric routes properly #14926
  • Fixed Phalcon\Session\Adapter\Redis and Phalcon\Session\Adapter\Libmemcached to utilize the prefix option #15184
  • Fixed Phalcon\Mvc\Model to save the modified properties of previously queried single related records. #15148

Removed

  • Removed Phalcon\Http\Cookie binding to session #11770
    • Phalcon\Http\Cookie no longer depends on the session service and data will not be duplicated in the session. This made it difficult to use cookies in stateless applications (SPA).
  • Removed unused property Phalcon\Mvc\Router::uriSource. #15123
Package Rankings
Top 3.55% on Proxy.golang.org
Top 6.24% on Alpine-v3.11
Top 6.18% on Alpine-v3.5
Top 2.33% on Packagist.org
Top 6.87% on Alpine-v3.3
Top 6.64% on Alpine-v3.4
Top 7.94% on Alpine-v3.10
Top 6.3% on Alpine-v3.9
Badges
Extracted from project README
Phalcon 5.x CI Codecov master Codecov 5.0x Discord Contributors Phalcon Backers OpenCollective OpenCollective 5.0 Pull Requests 5.0 Issues