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 - Version 3.0.0

Published by andresgutierrez about 8 years ago

  • PHP 5.3 and 5.4 are now fully deprecated
  • Phalcon\Mvc\Model\Validation is now deprecated in favor of Phalcon\Validation
  • Changed default hash algorithm in Phalcon\Security to CRYPT_BLOWFISH_Y
  • Changed constructor of Phalcon\Mvc\Model to allow pass an array of initialization data
  • Removed support for prefixes strategy in Phalcon\Loader
  • Now Phalcon\Mvc\View supports 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\Di is now bound to services closures allowing use Phalcon\Di as $this to access services within them
  • If an object is returned after firing the event beforeServiceResolve in Phalcon\Di this overrides the
    default service localization process
  • Placeholders :controller and :action in Mvc\Router now defaults to /([\\w0-9\\_\\-]+) instead of /([\\a-zA-Z0-9\\_\\-]+)
  • Modifier #u (PCRE_UTF8) is now default in regex based routes in Mvc\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\Micro handler takes it as the body of the response
  • Mvc\Router\Route now escapes characters such as . or + to avoid unexpected behaviors
  • Closures used as handlers inMvc\Micro are now bound to the $app instance
  • Routes now can have an associated callback that can override the default dispatcher + view behavior
  • Phalcon\Mvc\Model now implements JsonSerializable making easy serialize model instances
  • When destructing a Mvc\Model\Manager PHQL cache is clean
  • Method isSetOption in Phalcon\Validation\ValidatorInterface marked as deprecated, please use hasOption
  • 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 method Phalcon\Http\Response::setJsonContent
  • Now Phalcon\Events\Event implements Phalcon\Events\EventInterface
  • Phalcon\Events\Event::getCancelable renamed to Phalcon\Events\Event::isCancelable
  • Removed Phalcon\Events\Manager::dettachAll in favor of Phalcon\Events\Manager::detachAll
  • Phalcon\Mvc\Model\Criteria::getOrder renamed to Phalcon\Mvc\Model\Criteria::getOrderBy
  • Added method getOption() in Phalcon\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\RoleAware and Phalcon\Acl\ResourceAware Interfaces, Now you can pass objects to Phalcon\Acl\AdapterInterface::isAllowed as roleName and resourceName, also they will be automatically passed to function defined in Phalcon\Acl\AdapterInterface::allow or Phalcon\Acl\AdapterInterface::deny by type
  • Phalcon\Acl\AdapterInterface::allow and Phalcon\Acl\AdapterInterface::deny have 4th argument - function, which will be called when using Phalcon\Acl\AdapterInterface::isAllowed
  • Phalcon\Acl\AdapterInterface::isAllowed have 4th argument - parameters, you can pass arguments for function defined in Phalcon\Acl\AdapterInterface:allow or Phalcon\Acl\AdapterInterface::deny as associative array where key is argument name
  • Added method getActionSuffix() in Phalcon\DispatcherInterface
  • CLI parameters are now handled consistently.
  • Added Phalcon\Mvc\Controller\BindModelInterface and associated model type hint loading through dispatcher.
  • Added Phalcon\Dispatcher::hasParam().
  • Phalcon\Cli\Console and Phalcon\Mvc\Application now inherit Phalcon\Application.
  • Fixed afterFetch event not being sent to behaviors
  • Fixed issue with radio not being checked when default value is 0 #11358
  • Fixed issue with Model::__set that was bypassing setters #11286
  • Fixed issue with Model::__set that was setting hidden attributes directly when setters are not declared #11286
  • Added Phalcon\Cli\DispatcherInterface, Phalcon\Cli\TaskInterface, Phalcon\Cli\RouterInterface and Phalcon\Cli\Router\RouteInterface.
  • Added Phalcon\Mvc\Collection::update, Phalcon\Mvc\Collection::create and Phalcon\Mvc\Collection::createIfNotExist
  • Removed __construct from all interfaces #11410
  • Fires the dispatch:beforeException event when there is any exception during dispatching #11458
  • Added OR operator for Phalcon\Mvc\Model\Query\Builder methods: betweenWhere, notBetweenWhere, inWhere and notInWhere
  • Fixed bug of destroy method of Phalcon\Session\Adapter\Libmemcached
  • Added Phalcon\Cache\Backend\Memcache::addServers to enable pool of servers for memcache
  • Added setLastModified method to Phalcon\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\Crypt is now changed to AES-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 namespaces
  • Phalcon\Mvc\Model\Transaction\Manager now correctly keeps account of transactions #11554
  • Phalcon\Db\Dialect\Sqlite now maps additional column types to SQLite columns equivalents.
  • Phalcon\Security is using now Phalcon\Security\Random
  • Enforced that Phalcon\Security::getToken() and Phalcon\Security::getTokenKey() return a random value per request not per call
  • Phalcon\Security::getToken() and Phalcon\Security::getTokenKey() are using now Phalcon\Security::_numberBytes instead of passed as a argument or hardcoded value
  • Phalcon\Security::hash() corrected not working CRYPT_STD_DES, CRYPT_EXT_DES, MD5, CRYPT_SHA256
  • Phalcon\Security::hash() CRYPT_SHA512 fixed wrong salt length
  • Added missing unit-tests for Phalcon\Security
  • Fixed Filter::add method 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::hasLibreSsl and Phalcon\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\Dump skip 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 => $this in Phalcon\Validation\Validator\Uniqueness.
  • Phalcon\Validation\Validator\Alpha now correctly validates non-ASCII characters #11386
  • Phalcon\Validation\Validator\Digit now 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::merge for working with php7
  • Added ability to use custom delimiter for Phalcon\Text::camelize and Phalcon\Text::uncamelize #10396
  • Added support of CONNECT, TRACE and PURGE HTTP 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::setStrictHostCheck and Phalcon\Http\Request::isStrictHostCheck to manage strict validation of host name.
  • Fixed matching host name by Phalcon\Mvc\Route::handle when using port on current host name #2573
  • Fixed Phalcon\Text:dynamic() to allow custom separator #11215
  • Fixed Phalcon\Validation::appendMessage to allow append message to the empty stack #10405
  • Fixed Phalcon\Session\Flash::getMessages. Now it returns an empty array in case of non existent message type request #11941
  • Amended Phalcon\Mvc\RouterInterface and Phalcon\Mvc\Router. Added missed addPurge, addTrace and addConnect methods
  • Fixed incorrect query when using NULL fields with Phalcon\Validation\Validator\Uniqueness
  • Fixed Phalcon\Forms\Form::getValue. Now Elements can have names that match with the internal Form getters #10398
  • Add setContentLength() method to Phalcon\Http\Response
  • Fixed Phalcon\Mvc\Model\Manager::_mergeFindParameters - Merging conditions #11987
  • Renamed Phalcon\Http\Request::isSoapRequest to Phalcon\Http\Request::isSoap and Phalcon\Http\Request::isSecureRequest to Phalcon\Http\Request::isSecure. Left the originals functions as aliases and marked them deprecated.
  • Fixed wildcard inheritance in Phalcon\Acl\Adapter\Memory #12004
  • Dropped support of Oracle #12008
  • Improved Phalcon\Mvc\Collection::findById. Added check if a id in a valid format #12010
  • Added convert option to Phalcon\Validation\Validator\Uniqueness to convert values to do the database lookup #12005
cphalcon - Version 2.0.13 stable

Published by sergeyklay over 8 years ago

  • Restored Phalcon\Text::camelize behavior #11767
  • Used Zephir v0.9.2
cphalcon - Version 2.0.12 stable

Published by sergeyklay over 8 years ago

  • Fixed regression changes for Phalcon\Mvc\View\Engine\Volt::callMacro #11745
  • Fixed the argument type of Phalcon\Flash::success #11764
  • Restored Phalcon\Text::camelize behavior #11767
cphalcon - Version 2.0.11 stable

Published by andresgutierrez over 8 years ago

  • Fix Model magic set functionality to maintain variable visibility and utilize setter methods.#11286
  • Added a prepareSave event to model saving
  • Added support for OnUpdate and OnDelete foreign key events to the MySQL adapter
  • Added ability to setLogLevel on multiple logs #10429
  • Fixed regression changes for Phalcon\Translate\Adapter\Gettext::prepareOptions #11429
  • Fixed Phalcon\Mvc\View\Engine\Volt::callMacro bug. Now it's correctly calling call_user_func_array instead of call_user_func
  • Fixed undefined method call Phalcon\Mvc\Collection\Manager::getConnectionService. Now Phalcon\Mvc\Collection::getConnectionService works correctly in according to documentation
cphalcon - Version 2.0.10 stable

Published by andresgutierrez over 8 years ago

  • ORM: Added support for DATE columns in Oracle
  • Fixed wrong total_items and total_pages in Paginator when the query builder has set groupBy()
  • Fixed Phalcon\Acl\Memory::allow bug#11210 related to the inconsistent behavior with access specified as string and array
  • Added quoting column in Phalcon\Db\Dialect\MySQL::addColumn when define position of the column
  • Added support to define position of the column in Phalcon\Db\Dialect\MySQL::modifyColumn
  • Fixed Phalcon\Mvc\Model\Query\Builder bug#11298 related to resetting limit to null
  • Fixed Phalcon\Tag::getTitle bug#11185. Now a title will be automatically escaped.
  • Fixed Phalcon\Translate\Adapter\Gettext::exists bug#11310 related to the wrong returned value (always true)
  • Fixed Phalcon\Translate\Adapter\Gettext::setLocale bug#11311 related to the incorrect setting locale
  • Added ability to persistent connection in Phalcon\Queue\Beanstalk::connect
  • Fixed Phalcon\Http\Response::redirect bug#11324. Incorrect initialization local array of status codes
  • Fixed cache backends bug#11322 related to saving number 0
  • Fixed Phalcon\Db\Dialect::escape bug#11359. Added ability to use the database name with dots.
cphalcon - Version 2.0.9 stable

Published by andresgutierrez almost 9 years ago

  • Improved overall support of SQL for migrations
  • Fixed bug that double serializes data using Redis adapter
  • Added console:boot event to allow the developer to perform initialization actions
  • Added implementation options allowEmpty for Phalcon\Mvc\Model\Validator\Ip
  • Fixed SQLite bug[#10997] related to setting of index type
  • Added Phalcon\Db\Dialect\Sqlite::listIndexesSql - to generate the SQL to get query list of indexes
  • Fixed MySQL bug[#11036] related to setting of index type
  • Added missed RouteInterface::setHostname, RouteInterface::getHostname
  • Added strict option for ExclusionIn validator
  • Added Phalcon\Text::underscore - to make a phrase underscored instead of spaced
  • Added Phalcon\Text::humanize - to make an underscored or dashed phrase human-readable
  • Added ability to change document class to be returned in ODM through class option
cphalcon - Version 2.0.8 Stable

Published by andresgutierrez about 9 years ago

  • Added Phalcon\Security\Random::base58 - to generate a random base58 string
  • Added Phalcon\Logger\Adapter::isTransaction() to check whether the logger is currently in transaction
    mode or not (Phalcon 1.3 behavior)
  • Phalcon\Session\Adapter now closes the session when the adapter is destroyed (Phalcon 1.3 behavior)
  • Fixed fetching of data in modes FETCH_CLASS, FETCH_INTO and FETCH_FUNC in Phalcon\Db
  • Added missing code property in Phalcon\Validation\Message available in Phalcon 1.3.x
  • Added Phalcon\Db\Column::TYPE_TIMESTAMP to allow migrations on these kind of columns
  • Added Phalcon\Db\ColumnInterface::hasDefault to check if a column has a default value declared in its database
    column definition
  • Fixed determining of default value for column in Phalcon\Db\Dialect\MySQL, Phalcon\Db\Dialect\Sqlite and
    Phalcon\Db\Dialect\Postgresql classes
  • Now Phalcon\Mvc\Model::__call invokes finders as in __callStatic
  • Fixed Phalcon\Db\Dialect\Postgresql::getColumnDefinition for BIGINT and BOOLEAN data types
  • Fixed BOOLEAN default value in Phalcon\Db\Dialect\Postgresql
  • Added Phalcon\Validation\Validator\CreditCard - validation credit card number using luhn algorithm
cphalcon - Version 2.0.7 Stable

Published by andresgutierrez about 9 years ago

  • Image\Adapter\Gd::save() no longer fails if the method or the instance is created with a filename without an extension
  • Fixed segfault and implementation of Image\Adapter\Imagick::text()
  • Exceptions thrown in Volt compiler are now Phalcon\Mvc\View\Engine\Exception
  • Now you can import macros from other files using {% include "file.volt" %}
  • Undefined function calls fall back to macro calls in Volt templates
  • Automatic bound parameters in Mvc\Model\Criteria now uses a different prefix
    than Mvc\Model\Query\Builder to avoid collisions
  • Added Cache\Multiple::flush() to flush the cache backends added to the multiple system
  • Fixed Session\Bag::remove()
  • Session\Bag::destroy() eliminates any temporary data in the variables bag
  • afterCreate/afterUpdate are only called if saving related records was successful
  • Added an optional parameter removeData to Session\Adapter::remove() to remove any data in $_SESSION that belongs to the uniqueId or the whole session data
  • Now session variables making use of unique prefixes use # as internal separator
  • Added parameter that changes the default operator for conditions in method Mvc\Model\Criteria::fromImput() #10749
  • Added \Phalcon\Queue\Beanstalk::listTubes() to get list of a tubes
  • Added a fix to avoid that a table present in many sub-queries causes invalid SQL generation
  • Add CookieInterface, update Cookie and Cookies to use this interface - Decoupling Cookies and Cookie - Check Session state before using it in Cookie. #10789
  • Fixed merge of two Phalcon\Config instances that contains object values different than Phalcon\Config compatible instances
  • When creating tables in Postgres, inline PRIMARY keys are now escaped properly#10797
  • Fixed incorrect generation of SELECT COUNT(*) causing unexpected exceptions when phqlLiterals is disabled
  • Added Phalcon\Security\Random - secure random number generator class. Provides secure random number generator which is suitable for generating session key in HTTP cookies, etc
cphalcon - Version 2.0.6 Stable

Published by andresgutierrez over 9 years ago

  • Builds in TravisCI now uses Docker to perform faster builds
  • Added Http\Response::setCache() to easily set cache headers.
  • When a beanstalkd connection is closed the adapter does not produce a notice anymore
  • Default separator in Text::increment is now _ (underscore)
  • Using tel_field in Volt now generates correct PHP code
  • SQL generated by PostgreSQL dialect in dropTable and dropView is now correct
  • Errors generated in Cache\Backend\Memcached now shows the result code to easily debug problems
  • Fixed LIMIT/OFFSET SQL generation in Mvc\Model\Query\Builder
  • Fixed Logger\Formatter\Line to match 1.3.x behavior
  • Fixed warning when castOnHydrate' is true #10648
  • Added name before int/float/numeric/string/bool/null/other variables in Debug\Dump::output
  • Now Validation\Validator\Identical allows both 'accepted' and 'value' as value to keep backwards compatibility
  • Added \Phalcon\Mvc\Model\MetaData\Redis adapter.
  • Added Redis Session adapter
  • Fixed bug in Mvc\Model\Criteria::fromInput unallowing it to use renamed columns
  • Fixed bug in Http\Request getRawBody()/getPut() clears input buffer #10694
cphalcon - Version 2.0.5 Stable

Published by andresgutierrez over 9 years ago

  • Fixed a bug that makes that attaching an events manager to an Mvc\Application causes view->render() not being called
  • Fixed bug that makes generated SQL statements using FOR UPDATE not being parsed correctly
  • The email filter now no longer removes the ' character #10603
  • When an array is bound the cached representation in PHQL makes the SQL being incorrectly
    generated the second time.
  • Added \Phalcon\Mvc\Model\MetaData\Memcache and \Phalcon\Mvc\Model\MetaData\Libmemcached adapters
  • Fixed a bug that makes macro can't be called recursively in Volt
cphalcon - Version 2.0.4 Stable

Published by andresgutierrez over 9 years ago

  • Fixed bug in Phalcon\Mvc\Model::update() that mistakenly throws an exception when the record does exist
  • Now links in Phalcon\Debug point to https://api.phalconphp.com instead of http://docs.phalconphp.com
  • Implemented a more versatile way to assign variables in Volt allowing to assign properties and array indexes
  • Improved generation of macros in Volt using anonymous functions instead of plain PHP functions,
    this allow to bind the adapter object and inject services within them
  • Fixed generation and validation of default parameters in Volt's macros
  • Added Phalcon\Assets\Manager::getCollections() to return all collections registered #2488
  • Now Phalcon\Mvc\Url::getStatic() generates URLs from routes
  • Introduced Phalcon\Mvc\EntityInterface to allow parameters receive both Phalcon\Mvc\Model and Phalcon\Mvc\Collection instances. This interface allow Mvc\Model\Validators being used in Mvc\Collection
  • Added Phalcon\Session\Adapter::setName() to change the session name
  • Added BIGINT column type support in Phalcon\Db
  • Added new types Phalcon\Db\Column::BLOB and Phalcon\Db\Column::DOUBLE #10506
  • Automatic binding of Large Object data (LOB) in the ORM
  • Support for BIT types in MySQL with binding as booleans
  • Added Phalcon\Flash\Direct::output() allowing to place flash messages in a specific place of the view #629
  • Added 'autoescape' option that allows to globally enable autoescape in any Volt template
  • Added readAttribute/writeAttribute to Phalcon\Mvc\Collection\Document
  • Added toArray to Phalcon\Mvc\Collection\Document
  • Global setting db.force_casting now forces casting bound parameters to specified bind types
  • Introduced new placeholders in PHQL enclosed in brackets that allow to set the type: {name:str} or {names:array}
  • Now you can bind arrays in bound parameters in PHQL
  • Global setting orm.cast_on_hydrate allow to cast hydrated attributes to the original types in the mapped tables instead of using strings
  • Values in LIMIT/OFFSET clause are now passed using bound parameters in PHQL
  • Allowing late state binding in both Simple/Complex results to allow override Mvc\Model::cloneResultMap
  • Added method distinct() in Phalcon\Mvc\Model\Criteria #10536
  • Added global setting orm.ignore_unknown_columns to ignore unexpected columns when hydrating instances in the ORM
    This fixes extra auxiliar columns used in Db\Adapter\Pdo\Oracle
  • Added support for afterFetch in Mvc\Collection
  • Added 'beforeMatch' parameter in @Route annotation of Mvc\Router\Annotations
  • Added groupBy/getGroupBy/having/getHaving to Mvc\Model\Criteria
  • Phalcon\Mvc\Model::count() now return values as integer
  • Removed __construct from Phalcon\Mvc\View\EngineInterface
  • Added Phalcon\Debug\Dump::toJson() to return an JSON string of information about a single variable
  • Now instances in Phalcon\Di are built using internal optimizers instead of \ReflectionClass (PHP 5.6)
  • Added Phalcon\Mvc\Model\Validator\IP from incubator
  • Added parameter return defaultValue in Phalcon\Mvc\Model\Validator::getOption()
cphalcon - Version 2.0.3 Stable

Published by andresgutierrez over 9 years ago

  • Added support for Behaviors in Phalcon\Mvc\Collection
  • Added SoftDelete and Timestampable behaviors to Collections
  • Implemented Namespace aliases in PHQL
  • Now you can define if a virtual foreign key must ignore null values or not
  • Fixed bug that added two ? in Mvc\Url::get when using query parameters (#10421)
  • Now string attributes in models can be marked to allow empty string values (#440)
  • Added an option to return the SQL to be generated from a Mvc\Model\Query instance (#1908)
  • Fix doesn't correct column domain in Phalcon\Db\Dialect::select() see #10439
  • Added support for DOUBLE type in MySQL
  • Phalcon\Tag\Select now handles array values as strings avoiding that zero will be handled as empty string (#2921)
  • PHQL now supports CASE/WHEN/ELSE expressions (#651)
  • Fixed bug that passes non-string values to Phalcon\Crypt::encrypt from Phalcon\Http\Cookies
  • Fixed bug that didn't pass the schema name in the sequence name (PostgreSQL)
  • Attribute persistent is now removed from the DNS attributes in PDO connections to avoid errors in PostgreSQL (#10484)
cphalcon - Version 2.0.2 Stable

Published by niden over 9 years ago

  • Added stats() methods to Beanstalk
  • Fixed segfault when a docblock does not have annotations #10301
  • Fixed wrong number of parameters passed when triggering an event in Mvc\Collection
  • Now Mvc\Model checks if an attribute has a default value associated in the database and ignores it from the insert/update generated SQL
  • Re-added Http\Request::hasPut() (#10283)
  • Phalcon\Text: Added method reduceSlashes() - Reduces multiple slashes in a string to single slashes
  • Phalcon\Text: Added method concat() - Concatenates strings using the separator only once without duplication in places concatenation
  • Added conditional on Session adapter start() to check if the session has already been started
  • Added status() function in Session adapter to return the status of the session (disabled/none/started)
  • Implementation of subqueries as expressions in PHQL
  • Performance improvements focused on PHP 5.6
cphalcon - Version 2.0.1 Stable

Published by niden over 9 years ago

2.0.1

  • Fixed segfaults caused by static caches in <= PHP 5.5 builds
  • Added missing Phalcon\Debug::listenLowSeverity
  • Added new theme in Phalcon\Debug
  • Allow to count and iterate Phalcon\Session\Bag as in 1.3.x
  • Renamed getEventsManager to getInternalEventsManager in Phalcon\Di to avoid collision
    with existing services
  • Added constants FILTER_* to Phalcon\Filter for filters names
  • Fixed multibyte characters in cssmin/jsmin
  • Added Phalcon\Security::destroyToken() to remove current token key and value from session removed first argument (password), since it's not used in the function
  • Restored alternative hash algorithms in Phalcon\Security that were available in 1.3.x
  • Fixed bug that makes instances returned in Model::findFirst to be not completely initialized
  • Added support for general SELECT ALL/SELECT DISTINCT in PHQL
  • Added support for "not in" test in Volt
  • Phalcon\Debug\Dump
    -- Renamed method var() to variable()
    -- Renamed method vars() to variables()
  • Phalcon\Mvc\Model::findFirst() now allows hydration (#10259).
cphalcon - Version 2.0.0 Stable

Published by niden over 9 years ago

  • Full rewrite of most components in Zephir
  • Added Phalcon\Mvc\Micro::error for better handling of exceptions
  • Phalcon\Forms\Form::label does not share attributes with the ones that belong to the element
  • Added parameter 'params' to set default conditions when retrieving related records
  • Added filters "int!" and "float!" that cast values to the respective type
  • Filter "alphanum" now uses a regular expression instead of internal functions for better behaviour in 64bits
  • Added 'allowEmpty' option in Phalcon\Validation validators to skip validation if the value is empty
  • Added Phalcon\Validation::setDefaultMessages to set default values in validators
  • Added Phalcon\Validation\Validator\Numericality
  • Added events in Phalcon\Di: beforeServiceResolve / afterServiceResolve
  • Mysql database introspector now uses DATABASE() as default schema
  • Added option to disable cache keys in Cache\Backend\Memcache
  • Mvc\View component is now disabled automatically when redirecting using Http\Response
  • Mvc\Model::dynamicUpdate now works better as it compares if every field has changed according to its data type
  • Added Db\Adapter\Pdo::getErrorInfo() to obtain the last error generated in a PDO connection
cphalcon - Version 1.3.4 Stable

Published by niden almost 10 years ago

  • Fix improper access to \Phalcon\Debug::$_charset (#2840)
  • Fix segfault in Phalcon\Mvc\Collection when an invalid parameter is passed as conditions
  • Fix segfault when MongoClient does not return a valid collection in Phalcon\Mvc\Collection
  • Fix possible memory corruption when phalcon_concat_self does not properly separate values
cphalcon - Version 1.3.3 Stable

Published by niden about 10 years ago

1.3.3

  • Fix segmentation fault in zim_Phalcon_Http_Request_getBasicAuth (#2819)
  • Fix memory corruption on unclean shutdown (#2829)
cphalcon - Version 1.3.2 Stable

Published by niden over 10 years ago

  • fix inverted test in Model/setSnapshotData() (issue #2466)
  • Updated Phalcon\Queue\Beanstalk\Job::touch comment
  • Fixed use columns as referenced columns in mysql createTable() reference...
  • #2414 - Removed check for DBG in session/adapter
  • Updated Model::__set
  • #1989 Supported \Phaclon\Db\Index: TYPE
  • Updated Phalcon\Mvc\Model\Query\Builder::groupBy
  • Validation, setDefaultMessages fix
  • Fix pagination nativeArray test-unit failed
  • Add Phalcon\Translate\Adapter\Gettext
  • Add Phalcon\Config\Adapter\Yaml
  • #1803 Bug join alias
  • Fix valid function for the first call
  • Acl bug
  • #2402 issue
  • Ignore "value" attribute in TextArea.
  • Add Phalcon\Http\Client\Adapter\Curl
  • #2394 Add Phalcon\Validation\MessageInterface
  • Relative namespace
  • #2386
  • Fixing a typo
  • #2375 Add check messages is object in Phalcon\Validation::appendMess...
  • Update affected rows for selects.
  • #2196: Declare missing functions
  • Fix broken condition
  • Add Phalcon\Mvc\Model\MetaData\Strategy
  • Fix offsetUnset
  • Changing "file_exists" funciton for "is_file".
  • Fix bug about updated property for Phalcon\Session*
  • #2291 Middlewares do not stop operation when before event triggered in Micro as documented http://docs.…
  • #1608 about Phalcon\Mvc\Router\Annotations
  • #2019 and added tests
  • model: added methods arg infos
  • #2319 In Model::_postSaveRelatedRecords add check whether value is object
  • #2321: Fixed the null value for position
  • #2313 about Phalcon\Annotations\Annotation
  • #2229 (cast and convert not working)
  • Add method Phalcon\Assets\Collection::addFilter
  • Add Phalcon\Session\Adapter\memcache and Phalcon\Session\Adapter\Libmemcached
  • Add class Phalcon\Session\Adapter\Libemcached
  • Add class Phalcon\Session\Adapter\Memcache
  • \Phalcon\Tag::XHTML5 was returning empty string
  • #2278 add Phalcon\Logger\Multiple::CRITICAL
  • Tag, add title separator to append/prepend title
  • #2250 Updated Phalcon\Db\Dialect::select
  • #2270 updated phalcon_camelize
  • Add namespace support for view
  • #2259 Updated \Phalcon\Image\Adapter::crop
  • #2262 \Phalcon\Logger\Formatter\Json Wrong number of parameters
  • #2244 add judge conditions in Phalcon\Mvc\Model\Manager::getRelationRecords
  • Removed final keyword from Model constructor
  • #2111 – replacing bindParam to bindValue to avoid unexpected reference changes
  • #2002 Tag::linkTo() to allow the addition of query string parameters
  • Add allowEmpty option to \Phalcon\Mvc\Model\Validator*
  • Use phalcon_camelize for namesapce Add \Phalcon\Session\Adapter::setId Fixed #1932 Phalcon\Http\…
  • #2111 – replacing bindParam to bindValue to avoid unexpected reference changes
  • Fix wrong issent() call on non Response objects
  • #2236 - in mysql tinyint(1) is not boolean it's an int between 0 and 127
  • Add \Phalcon\Session\Adapter::setId
  • Fix BUG \Phalcon\Model\Validate*
  • Travis fast-finish builds
  • #2157 and added tests
  • #2196 Declared missing functions
  • Add allowEmpty option to \Phalcon\Mvc\Model\Validator*
  • #2002 Tag::linkTo() to allow the addition of query string parameters
  • #2018 add method \Phalcon\Db\Result\Pdo::nextRowset
  • Use phalcon_camelize for namesapce
  • #1932 Phalcon\Http\Request\File extend SplFileInfo
cphalcon - Version 1.3.0 Stable

Published by niden over 10 years ago

  • Make the source code compatible with PHP 5.6-dev and PHP 5.7-dev (#1762)
  • Code cleanup: get rid of compiler warnings, dead code elimination, code deduplication, use static code analysers to eliminate possible bugs
    (#801, #802, #810, #825, #827, #838, #849, #942, #968, #1001, #1093, #1169, #1214, #1223, #1224, #1375, #1430, #1787, #1794, #1828)
  • Fixed various memory leaks (#469, #860, #910, #914, #916, #1031, #1067, #1249, #1273, #1291, #1309, #1345, #1455, #1470, #1700)
  • Fixed memory access violations / segmentation faults / etc (#469, #849, #851, #852, #858, #860, #861, #895, #911, #918, #927, #928, #1000, #1077, #1112, #1113, #1131, #1149, #1173,
    #1272, #1284, #1302, #1340, #1343, #1368, #1369, #1371, #1376, #1379, #1392, #1451, #1466, #1485, #1494, #1501, #1504, #1509, #1567, #1607, #1983, #1006)
  • Fixed PHP notices, warnings and other incompatibilities (#894, #1222, #1315, #1413, #1427, #1428, #1529, #1988, #1998)
  • Fixed inheritance chain for Phalcon\Forms\Exception, Phalcon\Loader\Exception, Phalcon\Http\Request\Exception (#1770)
  • Major source code optimizations (#1785, #1972, #2003)
  • Control Phalcon behavior via INI settings (#1796)
  • Security fixes:
    • Hardening fixes (#1044)
    • Interface validation (#1043, #1048)
    • Thorough data validation in __wakeup() (#1043, #1634, #1635)
    • Fixed XSS vulnerabilities (#1216, #1190)
    • Phalcon\Security::checkHash() allows to restrict the length of the password to avoid attacks like https://www.djangoproject.com/weblog/2013/sep/15/security/ (#1261)
    • Fixed crash while rendering element's label (#1210)
    • Prevent MongoDB Request Injection Attacks (#1265)
    • Do not allow to override superglobals in views (#1617)
  • Phalcon Kernel:
    • 32 and 64 bit hashes can be computed on the same CPU architecture (#817)
    • Reduced overall memory usage (#834, #891, #893)
    • Memory allocation optimizations (#912, #1220, #1987)
    • Faster internal array and string manipulation (#822, #823, #830, #833, #837, #890, #1972)
    • Camelize does not ignore the last character of a string anymore (#1436)
    • Fixed bug in phalcon_fix_path() (#1601)
    • Use native counterparts for memory_get_usage(), gettype(), json_encode(), json_decode(), session_XXX(), header(), headers_sent(), debug_backtrace(),
      lcfirst(), ob_XXX(), array_unshift(), array_values(), array_keys(), htmlentities() (#836, #847, #936, #945, #1099)
    • Hash funcrions tailored for object handlers (#842)
    • Optimization of calls to userland functions and methods (#843, #954)
    • Read/modify/update optimization on properties (#848)
    • Added support for self/parent/static scopes in static properties (#943)
    • Scope lookup optimizations (#948)
    • Do not restore memory frames from kernel functions (#960, #976)
    • Diagnostic messages when Phalcon is compiled in dev mode (#1009, #1054, #1097)
    • Return Value Optimization (#1046, #1047, #1075)
    • Fixed locale issue (#1095)
    • Added support for interned strings (PHP 5.4+)
    • Static property fetch/update optimization (#1293)
    • Fix misleading diagnostics on exception (#1297)
    • Use preallocated permanent zvals instead of null, true, false, 0 and 1 (#1302)
    • Bug fix in phalcon_fix_path() (#1591)
    • Persistent function cache for Phalcon methods (#1825)
    • Function call optimization (#1846)
    • Use Native Reflection API (#1957)
  • Phalcon\Acl:
    • Fixed broken ACL inheritance (#905)
    • Bug fix when ACL allowed access to forbidden resources (#1303)
    • Fixed bug with ACL * wildcard (#1409)
    • Fixed bug with numeric resources (#1513)
    • Phalcon\Acl\Adapter now implements Phalcon\Acl\AdapterInterface (#1852)
  • Phalcon\Annotations:
    • Fixed getProperty() bug in AnnotationsAdapter (#996)
    • Phalcon\Annotations optimizations (#1141)
    • Fixed parsing of annotations containing / (#1480)
    • Phalcon\Annotations\Adapter now implements Phalcon\Annotations\AdapterInterface (#1852)
    • Annotation parser optimization (#1957)
  • Phalcon\Assets:
    • Fixed bugs when minifier produced no output at all (#811, #821)
    • Fixed joining issue (#951)
    • Added support for UTF-8 characters in jsmin
    • Fixed chaining of CSS/JS filters (#1198)
    • Phalcon\Assets\Filters\CssMin and JsMin implement Phalcon\Assets\FilterInterface (#1539)
    • Added Phalcon\Assets\Collection::setTargetLocal() (#1532)
  • Phalcon\Cache:
    • Added Libmemcached cache backend (#913)
    • Added support for APCu 4.0.2+ (#1234)
    • Implemented Phalcon\Cache\Backend\Memory::queryKeys() (#1093)
    • Bug fixes in Phalcon\Cache\Backend\Xcache (#1406)
    • Phalcon\Cache\Frontend\Data optimizations (#1093)
    • Phalcon\Cache\Frontend\None optimizations (#1093)
    • Phalcon\Cache\Frontend\Base64 optimizations (#1093)
    • Phalcon\Cache\Frontend\Igbinary optimizations (#1093)
    • Phalcon\Cache\Frontend\Output optimizations (#1093)
    • Phalcon\Cache\Frontend\Json optimizations (#1093)
    • Phalcon\Cache\Backend optimizations (#1093)
    • Phalcon\Cache\Backend\Memory optimizations (#1093)
    • Phalcon\Cache\Backend\File optimizations (#1093)
    • Phalcon\Cache\Backend\Apc optimizations (#1093)
    • Phalcon\Cache\Backend\Xcache optimizations (#1093)
    • Phalcon\Cache\Backend\Memcache optimizations (#1093)
    • Phalcon\Cache\Backend\Mongo optimizations (#1093)
    • Phalcon\Cache\Backend\Libmemcached optimizations and bug fixes (#1093)
    • Added increment() and decrement() methods (#1374)
    • Added flush() method (#1352)
    • Phalcon\Cache\Backend now implements Phalcon\Cache\BackendInterface (#1852)
    • Ability to disable key tracking for Memcache/Libmemcached backends (#1550)
  • Phalcon\Config:
    • Faster Phalcon\Config implementation using object handlers (#837, #1277)
    • Phalcon\Config now support numeric properties as well (#837)
    • Implemented Phalcon\Config::offsetUnset() (#732)
    • Phalcon\Config\Adapter\Ini correctly handles empty sections and INI files without any sections (#829, #837)
    • Added Phalcon\Adapter\Config\Json class to read JSON configs (#844)
    • Phalcon\Config::merge now works with derived classes (#1024)
    • Dot-delimited directives in INI-files are now prsed correctly (#872)
    • Support for PHP arrays as config files (#1439)
  • Phalcon\Crypt:
    • Added support for various padding schemes (PKCS7, ANSI X.923, ISO 10126, ISO/IEC 7816-4, zero padding, space padding) to Phalcon\Crypt (#864, #887)
    • Reduced peak memory usage (#1237)
    • encryptBase64() and decryptBase64() can optionally use RFC 4648 flavor of BASE64 (#1353, #1919)
  • Phalcon\Db:
    • Added support for DECIMAL scale (#940)
    • Fixed invalid sequence names for PostgreSQL (#1022)
    • Added support for MySQL DOUBLE type (#1128)
    • Database dialects now support BOOLEAN data type (#816)
    • Added support for POINT type in MySQL (#1536)
    • Fixed issue with RawValue('default') on composite primary key (#1534)
    • Added support for AUTO_INCREMENT columns to addColumn() (MySQL, SQLite) and modifyColumn() (MySQL) (#1695)
    • Phalcon\Db\Dialect\Mysql::getColumnDefinition() now returns INT instead of INT(0) (#1695)
    • Added support for the following fetch modes from PDO: FETCH_LAZY, FETCH_BOUND, FETCH_COLUMN, FETCH_CLASS, FETCH_INTO, FETCH_FUNC, FETCH_NAMED, FETCH_KEY_PAIR (#1642)
    • Added support for the following fetch mode modifiers from PDO: FETCH_GROUP, FETCH_UNIQUE, FETCH_CLASSTYPE, FETCH_SERIALIZE, FETCH_PROPS_LATE (#1642)
    • Phalcon\Db optimizations (#1693)
    • Phalcon\Db\Adapter optimizations (#1693)
    • Phalcon\Db\Index optimizations (#1693)
    • Phalcon\Db\Profiler optimizations (#1693)
    • Phalcon\Db\Reference optimizations (#1693)
    • Phalcon\Db\Result\Pdo optimizations (#1693)
    • Phalcon\Db\Adapter now implements Phalcon\Db\AdapterInterface (#1852)
    • Phalcon\Db\Dialect now implements Phalcon\Db\DialectInterface (#1852)
  • Phalcon\Debug:
    • Added support for UTF-8 to \Phalcon\Debug (#1099)
    • Phalcon\Debug::uri now supports both http and https (#987)
    • Fixed array to string conversion notice (#1103)
    • Add support for xdebug.file_link_format (#1401)
  • Phalcon\DI:
    • Phalcon\Di optimizations (#1014) with workarounds for NuSphere DBG (#1714)
    • Added Phalcon\Di\Service::isResolved() method (#1242)
    • Make sure that 'persistent' is resolved only when accessed for the first time (#1637)
    • Faster DI implementation by using object handlers (#1473)
    • Changes to Phalcon\DiInterface (#2034)
      • removed setShared() method because it is a shorthand for set($name, $definition, true);
      • removed attempt() method because it is a shorthand for has() + set()
      • renamed setRaw() to setService() because getRaw() is actually getService() + $service->getDefinition()
      • setRaw() is now an alias for setService() but it will spit E_DEPRECATED
      • removed getRaw() because it is getService() + $service->getDefinition()
      • modified setService($name, $raw_definition) to setService($raw_definition) because service name can be retrieved from the definition
  • Phalcon\Dispatcher:
    • Dispatching parameters now can be modified in 'beforeExecuteRoute' events
    • 'beforeException' events can now handle exceptions occurred when executing actions (#140)
    • Added Phalcon\Dispatcher::getHandlerClass and Phalcon\Dispatcher::getActionMethod
    • Implemented afterInitialize event (#782)
    • Phalcon\Dispatcher optimizations (#782)
    • Added getPreviousControllerName(), getPreviousActionName() (#1462)
    • If an event handler throws an exception, call dispatch:beforeException and break the dispatch loop (#1763)
    • Phalcon\Dispatcher::_handleException() is invoked regardless whether the event manager is present (#1953)
  • Phalcon\Element:
    • Phalcon\Element::addFilter() incorrectly prepends NULL as the first element (#1019)
  • Phalcon\Escaper:
    • Fixed bugs in Phalcon\Escaper (#917)
    • Phalcon\Escaper optimizations (#1015)
    • Fix phalcon_escape_multi() to generate valid UTF-8 (#1681)
  • Phalcon\Events:
    • Added support for weak references (#663)
    • Bug fix in Phalcon\Events\manager::attach() (#1331, #1337)
  • Phalcon\Flash:
    • Phalcon\Flash\Session::getMessage('key') returns now an empty array if the key is not found (#908, #920)
    • Phalcon\Flash\Session::getMessages() incorrectly removed all messages (#1575)
    • Implemented Phalcon\Flash\Session::isset() (#1342)
  • Phalcon\Forms:
    • Phalcon\Forms\Element* classes now implement Phalcon\Form\ElementInterface
    • Added support for HTML attributes to Phalcon\Forms\Form::label() (#1029)
    • Phalcon\Forms\Form::getMessages() does not generate a fatal error if the form is valid (#1349)
    • Improvements to Phalcon\Forms\Form::add() (#1386)
    • Added Phalcon\Forms\Element\Radio class (#1646)
    • Phalcon\Forms\Form::hasMessagesFor() returns boolean (#1764)
    • Iterators for Phalcon\Forms\Form implemented via Zend API (#1765)
    • Phalcon\Forms\Form::count() implemented via Zend API (#1765)
    • Phalcon\Forms\Form optimizations (#1765)
    • Phalcon\Forms\Element now implements Phalcon\Forms\ElementInterface (#1852)
    • Fixed Phalcon\Forms\Element\Select::addOption() (#1955)
  • Phalcon\Http:
    • Phalcon\Http\Cookie can be used without sessions (#875)
    • Phalcon\Http\Cookie does not ignore expire time (#897)
    • Phalcon\Http\Request fully supports file arrays (#884, #888)
    • Phalcon\Http\Request optimizations (#889)
    • Added getKey(), getError(), isUploadedFile() methods to Phalcon\Http\Request\File (#878, #888)
    • Fixed regression in \Phalcon\Http\Request::getRawBody() (#1091)
    • Bug fix in Phalcon\Http\Request::getQuery() (#1226)
    • Fixed broken Phalcon\Http\Response::setFileToSend() method (#831, #832)
    • Redirects use status descriptions from RFC 2616 (#1175)
    • Phalcon\Http\Response::setFileToSend() can now show the file in the browser instead of offering to download it (#853)
    • Added Phalcon\Http\Response\Headers::toArray() (#1008)
    • getJsonRawBody() may return an associative array (#1241)
    • Added getURI(), getBasicAuth(), getDigestAuth() methods to Phalcon\Http\Request (#1250)
    • Added getPut()/hasPut() methods to Phalcon\Http\Request (#680, #1403)
    • Implemented Phalcon\Http\Request\File::getRealType (#1442, #1444)
    • External URLs are now automatically detected by Phalcon\Http\Response::redirect() (#1182)
    • Fixed error in Phalcon\Http\Response\Headers::send() when no headers were set (#2047)
  • Phalcon\Image:
    • Added Phalcon\Image\Adapter, Phalcon\Image\Adapter\Gd, Phalcon\Image\Adapter\Imagick (#902, #1025, #1030, #1041, #1050, #1063, #1076, #1081, #1114, #1120, #1158, #1195, #1206, #1214, #1370)
  • Phalcon\Logger:
    • Added FirePHP Log Adapter and Formatter (#845, #1333, #1483)
    • Implemented Phalcon\Logger\Adapter::isTransaction() (#1238)
    • Fixed a bug preventing the EMERGENCY log type from being displayed correctly (#1498)
    • Added Phalcon\Logger\Adapter\File::getPath() (#1495, #1508)
    • Phalcon\Logger optimizations (#1716)
    • Phalcon\Logger\Adapter::setLogLevel() is honored by transactions (#1716)
    • Phalcon\Logger\Adapter::commit() now clears the queue (#1742)
    • Phalcon\Logger\Adapter now implements Phalcon\Logger\AdapterInterface (#1852)
    • Phalcon\Logger\Formatter now implements Phalcon\Logger\FormatterInterface (#1852)
    • Phalcon\Logger\Adapter and Phalcon\Logger\AdapterInterface are now PSR-3 compliant (#1873, #1888)
    • Added Phalcon\Logger\Adapter::critical() method (#1888)
    • For PHP 5.3.9+ when phalcon.register_psr3_classes php.ini option is set, Phalcon\Logger\Adapter implements Psr\Log\LoggerInterface (#1888)
    • When phalcon.register_psr3_classes php.ini option is set, Phalcon\Logger\Adapter and derived classes throw Psr\Log\InvalidArgumentException
      instead of Phalcon\Logger\Exception when the arguments are not valid (#1888)
  • Phalcon\Mvc:
    • Added support for route names in Phalcon\Mvc\Micro\Collection (#1868)
    • Phalcon\Mvc\Application::handle() now checks whether the class exists before include()'ing its file (#812, #818)
    • Phalcon\Mvc\Model\Criteria::fromInput() now sets _modelName (#866, #873)
    • Phalcon\Mvc\Model\Query\Builder may now use both integer and string placeholders (#701)
    • Mvc\Model\getMessages() is filterable now (#885)
    • Fixed hasManyToMany relation implementation (#938)
    • Fixed regular expression in \Phalcon\Mvc\Model\Validator\Email (#1243)
    • Phalcon\Mvc\Model::hasOne/hasMany/belongsTo/hasManyToMany/addBehavior() are now public methods (#1166)
    • Added Phalcon\Mvc\Model\Row::toArray() method (#1506)
    • Phalcon\Mvc\Model\Validator::getOption() returns NULL if the option does not exist (#1530)
    • Bug with a custom Events Manager in Phalcon\Mvc\Models (#1314)
    • Phalcon\Mvc\Model\Query\Builder::__construct() does not ignore joins anymore (#1327)
    • Fixed HAVING handling in Phalcon\Mvc\Model\Query\Builder (#1396)
    • Micro Collections return Phalcon\Mvc\Micro\CollectionInterface (#1130)
    • Phalcon\Mvc\Url::get() can append query params (#723, #877)
    • Regular Expression Optimization for Phalcon\Mvc\Router (#977)
    • PHQL: added placeholders support to LIMIT (#1023)
    • Added Phalcon\Mvc\Router::getDefautXXX() methods (#1087)
    • Allow HAVING without GROUP BY in query builder (#1115)
    • mvc/model/query.c optimizations (#1129, #1132)
    • Added support for array(limit, offset) as a 'limit' constructor key in Query Builder (#1208)
    • Added support for 'conditions' in Phalcon\Mvc\Model\Query\Builder::__construct() (#1236)
    • Added Phalcon\Mvc\View::isDisabled(), Phalcon\Mvc\View::getRenderLevel(), Phalcon\Mvc\View::getDisabledLevels() (#907, #1320)
    • Added Phalcon\Mvc\View::getCurrentRenderLevel() (#907, #1326)
    • Bug fix in Phalcon\Mvc\Model\Resultset\Simple::toArray() (#1377)
    • Bug fixes in Volt compiler (#1387)
    • Volt compiler optimizations (#1729)
    • Phalcon\Mvc\Model\Query\Builder optimizations (#1414)
    • Allow to set dirs without trailing slashes in Phalcon\Mvc\View (#406, #1440)
    • Phalcon\Mvc\Model\Validator::getOption() returns null if option does not exists (#1531)
    • Added Phalcon\Mvc\Model::selectWriteConnection() (#1519)
    • Added Phalcon\Mvc\Router\Group::convert()/getConverters() (#1555, #1572)
    • Added Phalcon\Mvc\Router\Route::getGroup() (#1682)
    • Added Phalcon\Mvc\Router\Group::getName() and setName() (#1682)
    • Faster Phalcon\Mvc\Model\Row (#1606)
    • Optimized Phalcon\Mvc\Router\Group (#1682)
    • Bug fix: no arguments were passed to beforeMatch handler in Phalcon\Mvc\Router (#1556)
    • Added diagnostics when a validator returns false but does not call appendMessage() (#1664)
    • Fixed handling of numeric namespaces/modules/controllers/actions (#1688)
    • Added Phalcon\Mvc\View::exists() and Phalcon\Mvc\View(\Simple)::getRegisteredEngines() (#1707)
    • Volt: fixed bug in email_filed() (#1723)
    • Fixed deprecation warnings in Phalcon\Mvc\Collection::save() and Phalcon\Mvc\Collection::delete() (#1783)
    • Phalcon\Mvc\Model\Behavior now implements Phalcon\Mvc\Model\BehaviorInterface (#1852)
    • Phalcon\Mvc\Model\Metadata now implements Phalcon\Mvc\Model\MetadataInterface (#1852)
    • Phalcon\Mvc\Model\Valdator now implements Phalcon\Mvc\Model\ValidatorInterface (#1852)
    • Phalcon\Mvc\View\Engine now implements Phalcon\Mvc\View\EngineInterface (#1852)
    • Phalcon\Mvc\Model\Validator::getOption()/getOptions()/isSetOption() methods are now public (#1904)
    • Phalcon\Mvc\Model::findFirst() now works when phqlLiterals is false (#886)
    • Fixed notices when phalcon.orm.column_renaming is 0 (#1801)
    • Implemented reset() for metadata adapters other than memory (#1934)
    • Relaxed the requirement for the route to start with a slash (#1938)
    • Phalcon\Mvc\Router\Group: merge slashes when the route prefix ends and the route pattern starts with a slash (#1938)
    • Phalcon\Mvc\Model\Criteria::fromInput() now works with column maps (#1903)
  • Phalcon\Paginator:
    • Phalcon\Paginator\Adapter\Model returns correct results even when page number is incorrect (#1654)
    • Optimized Phalcon\Paginator\Adapter\QueryBuilder (#1632)
    • setCurrentPage() returns $this for all adapters (#1633)
    • Optimized Phalcon\Paginator\Adapter\NativeArray (#1653)
  • Phalcon\Queue:
    • Fixed bug in Phalcon\Queue\Beanstalk::read() (#1348, #1612)
    • Bug fixes in beanstalkd protocol implementation (#1650)
    • Optimizations (#1621)
    • Added peekDelayed() and peekburied() to Phalcon\Queue\Beanstalk (#1650)
    • Added kick(), bury(), release(), touch() to Phalcon\Queue\Beanstalk\Job (#1650)
  • Phalcon\Registry (#1209, #1935)
  • Phalcon\Security:
    • Phalcon\Security\Exception inherits from Phalcon\Exception, not from \Phalcon\DI\Exception
    • Added Phalcon\Security::computeHmac() (#1347)
    • Bug fixes (#1347)
    • Constant-time string comparison in Phalcon\Security::checkHash() to prevent timing attacks (#1755)
    • Phalcon\Security::checkHash() now correctly handles non-bcrypt hashes (#1912)
    • Support all hashes supported by crypt() in Phalcon\Security::hash() (#1971)
    • Phalcon\Security::getSaltBytes() dies not require OpenSSL anymore (#1971)
  • Phalcon\Session:
    • Fix Phalcon\Session\Bag::remove() (#1637)
    • Add remove() to Phalcon\Session\BagInterface (#1917)
    • Phalcon\Session\Adapter::get() may optionally remove the data from session (#1358)
    • Phalcon\Session\Adapter optimizations (#1624)
    • Phalcon\Session\Adapter::__destruct() now calls session_write_close() (#1624)
    • Phalcon\Session\AdapterInterface is compatible with SessionHandlerInterface (#1108)
    • Phalcon\Session\Adapter now implements Phalcon\Session\AdapterInterface (#1852)
    • Phalcon\Session\Bag::__get() now returns by reference (unlike get()) (#1895)
    • Phalcon\Session\Bag implements ArrayAccess, Countable, IteratorAggregate interfaces (#1917)
    • Phalcon\Session\Adapter implements ArrayAccess, Countable, IteratorAggregate interfaces (#1917)
    • Optimized Phalcon\Session\Adapter using object handlers (#1917)
  • Phalcon\Tag:
    • Fixed bugs (#903)
    • Fixed radio button generation (#947)
    • Fixed inconsistent behavior of setAutoescape() (#1263)
    • Added missing HTML5 input types (#824, #1323)
    • Added Phalcon\Tag::setTitleSeparator() (#1365)
    • Added support for (#1422)
    • Fixed inconsistency in Tag::stylesheetLink/javascriptInclude w.r.t. local URLs (#1486)
  • Phalcon\Translate:
    • Optimized Phalcon\Translate\Adapter, Phalcon\Translate\Adapter\NativeArray by using object handlers (#1668)
    • Phalcon\Translate\Adapter\NativeArray::query() now replaces placeholders even if the string is not found in the language content (#2044)
  • Phalcon\Validation:
    • Added support for error codes (#1171)
    • Bug fixes (#1399)
    • Optimized Phalcon\Validation\Message\Group by using native iterators (#1657)
    • Optimized Phalcon\Validation\Message\Group by using object handlers (#1765)
    • Phalcon\Validation\Validator now implements Phalcon\Validation\ValidatorInterface (#1852)
  • Psr\Log:
    • when phalcon.register_psr3_classes php.ini option is set, Psr\Log\LoggerAwareInterface, Psr\Log\LoggerInterface,
      Psr\Log\AbstractLogger, Psr\Log\InvalidArgumentException, Psr\Log\LogLevel, Psr\Log\NullLogger,
      Psr\Log\LoggerAwareTrait (PHP 5.4+), Psr\Log\LoggerTrait (PHP 5.4+) are registered as internal interfaces/classes/traits
      by Phalcon (#1888)
  • Unit tests:
    • Travis CI imporvements (#819, #846, #949)
    • Use markTestSkipped() instead of echo (#862)
    • Do not run APC tests under CLI when apc.enable_cli is 0 (#1449)
    • Added new tests (#865, #1256, #1260, #1339, #1560, #1563)
    • Skip database tests when the DBMS is not available (#970)
    • Support for optional RVO (#1147)
    • Added support for test coverage visualization (#1307, #1361)
    • Bug fixes in tests (#1313, #1334, #1335, #1449, #1467)
  • Documentation bug fixes (#1069, #1070, #1072, #1145, #1146, #1205, #1372, #1397, #1521, #1523, #1586, lots of them)
  • Refactored, improved and optimized build script (#1218)
  • Other bug fixes (#1051, #1131, #1040, #1275, #1392, #1396, #1399, #1425, #1426...)
cphalcon - Version 1.2.6 Stable

Published by niden over 10 years ago

  • Phalcon\Security::checkHash() now correctly handles non-bcrypt hashes (#1912)
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