Releases: phalcon/cphalcon
Releases · phalcon/cphalcon
v3.1.0
- Added
Phalcon\Validation\Validator\Callback,Phalcon\Validation::getData - Added the ability to truncate database tables
- Added
Phalcon\Mvc\Model\Binder, class used for binding models to parameters in dispatcher, micro, addedPhalcon\Dispatcher::getBoundModelsandPhalcon\Mvc\Micro::getBoundModelsto getting bound models, addedPhalcon\Mvc\Micro\Collection\LazyLoader::callMethod - Added afterBinding event to
Phalcon\DispatcherandPhalcon\Mvc\Micro, addedPhalcon\Mvc\Micro::afterBinding - Added the ability to set custom Resultset class returned by find() #12166
- Added the ability to clear appended and prepended title elements (Phalcon\Tag::appendTitle, Phalcon\Tag::prependTitle). Now you can use array to add multiple titles. For more details check #12238.
- Added the ability to specify what empty means in the 'allowEmpty' option of the validators. Now it accepts as well an array specifying what's empty, for example ['', false]
- Added the ability to use
Phalcon\ValidationwithPhalcon\Mvc\Collection, deprecatedPhalcon\Mvc\Model\Validatorclasses - Added the value of the object intanceof Interface to
Phalcon\Acl\Adapter\Memory - Added the ability to get original values from
Phalcon\Mvc\Model\Binder, addedPhalcon\Mvc\Micro::getModelBinder,Phalcon\Dispatcher::getModelBinder - Added
prependparameter toPhalcon\Loader::registerto specify autoloader's loading order to top most - Fixes internal cache saving in
Phalcon\Mvc\Model\Binderwhen no cache backend is used - Fixed
Phalcon\Session\Bag::removeto initialize the bag before removing a value #12647 - Fixed
Phalcon\Mvc\Model::getChangedFieldsto correct detect changes from NULL to Zero #12628 - Fixed
Phalcon\Mvc\Modelto create/refresh snapshot after create/update/refresh operation #11007, #11818, #11424 - Fixed
Phalcon\Mvc\Model::validateto correctly set code message #12645 - Fixed
Phalcon\Mvc\Modelto correctly add error when try to save empty string value to not null and not default column #12688 - Fixed
Phalcon\Validation\Validator\Uniquenesscollection persistent condition - Fixed
Phalcon\Loader::autoLoadto prevent PHP warning #12684 - Fixed
Phalcon\Mvc\Model\Query::_executeSelectto correctly get the column map #12715 - Fixed params view scope for PHP 5 #12648
v3.1.0-alpha2
Next public alpha for 3.1.x series
v3.1.0-alpha1
First public alpha for 3.1.x series
Version 3.0.4
- Fixed Isnull check is not correct when the model field defaults to an empty string. #12507
- Fixed
Phalcon\Forms\Element::labelto accept 0 as label instead of validating it as empty. #12148 - Fixed
Phalcon\Crypt::getAvailableCiphers,Phalcon\Crypt::decrypt,Phalcon\Crypt::encryptby getting missed aliases for ciphers #12539 - Fixed
Phalcon\Mvc\Modelby adding missedusestatement forResultsetInterface#12574 - Fixed adding role after setting default action #12573
- Fixed except option in
Phalcon\Validation\Validator\Uniquenssto allow using except fields other than unique fields - Cleaned
Phalcon\Translate\Adapter\Gettext::queryand removed ability to pass custom domain #12598, #12606 - Fixed
Phalcon\Validation\Message\Group::offsetUnsetto correct unsetting a message by index #12455 - Fix using
Phalcon\Acl\RoleandPhalcon\Acl\Resourceas parameters forPhalcon\Acl\Adapter\Memory::isAllowed
Version 3.0.3
- Fixed implementation of Iterator interface in a
Phalcon\Forms\Formthat could cause a run-time warning - Fixed
Phalcon\Cache\Backend\Redis::get,Phalcon\Cache\Frontend\Data::afterRetrieveto allow get empty strings from the Redis database #12437 - Fixed
Phalcon\Cache\Backend\Redis::existsto correct check if cache key exists for empty value in the Redis database #12434 - Fixed
Phalcon\Security::checkTokento prevent possible timing attack #12418 - Fixed
Phalcon\Mvc\Model\Resultset\Simpleto save snapshot when caching - Fixed
Phalcon\Http\Request::getHeadersto handle auth headers correctly #12480 - Fixed
Phalcon\Http\Request::getMethodto handleX-HTTP-Method-Overrideheader correctly #12478 - Fixed
Phalcon\Mvc\Model\Criteria::limitandPhalcon\Mvc\Model\Query\Builder::limitto work withlimitandoffsetproperly #12419 - Fixed
Phalcon\Forms\Formto correct form validation and set messages for elements #12465, #11500, #11135, #3167, #12395 - Fixed
Phalcon\Cache\Backend\Libmemcached::queryKeysto correct query the existing cached keys #11024 - Fixed building extension for ImageMagick 7 mkoppanen/imagick#180
- Fixed
Phalcon\Cache\Backend\Redis::saveto allow save data termlessly #12327
Version 3.0.2
- Fixed saving snapshot data while caching model #12170, #12000
- Fixed
Phalcon\Http\Response\Headers::sendto send correct status header #12179 - Fixed
Phalcon\Mvc\Model::setSnapshotData,Phalcon\Mvc\Model\Resultset\Simple::toArrayby fixing an issue likefetch a, a[key]using Zephir #11205, #12147 - Fixed
Phalcon\Cache\Backend\Memcache::flushto remove all query keys after flush memcached #12182 - Fixed
Phalcon\Cache\Backend\Memory::deleteto correct remove items fromPhalcon\Cache\Backend\Memory::$_data - Fixed
Phalcon\Cache\Frontend\Data::afterRetrieve,Phalcon\Cache\Frontend\Igbinary::afterRetrieve,Phalcon\Cache\Frontend\Msgpack::afterRetrieveto unserialize only raw data #12186 - Fixed
Phalcon\Mvc\Model::cloneResultMapHydrateto correct create array/objects from data by column map with types #12191 - Fixed
Phalcon\Validation\Validator\Confirmation::validateto usefieldWithinstead offieldwhen looking up the value for labelWith. - Fixed
Phalcon\Cache\Backend\Redis::_connectto useselectredis internal function only when theindexis greater than zero. - Fixed
Phalcon\Config\Adapter\Ini::_castto allow create extended config adapters #12230. - Fixed
Phalcon\Tag::appendTitle,Phalcon\Tag::prependTitleto stack title prepending and appending #12233. - Fixed
Phalcon\Debug::getVersionto provide valid link to the latest Phalcon major version #12215 - Fixed
Phalcon\Session\Adapter\Libmemcached::read,Phalcon\Session\Adapter\Libmemcached::destroy,Phalcon\Session\Adapter\Memcache::read,Phalcon\Session\Adapter\Memcache::destroy,Phalcon\Session\Adapter\Redis::readandPhalcon\Session\Adapter\Redis::destroyin accordance with thesession_set_save_handlerAPI #12206 - Fixed
Phalcon\Validation::getValue()to use filters when having entity - Fixed
Phalcon\Db\Dialect\Mysql::describeReferences()andPhalcon\Db\Dialect\Postgresql::describeReferences()to return proper sql - Fixed
Phalcon\Db\Column::hasDefaultto returnfalsefor autoincrement columns phalcon/phalcon-devtools#853 - Fixed
Phalcon\Db\Dialect\Postgresql::createTable,Phalcon\Db\Dialect\Postgresql::addColumn,Phalcon\Db\Dialect\Postgresql::modifyColumnto correct escape default values #12267, phalcon/phalcon-devtools#859 - Fixed
Phalcon\Forms\Form::bindto clean form elements #11978, #12165, #12099, #10044 - Fixed
Phalcon\Tag::resetInputfor proper use without attempts to clear$_POST#12099 - Fixed
Phalcon\Db\Dialect\MysqlandPhalcon\Db\Dialect\Postresqlto correctly check schema in missing methods - Fixed
Phalcon\Cache\Backend\Apc::flushto remove only it's own keys by prefix #12153 - Fixed
Phalcon\Acl\Adapter\Memory::isAllowedto call closures when using wildcard #12333 - Fixed
Phalcon\Validation\Validator\Filearray to string conversion inminResolutionandmaxResolution#12349 - Fixed
Phalcon\Cache\Backend\File::queryKeys()to compare the filename against parsed prefix - Database identifiers are now properly escaped #12410
Version 3.0.1
- Fixed
Phalcon\Cache\Backend\Redis::flushin order to flush cache correctly - Fixed
Phalcon\Mvc\Model\Manager::getRelationRecordsto correct using multi relation column #12035 - Fixed
Phalcon\Acl\Resource. Now it implementsPhalcon\Acl\ResourceInterface#11959 - Fixed
savemethod for all cache backends. Now it updates the_lastKeyproperty correctly #12050 - Fixed virtual foreign key check when having multiple keys #12071
Phalcon\Config\Adapter\Iniconstructor can now specifyparse_ini_file()scanner mode #12079- Fixed
Phalcon\Cache\Backend\Apc::savedue to which theApc::increment/Apc::decrementcould not be used properly #12109 - Fixed
Phalcon\Mvc\Model\Criteria::inWhereso that now the second parameter can be an empty array #10676 - Fixed ORM related memory leak #12115, #11995, #12116
- Fixed incorrect
Phalcon\Mvc\View::getActiveRenderPathbehavior #12139 - Fixed
Phalcon\Security\Random::base64Safeso that now the method returns correct safe string #12141 - Fixed the
Phalcon\Translate\Adapter\Gettext::getOptionsDefaultvisibility #12157 - Enabled PHQL cache for PHP7 to improve performance and reuse plannings
Version 3.0.0
- PHP 5.3 and 5.4 are now fully deprecated
Phalcon\Mvc\Model\Validationis now deprecated in favor ofPhalcon\Validation- Changed default hash algorithm in
Phalcon\SecuritytoCRYPT_BLOWFISH_Y - Changed constructor of
Phalcon\Mvc\Modelto allow pass an array of initialization data - Removed support for prefixes strategy in
Phalcon\Loader - Now
Phalcon\Mvc\Viewsupports many views directories at the same time - An absolute path can now be used to
Mvc\View::setLayoutsDir - Fixed odd view behavior#1933 related to setLayout() and pick()
Phalcon\Diis now bound to services closures allowing usePhalcon\Dias $this to access services within them- If an object is returned after firing the event
beforeServiceResolveinPhalcon\Dithis overrides the
default service localization process - Placeholders
:controllerand:actioninMvc\Routernow defaults to/([\\w0-9\\_\\-]+)instead of/([\\a-zA-Z0-9\\_\\-]+) - Modifier
#u(PCRE_UTF8) is now default in regex based routes inMvc\Router - Return 'false' from an action disables the view component (same as
$this->view->disable()) - Return a string from an action takes it as the body of the response (same as return
$this->response->setContent('Hello world')) - Return a string from an
Mvc\Microhandler takes it as the body of the response Mvc\Router\Routenow escapes characters such as . or + to avoid unexpected behaviors- Closures used as handlers in
Mvc\Microare now bound to the $app instance - Routes now can have an associated callback that can override the default dispatcher + view behavior
Phalcon\Mvc\Modelnow implementsJsonSerializablemaking easy serialize model instances- When destructing a
Mvc\Model\ManagerPHQL cache is clean - Method
isSetOptioninPhalcon\Validation\ValidatorInterfacemarked as deprecated, please usehasOption - Added internal check "allowEmpty" before calling a validator. If it option is true and the value of empty, the validator is skipped
- Added default header:
Content-Type: "application/json; charset=UTF-8"in methodPhalcon\Http\Response::setJsonContent - Now
Phalcon\Events\EventimplementsPhalcon\Events\EventInterface Phalcon\Events\Event::getCancelablerenamed toPhalcon\Events\Event::isCancelable- Removed
Phalcon\Events\Manager::dettachAllin favor ofPhalcon\Events\Manager::detachAll Phalcon\Mvc\Model\Criteria::getOrderrenamed toPhalcon\Mvc\Model\Criteria::getOrderBy- Added method
getOption()inPhalcon\Mvc\Model\RelationInterface - Added ability to spoof HTTP request method
- Added FULLTEXT index type to
Phalcon\Db\Adapter\Pdo\Mysql - Fixed the use of the annotation router with namespaced controllers
- Added
Phalcon\Acl\RoleAwareandPhalcon\Acl\ResourceAwareInterfaces, Now you can pass objects toPhalcon\Acl\AdapterInterface::isAllowedasroleNameandresourceName, also they will be automatically passed to function defined inPhalcon\Acl\AdapterInterface::alloworPhalcon\Acl\AdapterInterface::denyby type Phalcon\Acl\AdapterInterface::allowandPhalcon\Acl\AdapterInterface::denyhave 4th argument - function, which will be called when usingPhalcon\Acl\AdapterInterface::isAllowedPhalcon\Acl\AdapterInterface::isAllowedhave 4th argument - parameters, you can pass arguments for function defined inPhalcon\Acl\AdapterInterface:alloworPhalcon\Acl\AdapterInterface::denyas associative array where key is argument name- Added method
getActionSuffix()inPhalcon\DispatcherInterface - CLI parameters are now handled consistently.
- Added
Phalcon\Mvc\Controller\BindModelInterfaceand associated model type hint loading through dispatcher. - Added
Phalcon\Dispatcher::hasParam(). Phalcon\Cli\ConsoleandPhalcon\Mvc\Applicationnow inheritPhalcon\Application.- Fixed
afterFetchevent not being sent to behaviors - Fixed issue with radio not being checked when default value is 0 #11358
- Fixed issue with
Model::__setthat was bypassing setters #11286 - Fixed issue with
Model::__setthat was setting hidden attributes directly when setters are not declared #11286 - Added
Phalcon\Cli\DispatcherInterface,Phalcon\Cli\TaskInterface,Phalcon\Cli\RouterInterfaceandPhalcon\Cli\Router\RouteInterface. - Added
Phalcon\Mvc\Collection::update,Phalcon\Mvc\Collection::createandPhalcon\Mvc\Collection::createIfNotExist - Removed
__constructfrom all interfaces #11410 - Fires the
dispatch:beforeExceptionevent when there is any exception during dispatching #11458 - Added
ORoperator forPhalcon\Mvc\Model\Query\Buildermethods:betweenWhere,notBetweenWhere,inWhereandnotInWhere - Fixed bug of
destroymethod ofPhalcon\Session\Adapter\Libmemcached - Added
Phalcon\Cache\Backend\Memcache::addServersto enable pool of servers for memcache - Added
setLastModifiedmethod toPhalcon\Http\Response - Added
Phalcon\Validation\Validator\Date - Added
\Phalcon\Queue\Beanstalk::ignore()It removes the named tube from the watch list for the current connection. - Added
\Phalcon\Queue\Beanstalk::pauseTube()Can delay any new job being reserved for a given time. - Added
\Phalcon\Queue\Beanstalk::kick()It moves jobs into the ready queue. If there are any buried jobs, it will only kick buried jobs. Otherwise it will kick delayed jobs. - Added
\Phalcon\Queue\Beanstalk::listTubeUsed()Returns the tube currently being used by the client. - Added
\Phalcon\Queue\Beanstalk::listTubesWatched()Returns a list tubes currently being watched by the client. - Added
\Phalcon\Queue\Beanstalk::peekDelayed()Return the delayed job with the shortest delay left. - Added
\Phalcon\Queue\Beanstalk::jobPeek()Return job. - Mcrypt is replaced with openssl in
Phalcon\Crypt - Default encrypt algorithm in
Phalcon\Cryptis now changed toAES-256-CFB - Removed methods setMode(), getMode(), getAvailableModes() in
Phalcon\CryptInterface - Added
Phalcon\Assets\Manager::exists()to check if collection exists Phalcon\Mvc\Model\Manager::load()now can load models from aliased namespacesPhalcon\Mvc\Model\Transaction\Managernow correctly keeps account of transactions #11554Phalcon\Db\Dialect\Sqlitenow maps additional column types to SQLite columns equivalents.Phalcon\Securityis using nowPhalcon\Security\Random- Enforced that
Phalcon\Security::getToken()andPhalcon\Security::getTokenKey()return a random value per request not per call Phalcon\Security::getToken()andPhalcon\Security::getTokenKey()are using nowPhalcon\Security::_numberBytesinstead of passed as a argument or hardcoded valuePhalcon\Security::hash()corrected not working CRYPT_STD_DES, CRYPT_EXT_DES, MD5, CRYPT_SHA256Phalcon\Security::hash()CRYPT_SHA512 fixed wrong salt length- Added missing unit-tests for
Phalcon\Security - Fixed
Filter::addmethod handler #11581 - Removed
Phalcon\Session#11340 - Phalcon\Tag::getTitle() shows a title depending on prependTitle and appendTitle
- Using a settable variable for the Mongo Connection Service name instead of a hard coded string #11725
- Added new getter
Phalcon\Mvc\Model\Query\Builder::getJoins()- to get join parts from query builder - Fixed
Phalcon\Db\Dialect\Oracle::prepareTable()to correctly generate SQL for table aliases #11799 - Fixed
Phalcon\Mvc\Model\Resultset::update()- removed endless loop queries - The cache backend adapters now returns boolean on call
Phalcon\Cache\BackendInterface::save - Fixed the Session write callback #11733
- Added '\Phalcon\Loader::registerFiles' & '\Phalcon\Loader::getFiles'. This allows you to add files to the autoloader
- Added
Phalcon\Security::hasLibreSslandPhalcon\Security::getSslVersionNumber - Added new setter
Phalcon\Escaper::setDoubleEncode()- to allow setting/disabling double encoding - Added
Phalcon\Cache\Frontend\Msgpack- Added Msgpack Support for Frontend Cache Phalcon\Debug\Dumpskip debugging di, fix detecting private/protected properties- Added option to validate multiple fields with one validator(fix uniqueness validator as well), also removes unnecessary
model => $thisinPhalcon\Validation\Validator\Uniqueness. Phalcon\Validation\Validator\Alphanow correctly validates non-ASCII characters #11386Phalcon\Validation\Validator\Digitnow correctly validates digits #11374- Added
Phalcon\Validation\CombinedFieldsValidator, validation will pass array of fields to this validator if needed - Added ability to autoescape Flash messages #11448
- Fixed
Phalcon\Config::mergefor working with php7 - Added ability to use custom delimiter for
Phalcon\Text::camelizeandPhalcon\Text::uncamelize#10396 - Added support of
CONNECT,TRACEandPURGEHTTP methods - Refactored
Phalcon\Http\Request::getHttpHost. Now it always return host name or empty string. Optionally validates and clean host name #2573 - Added
Phalcon\Http\Request::getPort. To get information about the port on which the request is made. - Added
Phalcon\Http\Request::setStrictHostCheckand `Phal...
Version 2.0.13 stable
- Restored
Phalcon\Text::camelizebehavior #11767 - Used Zephir v0.9.2